单片机原理与应用实验指导书学生部分4修订Word格式.docx
《单片机原理与应用实验指导书学生部分4修订Word格式.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用实验指导书学生部分4修订Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
键扫/字位口
0FF21H
系统8255PB口
字形口
0FF22H
系统8255PC口
键入口
0FF23H
系统8255控制口
控制口
0FF28H
扩展8255PA口
扩展口
0FF29H
扩展8255PB口
0FF2AH
扩展8255PC口
0FF2BH
扩展8255控制口
60H
EX1
实验用
二、系统接口定义
(1),CZ11:
用户实验通讯接口;
(2),CZ4:
打印接口;
(3),JX0,JX17为系统提供的数据总线接口
(4),CZ7:
系统提供的扩展接口;
(5),JX12、JX14:
液晶显示接口
三、通用电路简介
(1)
LED发光二极管指示电路:
实验台上包括16只发光二极管及相应驱动电路。
见图1-1,Ll—L16为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光二极管亮
图1-6
(2)
逻辑电平开关电路:
见图1-2。
实验台上有8只开关Kl-K8,与之相对应的K1-K8个引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。
图1-7
(3)
单脉冲电路:
实验台上单脉冲产生电路如图1-3,标有“ ”和“ ”的两个引线插孔为正负单脉冲输出端。
附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。
图1-8
(4)
分频电路:
该电路由一片74LS393组成,见图1-4。
T0—T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0—T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
图1-9
(5)
脉冲发生电路:
实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ的插孔,即为脉冲的输出端。
图1-10
(6)
485接口电路:
图1-11
(7)
通讯接口电路
图1-12
(8)
数码管显示电路
图1-13
(9)
键盘电路
图1-14
(10),目标CPU(AT89S52)的控制电路
图1-15
(11),存储器控制电路
图1-16
第二章系统安装与使用
一、软件安装
1,系统要求
◆Pentium、Pentium-Ⅱ或兼容处理器的PC机;
◆Windows95/98/NT4.0/2000/XP;
◆≥16MBRAM
20◆≥MB硬盘空间;
2,DICE-598K51部分软件安装说明
运行随机光盘上‘DICE-51仿真开发系统’安装文件,根据提示完成软件安装,然后双击桌面上‘DICE-51仿真开发系统’银环快捷图标,即可运行DICE-51仿真软件。
3,实验演示模拟装置的软件安装说明
随机的光盘中有一个“电子演示装置”文件夹,其中有下列文件:
setup.exe演示装置上位软件,点击后自动安装
D12Driver演示装置USB接口驱动程序文件夹,内含win2k_xp和win98两个文件夹,相应的操作系统安装对应文件夹中的驱动程序。
(win2k_xp用于2000、xp操作系统,win98用于98操作系统。
)
usbtest.exe该文件用于测试演示装置的32个I/O口。
安装方法:
先将上述程序从光盘复制到硬盘,并去掉只读属性,双击setup.exe,根据提示直至安装完毕;
然后用USB线将演示装置连接到PC机USB口,屏幕会提示发现新硬件,根据提示引导进行安装,当选择驱动程序时请把路径指向硬盘上win2k_xp或win98(根据自己实际的操作系统)文件夹中的d12test.sys,并直至安装完毕。
二、硬件安装
系统设置
(1)KB6开关拨向导59一侧,把51K--CPU卡插到CPU卡座上(在8088Unit两侧),51K--CPU卡短路块向片外程序短接。
(2)SW3、SW4、SW5:
为键盘/显示选择开关,开关置ON(出厂模式),键盘/显示控制选择系统配置的8255接口芯片,反之由用户选择自定义的I/O接口芯片控制,在本机实验中,除8279实验外,键盘/显示为出厂模式。
(3)脱机使用:
接通实验仪电源,数码管应显示“P.--51”,表明实验系统处于51脱机状态,可通过实验仪键入相应实验序号,再按[EX/FV]键,即可全速执行该实验程序,例如输入数字键0、9,连接好A/D实验的导线,再按[EX/FV]键,即可运行实验序号九的A/D实验。
(4)联PC机操作:
用34芯导线连接JF(在CPU卡)和仿真器接口(在CPU卡右侧),此时数码管熄灭,自动进入联机状态,把通信线一头和实验仪的系统通信接口CZ1相连,另一端和PC机串口相连,运行DICE-51仿真开发系统软件,51部分实验源程序在598K5asm文件夹。
*注:
实验系统上的CZ11串行口为用户实验串行口。
第三章实验指导
一、采用联机调试实验程序时,需双击桌面上“DICE-51仿真开发系统”银环图标,打开仿真调试软件,设置仿真模式。
具体步骤如下:
点击菜单栏的“设置(S)”项,在弹出下拉菜单中选择“仿真模式(M)...”,此时此时将弹出“仿真模式”对话框,在此进行相关设置==>CPU:
8031/8032;
RAM:
用户RAM;
ROM:
系统ROM。
二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。
软件实验
实验一 清零程序
1,实验目的:
掌握汇编语言设计和调试方法,熟悉键盘操作。
2,实验内容:
把2000H~20FFH的内容清零。
3,实验程序框图:
4,实验步骤:
用连续或单步方式运行程序,检查2000~20FF中执行程序前后的内容变化。
5,思考:
假使把2000H~20FFH中的内容改成FF,,如何修改程序。
实验二拆字程序
l,实验目的:
掌握汇编语言设计和调试方法。
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
如何用断点方式调试本程序。
实验三 拼字程序
1,实验目的:
进一步掌握汇编语言设计和调试方法。
.
把2000H.2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。
单步或用断点方式运行程序,检查2002H内容变化情况。
实验四 数据区传送子程序
掌握RAM中的数据操作。
把R2.R3源RAM区首址内的R6.R7字节数据传送到R4.R5目的RAM区。
在R2.R3中输入源首址(例如0000H),R4.R5中输入目的地址(例如2000H),R6.R7中输入字节数(例如lFFFH),运行程序,检查0000H~lFFFH中内容是否和2000H~3FFFH中内容完全一致。
实验五数据排序实验
熟悉51指令系统,掌握程序设计方法。
编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
3,程序框图:
将RAM50H~5AH中放入不等的数据,用断点方法运行本实验程序后检查
实验六查找相同数个数
熟悉汇编语言编程。
在2000H~200FH的N个单元中填入零,运行本程序后检查2100H中是否为N。
在2000H~200FH的几个单元中填入零,运行本程序后检查2100H中是否是几个单元数。
修改程序,查找其它内容。
实验七 无符号双字节快速乘法子程序
掌握MCS-51汇编语言程序设计方法。
2,预备知识:
本程序利用单字节的乘法指令,根据下面的公式进行乘法运算的。
(R2R3)*(R6R7)=((R2)*
+(R3))*((R6)*
+R7))
=(R2)*(R6)*
+((R2)*(R7)+(R3)*(R6))*
+(R3)*(R7)
3,实验内容:
将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中。
4,实验程序框图:
5,实验步骤:
在R2R3和R6R7中输入无符号整数,断点或单步运行本实验程序后检查R4R5R6R7中内容。
实验八 多分支程序
掌握汇编语言的编程。
编写程序,根据送入的数据转移运行。
4,实验步骤:
在20H中分次送入00.01.02.03,每次运行程序后,观察数码管上数字循环
实验九脉冲计数(定时/计数器实验)
1,
实验目的:
熟悉单片机内部定时/计数器功能,掌握初始化编程方法。
2,
实验内容:
把定时器0外部输入的脉冲进行计数,并送显示器显示
3,
实验程序框图:
4,
实验接线图:
5,
实验步骤:
用插针把8MHZ插孔和T插孔连接,P3.4依次接T0~T7或单脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。
6,
思考:
修改程序使显示器上可显示到999999个脉冲个数。
实验十 电脑时钟(定时器、中断综合实验)
熟悉MCS-5l定时器和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。
编写程序,从实验系统键盘上输入时间初值,用定时器产生0.lS定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
3,实验程序框图
连续运行程序,在键盘上输入时间初值,按执行键F0/EX执行,数码管实时显示时间值。
(1)电子钟走时精度和程序中那些常数有关?
硬件实验
实验一 P1口亮灯实验
(l)学习P1口的使用方法;
(2)学习延时子程序的编写。
实验顶备知识:
(l),Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
(2),本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
实验内容:
P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
5,
实验步骤:
P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。
7,
改变延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管闪亮移位方向改变。
实验二P1口转弯灯实验
进一步了解P1口的使用,学习汇编语言编程方法及调试技巧。
P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0,P1.1开关同时接5V或接地时,转弯灯均不闪亮。
4,实验接线图:
P1.0接K1,P1.1接K2,P1.4~P1.7接L1、L4、L7、L10,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。
实验三
P3口输入,P1口输出
掌握P3口 P1口简单使用。
P3.3口输入一脉冲, PI口按16进制加一方式点亮发光二极管。
5,实验步骤:
P3.3用接针连至K1P1.0~P1.7插针连至L1~L8,K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
6,思考:
修改程序,使发光二极管左移方式点亮。
实验四工业顺序控制
掌握工业顺序控制程序的简单编程,中断的使用。
2,实验预备知识:
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。
由P1.0~1.6控制注塑机的七道工序,现模拟控制七只发光二极的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。
P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
5,实验接线图:
6,实验步骤:
JP向下短接,P3.4-->
K1,P3.3-->
K2,P1.0~P1.6-->
L1~L7,P1.7-->
Vin。
执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。
可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。
7,思考:
修改程序,使每道工序中有多位输出。
实验五 8255A.B.C口输出方波
掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入/输出软件的设计为法。
在8255的A.B.C口用万用表可测出每个口线的高低电平变化。
执行程序,用万用表测量8255A.B.C口应有高低电平变化(或用8255A.B.C口分别用插针连至Ll~L8,观察发光二极管变化情况)。
实验六 8255 PA口控制PB口
掌握单片机系统中扩展外围芯片的方法,了解8255芯片的结构及编程方法。
用8255 PA口作开关量输入口,PB口作输出口。
8255PA口接Kl~K8,PB口接L1~L8运行程序,按K1~K8,观察L1~L8发光二极管是否对应点亮。
实验七 8255控制交通灯
进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。
用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
8255PB3~PB0-->
L1~L4,PA7~PA0-->
L5~L12。
执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。
实验八 简单I/O口扩展
l,实验目的:
(1)学习单片机系统中扩展简单I/O口的方法。
(2)学习数据输入输出程序的编制方法。
2,实验内容:
利用74LS244作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。
Y0~Y7接K1~K8,Q0~Q7接L1~L8,CS1接FF80H孔,CS2接FF90H孔,JX0接JX7,执行程序,按动K1~K8,观察L1~L8是否对应点亮。
可否用273输入,244输出。
实验九 A/D转换实验
(1)掌握A/D转换与单片机接口的方法;
(2)了解A/D芯片0809转换性能及编程方法;
(3)通过实验了解单片机如何进行数据采集。
利用实验系统上的0809做A/D转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。
3,实验接线图:
把0809的零通道INT0用插针接至AOUT1孔,CS4接FF80H孔,JX0接JX6,8MHZ孔接CLKUNIT区的T孔。
运行程序,数码管上显示0809.XX,,后二位显示当前采集的电压转换的数字量,调节电位器,该二位将随着电压变化而相应变化。
修改程序,用其它通道轮流采样显示。
实验十 D/A转换
(1)了解D/A转换与单片机的接口方法;
(2)了解D/A转换芯片0832的性能及编程方法;
(3)了解单片机系统中扩展D/A转换芯片的基本方法;
利用0832输出一个从0V开始逐渐升至5V再降至0V的可变电压。
把0832译码线CS5接至FF80H孔,JX0接JX2,运行程序,数码管上显示不断加大或减小的数字量,用万用表测试D/A输出孔AOUT应也能测出不断加大或减小的电压值。
修改程序,使能产生锯齿波。
实验十一 8279键盘显示实验
掌握8051系统中,扩展8279键盘显示接口的方法。
按下数字键,数码管上应相应能显示数字,按下功能键,能相应执行其它程序。
3,实验接线图
5,.实验步骤:
把CS6孔用插针连至FF80孔,JSL接JS,JRL接JR,JOUT接JLED,SW3,SW4,SW5置OFF(实验完后置ON),运行程序,数码管上显示P,按下数字键,数码管上应能显示相应数字,按下功能键,数码管上显示相应的0字l字2字循环。
修改程序,高四位数码管显示数字当地址看待,按功能键1后,按下的数字只显示在后二位上,当数据看待,功能键2和功能键3当地址加一和减一键使用。