数字显示中要求通过8051单片机驱动一个7段LED数码管,使数码管在第一秒显示:"0",

第二秒显示“1”、、、、、第十秒显示“9”,周而复始。用(汇编语言)。要详细的硬件设计,软件设计。

ORG 0000H
LJMP MAIN
ORG 000BH
T0MS EQU NOT 50000 ; 50 mS 晶振 12.000 MHz(这句原来也没用过)
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 50 mS 标志
DJNZ R6, PST02
MOV R6, #20 ; 50 mS * 20 = 1 S
SETB PJSBZY ; 1 S 标志
PST02: RETI

MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 50MS 中断 计时 0(这个也是第一次用)
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #20 ; 计时初值
MOV R2, #0
MAIN2: JNB PJSBZY, MAIN2 ; 1 S
CLR PJSBZY
MOV A, R2 ;
ADD A, #8
MOVC A, @A+PC
MOV P2, A
INC R2
CJNE R2, #0AH, MAIN2
JMP MAIN2-2;这句很个性
TAB: DB 03FH, 06H,05BH, 4FH, 66H, 6DH, 7DH, 07H ;
DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H ;

END
帮忙时,看到了别人编的这个程序,拿过来用用。我加注释那几句第一次用,感觉很有特色。
温馨提示:内容为网友见解,仅供参考
无其他回答

数字显示中要求通过8051单片机驱动一个7段LED数码管。使7段LED数码管...
其中数码管接在P1口,课改变

AT89S51单片机的P1口接有1个7段LED数码管,初始显示0。外部中断输入引脚...
P3.2的按键作为外部中断了,实现计数功能,所以,那个延时子程序没有用了。关键问题是,凡是中断程序中所用的变量,要定义为全局变量。修改的程序如下。include<reg51.h> define uint unsigned int define uchar unsigned char uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8...

怎样用单片机控制数码管的显示?
首先,假设你有一个共阴极数码管,并且它连接到单片机的P0口。每个数码管的段(a, b, c, d, e, f, g, dp)通过限流电阻连接到P0口的相应位。共阴极数码管的公共端(阴极)连接到地。在这个例子中,我们定义了一个段码表seg_table,它包含了数字0到9对应的7段数码管的段码。在主循环中,我们...

求用51单片机,利用I\/O口与七段数码管连接实现一具有分秒的电子钟c语言...
uchar display_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar display_data[8]={0,0,0,0,0,0,0,0};uchar time[3]={0,0,0};void delay(void){ uchar i;for(i=250;i>0;i--);} void display(){ uchar i,k;...

设计一个数字电子钟,要求能用七段数码管显示从0时0分到23时59分之间的...
设计一个数字电子钟,用单片机最容易做,电路也比较简单。采用proteus仿真实现就更方便了,用一个8位一体的共阴数码管,可以显示出小时,分,秒,并有3个按键用来调时,如下为电子钟仿真图。

设计一个单片机输入显示系统,要求每按一下按键数码管显示数据加1(数码...
8051单片机具有如下功能: 8位CPU·4kbytes程序存储器(ROM) (52为8K) 128bytes的数据存储器(RAM) (52有256bytes的RAM) 32条I\/O口线·111条指令,大部分为单字节指令 21个专用寄存器 2个可编程定时\/计数器·5个中断源,2个优先级(52有6个) 一个全双工串行通信口 ...

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示
3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、最后写好代码后,将生成的hex文件写进单片机,数码管显示的数字就变成0了。

求一个7段数码管的显示程序
公共极直接接VCC 单片机控制其他引脚 include<reg51.h> define smg P2 unsigned char tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};void main(){ smg=tab[0];} \/\/程序就到这里 tab[]这个中括号里面的数字可以随意为0-9 数码管显示为对应的数字 在前面的数组中已经...

led数码管在单片机仿真软件中怎么找
1、打开单片机仿真软件,进入仿真界面。找到软件中的元件库按钮,点击打开。2、在元件库界面中,选择数字显示器,LED数码管类别。3、浏览可用的LED数码管模块,将其拖动到仿真界面。4、根据需要设置LED数码管的引脚连接和初始状态等参数,完成设置之后即可开始仿真。led数码管在单片机仿真软件可以在软件的帮助...

单片机七段数码管循环显示0-FC语言程序
如下面是我的开发板的一位数码管的显示程序,你在上面做些修改就是了哈!include <reg51.h> include <intrins.h> define NOP() _nop_() \/* 定义空指令 *\/ void delay(unsigned int i); \/\/函数声名 \/\/ 此表为 LED 的字模 unsigned char code LED7Code[] = {~0x3F,~0x06,~0x...

相似回答