实验一 数码管显示
使用MCS-51汇编语言编写程序,完成以下功能:
1. 使用三个数码管显示十进制数值
2. 每隔0.1秒,该数值自动增一,到999后归零继续
3. 当开关S1按下时,暂停计数;S1松开时,恢复计数
MCS51单片机汇编语言的基本格式比较简单,程序中可以使用通用寄存器或者内存单元进行计算。另外,单片机的程序没有退出到操作系统的概念,一般都是死循环程序。一个简单程序举例如下:
ORG 0000H ;复位起始地址
LJMP START ;中间地址保留给中断向量表
ORG 0040H ;程序实际起始地址
START: ; 实际程序
MOV 40H, #0H
NEXT:
MOV A, 40H
INC A
MOV P0, A ;板上的P0口连接到8个LED,可以监视运行状态
MOV 40H, A
MOV R6, #0FFH
L2:MOV R7, #0FFH
L1:DJNZ R7, L1
DJNZ R2, L2 ;延迟一段时间
LJMP NEXT
END
4.4.1 显示 本开发平台有3个数码管,使用串行方式连接在一起,具体电路参见实验原理。要想输出一个字形码,就需要从高位到低位依次向移位寄存器输出8个比特。移位寄存器的数据线和时钟线分别接到单片机的P4.5和P4.4管脚,可以使用MCS-51里面的位操作指令进行输出。连续输出3个字形,24个bit之后,欲显示的字形将稳定地显示在