单片机PPT幻灯片

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MOV P1, #02H ;D1发光
MOV P1, #01H ;D0发光
SJMP MAIN
;循环
6
华中科技大学文华学院
概述
ORG 0000H
MAIN: MOV A, #80H ;初始状态
MOV R0, #08 ;共8位
L1: MOV P1, A ;D7发光
LCALL DEL ;延时子程序
RR A ;状态下移1位
DJNZ R0,L1; 循环判断
SJMP MAIN
;循环
7
华中科技大学文华学院
概述
终结符(用于程序段 的开始、结束处)
进程(用于程序中 顺序执行的部分)
箭头(用于表示程 序的执行方向)
判断菱形(用于程序 中出现分支的情况)
文字描述(用于描述 程序的执行条件)
8
华中科技大学文华学院
概述
汇编语言程序设计的步骤
单片机原理及应用
讲授人:范娟
1
华中科技大学文华学院
课堂作业
1.指出下列每条指令中源操作数、目的操作数的寻址 方式。
(1)MOV 2FH,#40H (2)MOV A,@R0 (3)MOV DPTR,#2020H (4)MOV 45H,P0 (5)MOV A,R1 (6)MOVC A,@A+PC (7)JC LOOP
GIV:MOV 40H, A
END
13
华中科技大学文华学院
方法二: (1)流程图
程序设计基本方法
开始
A←X 不相等
A与Y比较
相等 A←00H
C=1
N A←01H
Y A←0FFH
40H←A 结束
14
华中科技大学文华学院
(2)程序清单
程序设计基本方法
ORG 0100H
START: MOV DPTR,#2000H
方法一:查转移地址表
分析:将KEY0 ~KEYF入口地址列在表格中,每一 项占两个单元,KEYn在表中的偏移量为2n。
方法 二:查转移指令表 分析:安排LJMP指令在转移表中,因每条LJMP指令
占三个字节,将R7中的内容乘3即为转移表的偏移
地址。
16
华中科技大学文华学院
(1)流程图
START: MOV DPTR,#TAB
☆ 分析课题,确定解决方案和算法; ☆ 分配系统资源及存储单元; ☆ 绘制程序流程图; ☆ 设计程序,并反复调试和修改。
MCS-51单片机汇编语言程序设计中,常用的伪指令(七条):
ORG—起始指令
DB—字节定义指令
DW—字定义指令
DS—保留字节指令
EQU—赋值伪指令
BIT—位定义指令
END—结束汇编伪指令
A 清零 JMP @A+DPTR
CLR A JMP @A+DPTR TAB:DW KEY0,KEY1,…,KEYF
结束
〔例1〕 设变量X存放在外部RAM的2000H,与内部 RAM 30H单元的其准数Y比较,函数F存放在内部 RAM的40H单元。试编程实现下列函数关系:
1 (X>Y) F= 0 (X=Y)
-1 (X<Y)
11
华中科技大学文华学院
方法一: (1)流程图
开始 A←X A←X-Y A=0
程序设计基本方法
9
华中科技大学文华学院
程序设计基本方法
汇编语言程序主要的几种程序设计方法:
☆ 顺序程序设计:顺序程序也称作简单程序,是一 种无分支、循环的直线程序,程序的走向是唯一 的,程序的执行顺序与书写顺序完全一致。
☆ 分支程序设计:利用条件转移指令实现,即根据 条件对程序的执行情况进行判断,满足条件遇转 移,否则顺序执行。
2
华中科技大学文华学院
2.设RAM 40H单元的内容为80H,80H单元内容为47H, P1口的输入状态为0FFH,试判断下列程序执行结 果。 MOV R0,#40H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P2,P1
3.试编写1234H-0FA3H的程序段,将结果高8位存入51H, 低8位存入50H单元。
☆ 循环程序设计:在程序中需要反复执行的程序段, 可以利用条件转移或无条件转换指令来控制程序 的执行,避免多次编写。典型循环结构包括四部 分:初始化部分、循环处理部分、循环控制部分、 循环结束部分。
10
华中科技大学文华学院
程序设计基本方法
一、分支程序设计
用于判断分支转移的指令有:JZ、JNZ、JC、 JNC、JB、JNB、JBC、CJNE、DJNZ、JMP @A+DPTR 等。另外在该类分支程序的设计中,要设置好判 断测试对象,程序转移方向及转移的标志地址。
C=1 Y
A←01H
40H←A
结束
N A←0FFH
12
华中科技大学文华学院
(2)程序清单
程序设计基本方法
ORG 0100H
START: MOV DPTR, #2000H
MOVX A, @DPTR
CLR Cห้องสมุดไป่ตู้
SUBB A, 30H
JZ GIV
JC NEG
MOV A, #01H
SJMP GIV
NEG:MOV A, #0FFH
开始 表首地址送DPTR
MOV A,R7 ADD A,R7 MOV R3,A
计算KEYn的偏移地址
MOVC A,@A+DPTR
从地址表中取出KEYn的 高8位地址,送DPH
偏移地址+1
XCH A,R3 INC A MOVC A,@A+DPTR MOV DPL,A
取KEYn的低8位地址送DPL
MOV DPH,R3
3
华中科技大学文华学院
第3章 51系列单片机汇编语言程序设计
3.1 概述 3.2 程序设计基本方法 3.3 子程序设计 3.4 典型程序设计举例
4
华中科技大学文华学院
彩灯循环设计
概述
5
华中科技大学文华学院
概述
ORG 0000H MAIN: MOV P1, #80H ;D7发光
MOV P1, #40H ;D6发光 MOV P1, #20H ;D5发光 MOV P1, #10H ;D4发光 MOV P1, #08H ;D3发光 MOV P1, #04H ;D2发光
MOVX A, @DPTR
CJNE A,30H,CON
CLR A
SJMP GIV
CON:JC NEG
MOV A, #01H
SJMP GIV
NEG: MOV A, #0FFH
GIV: MOV 40H, A
END
15
华中科技大学文华学院
程序设计基本方法
〔例2〕 某单片机系统有16个键,经键盘扫描得到 键码值(00H~0FH)存放在R7中,每个键对应着一个处 理程序,各入口地址分别为KEY0,KEY1……KEYF。试 编程实现由键码寻找转移执行处理程序的功能。
相关文档
最新文档