51单片机原理及应用实验指导书Word格式文档下载.docx
《51单片机原理及应用实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《51单片机原理及应用实验指导书Word格式文档下载.docx(42页珍藏版)》请在冰点文库上搜索。
5、系统的联机运行模式:
即配有系统调试软件,系统调试软件分DOS版和WINDOWS版两种,均为中文多窗口界面。
调试程序时可以同时打开寄存器窗口、内存窗口、变量窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为中文下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
8051调试软件不仅支持汇编语言,而且还支持C语言编辑调试。
6、系统的单机运行模式:
即系统在没有与计算机连接的情况下,自动运行在单机模式,在此模式下,用户可通过键盘输入运行程序(机器码),和操作指令,同时将输入信息及操作的结果在LED数码管上显示出来。
7、系统功能齐全,可扩展性强。
本实验系统不仅完全能满足教学大纲规定的基本接口芯片实验,其灵活性和可扩展性(数据总线、地址总线、控制总线为用户开放)亦能轻松满足其课程设计、毕业设计使用等。
1.2系统概述
1.2.1系统的基本结构
EL-MUT-III型微机/单片机教学实验系统是以微处理器8051为核心构成的微型计算机系统。
采用扩展总线的形式构成。
如图1-1所示。
ROM与片外ROM独立编址,寻址空间为64K,片外RAM与I/O扩展统一编址,总寻址空间为64K
图1-1实验系统的基本结构
1、微处理器:
i80c31,它的P1口、P3口皆对用户开放,供用户使用。
2、时钟频率:
6.0MHz
3、存储器:
程序存储器与数据存储器统一编址,最多可达64k.
图1-2PC机和实验系统的基本连接
1.2.2存储器基本地址分配
EL-MUT-III型单片机/微机教学实验系统的存储器容量:
1)板载ROM(监控程序27C256)12k;
在程序存储器中,0000H----2FFFH为监控程序存储器区。
2)RAM1(程序存储器6264)8k供用户下载实验程序,可扩展达32k;
用户可用,4000H----5FFFH为用户实验程序存储区,供用户下载实验程序。
3)RAM2(数据存储器6264)8k供用户程序使用,可扩展达32k。
数据存储器的范围为:
6000H----7FFFH,供用户实验程序使用。
(RAM程序存储器与数据存储器不可同时扩至32k,具体与厂家联系)。
(见图1-3:
存储器组织图)。
用户I/O区
FFFFH
D000H
I/O空间
系统I/O区
CFEFH
CFBFH
8000H
RAM2
用户实验程序区
7FFFH
6000H
RAM区
供用户下载实验
程序
5FFFH
5000H
RAM1
4FFFH
4000H
数据区
3FFFH
2000H
ROM(12kB)
系统监控程序区
2FFFH
0000H
ROM区
图1-3:
存储器组织图
注意:
因用户实验程序区位于4000H-----5FFFH,用户在编写实验程序时要注意,程序的起始地址应为4000H,所用的中断入口地址均应在原地址的基础上,加上4000H。
确认需连接的目标文件的源文件名全部包含在当前已打开的工程文件之中,如果没有,则需要重新建立或打开新的工程文件,并包含源文件。
、在源程序为汇编语言时,程序定位的方法为:
在源程序中给定,使用多个CSEGATXXXXH定位每个程序段,这样就不用在此参数项中输入参数。
除在程序第一段必须定位在复位起始PC=0000H处之外,其它程序段必须定位在4100H以后。
中断入口定位见键盘监控部分的系统资源分配章节。
对于8051的源程序,程序开头应包含如下语句:
CSEGat0000H;
LJMPstart;
CSEGat4100H;
start:
movsp,60H;
…
END;
、在源程序为高级语言时,程序定位的方法只能使用在此参数项中输入参数来解决。
、堆栈大小参数,该选项只有在高级源程序连接时才有效,在汇编语言中,堆栈的大小和位置可直接用伪指令在源程序说明。
DSEGatXXh(位置)
stack1:
DSXXh(长度)
在源程序中包含如下语句:
movsp,#stack1;
或者:
ldsp,#stack1;
在高级语言中,输入堆栈的大概长度,堆栈的位置由RAM参数确定。
1.2.3用户中断入口地址分配
外部中断0的原中断入口为0003H,用户实验程序的外部中断0的中断程序入口为4003H,其他类推,见表1-1。
表1-1:
用户中断程序入口表
中断名称8051原中断程序入口用户实验程序响应程序入口
外中断00003H4003H
定时器0中断000BH400BH
外中断10013H4013H
定时器1中断001BH401BH
串行口中断0023H4023H
1.2.4存储器的资源分配
本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程。
此单元也分两部分:
一部分为系统CPLD,完成系统器件,如监控程序存储器、用户程序存储器、数据存储器、系统显示控制器、系统串行通讯控制器等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0---CS5)给用户使用,他们的地址固定,用户不可改变。
具体的对应关系见表1-2。
另一部分为用户CPLD,它完全对用户开放,用户可在一定的地址范围内,进行编译码,输出为插孔LCS0----LCS7,用户可用的地址范围见表1—2。
注意,用户的地址不能与系统相冲突,否则将导致错误。
地址范围输出孔/映射器件性质(系统/用户)
0000H---2FFFH监控程序存储器系统*
3000H---3FFFH数据存储器系统*
4000H---7FFFH用户程序存储器系统*
8000H---CFDFHLCS0---LCS7用户
CFE0HPC机串行通讯芯片8250系统*
CFE8H显示、键盘芯片8279系统
CFA0H---CFA7HCS0系统
CFA8H---CFAFHCS1系统
CFB0H---CFB7HCS2系统
CFB8H---CFBFHCS3系统
CFC0H---CFC7HCS4系统
CFC8H---CFCFHCS5系统
CFD0H---FFFFHLCS0----LCS7用户
注:
系统地址中,除带“*”用户既不可用,也不可改外,其他系统地址用户可用但不可改。
表1—2:
CPLD地址分配表
2、8051的总线扩展方式(扩展存储器和I/O端口方式)
实验室的实验板的地址的分配可用图1-2所示。
地址范围
输出孔/映射器件
性质(系统/用户)
CFA0H---CFA7H
CS0
系统
CFA8H---CFAFH
CS1
CFB0H---CFB7H
CS2
CFB8H---CFBFH
CS3
CFC0H---CFC7H
CS4
CFC8H---CFCFH
CS5
CFD0H---FFFFH
LCS0----LCS7
用户
CFE0H
PC机串行通讯芯片8250
系统*
CFE8H
显示、键盘芯片8279
1.3对8051的提供的基本实验
为了提高教学实验质量,提高实验效率,在该系统的实验板上,除微处理器外、程序存储器、数据存储器外,还增加了8255并行接口、8250串行控制器、8279键盘、显示控制器、8253可编程定时器、A/D、D/A转换、单脉冲、各种频率的脉冲发生器、输入、输出电路等模块,各部分电路既相互独立、又可灵活组合,能满足各类学校,不同层次微机实验与培训要求。
可提供的实验如下:
(1)、8051P1口输入、输出实验
(2)、简单的扩展输入、输出实验
(3)、8051定时器/计数器实验
(4)、8051外中断实验
(5)、8279键盘扫描、LED显示实验
(6)、8255并行口输入、输出实验
(7)、8253定时器/计数器实验
(8)、8259中断实验
(9)、串行口通讯实验
(10)、ADC0809A/D转换实验
(11)、DAC0832D/A转换实验
(12)、存储器扩展实验
(13)、交通灯控实验
1.4电源系统
该系统的电源提供了两种解决方案:
1、利用PC机的电源,可省去电源的费用,只需从PC机内引出一组电源,从CPU板的+5V、+12V、—12V电源插座中引入。
该电源具有短路保护。
2、外接220V交流到实验箱,有内置在实验箱里开关电源,产生本实验箱的供电。
本系统只需更换不同的cpu板,即可完成8051、8086、80196相应试验系统的所有试验。
附录:
51单片机的最小系统
1、最小系统:
基本的I/O方式:
P0,P1,P2,P3四个8位的并行输入输出端口。
图1-451单片机最小系统的电路图
第二章基本电路介绍
2.1单片机/微机教学实验系统实验PCB简介
2.1.1教学实验系统实验PCB板简介
EL-MUT-III型微机教学实验系统由电源、系统板、CPU板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。
实验板的实物照片见图2-1,实验板的功能区的位置定义见图2-2和键盘和简单I/O区的电路板见图2-3所示。
EL-MUT-III型微机教学实验系统外形美观,具有优良的电特性、物理特性,便于安装,运行稳定,可扩展性强。
实验板上的插孔供学生实验时,插入电路芯片引脚电路的各种连接线使用。
一、硬件资源
1、可编程并口接口芯片8255一片。
2、串行接口两个:
8250芯片一个,系统与主机通讯用,用户不可用。
单片机的串行口,可供用户使用。
3、键盘、LED显示芯片8279一片,其地址已被系统固定为CFE8H、CFE9H。
硬件系统要求编码扫描显示。
4、六位LED数码管显示。
5、ADC0809A/D转换芯片一片,其地址、通道1—8输入对用户开放。
6、DAC0832D/A转换芯片一片,其地址对用户开放,模拟输出可调
7、8位简单输入接口74LS244一个,8位简单输出接口74LS273一个,其地址对用户开放。
8、配有8个逻辑电平开关,8个发光二极管显示电路。
9、配有一个可手动产生正、负脉冲的单脉冲发生器
10、配有一个可自动产生正、负脉冲的脉冲发生器,按基频6.0MHz进行1分频(CLK0)、二分频(CLK1)、四分频(CLK2)、八分频(CLK3)、十六分频(CLK4)输出方波。
11、配有一路0---5V连续可调模拟量输出(AN0)。
12、配有可编程定时器8253一个,其地址、三个定时器的门控输入、控制输出均对用户开放。
13、配有可编程中断控制器8259一个,其中断IRQ输入、控制输出均对用户开放。
14、2组总线扩展接口,最多可扩展2块应用实验板。
15、配有两块可编程器件EPM7064,一块被系统占用。
另一块供用户实验用。
图2-1实验系统的电路板照片
图2-2实验板的功能区
图2-3实验板的键盘和简单I/O区的电路板照片
16、灵活的电源接口:
配有PC机电源插座,可与PC电源直接接驳。
2.1.251单片机系统的扩展系统的组成
51单片机系统的扩展系统由端口P0,端口P2通过构成微机系统的数据总线DB0-DB
地址总线AB0---AB15,由端口P3的WR,RD信号线,芯片引脚/EA,/PSEN组成控制总线。
图2-4EL-MUT-III型单片机实验箱的地址译码电路的参考电路图
地址总线AB15—A0的高位地址,经地址译码器74LS138产生了芯片的选通信号。
其中/CS0,/CS1,/CS2………就是芯片的片选信号。
2.2实验板的调试和测试
首先,按照图1-2所示的PC机和实验系统的基本连接,进行系统的连接。
接通交流电源。
接通实验箱的电源开关,实验箱通电。
当系统上电后,数码管显示,TX发光二极管闪烁,若没运行系统软件与上位机(PC)连接则3秒后数码管显示P_,若与上位机建立连接则显示C_。
此时系统监控单元(27C256)、通讯单元(8250、MAX232)、显示单元(8279,75451,74LS244)、系统总线、系统CPLD正常。
若异常则按以下步骤进行排除:
1、按复位按键使系统复位,测试各芯片是否复位;
2、断电检查单片机及上述单元电路芯片是否正确且接触良好;
3、上电用示波器观察芯片片选及数据总线信号是否正常;
4、在联机状态下,若复位后RX、TX发光二极管闪烁,则显示不正常,检查8279时钟信号,断电调换显示单元芯片;
若复位后RX、TX发光二极管不闪烁,但显示正常,检查8250晶振信号,断电调换通讯单元芯片。
5、系统使用方法
1)用通信电缆将EL-MUT-III型单片机教学实验系统侧面的RS232接口与PC机的COM口相连接。
2)启动EL-MUT-III型单片机教学实验系统的电源开关,EL-MUT-III型单片机教学实验系统面板上的LED显示“199502”,几秒后显示P-。
3)双击桌面MCS51快捷图标如图1-1,启动51实验系统,启动后的界面如图1-2。
图1-1图1-2
4)如需改变串口和波特率,在相应列表框中修改。
点击“确定”按钮后,立即实验系统面板上的“PRESET”键,面板上的LED显示“C-”,同时PC机屏幕显示“51EL型(80C51)教学实验环境”界面,如图1-3。
图1-351EL型(80C51)教学实验环境界面
5)通过“文件”菜单新建或打开汇编语言文件,也可通过工具按钮
新建汇编文件。
新建汇编文件的扩展名为.ASM。
6)用“编译”菜单下的汇编命令或工具按钮
对汇编文件进行汇编。
如有错误,应对文件重新编辑,直至汇编无错误为止。
7)用“调试”菜单下的“调试”命令或工具按钮
进入“调试”界面,如图1-4。
图1-4“调试”界面
8)用“调试”菜单下各调试命令,如图1-5对汇编文件进行调试,或用工具按钮
对汇编文件进行调试。
工具按钮的功能如图1-6。
图1-5
图1-6
第三章上机指导
实验一P1口实验
(一)
一、实验目的:
1.学习P1口作为输出口的使用方法。
2.延时子程序的编写和使用。
二、实验设备:
EL-MUT-III型单片机实验箱、8051CPU模块。
三、实验原理:
实验原理如图2-1-1。
图2-1-1P1口输出实验电路
1.P1口的使用方法
P1口为准双向口,每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”。
89S51在复位时所有口锁存器均置为“1”,如果曾对口锁存器写过“0”,此时要使它作为一个输入口,则应再次写入一个“1”。
2.延时程序的实现
常用两种方法实现延时程序,一是用定时器中断来实现,二是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.0MHZ,则一个机器周期为12÷
6us=2us。
延时0.1s的程序如下:
MOVR7,#X
(1)
DEL1:
MOVR6,#200
(2)
DEL2:
DJNZR6,DEL2(3)
DJNZR7,DEL1(4)
程序中X为延时值。
指令MOV、DJNZ需两个机器周期,所以每执行一条指令需要4us。
延时程序中X值应满足下式:
4+X(4+200×
4+4)=0.1×
106
指令
(1)时间指令
(2)时间指令(3)时间指令(4)时间
故X=123.75D=7CH
将X=123.75D=7CH代入上式,得到实际延时时间约为0.1002S。
3.程序流程图:
程序流程图见图2-1-2和图2-1-3。
图2-1-2点亮发光二极管程序流程图图2-1-3左移循环点亮发光二极管程序流程图
四、实验内容与步骤
1.实验内容:
1)P1口做输出口,接八只发光二极管,根据程序流程图2-1-2,编写程序使P1口8个发光二极管同时熄灭-----延时-----点亮。
2)根据程序流程图1-3,编写程序使P1口8个发光二极管每隔一个左移循环点亮。
2.实验步骤:
1)将P1.0~P1.7分别连接发光二极管L1~L8。
2)按流程图2-1-2编写程序,对程序进行编辑、汇编直至无语法错误。
3)调试程序:
(1)单步调试,观察并记录相应寄存器内容及发光二极管L1~L8的状态。
(2)全速运行程序,观察并记录发光二极管L1~L8的状态。
4)重复2、3步骤,进行实验内容2的实验。
五、实验报告
1.写出使P1口8个发光二极管同时熄灭-----延时-----点亮源程序清单,并对每条指令给予注解。
2.写出使P1口8个LED每隔一个(或二个)左移循环点亮源程序清单,并对每条指令给予注解。
六、思考题
1.改变延时常数,重做实验。
2.修改程序,使LED发光方式、方向等改变。
七、编写程序:
1.点亮8个LED程序清单
2.循环点亮LED程序清单
实验二P1口实验
(二)
1.P1口作为输入口的使用方法。
2.掌握数据输入、输出程序的设计方法。
EL-MUT-III型单片机实验箱、8051CPU模块
1.P1口作为输入口实验原理见图2-2-1
图2-2-1P1口作为输入口实验电路
2.程序流程图:
程序流程图见图2-2-2。
图2-2-2显示P1口状态程序流程图
四、实验内容与步骤:
P1口做输入口:
如图2-2-1,P1口的P1.0-P1.8分别接8个单刀双郑开关K1~K8,74LS273做输出口接八个LED,编写程序读取开关K1-K8状态,并在LED上显示出来。
1)根据图2-2-1连线,CS273接CS0。
2)根据流程图2-2-2编写相应程序,对程序进行编辑、汇编直至无语法错误。
3)调试程序,拨动开关K1-K8,观察并记录程序运行结果。
仿照实验一,写出相应的实验报告。
1.图2-2-1中芯片74LS273的作用是什么?
2.在图2-2-1中,若LED反转1800,电路和程序如何修改?
通过LED将P1口的状态显示
实验三中断实验
1.外部中断技术的基本使用方法。
2.中断处理程序的编程方法。
3.中断嵌套处理程序的编程方法。
EL-MUT-III型单片机实验箱、8051CPU模块
1.实验原理如图2-4-1。
图2-4-1外部中断实验电路
程序流程图见图2-4-2。
图2-4-2K1中断控制LED程序流程图
1)单一外部中断控制:
按K1在INT0端产生中断信号,从而使P1的8个LED同时闪烁5次。
2)两级中断控制(中断嵌套):
按K1使8个LED闪烁后,再按K2使LED1右移3次。
1)按图2-4-1连接线路。
2)根据程序流程图编写程序,编辑程序并进行汇编。
3)运行程序,观察并记录LED显示情况。
4)对实验内容2编程,重复2-3步骤。
观察并记录程序运行结果。
1.根据实验1内容写出相应的实验报告。
2.画出实验内容2的程序框图
3.对程序语句加以注解。
如何在程序中实现INT1的中断优先权高于INT0中断优先权?
七、参考程序:
;
实验四
INT0中断实验程序
主程序8个LED熄灭,等待INT0中断
实验四定时器/计数器实验
(一)
1.掌握89S51内部定时器、计数器的使用和编程方法。
2.定时器中断处理程序的编程方法。
1.实验原理如图2-5-1。
图2-5-1定时器实验电路
1)定时常数的确定
采用定时器中断方法可实现时间延时,延时时间由主频和定时器方式来确定。
本实验中时钟频率为6.0MHZ,其延时时间最大值约为0.13s(方式一下)。
若要产生0.5秒延时时间,需采用定时器定时和软件计数的方法来实现。
为此我们可在主程序中设置初值(用R0)为05H的软件计数器和定时时间为0.1s的定时器。
这样定时器每隔0.1s产生一次中断,CPU响应中断后将R0中计数值减一,即可实现0.5s延时。
定时器时间常数的确定方法如下:
机器周期=12÷
晶振频率=12/(6×
106)=2(us)=2×
10-6(s)
定时器工作于方式一,设计数初值为X,则有(216-X)×
2×
10-6s=0.1s,由此可求得X=15536D=3CB0H。
故