微机原理及应用实验报告(中南大学2014年)
更新时间:2023-12-05 11:23:01 阅读量: 教育文库 文档下载
微机原理及应用实验报告
班级: 姓名: 学号:
中南大学
机电工程学院 精密测控实验室
实验一 单片机仿真开发机操作和MCS-51指令系统应用
一、实验目的
1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整; 2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编; 3、掌握程序的调试和运行的各种方法。
二、实验说明
1. 输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变
化。
2.
真。
三、实验设备名称、型号:
台式微型计算机 MCS-51仿真开发机 选中此项keil为纯软件仿
THKSCM-2A
四、实验内容及步骤(完成分值:60分)
本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。 1. 新建工程项目 2. 设置工程文件参数 3. 编写新程序事例
4. 调试程序直至能够运行出结果。
四、参考实验程序
AJMP MAIN
ORG 0030H
MAIN: MOV R0,#20H MOV R2,#0FH MOV A,#00H A1: MOV @R0,A INC R0 INC A DJNZ R2,A1
MOV R0,#20H ;暂停,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A2: MOV A,@R0
1
MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,A2
MOV R0,#030H ;断点,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A3: MOVX A,@DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R2,A3 DO: LJMP DO
END ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。
五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。其中1、2、3附加题要求写在实验报告上)
1. 将光标移到想要暂停的地方,MOV R0,#20H所在行,选择 “执行到光标处”功能,程序快速执行到光标所在行。观察运行情况,并记录下表。 R0 R2 A 20H 21H 22H 23H 24H 26H 27H 28H 29H 2AH 2BH 2CH 2DH
2. 在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容
R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H 7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH
3.画出程序流程图
4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)
25H 2EH 2
实验二 软件程序设计
1.实验目的:
1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。
2.实验内容:
1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH
单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。
3.实验设备名称、型号:
台式微型计算机 MCS-51仿真开发机
4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:
THKSCM-2A
程序1、 编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了
FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小
的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。则可以退出循环,结束程序。
程序结构框图和程序代码如下:
3
4
MOV TH0,#4CH MOV TL0,#00H
DJNZ 40H,OVER MOV 40H,#0AH MOV P1,A RR A
OVER: RETI
5.思考题
1、你采用的是定时器0还是定时器1?如果换用另外一个定时器,需要修改那些语句?为什么?
答:采用定时器0 ,若用另一个则要替换的语句是
MOV TMOD ,#01H 换为 MOV TMOD ,#10H MOV TH0 ,#4CH 换为 MOV TH1 ,#4CH MOV TL0, #00H 换为 MOV TL1, #00H SETB TR0 换为 SETB TR1
2、如果将延时时间变为1秒,如何修改程序,为何?
答:两个程序均是将MOV 40H,#0AH 改为 MOV 40H,#14H
3、改变发光二极管循环点亮方向,如何修改程序?如果间隔闪亮(亮一个,黑一个,亮一个??)如何修改程序?你还能做哪些花样?
答:将 RL A 改为 RR A
如果要间隔闪亮可以将A 连续两次左移即RL A 变为 RL A 再加RL A就可以了。我还可以要其两同时亮,将累加器A 的值变为0FDH 就可以了语言是MOV A # 0FEH 变为MOV A ,#0FDH
7.心得体会:
通过实际模拟操作,加深了对单片机的理解,更好的理解编程语言,本次实验较为简单, 我是独立按时完成,当我看到发光二极管一次亮时别提我的兴奋劲了。在试验的编程过程中弄清了定时器的使用方法,以及延时的计算。
审 阅:
10
实验四 串行数据传送实验
1.实验目的:
1、掌握七段LED数码管显示器工作原理,以及用动态扫描方法编程实现8位LED数码管显示的方法;
2.进一步了解和熟悉MCS-51单片机实验板的功能。
2.实验内容:
1.用MCS-51 的P1、P2输出段码和位码,编程实现8位LED数码管循环显示出“1”“2”“3”“4”“5”“6”间隔时间0.5秒。
2.缩短间隔时间,直至显示效果为稳定的“123456”
3.实验设备名称、型号:
台式微型计算机 MCS-51仿真开发机
4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:
THKSCM-2A
说明:采用的晶振为11.0592MHz,所以时间周期T=1.085069μs。执行一次DJNZ指令需要2T,
要间隔0.5s。故需要执行0.5÷(2T)=230400次。取三次循环,第一次为4,第二次为256,第三次为230400÷4÷256=225=0E1H。
代码如下:
ORG 0000H MOV 40H,#00H MOV 41H,#01H MOV 42H,#02H MOV 43H,#03H MOV 44H,#04H MOV 45H,#05H
START:MOV R0,#40H MOV R2,#06H MOV R7,#7FH LOOP: MOV A,@R0 MOV DPTR,#DISTAB MOVC A,@A+DPTR MOV P1,A MOV A,R7 MOV P2,A RR A MOV R7,A
11
MOV R3,#04H MOV R4,#00H MOV R5,#0E1H
LOOP1:DJNZ R5,LOOP1 DJNZ R4,LOOP1 DJNZ R3,LOOP1 INC R0
DJNZ R2,LOOP LJMP START
DISTAB: DB 06H;显示1 DB 5BH;显示2 DB 4FH;显示3 DB 66H;显示4 DB 6DH;显示5 DB 7DH;显示6 END
修改 MOV R3,#04H MOV R4,#00H MOV R5,#0E1H
可以缩短显示时间。当修改为 MOV R3,#04H MOV R4,#04H
MOV R5,#02H时从视觉看已经看不出变化。
用定时器实现方法:采用的晶振为11.0592MHz,所以时间周期T=1.085069μs。采用方式一 计时需要460800 次,超过了计时范围,故在采用一个内循环,取为50,则共需 460800÷50=9216。X=216-9216=56350=DC1EH 源代码如下: MOV TMOD,#01H MOV TH0,#0DCH MOV TL0,#1EH SETB EA SETB ET0 SETB TR0 SJMP $ 0RGB 000BH MOV R2,#32H DJNZ R2,NEXT ORG 0050H MOV 40H,#00H MOV 41H,#01H MOV 42H,#02H MOV 43H,#03H MOV 44H,#04H MOV 45H,#05H
START:MOV R0,#40H
12
MOV R2,#06H MOV R7,#EFH LOOP: MOV A,@R0 MOV DPTR,#DISTAB MOVC A,@A+DPTR MOV P1,A MOV A,R7 MOV P2,A RR A MOV R7,A INC R0 NEXT:RETI
DISTAB: DB 06H;显示1 DB 5BH;显示2 DB 4FH;显示3 DB 66H;显示4 DB 6DH;显示5 DB 7DH;显示6 END
5.思考题
1、要显示实验当天的日期(如20100509),怎样调试?
答:将 MOV R2,#06H 改为 MOV R2,#08H
DISTAB: DB 06H;显示1 改为 DISTAB: DB 5BH;显示2 DB 5BH;显示2 DB 3FH;显示0 DB 4FH;显示3 DB 06H;显示1 DB 66H;显示4 DB 3FH;显示0 DB 6DH;显示5 DB 3FH;显示0 DB 7DH;显示6 DB 6DH;显示5 DB 3FH;显示0 DB 6FH;显示9
2、用其中4位数码管显示“good”,程序如何修改?
答:将 MOV R2,#06H 改为 MOV R2,#04H
DISTAB: DB 06H;显示1 改为 DISTAB: DB 6FH;显示g DB 5BH;显示2 DB 3FH;显示0 DB 4FH;显示3 DB 3FH;显示0 DB 66H;显示4 DB 5EH;显示d DB 6DH;显示5 DB 7DH;显示6
13
7.心得体会:
通过实际模拟操作,加深了对单片机的理解,更好的理解编程语言,本次实验我能够根 据老师给出的代码理解完成,并且取得满意的结果。在试验的编程过程中弄清了很多在课堂 上没有理解的操作码的含义。熟悉了各个操作码的使用方法及为什么如此用。
审 阅:
14
正在阅读:
知情同意书的内容要求与样板03-16
园区GIS信息化管理系统建设方法11-20
浅论尤金·奈达的功能对等理论09-12
铜包铝电缆的特性及应用浅析02-27
初中摘抄好句好段11-20
南通市海圣药业有限公司年产500吨4-氨基三氟甲苯、500吨3、5-二07-05
第一节第一性原理计算方法12-09
初三物理试卷第三次模拟考试03-10
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 中南大学
- 微机
- 原理
- 实验
- 报告
- 应用
- 2014
- 2018年中国影视投资市场评估发展研究报告目录
- 大学物理上册习题大体答案
- 生态系统的信息传递练习题
- 绩效管理:罗芸与老马的绩效考核分歧
- “十二五”控制温室气体排放工作方案20111201
- 武术理论考试题库和答案
- 2019-2025年中国特种合金材料行业市场深度分析及发展前景预测报告(目录) - 图文
- 西南科技大学2007-2008工程力学B期末考试试题-试卷答案(试题见后面)
- 新人教版四年级数学下《四则运算》教学设计
- 《红楼梦》—林黛玉与薛宝钗之人物分析对比
- 陶瓷鉴赏基础 麻仓土与高岭土
- 英语专业毕业论文Critique范文
- 2019年香港回归20周年纪念日活动心得体会-范文word版(4页)
- 庄浪“五进士”
- 家庭医生签约服务宣传材料
- 西风的话评课
- 《22、狼牙山五壮士》教学设计(2)稿
- 电力拖动自动控制系统(名词解释)
- 登轮题库2016
- 《绿山墙的安妮》复习一页精华版-检测题及答案