单片机实验指导书文档格式.docx
- 文档编号:21090234
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:59
- 大小:485.47KB
单片机实验指导书文档格式.docx
《单片机实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书文档格式.docx(59页珍藏版)》请在冰豆网上搜索。
实验八8255输入、输出实验16
实验九8255扫描键盘、显示实验18
实验十8279显示实验20
实验十一8279显示电子钟实验22
实验十二8279键盘显示实验(电子秒表)25
实验十三串并转换实验28
实验十四单片机串行口与PC机通讯实验30
实验十五8251可编程串行口与PC机通讯实验32
实验十六8253定时/计数器实验35
实验十七D/A转换实验37
实验十八A/D转换实验39
实验十九并行打印机实验41
实验二十电子音调实验43
实验二十一LCD显示实验45
实验二十二LED点阵显示实验47
实验二十三FlashRom读写实验50
实验二十四语音芯片实验52
实验二十五P1口控制直流电机实验55
实验二十六直流电机转速测量实验57
实验二十七步进电机控制实验60
实验二十八压力测量显示实验62
实验二十九温度测量与显示实验64
实验一扩展存储器读写实验
一.实验要求
编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的
1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线
-
将P1.0接至L1。
CS256连GND孔。
四.实验说明
1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察的等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓55,SPACE,屏幕上应显示55,再键入AA,SPACE,
屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:
SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序及框图
实验示例程序见配套盘片中的MEM1.ASM。
实验示例程序流程框图如下:
实验二P1口输入、输出实验
1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连线
实验一时,P1.0-P1.7接L0-L7。
实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。
CS273接8300H。
1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题
对于程序DELAY:
MOVR0,#00H
DELAY1:
MOVR1,#0B3H
DJNZR1,$
DJNZR0,DELAY1
查指令表可知MOV,DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:
((0B3+1)×
256+1)×
2×
12÷
11059200=100.002mS
五.实验框图
程序框图:
TP1A.ASM主程序框图TP1B.ASM主程序框图
实验三P3口输出控制继电器实验
利用P3.5输出高低,控制继电器的开合,实现对外部装置的控制。
掌握继电器控制的基本方法和经验。
P3.5接JD。
R-MID接L1灯,R-CLOSE接GND。
现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。
电子继电器便能完成这一桥梁作用。
继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势,防止干扰。
本电路的控制端为JD,当JD为高电平时,继电器不工作,当JD为低电平时,继电器工作,常开触点吸合。
执行时,对应的LED将随继电器的开关而亮灭。
TP3R.ASM主程序框图
实验四简单I/O实验(交通灯控制)
以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
4.学习双色灯的使用。
PO0-PO3接DG1-DG4,PO4-P07接DR1-DR4。
CS273接8300H。
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;
红色正端加低电平,绿色正端加高电平时,绿灯亮;
两端都加高电平时,黄灯亮。
TRLED1.ASM主程序框图
实验五外部中断实验(急救车与交通灯)
在实验四内容的基础上增加允许急救车优先通过的要求。
有急救车到达时,两向交通信号为全红,以便让急救车通过。
假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。
本实验以按键为中断申请,表示有急救车通过。
1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
K7接P3.2。
中断服务程序的关键是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2.必须在中断程序中设定是否允许中断重入,即设置EX0位。
本例中使用了INT0中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。
本例的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
实验开始时K8应在H(高电平)端,要产生中断时先拨向L(低电平)端再拨回H端。
实验六定时器实验
由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。
P1口的P1.0-P1.7分别接八个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒钟L4,L6亮,第四秒钟L5,L7亮,第五秒L0,L2,L4,L6亮,第六秒钟L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L0,L2亮,然后L1,L3亮......一直循环下去。
1.学习8031内部计数器的使用和编程方法。
2.进一步掌握中断处理程序的编程方法。
P1.0--P1.7接L0—L7。
1.关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本实验用的是定时器,有关计数器的说明请查阅实验七。
2.内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:
机器周期=12÷
11.0592MHz=1.0857μS
(65536-定时常数)*1.0857μS=50mS
定时常数=4C00H
3.定时器的有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0~3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
4.在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
实验七计数器实验
8031内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。
使用8031的T1作定时器,50ms中断一次,看T0内每0.50ms来了多少脉冲,将其数值按二进制数在74LS273驱动LED灯上显示出来,5秒后再次测试。
1.学习8031内部定时/计数器使用方法。
2.进一步掌握中断处理编程方法。
P3.4接一计数脉冲(模块中的153.6K频率)。
PO0--PO7接L0—L7。
CS273接8300H。
1.本实验中内部计数器起计数器的作用。
外部事件计数脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。
这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。
同时这就决定了输入波形的频率不能超过机器周期频率。
2.实验时P3.4对应的连线为153.6KHZ孔,0.5ms内来了80次(50H)脉冲。
实验八8255输入、输出实验
编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,
并控制八位发光二极管。
使得八位发光二极管的亮灭变化与八位拨动开关的状
态相一致。
实验中用8255PB口作输入,PC口做输出。
了解8255芯片结构及编程方法。
8255的PB0~PB7(PB口)接至八位拨动开关K0~K7。
将PC0~PC7(PC口)接至八位发光二极管L0–L7。
CS8255接8500H。
可编程通用接口芯片8255A有三个八位的并行I/O口,请用户仔细阅读有关书籍掌握
其特点和各种用法。
由于8255的A1、A2脚分别接至地址线的A0、A1。
所以相对应8255各口/寄存器的地址分配如下:
PA口:
8500H;
PB口:
8502H;
PC口:
8504H;
控制寄存器地址:
8506H。
本示例程序中使用PB口作输入,检测八位拨动开关的状态;
使用PC口
作输出,控制八个发光二极管的亮灭。
五.实验程序及框图
实验示例程序见8255.ASM。
PC口输出至八位二极管
实验九8255扫描键盘、显示实验
利用8255可编程并行口做一个扫描键盘实验,把按键输入的键码,显示在由8279控制的七段数码管上。
8255PA口做键盘输入线,PB口作扫描线。
1.掌握8255编程方法。
2.掌握扫描键盘和显示的编程方法。
CS8255接8500H,则命令字地址为8506H,PA口地址为8500H,PB口地址为8502H,PC口地址为8504H。
CS8279已固定接至8700H,则8279的状态口地址为8701H;
8279的数据口地址为8700H;
模块中的十个短路套都套在8255侧。
在PA口与PB口组成的64点阵列上,把按键接在不同的点上,将得到不同的键码,本实验采用8×
2的阵列,共可按16个键。
显示部分由8279控制,由7407驱动8位数码管显示。
P55KD.ASM主程序框图读键显示部分框图
实验十8279显示实验
编制程序,利用8279及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。
1.掌握在8031系统中扩展8279键盘显示接口的方法。
2.掌握8279工作原理和编程方法。
CS8279已固定接至8700H。
模块中的十个短路套都套在8279侧。
利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。
本实验系统中8279的状态/命令口地址位8701H;
数据口地址位8700H。
示例程序运行将显示“8279--”,并等待按键输入,将键值显示在数码管上(只响
应0—F按键)。
实验示例程序8279.ASM流程框图如下:
设置8279
N
Y
有键按下
读键并显示
开始
实验十一8279显示电子钟实验
利用8279键盘显示接口电路,做成一个电子钟。
该钟使用T1作50ms的定时中断。
利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,其有显示稳定、程序简单、不会出现误动作等特点。
本实验利用8279实现显示扫描自动化。
8279操作命令字较多,根据需要来灵活使用,通过本实验可初步熟悉使用方法。
电子钟做成如下格式:
XXXXXX由左向右分别为:
时、分、秒。
1.掌握在8031系统中扩展8279键盘显示接口的方法。
2.掌握8279工作原理和编程方法。
3.进一步掌握中断处理程序的编程方法。
参看实验十。
8279通用接口芯片,根据应用需要可以在多种模式下工作,详见有关手册。
示例程序见P79T1.ASM。
DISPLAY子程序框图DISLED子程序框图
实验十二8279键盘显示实验(电子秒表)
利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟,用小键盘控制电子钟的启停及初始值的预值。
XXXXXXXX由左向右分别为:
时、分、秒、百分之一秒
1.C键:
清除,显示00.00.00.00
2.A键:
启动,电子钟计时
3.D键:
停止,电子钟停止计时
4.B键:
设置初值:
由左向右依次输入预置的时、分、秒、百分之一秒值,同时应具有判断输入错误的能力,若输入有错,则显示:
00.00.00.00
按B键即可重新输入预置值:
5.E键:
程序退出。
1.进一步掌握8279键盘显示电路的编程方法。
2.进一步掌握定时器的使用和编程方法。
参见实验十。
示例程序见P79T2.ASM。
程序框图:
P79T2.ASM主程序框图
SET_T子程序框图GETWORD子程序框图
实验十三串并转换实验
利用8031串行口,和并行输出串行移位寄存器74LS164,扩展一位数码显示在数码显示器上循环显示0-9这10个数字。
1.掌握8031串行口方式0工作方式及编程方法。
2.掌握利用串行口扩展I/O通道的方法。
RXD接DATAIN,TXD接DCLK。
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。
由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。
示例程序SLED.ASM程序框图:
实验十四单片机串行口与PC机通讯实验
利用8031单片机串行口,实现与PC机通讯。
本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符0-F(必须为大写字母)显示到实验机的数码管上。
1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。
2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。
3.了解PC机通讯的基本要求。
三.实验电路及连线
实验电路已在实验机监控电路上构成。
CS8279已固定接至8700H,无须再接。
8279状态口地址为8701H;
8279数据口地址为8700H;
1.当用GR命令执行程序时,实验机内部会将8031串行口电路切换与PC机通讯,无须连线。
2.程序执行前,进入LCA51,加载程序后,才进入调试菜单工具中的对话窗口,然后执行GR0,就可实行单片机串行口与PC机通信实验。
示例程序S31.ASM程序框图:
实验十五8251可编程串行口与PC机通讯实验
一.实验要求
利用实验机内的8251芯片,实现与PC机通讯。
本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。
1.掌握8251芯片结构和编程,掌握单片机通讯的编制。
2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。
3.了解PC机通讯的基本要求。
CS8251接8500H。
程序执行时,应先进入调试菜单下的对话窗口中,然后执行G0,就可实现实验要求。
五.实验程序及框图
实验示例程序见S8251.ASM
实验十六8253定时/计数器实验
编程将8253的定时器0设置为方式3(方波),定时器1设置为方式2(分频),定时器2设置为方式2(分频)。
定时器0输出的脉冲作为定时器1的时钟输入。
定时器1的时钟输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
也可用示波器观察各对应引脚之间的波形关系。
了解8253定时器的硬件连接方法及时序关系。
掌握8253的各种模式的编程及其原
理,用示波器观察各信号之间的时序关系。
8253中GATE0、GATE1、GATE2接+5V。
CLK0接模块的频率插孔(153.6KHZ),CLK1接OUT0,CLK2接OUT1。
OUT2接L1灯。
CS8253接8000孔。
8253的工作频率是0~2MHz,所以输入的CLK频率必须在2MHz以下。
运行本程序后,用示波器观察8253的OUT0、OUT1、OUT2脚上的输出波形。
同时可看到L1灯在不停闪烁。
五.实验程序框图
示例程序见8253.ASM。
实验十七D/A转换实验
编写程序,使D/A转换模块循环输出锯齿波和三角波。
1.了解D/A转换的基本原理。
2.了解D/A转换芯片0832的性能及编程方法。
3.了解单片机系统中扩展D/A转换的基本方法。
CS0832接8300H。
用示波器探头测量15模块的VOUT孔,观察显示波形。
D/A转换是把数字量转化成模拟量的过程,本实验输出为模拟电压信号,本次实验生成的波形较为简单,有兴趣者可试编程序生成各种波形,如方波,正弦波等,也可与键盘显示模块结合起来,构成一个简单的波形发生器,通过键盘输入各种参数,如频率,振幅(小于+5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书