plc数码管0到9循环程序 一位数码管循环显示0到9实验程序

来源:大业商务网 2019-06-25 18:11:41

1, 一位数码管循环显示0到9实验程序



#include <reg51.h>
#define uchar unsigned char
sbit P20=P2^0;
void delay_ms(unsigned int ms) //1ms延时
{
uchar a;
while(ms--)
for(a=123;a>0;a--);
}
uchar code tab[]={0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};
void main()
{
while(1)
{ uchar b;
P20=0;
P0=tab[b];
delay_ms(1000);//1s延时
b++;
if(b==10)
b=0;
}
}

采用共阴极LED数码管,51单片机P1口输出数据:ORG 0000H
JMP MAIN
ORG 0100H
MAIN:MOV DPTR,#TAB
MOV R1,#00H
DISP:MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R1
CJNE R1,#0AH,DISP
SJMP $
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY: MOV R4,#2
DELAY100MS:MOV R5,#200
DELAY5MS: MOV R6,#250
LOOP: DJNZ R6,LOOP
DJNZ R5,DELAY5MS
DJNZ R4,DELAY100MS
RET

3, 编程控制LED数码管循环显示0



可以采用15点显示的,
接P1.0~P2.4 15个点分别编号 以便记忆,例如15个灯全亮 00H 全灭7FFFH
根据1灭0亮 用二进制表示 再转换成16进制的输入到程序中 0-9显示的问题解决了
下面就是循环的问题
这个程序应该可以做出来吧
做不出来也不要紧
1个灯1个灯亮然后全灭的实验做过吧
就那个程序段就可以套用了
记得要加做延时程序段否则看不出效果的
如果么看懂再问,现在有点忙,一会把程序段给你弄下,啊
嗯嗯,简单就这些

相关概念


15

《15》是方大同第五张创作大碟,于2011年4月21日正式发行。专辑取名为《15》也别具意义,正是方大同开始学吉他的年龄,15数字对他而言无疑是特别的,也影响他往后的人生。首波主打歌曲《好不容易》,是整张专辑里头最不容易的一首歌曲,历经最长的混音期,最多人数的弦乐配置,高达六十多人。