




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 51单片机常用接口第8章 51单片机常用接口主要内容:本章介绍组成51单片机应用系统的常见外部接口电路,主要包含存储器扩展,I/O口扩展,数码管接口和键盘接口。重点:数码管、键盘和51单片机接口1第8章 51单片机常用接口2章 节8.1 51单片机的最小系统8.2 存储器扩展8.3 输入/输出口扩展8.4 LED显示器与51单片机接口8.5 键盘与51单片机的接口8.6 行程开关、晶闸管、继电器与51单片机的接口第8章 51单片机常用接口8.1 MCS-51单片机的最小系统单片机的最小系统 所谓最小系统,是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接
2、采用最小系统。MCS-51单片机根据片内有无程序存储器最小系统分两种情况。 第8章 51单片机常用接口8.1.1 8051/8751的最小系统的最小系统 X TA L 1 X TA L 2 8751 P 0 P 1 P 2 P 3 8051 R E S E T E A G N D +5V +5VV 8 8 8 8 第8章 51单片机常用接口5该最小系统的特点如下:(1)由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O接口使用。(2)片内数据存储器有128B,地址空间为00H7FH,没有片外数据存储器。(3)内部有4KB的程序存储器,地址空间为0000H0FFFH,没有片
3、外程序存储器, 应接高电平。EA(4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。第8章 51单片机常用接口8.1.2 8031的最小系的最小系统统 ALE 8031 P0 EA PSEN G 74LS373 A0A7 D0D7 OE CE 高 8 位地址线 P2 A8A15 2764 第8章 51单片机常用接口7该最小系统的特点如下:(1)由于P0、P2在扩展程序存储器时作为地址线和数据线,不能作为I/O线,因此,只有P1、P3作为用户I/O接口使用。(2)片内数据存储器同样有128B,地址空间为00H7FH,没有片外数据存储器。(3)内部无程序存储器,片外扩展
4、了程序存储器,其地址空间随芯片容量不同而不一样。图8.2中使用的是2764芯片,容量为8KB,地址空间为0000H1FFFH。由于片内没有程序存储器,只能使用片外程序存储器, 只能接低电平。(4)同样可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。EA第8章 51单片机常用接口8.2 存储器扩展存储器扩展8.2.1 半导体存储器概述半导体存储器概述1. 只读存储器(只读存储器(ROMRead Only Memory)第一类:第一类:MROM掩膜型掩膜型ROM 第二类:第二类:PROM可编程可编程ROM 第三类:第三类:EPROM可擦除的可擦除的PROM 第四类:第四类
5、:E2PROM电擦除的电擦除的PROM 第五类:第五类:Flash Memory快擦型存储器快擦型存储器 2. 随机读写存储器(随机读写存储器(RAMRandom Access Memory)第一类:静态第一类:静态RAMSRAM(Static RAM) 第二类:动态第二类:动态RAMDRAM(Dynamic RAM) 第三类:非易失性第三类:非易失性RAMNVRAM(Non Volative RAM) 第8章 51单片机常用接口3. 典型典型ROM芯片芯片2764第8章 51单片机常用接口10D7D0:8根数据线根数据线A12A0:13根地址线根地址线CE:片选信号片选信号OE:输出允许信号
6、输出允许信号PGM:编程控制信号编程控制信号Vpp:编程电压编程电压Vcc:工作电压,接工作电压,接+5V电源;电源;GND:地地引脚:引脚:第8章 51单片机常用接口4. 典型典型RAM芯片芯片6264第8章 51单片机常用接口12I/O0I/O7:8根根输入输出数据输入输出数据线线A12A0:13根地址线根地址线:片选信号片选信号OE:输出允许信号,低电平有效。输出允许信号,低电平有效。:写允许信号,低电平有效。写允许信号,低电平有效。CE2:片选信号:片选信号2Vcc:工作电压,接工作电压,接+5V电源;电源;GND:地地引脚:引脚:CE1WE第8章 51单片机常用接口8.2.2 存储器
7、扩展的一般方法存储器扩展的一般方法单片机三总线与存储器芯片的三总线对应连接单片机三总线与存储器芯片的三总线对应连接 1. 数据线的连接数据线的连接单片机的数据总线单片机的数据总线(P0.0P0.7)存储器芯片的数据线存储器芯片的数据线D0D7 2. 控制线的连接控制线的连接ROM: 输出允许控制线输出允许控制线 单片机单片机 PSENOE数据存储器数据存储器RAM: 单片机单片机 存储器芯片存储器芯片 RDWROEWE第8章 51单片机常用接口3. 地址线的连接地址线的连接存储器芯片存储器芯片单片机单片机地址总线地址总线(A0A13)地址地址 (A0A13)剩余地址总线译码剩余地址总线译码 片
8、选信号线片选信号线 CE译码有两种方法:部分译码法和全译码法。译码有两种方法:部分译码法和全译码法。 第8章 51单片机常用接口 A15 A14 0 A13 0 A12 1 A11 0 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 地址译码线 与存储器芯片连接的地址线 则:A15=0时,该芯片的地址是00010000000000000001011111111111,即1000H17FFH。 A15=1时,该芯片的地址是10010000000000001001011111111111,即9000H97FFH。 第8章 51单片机常用接口164扩展存储器所需芯片数目的确定扩展
9、存储器所需芯片数目的确定若所选存储器芯片的字长与单片机的字长一致,则只若所选存储器芯片的字长与单片机的字长一致,则只需扩展容量。所需芯片数目按下式确定:需扩展容量。所需芯片数目按下式确定:系统扩展容量芯片数目=存储器芯片容量若所选存储器芯片字长与单片机字长不一致,则不仅若所选存储器芯片字长与单片机字长不一致,则不仅需要扩展容量,还需要字扩展。所需芯片数目按下式确需要扩展容量,还需要字扩展。所需芯片数目按下式确定:定:系统扩展容量系统字长芯片数目=存储器芯片容量存储器芯片字长第8章 51单片机常用接口8.2.3 程序存储器扩展程序存储器扩展1. 单单片片程程序序存存储储器器的的扩扩展展 P2.6
10、 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P2.7 P2.5 P0.0 ALE VCC 8031 PSEN EA VSS +5V A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D5 D4 D3 D2 D1 D0 OE D6 CE GND VFF +5V 8D 7D 6D 5D 4D 3D 2D 1D G OE 8Q 7Q 6Q 5Q 4Q 3Q 2Q 1Q VCC 74LS373 第8章 51单片机常用接口其8个重叠的地址范围为:(1) 00000000000000000
11、001111111111111,即0000H1FFFH;(2) 00100000000000000011111111111111,即2000H3FFFH;(3) 01000000000000000101111111111111,即4000H5FFFH;(4) 01100000000000000111111111111111,即6000H7FFFH;(5) 10000000000000001001111111111111,即8000H9FFFH;(6) 10100000000000001011111111111111,即A000HBFFFH;(7) 11000000000000001101111
12、111111111,即C000HDFFFH;(8) 11100000000000001111111111111111,即E000HFFFFH。第8章 51单片机常用接口2. 多片程序存储器的扩展多片程序存储器的扩展 P2.6 P2.5 P2.4P2.0 ALE 8031 PSEN EA G P2.7 74LS373 OE A0A7 A8A12 CE D0D7 OE 2764(1) A0A7 A8A12 CE 2764(2) D0D7 OE P0 5 8 8 8 8 5 8 8 5 第8章 51单片机常用接口其两片的地址空间分别为:第一片:0000000000000000000011111111
13、11111,即0000H1FFFH;001000000000000000011111111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,即6000H7FFFH。第二片:100000000000000001001111111111111,即8000H9FFFH;101000000000000001011111111111111,即A000HBFFFH;110000000000000001101111111111111,即C000HDFFFH;11
14、1000000000000001111111111111111,即E000HFFFFH。第8章 51单片机常用接口 P2.6 P2.5 ALE 8031 PSEN EA P2.7 74LS373 OE A0A7 A8A12 CE D0D7 OE 2764(1) A0A7 A8A12 CE 2764(2) OE P0 5 8 8 8 8 5 8 8 5 D0D7 G 8 D0D7 OE 2764(3) A0A7 A8A12 CE 8 D0D7 OE CE A8A12 A0A7 2764(4) 8 5 8 5 VCC P2.4P2.0 74LS138 G C B A G1 G2G2Y3 Y2 Y1
15、 Y0 其地址空间分别是:000000000000000000001111111111111,即0000H1FFFH;001000000000000000011111111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,即6000H7FFFH。第8章 51单片机常用接口8.2.4 数据存储器扩展数据存储器扩展 P2.6 P2.5 P2.4P2.0 ALE 8051 RD EA G P2.7 74LS373 OE A0A7 A8A12 CE1 D0
16、D7 OE 6264(1) A0A7 A8A12 CE1 6264(2) D0D7 OE P0 5 8 8 8 5 8 8 5 WR WE WE 8 8 CE2 CE2 VCC 若P2.7为低电平0,则两片6264芯片的地址空间为:第一片:010000000000000000101111111111111,即4000H5FFFH;第二片:001000000000000000011111111111111,即2000H3FFFH。若P2.7为高电平1,则两片6264芯片的地址空间为:第一片:110000000000000001101111111111111,即C000HDFFFH;第二片:101
17、000000000000001011111111111111,即A000HBFFFH。第8章 51单片机常用接口8.3 输入输入/输出口扩展输出口扩展8.3.1 简单简单I/O接口扩展接口扩展通常通过数据缓冲器、锁存器来扩展简单I/O接口。例如,74LS373、74LS244、74LS273、74LS245等芯片都可以作简单I/O扩展。 74LS373引脚与内部结构图 第8章 51单片机常用接口74LS244引脚与内部结构图 第8章 51单片机常用接口用用74LS373和和74LS244扩展的并行扩展的并行I/O接口接口 D7D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D6
18、D5D4D3D2D1D0XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A122
19、5P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFC31nFR1300OFFON123456789DSW1DIPSWC_81234567820191817161514139121011U3LED-BARGRAPH-REDD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373A02A14A26A38OE1Y018Y116Y214Y312U4:A74LS244A011A113A215A317OE19Y09Y17Y25Y33U4:B74LS244U5NORU6OR
20、第8章 51单片机常用接口如果要通过如果要通过L0L7发光二极管显示发光二极管显示K0K7开关的状态,开关的状态,则相应的汇编程序为:则相应的汇编程序为:汇编语言程序汇编语言程序ORG 0000HLJMP STARTORG 0030HSTART:MOV DPTR,#7FFFHMOVX A,DPTR ;读读74LS244扩展的输入口扩展的输入口MOVX DPTR,A ;输出到输出到74LS373扩展的输出口扩展的输出口SJMP STARTEND第8章 51单片机常用接口27C语言程序:语言程序:#include #include /定义绝对地址访问定义绝对地址访问#define uchar un
21、signed charvoid main(void)uchar i;while(1)i=XBYTE0 x7fff; /读读74LS244扩展的输入口扩展的输入口XBYTE0 x7fff=i;/输出到输出到74LS373扩展的输出口扩展的输出口 第8章 51单片机常用接口8.3.2 可编程可编程I/O接口扩展接口扩展(8255A)1. 8255A的结构与功能的结构与功能 数据总线 缓冲器 读/写控制 部件 RD WR A1 A0 RESECS B 组控 制部件 A 组控 制部件 A 组 端口 A A 组 端口 C B 组 端口 C B 组 端口 B A 组 B 组 PA7PA0 PC7PC4 P
22、C3PC0 PB7PB0 8 位内部总线 双向数据总线 第8章 51单片机常用接口3个可编程的并行I/O端口:PA口、PB口和PC口。 A口有3种工作方式:无条件I/O方式、选通I/O方式和 双向选通I/O方式。B口有两种工作方式:无条件I/O方式和选通I/O方式。 A1A0I/O操作00001读A口寄存器内容到数据总线00101读B口寄存器内容到数据总线01001读C口寄存器内容到数据总线00010数据总线上内容写到A口寄存器00110数据总线上内容写到B口寄存器01010数据总线上内容写到C口寄存器01110数据总线上内容写到控制口寄存器CSRDWR第8章 51单片机常用接口2. 8255
23、A的引脚信号的引脚信号 8255A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA3 PA2 PA1 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA0 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3 第8章 51单片机常用接口31引脚信号线。D
24、7D0:三态双向数据线,与单片机的数据总线相连,用来传送数据信息。 :片选信号线,低电平有效,用于选中8255A芯片。 :读信号线,低电平有效,用于控制从8255A端口寄存器读出信息。 :写信号线,低电平有效,用于控制向8255A端口寄存器写入信息。A1,A0:地址线,用来选择8255A的内部端口。PA7PA0:A口的8根I/O信号线,用于与外部设备连接。PB7PB0:B口的8根I/O信号线,用于与外部设备连接。PC7PC0:C口的8根I/O信号线,用于与外部设备连接。RESET:复位信号线。VCC:+5V电源线。GND:地信号线。CSRDWR第8章 51单片机常用接口3. 8255A的控制字
25、的控制字1)工作方式控制字工作方式控制字 端口 A 0:输出 1:输入 端口 C 高 4 位 0:输出 1:输入 端口 B 0:输出 1:输入 特征位 1 A 组工作方式位 00:方式 0 01:方式 1 1X:方式 2 B 组工作方式位 0:方式 0 1:方式 1 端口 C 低 4 位 0:输出 1:输入 D7 D6 D5 D4 D3 D2 D1 D0 第8章 51单片机常用接口2)C口按位置位口按位置位/复位控制字复位控制字 特征位 0 这 3 位不用 位选择位 000:C 口 0 位 001:C 口 1 位 111:C 口 7 位 0:复位 1:置位 D7 D6 D5 D4 D3 D2
26、D1 D0 第8章 51单片机常用接口4. 8255A的工作方式的工作方式1)方式方式0 (1)具有两个具有两个8位端口位端口(A、B)和两个和两个4位端口位端口(C口的口的高高4位和位和C口的低口的低4位位)。(2)任何一个端口都可以设定为输入或者输出。任何一个端口都可以设定为输入或者输出。(3)每一个端口输出时锁存,而输入时不锁存。每一个端口输出时锁存,而输入时不锁存。 特点特点: 方式方式0输入输入/输出时没有专门的应答信号,通常用于无输出时没有专门的应答信号,通常用于无条件传送。条件传送。 2)方式方式1A口和口和B口作为数据口作为数据I/O口,口,C口用作口用作I/O的应答信号。的应
27、答信号。 第8章 51单片机常用接口(1)方式方式1输入。输入。 INTE & PC4 PC5 PC3 PC6、PC7 PA0PA7 STBA IBFA I/O INTRA B 口输入 INTE & A 口输入 PC2 PC1 PC0 8 8 IBFB STBB PB0PB7 INTRB :外设送给8255A的“输入选通”信号 IBF:8255A送给外设的“输入缓冲器满”信号 INTR:8255A发送给CPU的“中断请求”信号 INTE:8255A内部为控制中断而设置的“中断允许”信号 STB第8章 51单片机常用接口(2)方式方式1输出。输出。 INTE & PC7 PC6 PC3 PC4、
28、PC5 PA0PA7 ACKA OBFA I/O INTRA B 口输出 INTE & A 口输出 PC2 PC1 PC0 8 8 OBFB ACKB PB0PB7 INTRB 2 :8255A送给外设的“输出缓冲器满”信号 :外设送给8255A的“应答”信号 INTR:8255A送给CPU的“中断请求”信号 INTE:8255A内部为控制中断而设置的“中断允许”信号 OBFACK第8章 51单片机常用接口3)方式方式2 & INTE1 INTE2 & 1 PC5 PC4 PC6 PC7 PC3 PA0PA7 ACKA OBFA INTRA STBA IBFA 第8章 51单片机常用接口5.
29、8255A与与MCS-51单片机的接口单片机的接口1)硬件接口硬件接口RSTD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7RSTALEALEK0K1K2K3K4K5K6K0K7K1K2K3K4K5K6K7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/
30、INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFC31nFR1300OFFON123456789DSW1DIPSWC_81234567820191817161514139121011U3LED-BARGRAPH-REDD034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22
31、PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255AD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U474LS373第8章 51单片机常用接口8255A的的A口、口、B口、口、C口和控制口的地址分别是口和控制口的地址分别是7F00H、7F01H、7F02H和和7F03H (高(高8位地址线未用位地址线未用的取的取1,低,低8位地址线未用的取位地址线
32、未用的取0)。)。 2)软件编程软件编程A口接开关口接开关K0K7,B口接发光二极管口接发光二极管L0L7,要求,要求从从A口读入开关状态通过口读入开关状态通过B口显示出来。口显示出来。8255A的工作的工作方式控制字为方式控制字为1000 0010B(82H) 第8章 51单片机常用接口40汇编程序段:汇编程序段:ORG 0000HLJMP STARTORG 0030HSTART:MOV A,#82H;8255A初始化初始化,B口方式口方式0输入,输入,A口方式口方式0输出输出MOV DPTR,#7F03H;8255A控制口地址控制口地址MOVX DPTR,A L1: MOV DPTR,#7
33、F01H;8255A的的B口地址口地址MOVX A, DPTR;从从B口输入口输入MOV DPTR,#7F00H;8255A的的A口地址口地址MOVX DPTR,A;从从A口输出口输出SJMP L1END第8章 51单片机常用接口41C语言程序:语言程序:#include #include /定义绝对地址访问定义绝对地址访问#define uchar unsigned charvoid main(void) uchar i; XBYTE0 x7f03=0 x82; / 8255A初始化初始化,B口方式口方式0输入,输入,A口方式口方式0输出输出 while(1) i = XBYTE0 x7f0
34、1; /从从B口输入口输入XBYTE0 x7f00 = i; /从从A口输出口输出第8章 51单片机常用接口 a b c d e f g dp com a b c d e f g dp com a b c d e f g dp 1 0 9 8 7 6 1 2 3 4 5 g f com a b e d com c d p 外观外观共阴连接共阴连接共阳连接共阳连接显示的基本原理:显示的基本原理:1.公共端有效(选通公共端有效(选通LED显示器)显示器) 2.另一端送相应的编码(字段码)另一端送相应的编码(字段码)8.4 MCS-51单片机与单片机与LED显示器接口显示器接口8.4.1 LED显示
35、器的基本结构与原理显示器的基本结构与原理第8章 51单片机常用接口 dp g f e d c b a 8段发光管控制端与字节的关系。段发光管控制端与字节的关系。 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 3FH06H5BH第8章 51单片机常用接口显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH8
36、0HL38HC7H96FH90H8FFH00HA77H88H“灭”00FFHB7CH83H第8章 51单片机常用接口8.4.2 LED数码管显示器使用的主要问题数码管显示器使用的主要问题1译码方式译码方式译码方式是指由显示字符转换得到对应的字段码的译码方式是指由显示字符转换得到对应的字段码的方式。对于方式。对于LED数码管显示器,通常的译码方式有数码管显示器,通常的译码方式有硬件译码方式和软件译码方式两种。硬件译码方式和软件译码方式两种。第8章 51单片机常用接口 4 锁 存 器 地址 译码 和字 段码 ROM 阵列 A B C D LE 5 6 9 10 7 VSS VDD 8 16 a b
37、 c d e f g h+i VCR 11 12 13 14 15 1 2 3 4 共阴极一位十六进制数共阴极一位十六进制数7字段码转换芯片字段码转换芯片 MC14495 1)硬件译码方式)硬件译码方式第8章 51单片机常用接口472)软件译码方式)软件译码方式用MOVC A,A+DPTR构造的查表程序:ORG 0200HCONVERT:MOV DPTR,#TAB ;DPTR指向表首地址MOV A,R2 ;转换的数放于MOVC A, A+DPTR ;查表指令转换MOV R2,ARETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,67H,77H,7CH
38、,39H,5EH,79H,71H ;显示码表软件译码方式就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码。译码程序通常为查表程序,软件开销较大,但硬件线路简单。第8章 51单片机常用接口2LED数码管的显示方式数码管的显示方式-静态显示静态显示和和动态显示动态显示1)静态显示方式)静态显示方式 a b c d e f g dp I/O(1) a b c d e f g dp I/O(2) u公共端直接接地公共端直接接地(共阴极共阴极)或接电源或接电源(共阳极共阳极) u每个数码管的每个数码管的段选线与一组段选线与一组I/O接口线相连。接口线相连。 特点:特点: u每个数码管一每个数
39、码管一直显示。直显示。第8章 51单片机常用接口2)动态显示方式)动态显示方式 D 3 D2 D 1 D0 I/O (1) I/O(2) u每个数码管的公共端由一根每个数码管的公共端由一根I/O线控制。线控制。u所有数码管的段选线与一组所有数码管的段选线与一组I/O接口线并连在一起。接口线并连在一起。 特点:特点: u显示为逐个显示。显示为逐个显示。 段码线段码线位码线位码线第8章 51单片机常用接口8.4.3 LED显示器与单片机的接口显示器与单片机的接口1硬硬件译件译码静码静态显态显示示相应的汇编指令如下:MOV P1,#0010 0001B ;在第一个数码管显示“1”MOV P1,#00
40、01 0010B ;在第二个数码管显示“2”第8章 51单片机常用接口2软软件件译译码码动动态态显显示示D0D1D2D3D4D5D6D7D7D5D3D1D0D6D4D2ABCDEFGH12345678ABCDEFGH12345678ALEALEXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TX
41、D11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA53
42、9PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U38255AA口、B口、C口和控制口的地址分别为7F00H、7F01H、7F02H和7F03H(高8位地址线未用的取1,低8位地址线未用的取0) 第8章 51单片机常用接口图8.27软件译码动态显示电路的程序如下(设8个数码管的从左到右显示缓冲区为片内RAM的50H57H单元)。汇编语言程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#0;显示缓冲区50H57H单元初始化为07M
43、OV R2,#8MOV R0,#50H LOOP: MOV R0,A INC R0INC ADJNZ R2,LOOPLOOP1:LCALL DISPLAY;调用显示子程序SJMP LOOP1SJMP $第8章 51单片机常用接口;显示子程序DISPLAY:MOV A,#10000000B;8255初始化MOV DPTR,#7F03H;使DPTR指向8255控制寄存器端口MOVX DPTR,AMOV R0,#57H;动态显示初始化,使R0指向缓冲区首地址MOV R3,#7FH ;首位位选字送R3MOV A,R3LD0: MOV DPTR,#7F01H;使DPTR指向PB口MOVX DPTR,A;
44、从PB口送出位选字MOV DPTR,#7F00H ;使DPTR指向PA口MOV A,R0 ;读要显示数ADD A,#0DH ;调整距离段选码表首的偏移量MOVC A,A+PC ;查表取得段选码MOVX DPTR,A ;段选码从PA口输出ACALL DL1 ;调用1ms延时子程序DEC R0 ;指向缓冲区下一单元MOV A,R3 ;位选码送累加器AJNB ACC.0,LD1 ;判断8位是否显示完毕,显示完返回RR A ;未显示完,把位选字变为下一位选字MOV R3,A ;修改后的位选字送R3AJMP LD0 ;循环实现按位序依次显示LD1: RET第8章 51单片机常用接口TAB:DB 3FH,
45、06H,5BH,4FH,66H,6DH,7DH,07H ;字段码表DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDL1:MOV R7,#02H ;延时子程序DL:MOV R6,#0FFHDL0:DJNZ R6,DL0DJNZ R7,DLRETEND第8章 51单片机常用接口软件译码动态显示C语言程序如下:#include #include /定义绝对地址访问#define uchar unsigned char#define uint unsigned intvoid delay(uint); /声明延时函数void display(void); /声明显示函数uchar
46、 disbuffer8=0,1,2,3,4,5,6,7;/定义显示缓冲区void main(void)XBYTE0 x7f03=0 x80; /8255A初始化while(1)display(); /设显示函数第8章 51单片机常用接口/*显示函数*void display(void) /定义显示函数uchar codevalue16=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,
47、0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f; /位选码表uchar i,p,temp;for (i=0;i8;i+)temp=chocodei; /取当前的位选码XBYTE0 x7f01=temp; /送出位选码p=disbufferi; /取当前显示的字符temp=codevaluep; /查得显示字符的字段码XBYTE0 x7f00=temp; /送出字段码delay(20); /延时1ms第8章 51单片机常用接口/*延时函数*void delay(uint i) /延时函数uint j;for (j=0;ji;j+)第8章 51单片机常用接口8.5 MCS-
48、51单片机与键盘的接口单片机与键盘的接口 8.5.1 键盘概述键盘概述1. 键盘的基本原理2抖动的消除抖动的消除硬件消抖软件消抖 第8章 51单片机常用接口59硬件消硬件消抖抖 软件消抖软件消抖利用延时程序消除抖动。利用延时程序消除抖动。第8章 51单片机常用接口3键盘的分类键盘的分类分两类:独立式键盘和行列键盘。 u处理简单,直接判并处理简单,直接判并口线。口线。u每个键占用一根并口线,每个键占用一根并口线,键位多时占用并口线多。键位多时占用并口线多。u用于键位较少的情况。用于键位较少的情况。特点:特点: 独立式键盘独立式键盘第8章 51单片机常用接口行列键盘行列键盘矩阵键盘。矩阵键盘。 矩
49、阵键盘的结构图矩阵键盘的结构图 u键位分布在行列交键位分布在行列交叉点上。叉点上。u占用并口线少,键位占用并口线少,键位越多越明显。越多越明显。特点:特点: P1.3 P1.2 P1.1 P1.0 P2.3 P2.2 P2.1 P2.0 第8章 51单片机常用接口1)键位的编码)键位的编码矩阵键盘的处理:键位的编码和键位的识别。矩阵键盘的处理:键位的编码和键位的识别。 (a)二进制组合编码 (b)顺序排列编码编码=行首码+列号。 行线编码和列线编码组合 第8章 51单片机常用接口2)键位的识别)键位的识别两步:第一步是首先检测键盘上是否有键按下;第两步:第一步是首先检测键盘上是否有键按下;第二
50、步是识别哪一个键按下。二步是识别哪一个键按下。 (1)检测键盘上是否有键按下的处理方法检测键盘上是否有键按下的处理方法 (2)识别键盘中哪一个键按下的处理方法识别键盘中哪一个键按下的处理方法 逐列扫描逐列扫描 全扫描全扫描 第8章 51单片机常用接口8.4.2 独立式键盘与单片机的接口独立式键盘与单片机的接口XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1
51、.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFC31nFR11kD1D2D3R2300R3300R4300D4R5300K0K1K2K3第8章 51单片机常用接口65汇编语言程序:ORG0000HLJMPKEYORG0100HKEY: MOVP1,#0FFHKE
52、Y0: JB P1.0,KEY1;如果K0没有按下检测K1LCALL DEL10MS;延时消抖JBP1.0,KEY1 ;再检测,判断是否为干扰CLRP2.0;K0按下,实现K0的相应程序KEY1: JB P1.1,KEY2;如果K1没有按下检测K2LCALL DEL10MS;延时消抖JBP1.1,KEY2 ;再检测,判断是否为干扰CLRP2.1;K1按下,实现K1的相应程序KEY2: JB P1.2,KEY3;如果K2没有按下检测K3LCALL DEL10MS;延时消抖JBP1.2,KEY3 ;再检测,判断是否为干扰CLRP2.2;K2按下,实现K2的相应程序第8章 51单片机常用接口66KE
53、Y3: JB P1.3,KEYEND ;如果K3没有按下结束,返回主程序LCALL DEL10MS;延时消抖JBP1.3,KEYEND ;再检测,判断是否为干扰CLRP2.3;K3按下,实现K3的相应程序KEYEND:LJMP KEYDEL10MS:MOVR7,#20;延时10ms程序DEL500U:MOV R6,#250DJNZR6,$DJNZR7,DEL500URETEND第8章 51单片机常用接口67C语言程序:#include #define uchar unsigned charsbit K0=P10; /定义位变量sbit K1=P11;sbit K2=P12;sbit K3=P1
54、3;sbit D0=P20;sbit D1=P21;sbit D2=P22;sbit D3=P23;第8章 51单片机常用接口68void delay(uchar k) /定义延时函数uchar i,j;for (i=0;ik;i+)for(j=0;j250;j+);void main(void)if (K0=0) delay(10); if (K0=0) D0=0; /K0按下,进行的相应处理if (K1=0) delay(10); if (K1=0) D1=0; /K1按下,进行的相应处理if (K2=0) delay(10); if (K2=0) D2=0; /K2按下,进行的相应处理i
55、f (K3=0) delay(10); if (K3=0) D3=0; /K3按下,进行的相应处理 第8章 51单片机常用接口8.4.3 矩阵式键盘与单片机的接口图8.34是PROTEUS中通过8255A芯片扩展并行口连接28的矩阵式键盘的电路图。8255A 的PA口接8根列线,PC口低2位接行线,PA口为输出,PC口低2位为输入。D0D1D2D3D4D5D6D7D7D5D3D1D0D0D6D4D2ABCDEFGH12345678ABCDEFGH12345678ALEALEABCDEFGHPC0PC1PC0PC1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD0
56、39P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52D03Q02D14Q15D27
57、Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U38255A第8章 51单片机常用接口70处理过程如下:首先,通8255A的PA口送全扫描字00H,使所有的列为低电平,读入PC口低2位,判断
58、是否有键按下。其次,如果有键按下,再通过PA口依次送列扫描字,将列线逐列置成低电平,读入PC口行线状态,判断按下的键是在哪一列的哪一行上面,然后通过行首码加列号得到前按键的编码。该矩阵式键盘的扫描子程序流程图如右图。 第8章 51单片机常用接口该矩阵式键盘的扫描子程序流程图 为了便于测试键盘是否正确,还添加了8个LED数码管,通过数码管显示按下的键,按下的键在8个数码管的最右边显示,而原来的内容依次左移。 8255A的A口、B口、C口和控制口的地址可分别取为7F00H、7F01H、7F02H和7F03H(高8位地址线未用的取1,低8位地址线未用的取0)。8255A在主程序中初始化。设定为A口方
59、式0输出,B口方式0输出,C口的低4位方式0输入。 第8章 51单片机常用接口72汇编语言程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#0;显示缓冲区57H50H单元初始化为70MOV R2,#8MOV R0,#50HLOOP:MOV R0,A INC R0INC ADJNZ R2,LOOPMOV A,#10000001B ;8255初始化,A口方式0输出,B口方式0输出,C口低4位输入MOV DPTR,#7F03H;使DPTR指向8255控制寄存器端口MOVX DPTR,ALOOP1:ACALL KEYSUB;调用键盘子程序CJNE R2,#0FFH,N
60、EXTSJMPNEXT1第8章 51单片机常用接口73NEXT:MOV 50H,51H;显示缓冲区左移MOV 51H,52HMOV 52H,53HMOV 53H,54HMOV 54H,55HMOV 55H,56HMOV 56H,57HMOV 57H,R2NEXT1:ACALL DISPLAY;调用显示子程序SJMP LOOP1SJMP $第8章 51单片机常用接口74;无键按下,R2返回FFH,有键按下,R2返回键码KEYSUB: ACALL KS1 ;调用判断有无键按下子程序JNZ LK1 ;有键按下时,(A)0转消抖延时AJMP NOKEY ;无键按下返回LK1:ACALL TM6;调用1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工挖孔桩施工合同标准版
- 江西省横峰中学2024-2025学年全国卷高考押题生物试题(文、理)试题含解析
- 云南省玉龙纳西族自治县一中2024-2025学年高三下学期开学调研试题数学试题含解析
- 餐饮公司加盟合同
- 天津市蓟州区第三联合学区2025届初三4月质量调研(二模)生物试题含解析
- 房地产买卖合同三方协议
- 人力资源终止合同模板
- 学校专职安全教育辅导员合同协议
- 舞蹈基础与幼儿舞蹈编创 课件 身体的认知
- 人教版小学二年级上册数学 第8单元 第2课时 简单的组合 教案
- 2025年山东省东营市广饶县一中中考一模英语试题(原卷版+解析版)
- 《骨科公休会》教学课件
- 高一历史 资本主义世界殖民体系的形成 课件
- 浅谈教师的职业幸福感
- 低年级语文识字教学课件
- 基因毒性杂质控制-课件
- 初一泛读黑布林 《霍利的新朋友》
- 粉笔国考行测模考大赛第十季
- 老年综合评估和老年综合征PPT通用通用课件
- 超星尔雅学习通《人力资源招聘与选拔》章节测试含答案
- 主提升机司机培训课件
评论
0/150
提交评论