微机原理与接口技术实验指导书.docx
- 文档编号:6128759
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:24
- 大小:1.43MB
微机原理与接口技术实验指导书.docx
《微机原理与接口技术实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验指导书.docx(24页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验指导书
微机原理与接口技术
实验指导书
浙江大学电气工程学院系统系
2014.9.16
概述
单片机实验系统主要由计算机、单片机仿真器、实验系统板及仿真软件几部分组成。
其中计算机主要承担源程序的编辑、编译以及将编译通过后所生成的后缀名为HEX的机器码文件,通过RS—232串行口下载给仿真器,同时也可在计算机上直接模拟运行源程序来进行调试,包括单步执行、设置断点、跟踪显示、连续运行及查看各种寄存器内容等等。
在联机调试软件的支持下还可对单片机及仿真器内部的各种寄存器,存储器,PC指针和特殊功能寄存器直接进行修改或赋值。
仿真器采用MICETEK公司的EasyProbe8052F仿真器,该仿真器是目前较为常用且功能较强的一种开发装置。
实验系统板由外部中断信号、计数脉冲输出、串行显示、A/D转换器、并行输入/输出电路所组成。
主要用于完成中断及并行输出、定时/计数器中断及外部信号计数、串行通讯及串行显示实验、A/D转换、液晶屏显示等多项基本的单片机的接口实验。
仿真软件由WAVE的编辑软件及MICETEK公司的EasyProbe8052F仿真软件组成。
上述软件均在WINDOWS环境下运行。
上述设备及应用软件的具体功能在下列论述中再详细说明
实验一上机操作
一、实验目的
1、了解Micetek仿真器的一般上机操作规程。
2、掌握编辑软件(WAVE)及仿真软件EeasyProbe/SLD的使用方法。
3、结合线路图,掌握串行模式0下的八段LED显示器的显示方法。
4、重点掌握源程序的基本调试方法如怎么样设置单步、设置断点运行程序及如何观察程序运行结果等。
5、读懂例程中的LED显示子程序,重点是字形变换部分。
二、实验内容
将例行程序MCS51_6.txt输入、编译、下载、运行后观察运行结果。
MCS51_6文件路径:
C:
\DocumentsandSettings\Administrator\MyDocuments\单片机实验相关软件及指导书目录下
三、实验报告要求
1.写出调试通过后的.LST文件,并加以注释。
2.写出程序功能及结果,可用图片或流程图说明。
3.记录实验中出现的故障、错误以及相应的解决办法
四、实验板一及实验线路示意图:
图1.1实验开发板一
图1.2实验开发板一原理图
五、实验步骤
1、双击桌面快捷方式,进入图1.3:
图1.3WAVE-1
2、编译前先选择选择仿真器型号:
点击“仿真器”菜单中“仿真器设置”菜单,见图1.4;
图1.4仿真器设置-1
接着按图1.5设置仿真器型号:
图1.5仿真器设置-2
3、由于实验报告要求附上LST文件,在编译前先选中“仿真器”菜单中“设
置文本编辑器”菜单,出现图1.6界面,在生成列表文件处打钩,LST文件将在源文件目录中编译生成。
图1.6LST文件生成
4、点击文件菜单,可选择新建文件OR打开原有文件,新建文件保存时注意扩展名.asm保存。
见图1.7:
图1.7WAVE-1
5、可导入TXT文本格式文件,如实验一中导入C:
\DocumentsandSettings\Administrator\MyDocuments\单片机实验相关软件及指导书目录下的MC51_6.TXT,并点击“项目”菜单中“全部编译”项,左下角显示全部编译通过,若出错,双击该项,将提示出错行,回到相应行修改代码,直至全部通过。
图1.8WAVE-2
6、“窗口”和“执行”菜单的使用:
窗口菜单见图1.9;该菜单包含数据窗口、CPU窗口等,如右下角的DATA,XDATA和CODE等窗口,可与单步调试配合使用,判断逻辑错误。
单步调试功能除选择快捷方式外,还可通过点击“执行”菜单项使用,请见图1.10,单步调试在实际使用中非常有意义。
图1.9WAVE-3
五:
实验参考代码:
图1.10WAVE-4
7、将WAVE软件编译生成的HEX目标文件,通过仿真软件将代码下载到仿真器,并观察实验现象。
下面简单介绍程序下载过程:
首先双击桌面Codecruiser图标进入仿真软件环境。
如果出现图1.11界面,请确认是否打开电源,确认仿真器是否连接成功,电源线请勿接反。
若成功启动后,Codecruiser弹出设置存储器映射对话框供选取CPU程序和片外数据,除最后一个实验,其它均选择内部,见图1.12。
图1.11硬件连接不成功
图1.12设置存储器映射
若上述配置成功后,点击确定,并进入图1.13界面;点击该图中“文件”菜单下“下载目标文件”菜单,选择文件类型为HEX,搜到目标文件MCS51_6.HEX。
图1.13下载HEX文件
下载HEX文件完毕,点击“选项”菜单中“运行设置”菜单项,按图1.14设置:
图1.14运行设置
在源程序窗口中,您可查看源代码,设定断点,开始或终止仿真以及源程序进行单步操作即检查变量。
断点设定、连续单步仿真、查看存储器、查看和修改寄存器等调试功能。
六、例程
利用串行口的模式0进行6位八段显示程序。
ORG0000H
AJMPMAIN
ORG0003H
AJMPEXP_0
ORG0080H
MAIN:
MOVSP,#60H
MOVTMOD,#00H
MOVTCON,#00H
MOVTH0,#00H
MOVTL0,#00H
MOVSCON,#00H
MOVIE,#00H
Main_0:
NOP
MOVP0,#00H
MOVR7,#10H;
MOVA,#00H
NOP
Main_1:
NOP
MOV47H,A;将需显示的三位数据存入缓冲区
MOV48H,A;
MOV49H,A;
ACALLdaim_1;调用显示代码转换子程序
NOP
ADDA,#11H
NOP
DJNZR7,main_1;判断十六次循环是否结束
NOP
SJMPmain_0
;代码转换及串行发送子程序
Daim_1:
PUSHACC
MOVDPTR,#TAB_1
MOVA,47H
ANLA,#0FH
MOVCA,@A+DPTR
MOV4AH,A;转换后的低4位显示代码存入显示缓冲区
MOVA,47H
SWAPA
ANLA,#0FH
MOVCA,@A+DPTR
MOV4BH,A;转换后的高4位显示代码存入显示缓冲区
MOVA,48H
ANLA,#0FH
MOVCA,@A+DPTR
MOV4CH,A
MOVA,48H
SWAPA
ANLA,#0FH
MOVCA,@A+DPTR
MOV4DH,A
MOVA,49H
ANLA,#0FH
MOVCA,@A+DPTR
MOV4EH,A
MOVA,49H
SWAPA
ANLA,#0FH
MOVCA,@A+DPTR
MOV4FH,A
MOVR1,#4AH
MOVR0,#06H;显示循环次数6次
MOVA,@R1
CLRTI
MOVSBUF,A
NOP
JNBTI,00EAH;检测串行数据是否发送结束
INCR1
DJNZR0,00E5H
NOP
ACALLyans_1;调用延时子程序
MOVP0,#00H
SETBP0.0;亮红灯
ACALLyans_1;
CLRP0.0;灭红灯
SETBP0.1;亮黄灯
ACALLyans_1;调用延时子程序
CLRP0.1
SETBP0.2
ACALLyans_1;调用延时子程序
CLRP0.2
SETBP0.3
ACALLyans_1
CLRP0.3
SETBP0.4
ACALLyans_1
CLRP0.4
SETBP0.5
ACALLyans_1
CLRP0.5
NOP
NOP
POPACC
RET
;延时子程序
Yans_1:
PUSHACC
MOVR1,#00H
MOVR0,#00H
NOP
NOP
DJNZR0,0126H
DJNZR1,0126H
NOP
POPACC
RET
;字符显示代码表
TAB_1:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
ORG0300H
EXP_0:
RETI
实验二汇编语言设计
PART1逻辑运算
一、实验目的
1.熟悉80C51单片微机汇编语言设计及编程技巧。
2.掌握逻辑运算程序的设计方法。
二、实验内容
逻辑运算:
根据下列逻辑运算式,编写程序计算运算结果。
Y=A⊕B•C•D+A
设:
A=63H,B=82H,C=C5H,D=36H。
求Y=?
三、实验器材
1.Micetek仿真器一台
2.实验板一块
四、实验报告要求
1.写出调试通过后的.LST文件,并对源程序加以注释。
2.写出程序功能及结果。
3.记录实验中出现的故障、错误以及相应的解决办法
PART2求最小数和最大数
一、实验目的
1.熟悉80C51单片微机汇编语言设计及编程技巧。
2.掌握求最小数和最大数程序的设计方法。
二、实验内容
求最小数和最大数:
10个无符号数连续存放在以20H为起始地址的RAM中,找出其中的最小值存入30H单元中,找出其中的最大值存入31H单元中。
三、实验器材
1.Micetek仿真器一台
2.实验板一块
四、实验报告要求
1.写出调试通过后的.LST文件,并对源程序加以注释。
2.写出程序功能及结果。
3.记录实验中出现的故障、错误以及相应的解决办法
PART3十进制加、减运算
一、实验目的
1.熟悉80C51单片微机汇编语言设计及编程技巧。
2.掌握多字节无符号十进制数加、减法程序的设计。
二、实验内容
十进制加、减运算:
286729+652430-752196=?
在8051片内RAM的20H~22H中放入3字节被加数(低位在先)、23H~25H放入加数(低位在先)、26H~28H放入减数,结果存入2DH~2FH单元(低位在先)。
三、实验器材
1.Micetek仿真器一台
2.实验板一块
四、实验报告要求
1.写出调试通过后的.LST文件,并对源程序加以注释。
2.写出程序功能及结果。
3.记录实验中出现的故障、错误以及相应的解决办法
综合实验一:
模拟交通灯控制实验
一、实验目的
1、了解时间常数的计算方法。
2、了解80C51中断的工作机理、过程,掌握中断服务程序的编制。
3、掌握80C51单片机内部定时/计数器的工作方式选择,初始化程序的设置以及中断服务子程序的设计。
二、实验内容
编写模拟交通灯运行控制程序。
要求红绿灯亮灯延时时间为30秒,黄灯亮灯延时时间为10秒。
利用二位八段LED显示器进行时间显示。
时间显示采用倒计时的方式。
时间归零时信号进行切换。
三、实验要求
掌握单片机内部通用资源如中断、定时计数器、串行口及并行端口的应用。
●时间的延时必须采用定时器定时中断方式进行,定时器0或定时器1可任选一个(默认为0)。
编程时请充分考虑定期器的时间扩展问题。
●利用二位八段LED显示器进行时间显示,显示码采用串行口模式0进行输出。
显示方式及相应的程序编写请参考实验一。
显示部分的详细接线原理及对应的显示码参考图15。
●掌握中断系统的基本概念及使用方法。
如:
中断被响应所需的必要条件;一个完整的中断响应过程;中断优先级的概念
●信号灯的控制由并行口P0口输出进行快关控制。
四、实验线路图:
图3.1为交通灯控制接线示意图,除红绿黄六路交通灯外,还需要用到两个八段LED显示器,用于显示交通灯时间显示,显示码采用串行口模式0进行输出。
图3.2为八段显示器接线原理图,具体说明了串行口工作模式0的硬件线路。
由于开发板一有6个八段显示器,在实验过程中除正常计时的两个八段LED外,将其余四个灭掉。
图3.1交通灯控制接线示意图
图3.2八段显示器接线原理图
五、相关知识的回顾及编程注意事项
存储单元:
充分理解程序存储器、内部及外部数据存储器、寄存器、特殊功能寄存器等存储单元的相对物理位置及访问这些存储单元相应指令结构。
中断:
1:
中断的响应条件;
2:
中断标志位的含义。
3:
中断向量地址的概念。
4:
中断子程序的执行过程。
5:
中断嵌套【中断优先级的概念】。
定时器:
定时/计数器的本质是一个减一(或加一)计数器,当计数器归零时使得内部特殊功能寄存器中相应的为发生置位。
产生中断请求。
当对定时/计数器对系统内部晶振信号进行计数时我们称之为定时器,对系统外部脉冲信号进行计数时我们称之为计数器。
串行通信:
LED八段显示码及数据转换的概念。
TTL74LS164的功能及数据、时钟信号的时序配合图,结合串行口输出的时序综合考虑。
实验三串行口通讯实验
一、实验目的
1.掌握80C51串行口工作方式选择、初始化的设置方法和串行通信编程。
2.掌握数据传送的校验方法(奇校验)。
3.编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。
二、实验内容
1.编写程序,将内部RAM中20H开始的连续16个单元的数据,通过串行口自发自收而转移到以内部RAM中30H开始的单元内。
2.编写程序,实现双机通信。
3.所传送的数据采用奇校验。
传送出错则重发,重发超过三次则退出,并置出错标志。
三、实验器材
1.Micetek仿真器一台
2.实验板一块
四、硬件连接
1.将实验板上的T针与R针短接,实现串行口的自发自收。
T针为串行口的TXD,R针为串行口的RXD引脚.
2.将双机TXD引脚与RXD引脚互连。
五、实验报告要求
1.写出调试通过后的.LST文件,并加以注释。
2.写出程序功能及结果。
3.记录实验中出现的故障、错误以及相应的解决办法。
综合实验二:
液晶显示模拟多通道数据采集系统
一:
实验目的
1):
掌握和理解单片机总线工作模式下各信号线的跳变及相应的时序。
特别要了解ALE及RD、WR信号线在总线方式下的时序。
2):
在总线方式下各相应指令的结构。
3):
外围接口芯片的地址选择方式。
4):
了解LCD模块的使用说明及特别是指令说明。
二:
实验内容
采用总线方式构架一个多路数据采集系统。
并将采样数据分二行在液晶显示模块上进行实时显示。
随着被采样电压值的变化液晶显示器显示的值跟随变化(即连续采样)。
显示数值为实际的电压值。
CH4:
xxHCH5:
xxH
CH6:
xxHCH0:
xxH
三:
实验要求
1、ADC0809对三路数据【通道4、通道5、通道6】进行采样,同时将通道4的采样结果送人DAC0832进行DA转换,再将DA输出电压接到AD的通道0进行转换并将4个通道的实际值分分二行发送到液晶显示器上进行显示。
显示效果如上图所示。
2、通过实验建立微处理器总线构架及系统内地址选择的等基本概念
3、掌握A/D转换器ADC0809、DAC0832及液晶显示模块的工作原理。
4、编写A/D、D/A转换及液晶显示模块的实验程序。
四:
参考资料
【一】:
ADC0809中文资料
1.主要特性
1)8路8位A/D转换器,即分辨率8位
2)具有转换起停控制端
3)转换时间为100μs(时钟640k)
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW
2.内部结构
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图5.1所示,它由8路模拟开关,地址锁存与译码器,比较器,8位开关树型D/A转换器,逐次逼近寄存器,三态输出锁存器等其它一些电路组成。
因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。
输入输出与TTL兼容。
图5.1ADC0809内部结构
3.外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如图17所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA,ADDB,ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动信号,输入,高电平有效。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+),REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
ADC0809的工作过程是:
首先输入3(0-7)位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
详细说明及管脚排列等数据参考同一文件夹内【ADC0809】pdf文件
【二】:
DAC0832中文资料
详细说明及管脚排列等数据参考同一文件夹中的【DAC0832】PDF文件
【三】:
LCD模块资料:
详细说明参考同一文件夹中的【液晶显示模块使用说明书】PDF文件,重点是对命令格式及特征码的理解。
【四】运算放大器LM358中文资料
LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,
适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工
作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益
模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。
LM358的封装形式有塑封8引线双列直插式和贴片式。
特性(Features):
*内部频率补偿。
*直流电压增益高(约100dB)。
*单位增益频带宽(约1MHz)。
*电源电压范围宽:
单电源(3—30V);双电源(±1.5一±15V)。
*低功耗电流,适合于电池供电。
*低输入偏流。
*低输入失调电压和失调电流。
*共模输入电压范围宽,包括接地。
*差模输入电压范围宽,等于电源电压范围。
*输出电压摆幅大(0至Vcc-1.5V)。
参数:
输入偏置电流45nA
输入失调电流50nA
输入失调电压2.9mV
输入共模电压最大值VCC~1.5V
共模抑制比80dB
电源抑制比100dB
五、实验接线示意图
图5.2液晶显示模拟多通道数据采集系统实物图
图5.3液晶显示模拟多通道数据采集系统原理总图
图5.4ADC0809接线图
图5.5DAC0832接线图
图5.6液晶显示器接线图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)