3位数码管封装是什么?有人晓得吗?
答案:3 悬赏:60 手机版
解决时间 2021-10-13 11:10
- 提问者网友:斑駁影
- 2021-10-12 11:32
3位数码管封装是什么?有人晓得吗?
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-10-12 11:44
首先定义接口,比如:#include“reg
51.h”sbitS1=P1^0;sbitS2=P1^1;sbitS3=P1^2;sbitS4=P1^3;//按键对应的单片机IOsbitSMG_ENP1^4;//数码管选通sbitSMG_SET()SMG_EN=0//数码管公共使能sbitSMG_CLR()SMG_EN=1//数码管公共失能defineGPIO_PORTP2//数码管8位数据口//以上是按键及数码管对应的单片机IO,下面来写驱动程序,首先需要定义一个字符码unsignedcharascll[]={xx0,xx1,xx2,xx3,xx4,xx5,xx6,xx7,xx8,xx9};//此数组的值需要根据数码管与单片机数据口的实际对应关系来写,数组0-9偏移量分别对应数码管显示0-9的数值码希望你能明白这一点。voidDelay(unsignedlongw)while(w--);//下面先来写一个驱动函数voidDisPlay(unsignedchardat)SMG_SET();//数码管选通GPIO_PORT=dat;//将数据Dat送给数码管显示//按键扫描函数,按键对应的是P1最低4位unsignedcharkey()unsignedchartemp;P1=0xff;if((P1&0x0f)!=0x0f)//如果P1口低4为不为f则表明有按键按下,下面判断是哪个按键Delay(1000);//延时约20ms用来消抖,必须的if((P1&0x0f)!=0x0f)//消抖后在判断一次如果低4位不为f就表示确实有按键按下temp=GPIO_RORT&0x0f;//将IO上的按键值读给变量tempswitch(temp)//判断是哪个键被按下case0x0e://表示是S1被按下1110DisPlay
(1);//显示1break;case0x0d://表示是S2被按下1101DisPlay
(2);//显示2break;case0x0b://表示是S3被按下1011DisPlay
(3);//显示3break;case0x
07://表示是S4被按下0111DisPlay
(4);//显示4break;while((P1&0x0f)!=0x0f);//如果按键还一直被按着,则等待用户松开按键Delay(1000);//延时20ms消抖voidmain()while
(1)key();//调用按键函数一口气从上面写到下面,给你参考,希望对你有帮助
51.h”sbitS1=P1^0;sbitS2=P1^1;sbitS3=P1^2;sbitS4=P1^3;//按键对应的单片机IOsbitSMG_ENP1^4;//数码管选通sbitSMG_SET()SMG_EN=0//数码管公共使能sbitSMG_CLR()SMG_EN=1//数码管公共失能defineGPIO_PORTP2//数码管8位数据口//以上是按键及数码管对应的单片机IO,下面来写驱动程序,首先需要定义一个字符码unsignedcharascll[]={xx0,xx1,xx2,xx3,xx4,xx5,xx6,xx7,xx8,xx9};//此数组的值需要根据数码管与单片机数据口的实际对应关系来写,数组0-9偏移量分别对应数码管显示0-9的数值码希望你能明白这一点。voidDelay(unsignedlongw)while(w--);//下面先来写一个驱动函数voidDisPlay(unsignedchardat)SMG_SET();//数码管选通GPIO_PORT=dat;//将数据Dat送给数码管显示//按键扫描函数,按键对应的是P1最低4位unsignedcharkey()unsignedchartemp;P1=0xff;if((P1&0x0f)!=0x0f)//如果P1口低4为不为f则表明有按键按下,下面判断是哪个按键Delay(1000);//延时约20ms用来消抖,必须的if((P1&0x0f)!=0x0f)//消抖后在判断一次如果低4位不为f就表示确实有按键按下temp=GPIO_RORT&0x0f;//将IO上的按键值读给变量tempswitch(temp)//判断是哪个键被按下case0x0e://表示是S1被按下1110DisPlay
(1);//显示1break;case0x0d://表示是S2被按下1101DisPlay
(2);//显示2break;case0x0b://表示是S3被按下1011DisPlay
(3);//显示3break;case0x
07://表示是S4被按下0111DisPlay
(4);//显示4break;while((P1&0x0f)!=0x0f);//如果按键还一直被按着,则等待用户松开按键Delay(1000);//延时20ms消抖voidmain()while
(1)key();//调用按键函数一口气从上面写到下面,给你参考,希望对你有帮助
全部回答
- 1楼网友:野味小生
- 2021-10-12 14:14
这是一个四位数码管的标准封装方式,数字1到4表示数码管的1到4位,同一位数码管一样,a~dp是代表不同段。 在此段位我就不多讲了。 可能会有人问为什么没有VCC?或者GND? 答:1~4就是它的VCC或者GND; 我们要学的就是怎么样去用芯片点亮它。
- 2楼网友:掌灯师
- 2021-10-12 13:01
你好,拿两节串接的干电池,电池负极接到数码管任意脚,(要是知道公共端更好)用电源的正极去碰数码管的其他引脚,(注意碰一下看对应数码脚是否点亮),马上断电,防止数码管击穿!要是点亮就说明是共阴极的数码管!!反之就是共阳!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯