单片机控制数码管1 按键控制开始、数码管循环显示0-F.时间间隔为1s的程序及硬件图
把 数码管的 1-9 的 对应的码算出来就好了
例如:#include //数字0-9的字形码unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};unsigned char dispcount;void delay02s(void);void main(void){P1_0=0;//选通第一位数码管while(1){for(dispcount=0;dispcount0;i--)for(j=30;j>0;j--)for(k=248;k>0;k--);}
补充:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机
请你参考:
代码如下:
#includesbit Button=P3^0;unsigned char code segCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};void Delayms(unsigned int x){ unsigned char t;while(x--)for(t=0;t<120;t++);}void main(){ unsigned char i;while(1){ if(!Button){ Delayms(10);if(!Button)P0=segCode[i];i=++i%16;while(!Button);}} }希望对你有所帮助!!!
P3.2外接一个按键,按下后,接地,用来起动.
ORG 0000H
JB P3.2, $
MOV R2, #0
LOOP:
INC R2
MOV A, R2
ANL A, #0FH
MOV DPTR, #TAB
MOVC A, @A+DPTR
MOV P1, A
LCALL DL500MS
LCALL DL500MS
SJMP LOOP
TAB:
DB 0c0H,0f9H,0a4H,0b0H, 99H, 92H, 82H,0f8H
DB 80H, 90H, 88H, 83H,0c6H,0a1H, 86H, 8eH
DL500MS:
MOV R5, #100
MOV R6, #10
MOV R7, #248
NOP
DJNZ R7, $
DJNZ R6, $ - 5
DJNZ R5, $ - 9
RET
单片机控制数码管1 按键控制开始、数码管循环显示0-F.时间间隔为1s的程...
P1口外接共阳极的8段数码显示器。P3.2外接一个按键,按下后,接地,用来起动.ORG 0000H JB P3.2,MOV R2, #0 LOOP:INC R2 MOV A, R2 ANL A, #0FH MOV DPTR, #TAB MOVC A, @A+DPTR MOV P1, A LCALL DL500MS LCALL DL500MS SJMP LOOP TAB:D...
...中用数码管做秒表时怎么用一个独立按键控制开始和暂停,即第一次按...
要使用51单片机中的数码管制作秒表,并用独立按键控制秒表的启动和暂停,其实并不复杂。制作秒表时,确实需要使用定时器,假设使用T0。在初始化时,不写TR0=1,即不启动计时。当按下按键时,再启动计时,即TR0=1,开始计时。再次按下按键,则停止计时,TR0=0,停止计时。程序编写起来也相对简单,先...
单片机可以实现一个独立按键控制数码管多个数字吗?
一个按键控制4个数码管显示4个数,最简单的方法是按一次键计一个数,最大数是9999,即可显示四位数。再简单点,按一次键开始自动计数,最大数还是9999,再按一次键停止计数。这样控制程序好写。长按和短按对于初学者有点难,当然了,要能写出程序来是最好啦。
单片机按键控制数码管原理
通过按键控制单片机的I口电平变化,从而控制数码管的显示。根据查询CSDN博客显示,当按键按下时,单片机的I口电平发生变化,从而驱动数码管显示相应的数字或字符,在单片机程序中,需要编写相应的按键处理程序,用于检测按键是否按下,以及按键按下后数码管应该显示的内容,单片机按键控制数码管原理是通过按键...
51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示_百度...
1、首先,要把代码写好,点亮数码管。2、代码写完后,要确认原先写好的代码是不是正确的。3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、...
单片机C51实现按键一次数码管加1程序问题。高手进。
单片机C51实现按键一次数码管加1程序问题。高手进。 设计一个单片机C51程序,实现功能是,1、按KEY1只有红灯亮,KEY2只有黄灯亮,KEY3只有绿灯亮。2、开始右数码管显示0,每按KEY1一次数码管显示加1,至9后再循环。先已经编好程序,第一个实现,但第二个总弄不对。感觉问题很简单,就是差一点,高手帮我看一下。
一个按键怎么控制数码管显示不同的字符
这个要加程序的,按一下按键,程序中变量自加1,然后根据程序变量的值,显示相应的字符。例如:1 MP3 2 CD 3 DVD,如果当前变量值为3,下一次按键有效时,应直接赋值为1,这样就形成了循环
单片机按键控制数码管显示
1、按键子程序:实现按第一个键使键值keyvalue=1,第二个键使键值keyvalue=2,第三个键使键值keyvalue=3 2、显示子程序 定义3个字节的显示缓存,如dispbuf1,dispbuf2,dispbuf3 使dispbuf1的数字显示在第一个数码管上,dispbuf2的数字显示在第2个数码管上,dispbuf3的数字显示在第3个数码管上 3...
编个单片机程序,按键控制动态数码管显示00-32,位码是P1-6,P1-7,段码...
程序中使用了位码和段码的概念,其中位码定义为P1^7和P1^6,段码为P0口。通过这样的设计,可以实现按键控制数码管显示数字的功能。整个程序通过主循环不断运行,实现了按键控制数码管显示数字00到32的功能。在程序中定义了一个字符数组table,用于存储共阳数码管的编码,通过这个数组可以实现数码管的显示...
单片机程序求修改,实现按键控制数码管0-9,急!!!
\/*实现定时器1方式1定时1S使得数码管加1显示功能*\/ if(key3==0) { delay(7);if(key3==0) { flag = ~flag;while(key3==0);} } } void T1_ini(){ TMOD=0X10;TH1=(65536-50000)\/256;TL1=(65536-50000)%256;EA=1;ET1=1;TR1=1;} void timer1() interrupt 3 { a++;...