52单片机数码管共阴显示0到9

一、52单片机数码管共阴显示0到9

52单片机数码管共阴显示0到9的代码如下:

</p><p>#include // 引入头文件</p><p></p><p>// 数码管共阴码表</p><p>unsigned char code table[] = {</p><p> 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90</p><p>};</p><p></p><p>void main() {</p><p> unsigned char i;</p><p> while (1) {</p><p> for (i = 0; i < 10; i++) { // 显示0到9</p><p> P0 = table[i]; // 将共阴码表中对应数字的值赋给P0口</p><p> DelayMs(1000); // 延迟1秒</p><p> }</p><p> }</p><p>}</p><p></p><p>void DelayMs(unsigned int ms) { // 延迟函数</p><p> unsigned int i, j;</p><p> for (i = 0; i < ms; i++)</p><p> for (j = 0; j < 110; j++);</p><p>}</p><p>

其中,共阴码表中的每个数字表示该数字在共阴数码管中的显示方式,例如0的共阴码表值为0xc0,表示数码管的a、b、c、d、e、f灯亮,g灯灭。P0是51单片机的8位输出口,将共阴码表中对应数字的值赋给P0口即可在数码管上显示该数字。DelayMs()函数用来实现延迟,避免数字间切换太快导致无法看清。

52单片机数码管共阴显示0到9

二、哪位朋友有单片机控制打印机的C语言程序(ESC/POS指令…

先确定一行最多能打多少个字符,然后把每行要打的字符拼起来(中间补空格),如果不套打可以把要打印的所有东西先拼成文本,然后打印文本就可以,发ESC指令不需要任何驱动的,只要知道指令就可以,比如点阵大小的指令,举个简单例子,ESPON打印机MU220指令:设定n/144英寸换行量为ASCII码(ESC,3,n),一般的票据打印发送指令就是char(27)+char(51)+char(25)(25/144英寸的字体大小),通常打印前要先初始打印机,然后设顶字的大小,换行量等等另外,虚机团上产品团购,超级便宜

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。