- 7
- 0
- 约4.18千字
- 约 13页
- 2017-06-22 发布于浙江
- 举报
一、指令典型应用
1. 循环控制方法
1) 256次循环
MOV R0, #0
LOOP: NOP
DJNZ R0, LOOP
2) 500次循环
MOV R1, #10
LOOP1: MOV R0, #50
LOOP: NOP
DJNZ R0, LOOP
DJNZ R1, LOOP1
2. 16位计数方式
1) INC DPTR
2) MOV R0, #0
MOV R1, #0
……
INC R1
CJNE R1, #00, NEXT
INC R0
NEXT:
二、Timer 的应用: 彩灯控制
彩灯具有4种闪耀模式,闪耀周期为1s,每种模式持续10s。
控制思想:
1. 设计表格,将P1端口显示数据预先存于表格之中。
2. 用T0定时20ms,共定时50次,到达定时1s的目的。
3. 设置秒计数器(R1)
4. 若1s定时到,读取表格数据,并输出到P1端口。
资源分配:
; T0: 定时方式1,中断, 每次定时20ms,共定时50次
; P1: 控制8个LED灯
; R0: 1s定时计数器,初值50
; R1: 秒计数器
设计流程
主流程:
T0中断流程:
优化设计:
1. 利用EQU语句,定义常数(定时常数,多次定时常数)
2. 利用表格可以灵活调整显示模式。
三、习题解答
胡XX,汇编程序设计,P111
4.23
解: 逻辑式化简后:
JNB P1.0, LOOP1
JNB P1.1, LOOP1
MOV A, P1
ANL A, #0FCH ; 1111 11 00 B
CJNE A, #0FCH, LOOP2
LOOP1: SETB P1.7
SJMP $
LOOP2: CLR P1.7
SJMP $
END
胡XX,存储器扩展部分,P.135
5.7
芯片 P2.7 P2.6 P2.5 芯片地址范围 2764(1),6364(1) 0 0 0 0000H-1FFFH 2764(2),6264(2) 0 0 1 2000H-3FFFH 2764(3) 0 1 0 4000H-5FFFH 2764(4) 0 1 1 6000H-7FFFH
胡XX,AD 与 DA, P248
10.1
解:
D 7fH 81H F3H Uo(V) 4.96 5.039 9.492
10.8
10.9
解:依据题意有:
应选取8位AD。
例题:采用动态实现的方式,编写显示“Goodby”的程序
设计中采用共阴级LED七段数码管(硬件连线参见课件)
资源分配:
设置显示缓冲区: 35H-30H (6个单元)
R0:显示缓冲区指针,初值为30H
R3:扫描位选择器,初值为01H
P1: 段码输出端口
P1.0 —— P1.7 :段选控制(段选码)
P2:位选信号输出端口
P2.0 —— P2.5 :位选控制(位选码)
数码管号 6 5 4 3 2 1 缓冲区地址 35H 34H 33H 32H 31H 30H 对应显示信息 G o o d b y 对应字模值 7D 5c 5c 5e 7c 6e
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP, #40H
……
;===初始化显存===
MOV 30H, #19 ; y字模序号
MOV 31H, #11 ;b字模序号
MOV 32H, #13 ;d字模序号
MOV 33H, #24 ;o字模序号
MOV 34H, #24 ;o字模序号
MOV 35H, #6 ; G 字模序号
START: ACALL DISPLAY
……
SJMP START
//==========LCD显示子程序================
DISPLAY:
MOV R0, #30H ;显示内存首地址
MOV R3, #01H
MOV A, R3
LD0
原创力文档

文档评论(0)