再排版071008单片机实验指导书Word下载.docx
- 文档编号:16771778
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:49
- 大小:576.33KB
再排版071008单片机实验指导书Word下载.docx
《再排版071008单片机实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《再排版071008单片机实验指导书Word下载.docx(49页珍藏版)》请在冰豆网上搜索。
追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。
屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。
总线跟踪可以跟踪程序的运行轨迹,可以统计软件运行时间。
第二章开发环境简介
双击桌面上的WAVE图标或从开始/程序/WAVEFORWINDOWS/WAVE进入本开发环境,其界面及主要功能如图2-1中所注。
图2-1WAVE界面
一、仿真器设置窗口
如图2-2所示,在实验开始时要先根据需要设置好仿真器类型、仿真头类型以及CPU类型,并注意是否“使用伟福软件模拟器”,若使用硬件仿真,请注意去掉“使用伟福软件模拟器”前的选择。
图2-2仿真器设置窗口
二、文件窗口
如图2-3,可在此窗口下进行包括新建、打开、保存等文件操作。
图2-3文件窗口
三、编译文件窗口
如图2-4,在此窗口下可将源文件编译成目标文件。
图2-4编译文件窗口
四、执行窗口
如图2-5,在此窗口下,可用全速、跟踪、断点等各种方式运行程序
图2-5执行窗口
五、“窗口”窗口
如图2-6-1,在此窗口下,可以观察各种窗口信息,其中最常用到的是CPU窗口和数据窗口。
图2-6-1窗口
1.CPU窗口
通过CPU窗口可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。
CPU窗口中还有SFR窗口和位窗口,让你了解程序执行过程中寄存器内容的变化。
图2-6-2CPU窗口
2.数据窗口
对51系列CPU,数据窗口有:
DATA—内部数据窗口;
CODE—程序数据窗口;
XDATA—外部数据窗口;
PDATA—外部数据窗口(页方式)
图2-6-3数据窗口
图2-6-4DATA(内部数据窗口)
图2-6-5CODE(程序数据窗口)
图2-6-6XDATA(外部数据窗口)
图2-6-7PDATA(页方式外部数据窗口)
第三章MCS51系列单片机实验
软件实验一存储器块清零
一、实验目的
1.掌握存储器读写方法。
2.了解存储器的块操作方法。
二、实验内容
1.指定内部RAM中某块的起始地址和长度,要求能将其内容清零。
2.指定外部RAM中某块的起始地址和长度,要求能将其内容清零。
3.指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。
三、实验说明
通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。
四、实验仪器和设备
PC机、WAVE软件。
五、参考程序框图
否
是
存储器块清零参考程序框图
软件实验二二进制到BCD转换
1.掌握简单的数值转换算法。
2.基本了解数值的各种表达方法。
1.将给定的一个单字节二进制数,转换成非压缩的二—十进制(BCD)码。
2.将给定的一个单字节二进制数,转换成压缩的二—十进制(BCD)码。
计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
有兴趣的同学可以试试将BCD转换成二进制码。
五、参考程序框图
单字节二进制数转换成非压缩BCD码框图
软件实验三十进制到ASCII码转换
1.了解BCD值和ASCII值的区别。
2.了解如何将BCD值转换成ASCII值。
3.了解如何查表进行数值转换及快速计算。
给出一个压缩BCD数,分别用查表法和逻辑运算方法将其转换成ASCII值。
此实验主要让学生了解数值的BCD码和ASCII码的区别,学会用查表法快速地进行数值转换并进一步了解数值的各种表达方式。
五、参考程序框图(查表法)
十进制到ASCII码转换(查表法)参考程序框图
软件实验四存储块移动
1.了解内存的移动方法。
2.加深对存储器读写的认识。
将指定源地址和长度的存储块移到指定目标位置。
块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考:
给出块结束地址,用地址减一方法移动块的算法。
存储块移动参考程序框图
软件实验五多分支程序
1.了解程序的多分支结构。
2.了解多分支结构程序的编程方法。
在多分支结构的程序中,能够按调用号执行相应的功能。
多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序,完成指定操作。
多分支参考程序框图
软件实验六数据排序
1.了解数据排序的简单算法。
2.了解数列的有序和无序概念。
给出一组随机数,将此组数据排序,使之成为有序数列。
有序的数列更有利于查找。
本程序用的是“冒泡排序”法,算法是:
将一个数与后面的数相比较,如果比后面的数大,则交换。
按此方法,将所有的数比较一遍后,最大的数就会在数列的最后面,再进行下一轮比较,找出第二大数,直到全部数据有序。
是否
否
数据排序参考程序框图
硬件实验一P0口输出实验一---跑马灯
1.学习P0口的使用方法。
2.学习延时子程序的编写和使用。
P0口做输出口,接八只发光二极管。
编写程序,使发光二极管循环点亮。
三、实验说明:
延时子程序的延时计算问题
对于程序DELAY:
MOVR7,#200
DEL1:
MOVR6,#123
NOP
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
RET
通过查找指令表可知,执行MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,在12MHz晶振时,一个机器周期时间长度为1μs,所以该段程序执行时间为:
[1+(1+1+2×
123+2)×
200+2]×
1μs≈50ms
四、实验仪器和设备
PC机、WAVE软件、E51/S仿真器+POD8X5X仿真头、MULT_51C实验板、仿真器专用电源等。
五、实验电路图
六、参考程序
COUNTEQU30H
ORG0000H
MOVSP,#5FH
MOVA,#7FH
LOOP:
MOVP0,A
MOVCOUNT,#10
LCALLDELN10ms
RRA
AJMPLOOP
;
*******************************************
(1)
(2)(3)(4)(5)(6)(7)
t=1T+(1T+(1T+1T+2T)×
25+2T)×
100+2T=10303T=10303us
=10.3ms
DELAY10ms:
MOVR7,#100;
1T
(1)
DEl0:
MOVR6,#25;
1T
(2)
DEL1:
NOP;
1T(3)
1T(4)
DJNZR6,DEL1;
2T(5)
DJNZR7,DEL0;
2T(6)
RET;
2T(7)
入口参数:
COUNT,t=COUNT×
10ms
DELN10ms:
DELN:
LCALLDELAY10ms
DJNZCOUNT,DELN
RET
END
硬件实验二P0口输出实验二---4位LED数码管动态显示
1.学习8D锁存器74573的使用方法。
2.学习多位LED数码管动态显示程序的编写方法。
P0口作输出口,外接两片8D锁存器74573,一片74573用于控制LED数码管的字段,另一片74573用于控制LED数码管的字位。
编写程序,使得内存单元DISP1~DISP4中的内容在4位LED数码管上显示出来。
三、实验仪器和设备
四、实验电路图
五、参考程序
SEL0EQUP3.5
SEL1EQUP3.7
DISP1EQU30H
DISP2EQU31H
DISP3EQU32H
DISP4EQU33H
COUNTEQU34H
SCANEQU20H
SCAN1EQU20H.0
SCAN2EQU20H.1
SCAN3EQU20H.2
SCAN4EQU20H.3
LJMPMAIN
ORG001BH
AJMPDISPLAY
MAIN:
MOVTMOD,#00010000B
MOVTH1,#0ECH
MOVTL1,#78H
SETBET1
SETBPT1
SETBEA
SETBTR1
MOVCOUNT,#0
CLRSEL0
CLRSEL1
MOVDISP1,#2
MOVDISP2,#0
MOVDISP3,#0
MOVDISP4,#6
WAIT:
AJMPWAIT
DISOUT1:
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
SETBSEL1
DISOUT0:
MOVA,SCAN
SETBSEL0
NOP
DISPLAY:
PUSHACC
PUSHPSW
INCCOUNT
MOVA,COUNT
CJNEA,#1,NO_DIS1
CLRSCAN1
SETBSCAN2
SETBSCAN3
SETBSCAN4
LCALLDISOUT0
MOVA,DISP1
LCALLDISOUT1
AJMPT1_END
NO_DIS1:
CJNEA,#2,NO_DIS2
SETBSCAN1
CLRSCAN2
MOVA,DISP2
NO_DIS2:
CJNEA,#3,NO_DIS3
CLRSCAN3
MOVA,DISP3
LCALLDISOUT1
AJMPT1_END
NO_DIS3:
CLRSCAN4
MOVA,DISP4
T1_END:
POPPSW
POPACC
RETI
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
硬件实验三P0口输出、P2口输入实验一---静态按键、显示实验
2.学习静态按键、显示程序的编写方法。
P0口作输出口,外接两片8D锁存器74573,一片74573用于控制LED数码管的字段,另一片74573用于控制LED数码管的字位,P2口作输入口,用于读入键盘的状态。
编写程序,使得每个按键显示一组不同的数据。
SCAN5EQU20H.4
SCAN6EQU20H.5
SCAN7EQU20H.6
MOVTMOD,#00010000B
LCALLKEY_SCAN
JZPRO_END
CJNEA,#1,NO_1
MOVDISP1,#1
MOVDISP2,#1
MOVDISP3,#1
MOVDISP4,#1
AJMPPRO_END
NO_1:
CJNEA,#2,NO_2
MOVDISP1,#2
MOVDISP2,#2
MOVDISP3,#2
MOVDISP4,#2
NO_2:
CJNEA,#3,NO_3
MOVDISP1,#3
MOVDISP2,#3
MOVDISP3,#3
MOVDISP4,#3
NO_3:
CJNEA,#4,NO_4
MOVDISP1,#4
MOVDISP2,#4
MOVDISP3,#4
MOVDISP4,#4
NO_4:
AJMPWAIT
DISOUT1:
MOVDPTR,#TAB
DISOUT0:
MOVP0,A
KEY_SCAN:
CLRSCAN5
SETBSCAN6
SETBSCAN7
MOVA,P2
ANLA,#00001111B
CJNEA,#0FH,MAY_KEY
AJMPNO_KEY
MAY_KEY:
ANLA,#0FH
CJNEA,#0FH,YES_KEY
YES_KEY:
CJNEA,#0EH,NO_KEY1
MOVA,#1
AJMPKEY_END
NO_KEY1:
CJNEA,#0DH,NO_KEY2
MOVA,#2
NO_KEY2:
CJNEA,#0BH,NO_KEY3
MOVA,#3
NO_KEY3:
MOVA,#4
NO_KEY:
MOVA,#0
KEY_END:
MOVR6,#250
DEL:
MOVR7,#10
DJNZR7,$
DJNZR6,DEL
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H
硬件实验四I2C总线实验---AT24C02串行E2PROM实验
1.学习I2C总线工作原理。
2.学习用AT24C02实现对串行E2PROM进行读/写操作的编程方法。
将2个不同的数据(如55H,AAH)写入到AT24C02中,然后再读出来。
四、实验说明
I2C总线为二线制串行扩展总线。
它采用总线寻址方式查询外围接口器件,不需要片选地址,接口电路简单,可以在总线上挂接多个外围接口器件。
I2C总线的硬件接口电路虽然简单,但由于要将按字节(Byte)传送数据改变为按位(Bit)传送数据,因此,编程的工作量会增加许多。
AT24C02是带I2C总线接口的E2PROM存储器,具有掉电记忆功能,可像普通RAM一样用程序改写。
AT24C02的容量为256B,有A2,A1,A0三位地址,其寻址字节为1010A2A1A0R/W。
SCLEQUP1.5
SDAEQUP1.6
ORG0000H
MAIN:
MOVR0,#00H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 排版 071008 单片机 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)