- 5
- 0
- 约2.36千字
- 约 7页
- 2020-03-26 发布于江西
- 举报
南京工程学院
单片机 实 验 指 导 书
课
程
名
称
院(系、部、中心)
自动化学院
专
班
起
指
止
导
日
教
业
自动化(自动化) 级
期 2010.9.27~2010.9.27
师
1.实验目的:
通过实验调试加深对汇编语言的应用,通过对程序的修改加深对汇编语言的用法掌握, 一边更好的应用汇编语言来编写程序。
通过自己用汇编语言来编写程序锻炼自己对汇编语言的理解和应用,并且加深自己对 wave6000 软件的使用。
掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。
2.实验内容:
程序一:
将累加器 A 拆成二个 ASCII 码,并存入 20H 开始的二个单元中。
程序:
RESULT EQU 20H
ORG 0000H
LJMP START
BINTOHEX:
MOV DPTR,#ASCIITAB
MOV B,A ;暂存 A
SWAP A
ANL A,#0FH ;取高四位
MOVC A,@A+DPTR ;查 ASCII 表
MOV RESULT,A
MOV A,B
ANL A,#0FH
MOVC A,@A+DPTR
MOV RESULT+1,A
RET
START:
MOV SP,#40H
MOV A,#1AH
CALL BINTOHEX
LJMP $
ASCIITAB:
DB 0123456789ABCDEF
END
程序一使用了查表法,首先定义数字对应的 ASCII 表,设定为 ASCIITAB:DB 0123456789ABCDEF,使用这个表依次设定了 0123456789ABCDEF 的 ASCII 码,然后通 过查表指令:MOVC A,@A+DPTR,调用查表指令,根据表中所对应的字符,得到所要求 的 ASCII 码。
实验二:
不用查表方法,将累加器 A 拆成二个 ASCII 码,并存入 30H 开始的二个单元中。 第一次编辑的程序:
ORG 00000H
MAIN: MOV A,#0A6H
MOV A,R0
ANL A,#0FH
MOV R1,A
MOV B,#09H
SUBB A,B
JC NEXT
MOV A,R1
ADD A,#37H
MOV 31H,A
LJMP L1
NEXT: MOV A,R1
ADD A,#30H
MOV 31H,A
L1: MOV A,R0
ANL A,#0F0H
SWAP A
CLR C
MOV R1,A
SUBB A,B
JC NEXT1
MOV A,R1
ADD A,#37H
MOV 30H,A
LJMP CLOSE
NEXT1:MOV A,R1
ADD A,#30H
MOV 30H,A
CLOSE: LJMP $
END
点击保存,再点击项目菜单里面编译,编辑成功,没有出错的,然后点击单步执行,执行 完语句 MOV A,R0 后,00H 的内容变为 A6H,当执行到 MOV R1,A 语句的时候,01H 寄 存器的内容变为 06,然后继续点击单步执行,执行完语句 JC NEXT 后,跳转到语句 NEXT: MOV A,R1,单步执行完语句 MOV 31H,A 后,31H 内容变为 36H,继续点击单步 执行,当执行完 MOV R1,A 语句后,01H 内容变为 0A,执行到语句 JC NEXT1 后,继续 执行后面的语句,而不是跳转到 NEXT1,MOV 30H,A 语句后 30H,30H 内容变为 41H, 然后点击单步执行,语句一直在语句 CLOSE: LJMP $执行;程序虽然结果如下:
可是感觉此程序还是有问题,首先程序开始缺少清 C 标志位,因而将语句改为: ORG 00000H
MAIN: MOV A,#0A6H
MOV R0,A
ANL A,#0FH
MOV R1,A
MOV B,#09H
CLR C
SUBB A,B
JC NEXT
MOV A,R1
ADD A,#37H
MOV 31H,A
LJMP L1
NEXT: MOV A,R1
ADD A,#30H
MOV 31H,A
L1: MOV A,R0
ANL A,#0F0H
SWAP A
CLR C
MOV R1,A
SUBB A,B
JC NEXT1
MOV A,R1
ADD A,#37H
MOV 30H,A
LJMP CLOSE
NEXT1:MOV A,R1
ADD A,#30H
MOV 30H,A
CLOSE: LJMP $
END
程序结果如下:
编辑没有出错,然后依次点击单步执行,存储器内容跟上个程序相同; 希望使用 CJNE 命令来改写程序,考虑到 CJNE 命令的使用规则: CJNE A , direct ,rel ;
若(A)不等于 direct,则 PC+3+rel 赋值给 PC,Cy 按规则形成; 若(A)等于 dire
您可能关注的文档
- 数学课堂上科学素养的渗透.docx
- 数学课堂中如何培养学生的思维能力.docx
- 数学课堂中学生思考能力培养.docx
- 数学课堂中的提问艺术.docx
- 数学课堂对话的艺术.docx
- 数学课堂合作学习的低效成因分析与对策研究.docx
- 数学课堂小组合作学习方式实施方案.docx
- 数学课堂小组合作学习中分组的一点看法.docx
- 数学课堂教学中分层教学的实践与探索.docx
- 数学课堂教学中如何调动学生积极性.docx
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
原创力文档

文档评论(0)