《单片机原理及接口》实验指导书莆田学院信息工程学院2016年2月目录实验一仿真系统搭建 (1)实验二实验系统编程应用 (7)实验三流水灯实验 (9)实验四 LED数码管显示实验 (11)实验五键盘实验 (13)实验六中断系统实验 (15)实验七 51定时器实验 (17)实验一仿真系统搭建一、实验目的了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。
熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。
熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。
二、实验原理整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。
仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。
主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。
整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。
第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。
若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。
1、Keil软件的安装设置:启动后,点击Project菜单新建项目。
新建项目后,选择仿真单片机型号,并新建或加入程序文件。
编写加入C语言程序后就可以对项目进行设置,进而使用Project菜单进行编译、连接和调试运行等操作。
图1-7 项目设置项目的设置包括Target菜单中的单片机振荡频率,debug菜单中的仿真方法。
2、伟福仿真调试软件安装后为了与Keil软件协调工作所必须的设置:第一步:设置前的准备在设置前,必须先安装好VW调试软件和Keil调试环境,选择好安装路径。
并在伟福的仿真器设置中选择KEIL的安装路径作为编译器路径。
第二步:安装V8/V5/SH51/SP51仿真器在Keil硬件驱动启动VW调试环境,打开“帮助”菜单下的“安装KEIL驱动”,在弹出的对话框中正确选择已经安装的keil安装路径。
第三步:调试模式设置在Keil uVision2中打开项目,选择Project\Options for Target切换到“Debug”选项卡,将默认的Use Simulator(使用软件模拟器)切换到Use...“XXX”,选择“伟福V系列仿真器”(WA VE V series Driver 为英文版),然后将以下的两项都选中:Load Application at Sta,Go till main,然后点击Settings,进入仿真器设置对话框。
3、proteus软件的安装设置:安装Proteus7.2以上版本后,安装注册的key安装完毕后运行就可以打开如下proteus仿真电路软件界面。
在原理图编辑窗口中,将拾取的各种元器件放入并进行连线完成电路的设计。
然后在keil软件中编写程序并通过options for Target菜单配置生成HEX文件,最后在proteus仿真电路中的单片机模块左键双击,弹出如下对话框,在program file栏中选择前面生成的HEX文件即可进行仿真调试。
三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,伟福V系列仿真调试软件,Proteus仿真软件四、实验内容分析了解单片机仿真平台的构成与搭建的基本知识,了解几种常见单片机仿真平台的构成与基本原理。
安装并设置keil单片机编程软件与Proteus仿真软件(或伟福仿真器调试平台)、AGSI软件仿真板,并使之协调工作。
设置完成后,在keil 单片机仿真软件上建立C语言的工作项目与程序文件,并进行简单的调试。
进而熟悉几种仿真软件以及各种调试命令。
五、评分标准实验时实验的完成情况实验报告的书写实验二实验系统编程应用一、实验目的熟悉使用keil仿真软件、伟福仿真调试软件编写C51单片机程序的编写过程以及调试运行步骤。
熟悉在C51中各种类型变量的定义方法,以及各种常用程序结构的编写方法。
学习编写基本的单片机程序。
二、实验原理C51定义的任何数据类型必须以一定的存储类型定位,在8051的某一存储区中。
说明的一般格式:<数据类型> <存储类型> 变量名C51对单片机的不同存储区域定义了不同的存储类型,它们的关系如下:另外8051单片机片内还有有21个特殊功能寄存器(SFR),它们分布在片内RAM 的高128字节中,特殊功能寄存器中还有11个可位寻址的寄存器。
在C51中,特殊功能寄存器是通过关键字sfr来定义,而其中可位寻址的位则用sbit来定义。
大部分特殊功能寄存器及其可位寻址的位的定义在reg51.h、reg52.h等相应的头文件中已给出,使用时只需在源文件中包含相应的头文件,即可使用SFR及其可寻址的位;而对于未定义的位,使用之前必须先定义。
另外在C51中增加了位数据类型。
位变量用关键字bit来定义,它的值是一个二进制位。
三、实验设备与器件微机,KEIL C51单片机仿真调试软件,伟福V系列仿真调试软件等。
四、实验内容使用KEIL或伟福单片机仿真调试软件完成以下程序的编写,要求使用C51编写并进行调试观察各个变量的存放情况及结果:19805×24503的编程。
有两个数a和b(类型不限),根据位变量c,d的内容转向不同子程序C=0,d=0 则 m=a+b;C=1,d=0 则 m=a-b;C=0,d=1 则 m=a*bC=1,d=1 则m=a/b。
*定义变量a,b,c 其中a为内部RAM的可位寻址区的字符变量;b为外部数据存储区浮点型变量;c为一个位变量;写出他们的完整定义。
*编程将内部数据存储区的20H单元和35H单元的数据相乘,结果存到外部数据存储区中(位置不限)。
*完成以下表达式P1.2=P1.4*ACC.0+ACC.7五、评分标准实验时实验的完成情况实验报告的书写实验三流水灯实验一、实验目的进一步熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O 口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。
每组I/O 口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
图P1口的位结构本实验用到的P1口内部结构如图3-1所示。
作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。
为了能正确读取引脚信号,锁存器必须先写1。
通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。
三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件四、实验内容用proteus或其他仿真软硬件设计流水灯电路,将仿真实验板上51单片机的P1口的8根线与实验板上的8位LED灯连接,I/O口的一根引脚控制一个LED灯。
根据实验板上LED灯的硬件连接,编写程序使8个LED灯从最低位依次点亮,每次只亮一盏灯。
依此循环。
*在此基础上编写程序使用一根I/O线接一开关控制流水灯流向。
*在此基础上编写程序使8个LED灯从两边向中间循环点亮。
五、评分标准实验时实验的完成情况实验报告的书写实验四 LED 数码管显示实验一、实验目的熟悉keil 仿真软件、proteus 仿真软件、软件仿真板的使用。
了解并熟悉一位数码管与多位LED 数码管的电路结构、与单片机的连接方法及其应用原理。
学习proteus 构建LED 数码管显示电路的方法,掌握C51中单片机控制LED 数码管动态显示的原理与编程方法。
二、实验原理LED 显示器是由发光二极管显示字段的显示器件。
在单片机应用系统中通常使用的是七段LED ,这种显示器有共阴极与共阳极两种。
共阴极LED 显示器的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,该发光二极管则点亮;共阳极LED 显示器的发光二极管阳极并接。
七段LED 数码管与单片机连接时,只要将一个8位并行输出口与显示器的发光二极管引脚相连即可。
8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。
多位七段LED 数码管与单片机连接时将所有LED 的段选线并联在一起,由一个八位I /O 口控制,而位选线分别由相应的I /O 口线控制。
如:8位LED 动态显示电路只需要两个八位I /O 口。
其中一个控制段选码,另一个控制位选。
由于所有位的段选码皆由一个I /O 控制,因此,在每个瞬间,多位LED 只可a fb eg c d dp1 2 3 4 510 9 8 7 6g f a be d c dp(a) 共阴极 (b) 共阳极 (c) 管脚配置能显示相同的字符。
要想每位显示不同的字符,必须采用动态扫描显示方式。
即在每一瞬间只使某一位显示相应字符。
在此瞬间,位选控制I/O口在该显示位送入选通电平(共阴极送低电平、共阳极送高电平)以保证该位显示相应字符,段选控制I/O口输出相应字符段选码。
如此轮流,使每位显示该位应显示字符,并保持延时一段时间,以造成视觉暂留效果。
不断循环送出相应的段选码、位选码,就可以获得视觉稳定的显示状态。
由人眼的视觉特性,每一位LED在一秒钟内点亮不少于30次,其效果和一直点亮相差不多。
三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件四、实验内容用仿真软件构建一个6-8位的LED数码管显示电路,对软件仿真板中的多位LED 数码管的极性进行判断。