《片机接口技术及实例仿真.ppt》由会员分享,可在线阅读,更多相关《片机接口技术及实例仿真.ppt(43页珍藏版)》请在三一办公上搜索。
1、9 单片机接口技术及实例仿真,2,教学目的,了解单片机接口技术基本含义了解MCS-51单片机的常用外围显示装置(如LED发光二极管、点阵LED、数码管、12864点阵LCD等),常见按键(如独立式按键和矩阵式按键)和信号采集分析与控制中常用的转换装置(如ADC0808模数转换器和DAC0832数模转换器)等常用器件的接口使用方法。掌握常用外围设备的接口仿真方法,3,本章内容,显示器接口应用实例与仿真键盘接口应用实例与仿真A/D、D/A接口应用实例与仿真,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管LED点阵显示屏液晶显示器(LCD),5,为什么进行接口扩展?MCS-5l系列单
2、片机有4个8位并行输入输出口P0口一般作地址线的低8位和数据线使用;P2口作地址线的高8位使用;P3一般使用其第二功能,产生控制信号;当单片机在外部扩展了程序存储器、数据存储器时,可专供外部输入/输出设备使用的只剩下P1口。现实系统常需单片机接多个外设,I/O口资源不足,必须进行接口扩展,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,6,单片机接口扩展方法MCS-51单片机的I/O口扩展主要是通过总线(P0)口扩展,利用P0口扩展时必须分时使用,要求P2口提供高8位地址或较多的片选控制线,控制外部扩展芯片的选通或截止。单片机通过I/O口或接口芯片连接键盘、显示器,通过I/O口
3、和驱动芯片控制电动机等。这时必须考虑与之相连的外设电气特性,如驱动功率、电平、干扰抑制及隔离等,这也是我们所说的接口技术。,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,7,发光二极管 发光二级管(LED)在日常生活中常被用来做开关指示灯或信号指示灯,在与单片机构成系统时要考虑单片机的驱动功率。一般高亮LED的工作电流取5mA,普通LED的工作电流取10mA。单片机单个I/O口的驱动能力一般在10mA左右,为了防止电路中电流过大烧毁二极管和单片机,需要串联限流电阻标准化的必要性在驱动发光二极管时,一般考虑单片机I/O口的灌电流能力较强的特点,采用图9.1所示下拉驱动点亮的方式
4、点亮发LED。,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,LED驱动电路,8,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,9,LED数码管LED数码管是由7段发光二极管按顺序排列组成字形,同时在段数码组成的图形右下角还有1段表示小数点发光二极管,这样完整的数码管显示应该是位段数码管组成。LED数码管有静态显示和动态显示两种方式,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,10,例1 74LS244驱动数码管实现静态显示 功能:实现0 9循环计数,计数时间间隔s。说明:在电路中使用了74LS244 驱动芯片。该芯片引脚A0A3为输入口
5、,Y0Y3为输出口,是低电平有效三态允许端。74LS244在使用的时候,需接低电平,A0A3输入高电平或低电平时,Y0Y3相应的输出高电平或低电平。若 接高电平,无论输入端是什么电平,输出端都是高阻状态。74LS244的实物是个输入端和8个输出端,在proteus仿真库内只显示了组输入输出,这一点请读者学习时注意参考74LS244的说明书。,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,11,74LS244芯片驱动数码管显示的仿真电路 程序请参考教材。,9.1 显示器接口应用实例与仿真,发光二级管(LED)及数码管,12,9.1.2 LED点阵显示屏88点阵LED外观及引脚图
6、,9.1 显示器接口应用实例与仿真,LED点阵显示屏,13,LED点阵显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。常见的是88点阵LED,其实物等效电路图如下图,9.1 显示器接口应用实例与仿真,LED点阵显示屏,14,88点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。当点阵中的某一行置高电平,某一列置低电平,则该行列线交叉点的二极管就点亮。因此要实现某一列的发光二级管都点亮,则该列的列线上应送低电平,所有行线送高电平;若实现某一行的发光二级管都点亮,该行的行线上送高电平,所有列线送低
7、电平,这一操作可以利用软件扫描的方法实现,下面以例2进行说明。,9.1 显示器接口应用实例与仿真,LED点阵显示屏,15,例2 88 LED点阵图形显示功能:利用AT89C52设计单片机系统,通过按键控制88LED点阵显示,三种不同图形。说明:7407是六高压输出缓冲器/驱动器,即六输入六输出。输入端为A1A6,输出端位Y1Y6。7407在使用时输出电平值是和输入电平值一致的,即输入端输入高电平或低电平,相应的输出端也输出高电平或低电平,它只起到了提高驱动能力的作用。使用时要注意,7407的输出是集电极开路型,只有接上拉电阻才能输出高电平。在proteus的仿真库内简化了7407的结构,只显示
8、一个输入输出,这一点也是需要读者注意的。,9.1 显示器接口应用实例与仿真,LED点阵显示屏,16,88LED点阵图形显示proteus仿真电路程序请参考教材,9.1 显示器接口应用实例与仿真,LED点阵显示屏,17,例3 168点阵LED显示功能:将88LED矩阵扩展成168LED矩阵,要求循环显示09十个数字,且要求数字是由上下两块点阵上图形组合成的,如数字0,要求上下点阵块上的两部分图形共同组成“0”图形。说明:在电路中使用两片74HC595分别驱动两个点阵块的行,接点阵块的共阳极。74HC138输出端接点阵块阴极,通过PNP三极管TIP127选择驱动点阵块的列线。,9.1 显示器接口应
9、用实例与仿真,LED点阵显示屏,74HC595的引脚分布情况如图9.8所示各引脚功能:Q1Q7是并行数据输出口,即储存器的数据输出口Q7 串行输出口,其应该接SPI总线的MISO接口ST_CP存储寄存器的时钟脉冲输入口SH_CP移位寄存器的时钟脉冲输入口 输出使能端 芯片复位端DS 串行数据输入端,18,9.1 显示器接口应用实例与仿真,LED点阵显示屏,74HC595的使用方法74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器使用独立的时钟。数据在SH_CP的上升沿输入,在ST_CP的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器
10、早一个脉冲。移位寄存器有一个串行移位输入端DS,一个串行输出Q7。当多个74HC595并列使用时,可以将第一片74HC595的Q7和第二片74HC595的DS连接实现多片扩展。是输出使能端,该端为低电平时,数据从74HC595寄存器内输出到数据总线上。下面以例9.2说明74HC595扩展并驱动LED点阵的方法。,19,9.1 显示器接口应用实例与仿真,LED点阵显示屏,168点阵LED显示proteus仿真电路程序请参考教材,20,9.1 显示器接口应用实例与仿真,LED点阵显示屏,9.1.3 液晶显示器(LCD)液晶显示器是一种低功耗液晶显示器件。工作电流小,适合于仪表和低功耗系统。常用的有
11、笔划型液晶显示器、点阵字符型液晶显示器和图形点阵式液晶显示器。本节主要介绍点阵字符型液晶显示器及其应用。液晶显示器按显示图案的不同可分为笔端型LCD、字符型LCD和点阵图形型LCD 3种。以AMPIRE128X64为例来说明LCD128X64接口应用。AMPIRE 128X64内置ks0108型图形液晶模块驱动,它的引脚功能和指令功能如表9.1和表9.2所示。,21,9.1 显示器接口应用实例与仿真,液晶显示器(LCD),22,表9.1 LCD12864引脚功能表,9.1 显示器接口应用实例与仿真,液晶显示器(LCD),23,表9.2 ks0108控制器指令功能列表,液晶显示器(LCD),9.
12、1 显示器接口应用实例与仿真,为了便于读者学习,现以实例说明12864点阵LCD的图形显示应用方法。例4 12864点阵LCD的图形显示功能:使其在12864点阵LCD屏幕上显示“河南理工大学”六个字符,且向上滚动显示。说明:AMPIRE 12864点阵LCD的编程方法,主要是依靠对控制器KS0108的设置,在程序设计时要依照说明书对控制器KS0108各控制单元进行设置。,24,9.1 显示器接口应用实例与仿真,液晶显示器(LCD),12864点阵LCD的图形显示proteus仿真电路程序请参考教材,25,液晶显示器(LCD),9.1 显示器接口应用实例与仿真,9.2 键盘接口应用实例与仿真,
13、独立式键盘与单片机的接口行列式键盘与单片机的接口,27,键盘概述:键盘由一组常开的按键组成,可以通过键盘输入数据或命令。每个按键都被赋予一个代码,称为键码。键码分为编码键盘和非编码键盘。编码键盘是通过一个编码电路识别闭合键的键码,如BCD码。非编码键盘是通过软件来识别键码。由于非编码键盘的硬件电路简单,用户可以方便改变键的数量,因此在单片机系统中应用广泛。这里主要介绍非编码键盘的借口电路。非编码键盘可以分为两种结构形式:独立式键盘和行列式键盘。,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,28,独立式按键与单片机的接口独立式按键电路和电压抖动过程图。双稳态硬件去抖电路,(a)按键
14、输入电路,(b)电压抖动,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,29,行列式键盘与单片机的接口行列式键盘结构检测键盘有无闭合以及查找闭合键的键号,一般采用扫描法。1先向所有连接线的I/O线输出0,然后检测连接行线的按键状态,由相应的I/O线读入累加器A中。有键按下时,对应的行线输入0,无键按下时所有的行线输入为1。,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,2如果有键闭合,依次从一条列线上逐列输出低电平,然后检测各线的状态。若都为1,说明闭合键不在该列;若有的行线为0,则说明闭合键在该列与为0的行线的交点上。由于每个按键所有的行号与列号不相同,所以每个按键都
15、按行列号赋予了一个键号。键盘的工作方式有程序扫描方式,定时扫描方式和中断扫描方法三种1程序扫描方式是CPU在工作空余,主动调用键盘扫描子程序,响应键输入要求。2定时扫描方式是利用定时器产生定时(例如10ms)中断,CPU响应中断后对键盘进行扫描并在有键闭和时转入该功能程序。,30,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,.为了提高CPU的利用效率,可以让键盘工作在中断方式。有键闭合时产生中断请求,完成消抖,求键码等工作。无键闭合,不产生中断。例 44矩阵键盘扫描功能:44矩阵键盘共16个键,第一行按键从左到右依次对应数字14;第二行按键从左到右依次对应数字58;第三行和第四行
16、按键按同样的设置方法,按键分别对应数字916。每按一次键,数码管就显示一次按键代表的数字说明:数码管的位控制端由P0口P0.4P0.6通过74HC138控制,P0.0P0.4通过74LS47译码器/驱动器驱动数码管的各码段。为了提高效率,本程序采用定时器中断扫描的方法,扫描数码管,将字型码送至数码管。,31,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,44矩阵键盘扫描proteus仿真电路程序请参考教材,32,9.2 键盘接口应用实例与仿真,独立式键盘与单片机的接口,9.3 A/D、D/A接口应用实例与仿真,A/D转换器D/A转换器,34,9.3.1 A/D转换器1A/D转换器的
17、工作原理2A/D转换器的主要技术参数(1)分辨率(2)量程(3)转换精度(4)转换时间(5)工作温度范围,9.3 A/D、D/A接口应用实例与仿真,A/D转换器,38位A/D转换器ADC0808/0809(1)电路组成及转换原理,35,9.3 A/D、D/A接口应用实例与仿真,A/D转换器,(2)ADC0808/0809的外引脚功能,36,9.3 A/D、D/A接口应用实例与仿真,A/D转换器,37,例6 ADC0808模数转换。功能:实现由输入电压04.99V到数字量0255的模数转换,并在数码管上显示。说明:ADC0808 CLK上的时钟频率为500KHz。为得到此频率,AT89C52采用
18、12MHz的时钟频率,然后经过74LS74芯片4分频得到500KHz,此时的转换速度128s。在程序运行时,利用P3.2检测ADC0808的EOC接口,判断ADC0808是否转换结束。若EOC输出一个正脉冲,则申请中断,此时取出地址0 x7FF8里面的转换数据给变量ad_data,中断结束后,通过显示模块将其转换为段码送至数码管显示。,9.3 A/D、D/A接口应用实例与仿真,A/D转换器,ADC0808电压模数转换proteus仿真电路程序请参考教材,38,9.3 A/D、D/A接口应用实例与仿真,A/D转换器,39,9.3.2 D/A转换器1.D/A转换器工作原理2.DA转换器的主要参数(
19、1)分辨率(2)稳定时间(3)输出电平(4)输入编码(6)温度范围3.8位D/A转换器DAC0832(1)DAC0832的结构,9.3 A/D、D/A接口应用实例与仿真,D/A转换器,40,(2)各引脚的功能定义,9.3 A/D、D/A接口应用实例与仿真,D/A转换器,41,(3)DAC0832与微型计算机的接口DAC0832有3种工作方式:a.直通方式;b.单缓冲方式;c.双缓冲方式例7 DAC0832实现三角波输出功能:利用DAC0832输出的电压范围为015V。说明:地址的设置与接口电路的连接方式有关。P2.7端口与DAC0832的 片选端相连,要选通DAC0832,要求 引脚上为低电平,即P2.7端口要保持低电平,而其他引脚均为高电平,则DAC0832的入口地址为0 x7FFF.,9.3 A/D、D/A接口应用实例与仿真,D/A转换器,42,DAC0832数模转换proteus仿真电路程序请参考教材,9.3 A/D、D/A接口应用实例与仿真,D/A转换器,本章小结,发光二极管LED及LED数码管LED点阵屏LCD液晶显示屏独立式键盘并列式键盘A/D转换D/A转换,