谁知道哪有单片机的典型程序代码?

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:56:25
用于89c51的都可以

我有。
功能说明
用一位数码管循环显示0~9数字,数字变换间隔的时间为1秒。

程序:SMG2.ASM
01: START: MOV DPTR, #TABLE ; 存表
02: MOV R0, #0 ; 设定初始值
03: LOOP : MOV A, R0
04: MOVC A, @A+DPTR ; 取表代码
05: MOV P0, A ; 送P0输出
06: ACALL DLY1S ; 调延时程序 存表取表
07: INC R0 ; R0值 加1
08: CJNE R0, #10 , LOOP ; 不是10,循环
09: JMP START ; 重新开始 判断循环
10: DLY1S: MOV R5, #50 ;
11: D1: MOV R6, #100 ;
12: D2: MOV R7, #100 ;
13: DJNZ R7, $ ;
14: DJNZ R6, D2 ;
15: DJNZ R5, D1 ; 1秒延时
16: RET ; 子程序
17: TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H ;
18: DB 99H, 92H, 82H, 0F8H ;
19: DB 80H, 90H, 88H, 83H ;
20: DB 0C6H, 0A1H, 86H, 8EH ; 代码表
21: END ; 程序结束

功能说明
使用两位数码管显示器,利用扫描方式循环显示00~99两位数。

程序:SMG3.ASM
01: START: MOV R0, #0 ;初始化计数器
02: MOV DPTR, #TABLE ;存入查表启始地址
03: LOOP: ACALL DISPLAY ; 调显示子程序
04: INC R