1、单片机原理及应用第七章 MCS-51单片机常用接口vMCS-51单片机的最小系统单片机的最小系统本章要点本章要点vMCS-51单片机与键盘接口单片机与键盘接口vMCS-51单片机与单片机与LED显示器接口显示器接口v单片机与行程开关、晶闸管、继电器的接口单片机与行程开关、晶闸管、继电器的接口单片机原理及应用第七章 MCS-51单片机常用接口单片机原理及应用第七章 MCS-51单片机常用接口XTAL1 XTAL2 8751 P0P1P2P3 8051 RESET EA GND +5V+5V8 8 88 没有片外程序存储器,EA应接高电平。该最小系统的特点如下:(1)由于片外没有扩展存储器和外设,
2、P0、P1、P2、P3都可以作为用户I/O口使用。(2)片内数据存储器有128字节,地址空间00H7FH,没有片外数据存储器。(3)内部有4KB程序存储器,地址空间0000H0FFFH,没有片外程序存储器,EA应接高电平。(4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。单片机原理及应用第七章 MCS-51单片机常用接口7.1.2 8031最小应用系统 8031片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。P2ALE8031P0EAPSENG74LS373A15A8A7A0D7D0OE2774CE高8位地址线P2
3、ALEP0EAPSEN单片机原理及应用第七章 MCS-51单片机常用接口7.2 存储器扩展存储器扩展7.2.1 存储器扩展概述存储器扩展概述1、MCS-51单片机的存储器扩展单片机的存储器扩展 因为程序存储器和数据存储器是通过不同的控制信号和指令进行访问(PSEN,WR,RD),允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别都为64KB。2、存储器扩展的一般方法、存储器扩展的一般方法 不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。单片机原理及应用第七章 MCS-51单片机常用接口单片机原理及应用第七章 MCS-51单
4、片机常用接口7.2.2 程序存储器扩展程序存储器扩展P2.7P2.5P2.4P2.0ALE8031PSENEAGP2.774LS373OEA0A7A8A12 CED0D7OE2774(1)A0A7A8A12 CE2774(2)D0D7OEP0588885885单片机原理及应用第七章 MCS-51单片机常用接口其两片的地址空间分别为:第一片:000,即0000H1FFFH;001,即2000H3FFFH;010,即4000H5FFFH;011,即7000H7FFFH;第二片:100,即8000H9FFFH;101,即A000HBFFFH;110,即C000HDFFFH;111,即E000HFFF
5、FH。单片机原理及应用第七章 MCS-51单片机常用接口P2.6P2.5P2.4P2.0ALE8031PSENEAGP2.774LS373OEA0A7A8A12CED0D7OE2774(1)A0A7A8A12CE2774(2)OEP0588885885CBAD0D7GG1G2AG2BY7Y5Y3Y18D0D7OE2774(3)A0A7A8A12CE8D0D7OECEA8A12A0A72774(4)8585Vcc74LS138单片机原理及应用第七章 MCS-51单片机常用接口由于采用全译码,每片2774的地址空间都是唯一的。它们分别是:,即0000H1FFFH;,即2000H3FFFH;,即40
6、00H5FFFH;,即7000H7FFFH。单片机原理及应用第七章 MCS-51单片机常用接口7.3 输入输入/输出口扩展输出口扩展7.3.1 简单简单I/O口扩展口扩展 通常通过数据缓冲器、锁存器来扩展简单I/O接口。例如:74LS373、74LS244、74LS273、74LS245等芯片都可以作简单I/O扩展。实际上,只要具有输入三态、输出锁存的电路,就可以用作I/O口扩展。单片机原理及应用第七章 MCS-51单片机常用接口P0.7P0.7P0.5P0.4P0.3P0.2P0.1P0.08051WRD0D1D2D3D4D5D7D7GOEQ0Q1Q2Q3Q4Q5Q7Q774LS373P2.
7、0RDQ0Q1Q2Q3Q4Q5Q7Q71G2G74LS244+L1L2L3L4L5L7L7L0+5VD0D1D2D3D4D5D7D7K1K2K3K4K5K7K7K0单片机原理及应用第七章 MCS-51单片机常用接口相应的汇编程序为:LOOP:MOV DPTR,#0FEFFHMOVX A,DPTRMOVX DPTR,ASJMP LOOP如果用C语言编程,相应程序段为:#include /定义绝对地址访问#define uchar unsigned charuchar i;i=XBYTE0 xfeff;XBYTE0 xfeff=i;单片机原理及应用第七章 MCS-51单片机常用接口7.3.2 可编
8、程可编程I/O扩展扩展(8255A)一一8255A的结构与功能的结构与功能数据总线缓冲器读/写控制部件双向数据总线 D0D7 RD WR A1 A0RESETCSB组控制部件A组控制部件A组端口AA组端口CB组端口CB组端口BA组B组PA7PA0PC7PC4PC3PC0PB7PB08位内部总线单片机原理及应用第七章 MCS-51单片机常用接口 8255A有4个端口寄存器:A寄存器、B寄存器、C寄存器和控制口寄存器,通过控制信号和地址信号对这4个端口寄存器的操作如表所示。CSA1A0RDWRI/O操作00001读A口寄存器内容到数据总线00101读B口寄存器内容到数据总线01001读C口寄存器内
9、容到数据总线00010数据总线上内容写到A口寄存器00110数据总线上内容写到B口寄存器01010数据总线上内容写到C口寄存器01110数据总线上内容写到控制口寄存器单片机原理及应用第七章 MCS-51单片机常用接口二二8255A的引脚信号的引脚信号D7D0:三态双向数据线,与单片机的数据总线相连。8255A12345778910111213141517171819204039383737353433323130292827272524232221PA3PA2PA1RDCSGNDA1A0PC7PC7PC5PC4PC0PC1PC2PC3PB0PB1PB2PA0PA4PA5PA7PA7WRRESE
10、TD0D1D2D3D4D5D7D7VccPB7PB7PB5PB4PB3CS:片选信号线,低电平有效。RD:读信号线,低电平有效。WR:写信号线,低电平有效。PA7PA0:A口的8根输入/输出信号线。PB7PB0:B口的8根输入/输出信号线。PC7PC0:C口的8根输入/输出信号线。RESET:复位信号线。VCC:+5V电源线。GND:地信号线。单片机原理及应用第七章 MCS-51单片机常用接口三三8255A的控制字的控制字 8255A有两个控制字:工作方式控制字和C口按位置位/复位控制字。1工作方式控制字工作方式控制字单片机原理及应用第七章 MCS-51单片机常用接口2C口按位置位口按位置位/
11、复位控制字复位控制字特征位0这三位不用位选择位000:C口0位001:C口1位111:C口7位0:复位1:置位D 7 D 7 D 5 D 4 D 3 D 2 D 1 D 0单片机原理及应用第七章 MCS-51单片机常用接口四四8255A的工作方式的工作方式1方式方式0 方式0是一种基本的输入/输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式0特点如下:(1)具有两个8位端口(A、B)和两个4位端口(C口的高4位和C口的低4位)。(2)任何一个端口都可以设定为输入或者输出。(3)每一个端口输出时是锁存的,输入是不锁存的。单片机原理及应用第七章 MCS-51单
12、片机常用接口2方式方式1 方式1是一种选通输入/输出方式。在这种工作方式下,端口A和B作为数据输入输出口,端口C用作输入/输出的应答信号。方式1输入:INTE&PC4PC5PC3PC7、PC7PA0PA7STBAIBFAI/OINTRAB口输入INTE&A口输入PC2PC1PC088IBFBSTBBPB0PB7INTRB单片机原理及应用第七章 MCS-51单片机常用接口单片机原理及应用第七章 MCS-51单片机常用接口方式1输出:无论是A口输出还是B口输出,也都用C口的三位作应答信号,一位作中断允许控制位。INTE&PC7PC7PC3PC4、PC5PA0PA7ACKAOBFAI/OINTRAB
13、口输出INTE&A口输出PC2PC1PC088OBFBACKBPB0PB7INTRB2单片机原理及应用第七章 MCS-51单片机常用接口应答信号含义如下:OBF:8255A送给外设的“输出缓冲器满”信号,低电平有效。ACK:外设送给8255A的“应答”信号,低电平有效。INTR:8255A送给CPU的“中断请求”信号,高电平有效。INTE:8255A内部为控制中断而设置的“中断允许”信号,含义与输入相同。单片机原理及应用第七章 MCS-51单片机常用接口五五8255A与与MCS-51单片机的接口单片机的接口1硬件接口硬件接口 8255A与单片机的连接包含数据线、地址线、控制线的连接。VccWR
14、RDP2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08051ALEEAGNDD7D6D5D4D3D2D2D1DO GQ7Q6Q5Q4Q3Q2Q1Q0WRRDCSA1A0D7D7D5D4D3D2D1GNDVcc+5V+5VPA7-PA0PB7-PB0PC7-PC0OED0单片机原理及应用第七章 MCS-51单片机常用接口 图中8255A的A口、B口、C口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。2软件编程软件编程如果设定8255A的A口为方式0输入,B口为方式0输出,则初始化程序为:汇编程序段:MOV A,#90HMOV DPTR,#0FEFF
15、HMOVX DPTR,AC语言程序段:#include#include /定义绝对地址访问XBYTE0 xfeff=0 x90;单片机原理及应用第七章 MCS-51单片机常用接口7.4 MCS-51单片机与键盘接口7.4.1 键盘的工作原理键盘的工作原理 平时按键开关总是处于断开状态,当按下键时它才闭合。它的结构和产生的波形如图所示。P1.1VCCGND断开闭合断开P1.1(a)(b)键盘的处理主要涉及三个方面:图单片机原理及应用第七章 MCS-51单片机常用接口1抖动的消除消除按键盘抖动通常有两种方法:硬件消抖和软件消抖。断开闭合+5V+5V输出软件消抖是利用延时来跳过抖动过程延时来跳过抖动
16、过程。硬件消抖如图所示。图单片机原理及应用第七章 MCS-51单片机常用接口2键位的编码(1)用连接键盘的I/O线的二进制组合进行编码。如图。(2)顺序排列编码。如图,处理方法如下:编码值=行首编码值X+列号Y。88 84 82 8148 44 42 4128 24 22 2118 14 12 11F E D CB A 9 87 7 5 43 2 1 0图 图 单片机原理及应用第七章 MCS-51单片机常用接口7.4.2 独立式键盘与单片机的接口 键盘的结构形式一般有两种:独立式键盘与矩阵式键盘。独立式键盘如图7.5(a)、7.5(b)所示,矩阵式键盘如图所示。GNDVCCGNDVCC或(b)
17、8051(a)INT08051P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 图7.5 为中断方式,为查询方式工作单片机原理及应用第七章 MCS-51单片机常用接口7.4.3 矩阵键盘与单片机的接口 矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,键位设置在行列的交点上。如图所示。PA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
18、 30 31 CS74LS373WRRDA1A0P2.7WRRDALEP0.0P0.7D0D7RESET1K20F+5V+5V82555.1K48051单片机原理及应用第七章 MCS-51单片机常用接口一矩阵键盘的工作过程 对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。1检测键盘上是否有键按下处理方法是:将列线送入全扫描字,即列线为零,读入行线的状态来判别。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为“1”。2识别键盘中哪一个键按下处理方法是:将列线逐列置低电平,检查行输入状态,称为逐列扫描。键盘的编码:该行的首键
19、码该行的首键码+列号列号单片机原理及应用第七章 MCS-51单片机常用接口1查询工作方式键盘扫描子程序键盘扫描子程序流程如图:二矩阵键盘的工作方式开始有键按下否?调用7ms延时子程序?调用12ms延时子程序?有键按下否?判闭合键,编码入栈保护闭合键释放否?编码A返回否否否是是是单片机原理及应用第七章 MCS-51单片机常用接口C语言程序为:#include#include /定义绝对地址访问#define uchar unsigned char#define uint unsigned intvoid delay(uint);/声明延时函数uchar checkkey(void);uchar
20、keyscan(void);void main(void)uchar key;while(1)key=keyscan();delay(200)/*延时函数*void delay(uint i)/延时函数延时函数uint j;for (j=0;ji;j+)单片机原理及应用第七章 MCS-51单片机常用接口/*检查有无键按下函数*uchar checkkey()/检查有无键按下函数,有返回检查有无键按下函数,有返回0 xff,无返回无返回0uchar i;XBYTE0X7F00=0X00;i=XBYTE0X7F02;i=i&0 x0f;If(i=0 x0f)return(0);else retur
21、n(0 xff);单片机原理及应用第七章 MCS-51单片机常用接口/*键盘扫描函数*uchar keyscan()/键盘扫描函数,有键返回键的编码键盘扫描函数,有键返回键的编码,无返回无返回0 xff uchar scancode;/定义列扫描码变量uchar codevalue;uchar m;/定义行首编码变量定义行首编码变量uchar k;/定义行检测码定义行检测码uchar i,j;If(checkkey()=0)return(0 xff);elsedelay(2000);If(checkkey()=0)return(0 xff);单片机原理及应用第七章 MCS-51单片机常用接口4
22、 MCS-51单片机与键盘接口1检测键盘上是否有键按下处理方法是:将列线送入全扫描字,即列线为零,读入行线的状态来判别。判闭合键,编码入栈保护/*延时函数*24 25 26 270 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0F的字段码表void delay(uint);/声明延时函数while(checkkey()!=0);XBYTE0X7F00=scancode;for(i=0;i8;i+)对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;2 LED数码管的显示方式键盘的处理主要涉及三个方面:通常通过数据缓冲器、锁存
23、器来扩展简单I/O接口。g f com a belse scancode=0 xfe;m=0 x00;for(i=0;i8;i+)k=0 x01;XBYTE0X7F00=scancode;for(j=0;j4;j+)if(XBYTE0X7F02&k=0)codevalue=m+i;while(checkkey()!=0);return(codevalue);else m=m+8;k=k1;scancode=scancode0;i-)for(j=200;j0;j-);temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)temp=P3;temp=temp&0 x0f;sw
24、itch(temp)case 0 x0e:key=0;break;case 0 x0d:key=1;break;case 0 x0b:key=2;break;case 0 x07:key=3;break;while(temp!=0 x0f);闭合键释放 单片机原理及应用第七章 MCS-51单片机常用接口7.5 MCS-51单片机与单片机与LED显示器接口显示器接口7.5.1 LED显示器的结构与原理 在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种,如图所示。abcdefgdpcomabcdefgdpcomabcdefgdp10 9 8 7 71 2 3 4 5
25、g f com a be d com c dp(a)(b)(c)单片机原理及应用第七章 MCS-51单片机常用接口显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03FHC0HC39HC7H107HF9HD5EHA1H25BHA4HE79H87H34FHB0HF71H8EH477H99HP73H8CH57DH92HU3EHC1H77DH82HT31HCEH707HF8HY7EH91H87FH80HL38HC7H97FH90H8FFH00HA77H88H“灭”00FFHB7CH83H单片机原理及应用第七章 MCS-51单片机常用接口7.5.2 LED数码管的显示方式1LED静态显
26、示a b c d e f g dpI/O(1)a b c d e f g dpI/O(2)LED静态显示如图所示。单片机原理及应用第七章 MCS-51单片机常用接口2LED动态显示方式D3D2D1D0I/OI/O(2)从计算机的角度看是一个一个的显示,但由于人的视觉滞留,只要循环的周期足够快,看起来所有的数码管都是一起显示的了。这就是动态显示的原理。LED动态显示方式如图所示。单片机原理及应用第七章 MCS-51单片机常用接口 8255A的A口和B口都工作于方式0输出。A口、B口、C口和控制口的地址分别为7F00H、7F01H、7F02H和7F03H。如图所示。7.5.3 LED显示器与单片机
27、的接口单片机原理及应用第七章 MCS-51单片机常用接口D0D1D2D7Q0Q1Q2Q3Q4Q5Q7Q7D0D1D2D3D4D5D7D7G OEVCC74LS373Q0Q1Q2Q3Q4Q5Q7Q7D0D1D2D3D4D5D7D7G OEVCC74LS373PA0PA1PA2PA3PA4PA5PA7PA7PB0PB1PB2PB3PB4PB5PB7PB7CSWRRD74LS373P2.7WRRDALEP0.0P0.78051D0D7A1A0GA1A08255单片机原理及应用第七章 MCS-51单片机常用接口软件译码动态显示C语言程序为:#include#include /定义绝对地址访问#defi
28、ne uchar unsigned char#define uint unsigned intvoid delay(uint);/声明延时函数void display(void);/声明显示函数uchar disbuffer8=0,1,2,3,4,5,6,7;/定义显示缓冲区void main(void)XBYTE0 x7f03=0 x80;/8255A初始化while(1)display();/设显示函数/*延时函数*void delay(uint i)/延时函数uint j;for (j=0;ji;j+)单片机原理及应用第七章 MCS-51单片机常用接口/*显示函数void display
29、(void)/定义显示函数uchar codevalue17=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0F的字段码表uchar chocode8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/位选码表uchar i,p,temp;for (i=0;i8;i+)p=disbufferi;/取当前显示的字符temp=codevaluep;/查得显示字符的字段码XBYTE0 x7f00=temp;
30、/送出字段码temp=chocodei;/取当前的位选码XBYTE0 x7f01=temp;/送出位选码delay(20);/延时1ms 单片机原理及应用第七章 MCS-51单片机常用接口7.6 MCS-51单片机与行程开关、晶闸管、继电器的接口单片机与行程开关、晶闸管、继电器的接口1.行程开关、继电器与MCS-51单片机接口:行程开关和继电器常开触点与单片机的接口如图所示。E1E2S10K10K10K10F光电耦合器件单片机的I/O引脚单片机原理及应用第七章 MCS-51单片机常用接口2.晶闸管与MCS-51单片机接口8051P1.0P1.1过零电路大功率晶闸管及负载5V5V740774079118012127547410K10001F220V4N40MOC3041RsCs如图所示。单片机原理及应用第七章 MCS-51单片机常用接口3.继电器与MCS-51单片机接口8051P1.17407VD1R+5VVCCVD2S1V18051P1.1R+5VS174074N25R1R2V1VD1VCC如图所示。单片机原理及应用第七章 MCS-51单片机常用接口4.蜂鸣器与单片机接口8051P1.07407+5VPB2130UP002A8051P1.0+5VPB2130UP002AR1R2V1如图所示。单片机原理及应用第七章 MCS-51单片机常用接口作业:教材20113题、19题、22题
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100