《微机原理与及接口技术》课程硬件实验报告Word下载.docx
《《微机原理与及接口技术》课程硬件实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《《微机原理与及接口技术》课程硬件实验报告Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
![《微机原理与及接口技术》课程硬件实验报告Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/10/f3a4876e-fddd-4281-a8cf-0ae0efbf25cd/f3a4876e-fddd-4281-a8cf-0ae0efbf25cd1.gif)
经典8051MCU有P0、P1、P2、P3四个I/O端口,32条口线。
P0、P1、P2、P3四个端口作为普通I/O口使用时,都是准双向口;
在输入时,首先要向端口的锁存器写1,以保证内部输出场效应管处于截止状态。
在4个端口中,P0口没有内部上拉电阻,即作为输出时,是漏极开路的。
使用微控制器的I/O端口外接输出设备时,要特别注意其驱动能力。
驱动能力包括两方面,一是输出电流能力、二是灌入电流能力。
4.基础型实验
1)在Keil环境运行如下程序,设系统晶振为12MHz,分析在P1.0引脚上能得到什么?
运行结果:
在P1.0引脚上,不断输出低电平10ms,高电平20ms的矩形波。
2)8位发光二极管显示接口电路设计如图3-1所示,P1口作输出口连接8个LED。
8个LED依次轮流循环点亮程序流程如图3-2所示。
在Keil环境运行该程序,观察LED显示情况。
图3-18位LED显示接口电路
P1口引脚输出低电平,相应的LED点亮,反之则熄灭;
8个LED以125ms的间隔轮流点亮并不断循环
5.设计型实验
1)设计程序,实现8位LED中的每个LED依次轮流显示0.5s,并在循环5次后全部熄灭。
硬件实验2模拟交通灯实验
1)进一步掌握基本I/O输入输出操作指令的灵活应用。
2)了解双色LED的控制、使用方法。
3)了解模拟交通灯的控制方法。
1)了解双色LED的结构、引脚功能和连接方法。
2)了解交通灯的工作过程和控制逻辑。
可以采用双色发光二极管(双色LED)作为交通指示灯。
双色发光二极管,即在一个LED封装中集成了2个发光LED,常见的是1个红色、1个绿色,当控制两个LED同时点亮时显示出黄色,因此双色LED有3种显示色。
其构成如图3-4所示。
当红色LED点亮、绿色LED不点亮时,发光二极管显示红色;
当绿色LED点亮、红色LED不点亮时,发光二极管显示绿色;
当红色LED、绿色LED同时点亮时,发光二极管呈现的是黄色。
另外,当控制双色LED红、绿两个PN结流过不同比例的电流时,可以使其发出粉红、淡绿、淡黄、黄色等不同的色彩,达到简单的“彩色”显示效果。
双色LED有共阴、共阳两种封装形式,提供3个引脚,其中一个为公共端,两个为显示控制端。
图3-4双色LED结构原理图
如图3-5所示是采用P1口控制4个双色LED的接口电路。
在Keil环境运行并调程程序,观察结果。
图3-5交通灯显示接口电路
分析:
设4个双色LED为东南西北四个方向的交通指示灯,从上到下4个分别代表东南西北方向;
设双色LED的1脚控制红色LED,3脚控制绿色LED
则向P1端口输出AAH,结果为:
南北方向绿灯亮,东西方向红灯亮;
则向P1端口输出55H,结果为:
南北方向红灯亮,东西方向绿灯亮;
两个方向的红灯、绿灯以1s的周期交替闪烁。
电路如图3-5所示,D3、D4、D5和D6、D7、D7分别控制南北和东西方向的红黄绿指示灯。
设计程序,用6个LED控制两个方向的交通,具体要求如下。
4个路口的红灯全部亮0.5s后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车;
延时一段时间后(2s),东西和南北路口的绿灯、红灯闪烁若干次(如2s),然后均变为黄灯亮;
延时一段时间后(0.5),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车;
延时一段时间后(2s),南北和东西路口的绿灯、红灯闪烁若干次后(如2s),然后均变为黄灯亮;
延时一段时间后(0.5s),再切换到东西路口的绿灯亮,南北路口的红灯亮;
不断重复以上过程,实现模拟交通灯控制。
硬件实验6八段数码管显示实验
1)了解数码管实现显示字符的7段码编制方法;
2)掌握查表法获得0-F的7段码的方法;
3)掌握静态显示和动态显示的原理,硬件连接方式和程序编写方法。
1)了解数码管静态显示和动态显示接口电路的设计方法和特点;
2)了解数码管动态显示的程序设计方法;
3)理解运用串行口工作方式0扩展I/O连接数码管的方法;
4)认真预习本节实验内容,设计实验硬件连接电路,编写实验程序。
1)LED数码管显示原理
8段LED数码管有共阴极和共阳极两种结构。
对于共阴数码管,其8个LED的阴极连接在一起作为公共COM端;
而共阳数码管中8个LED的阳极连接在一起作为公共COM端。
共阴数码管显示的必要条件是其COM端接地或接具有较大灌电流能力的输入端口,此时当某个发光二级管的阳极为高电平时,该发光二极管点亮;
共阳数码管显示的必要条件是共阳极接电源或具有较强电流输出能力的输出端口,此时当某个发光二极管的阴极接低电平时,该发光二级管被点亮。
2)LED数码管显示方式
A.静态显示方式
静态显示的特点是每个数码管需要一个具有锁存功能的8位输出口,用来锁存待显示的段码。
将要显示数的7段码输出到端口,数码管就会显示并一直保持到接收到新的显示段码为止。
静态显示的优点:
显示程序简单,占用CPU时间少。
但当数码管数量较多时,就需要外扩较多的输出端口,因此静态显示的缺点是占用硬件资源多,成本较高。
B.动态显示方式
动态显示的特点是将多个数码管的相应段码线连在一起,接到一个8位输出端口,该端口称为段码输出口;
同时将各个(如8个)数码管的COM端连接到一个8位输出端口,该端口称为位控输出口。
这样的连接使得8个数码管只要2个输出端口就可以实现控制,大大简化硬件电路。
但是由于多个数码管的段码是连在一起的,所以需要结合位控信号,分时输出不同数码管上显示的7段码,即需要采用动态显示扫描,轮流向段码输出口输出段码和向位控输出口输出位选信号,并进行1~2ms的短时延时;
8个数码管轮流输出一遍后,约20ms后,就要进行一次显示刷新,这样才能利用发光管的余辉和人眼视觉暂留作用,得到全部数码管同时稳定显示的效果。
因此动态显示方式,硬件比较节省,但动态显示刷新比较消耗MCU的时间资源。
另外,在同样驱动电流的情况下,动态显示的亮度比静态显示要差一些,所以动态显示电路的限流电阻通常比静态显示的限流电阻小。
1)8位数码管动态显示电路如图3-12所示,采用共阳数码管。
下面例程实现了将显示缓冲区DBUF中的8个BCD码数显示在8位数码管的功能,请在Keil环境运行该程序,观察结果。
图3-128位数码管动态显示电路
【分析】:
Ø
根据共阴数码管原理,可得到0-9的7段码如程序中的TABLE表。
设P0口为段码输出口,P1口为位控信号输出端;
对于共阴数码管,其电流取自段码输出口(P0)流入到位码控制口(P1)。
设流经每个LED的电流为3mA,则从P0中每条口线上拉出的最大电流是3mA;
而灌入P1口线的最大电流是一个数码管的8个LED全部显示的情况,即有24mA。
因此应该在P1口与数码管之间加入驱动芯片(该芯片要求至少能够灌入24mA电流,本图中未画出,实验箱设计图中是加了一个74573)。
(1)一个静态数码管的电路如3-14所示,编写程序,在该数码管上依次显示0-9数字,每个数字显示时间为1s。
(以下2部分内容作为探究型实验)
(2)在该数码管上,依次循环显示a、b、c、d、e、f各段,每段显示时间为200ms。
(3)按键输入自己学号的后8位,并在动态数码管上显示。
图3-14静态数码管显示电路
1.数码管上依次显示0-9数字,每个数字显示时间为1s。
3.按键输入自己学号的后8位,并在动态数码管上显示