本文目录一览:
共阳极数码管显示0~9对应的段码
共阳极数码管显示0~9对应的段码。
#include//单片机寄存器相关的文件
#include//具有空指令的文件
#defineucharunsignedchar//宏定义以后用uchar替代unsignedchar
#defineuintunsignedint//宏定义作用同上ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管0-9的段码值//延时
voidDelayMS(uintx)//延时函数
{
uchart;//定义变量数值范围0-255
while(x--)for(t=0;t}//主程序
voidmain()//主函数
{uchari=0;//定义变量i并且i=0P0=0x00;//P0口=0x00P0口全部为低电平
while(1)//主循环
{
P0=~DSY_CODE[i];//P0=取反的数码管段码值
i=(i+1)%10;//i=i自加1个位的数
DelayMS(300);//延时}}/
数码管是共阳极接法,计算出LED数码管显示0-9的段码,列出分别用二进制数与十六进制数表示
若数码管共阳,则低电平有效,所对应的16进制表示方式,为:
0-0xc0,1-0xf9,2-0xa4,3-0xb0,4-0x99,5-0x92,6-0x82,7-0xf8,8-0x80,9-0x90。
若数码管共阴则高电平有效,所对应的16进制表示方式为
0-0x7f,1-0x06,2-0x5b,3-0x4f,4-0x66,5-0x6d,6-0x7d,7-0x07,8-7f,9-0x6f。
数码管显示0-9断码,按键开关后显示a-f
一、显示数字从0-9。
(注:图片有点问题,之前写的时候·没注意,现在下边的代码已经更正了。代码是正确的。)
锁存器。锁存器就是把当前的状态锁存起来,使CPU 送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化,直到解除锁定。
登录后复制
二、显示0到F的实现
这个跟上边的0到9的差别只是,数码管的段码加上了A到F的BCD码。
(注:图片有点问题,之前写的时候·没注意,现在下边的代码已经更正了。代码是正确的。)
动态扫描。由于任一时刻只能显示一种数字,当需要多位数码管显示多位数据的时候就需要动态扫描。动态扫描时间上执行的是动态显示,由于动态速度很快,人眼分辨不出,所以看上去是静态显示。(因为这次用的是是·一位数码管,自然也没有用到动态扫描了,浅凑一下篇幅)
推荐阅读:
标签: 信用卡上征信