1、第6章 MCS-51单片机接口应用实例,6.1 I/O端口应用实例 6.2 定时器/计数器及中断功能应用实例 6.3 串行接口应用实例,6.1 I/O端口应用实例,为了使读者能巩固及提高所学的知识,且能灵活运用单片机内部各功能部件和I/O接口来开发一些简易实用的产品,本章将以大量而且简单实用的应用实例对单片机的I/O接口和内部功能部件的应用作进一步的说明。,下一页,返回,6.1 I/O端口应用实例,6.1.1动态显示控制LED时钟的设计当采用MCS-51单片机中8751构成最小系统且控制程序小于4KB时,一般情况下无须再扩展外部程序和数据存储器,P0P3口均可以作为通用I/O口使用了。下面以使
2、用I/O端口直接控制4位LE D时钟显示器举例说明。1.硬件电路电路连接如图6-1所示。,下一页,返回,上一页,6.1 I/O端口应用实例,2.工作原理所谓动态显示控制,就是采用扫描的方法把多位LE D显示器逐个点亮,对于某位一个显示器来说,每隔一段时间点亮一次,利用人眼的视觉暂留效应可以看到动态的整个显示,但要必须保证有足够快的扫描速度,才能使字符不闪烁;显示器的亮度既与各发光二极管的导通电流有关,也与点亮的持续时间和间隔时间的比值有关。合理地选择发光二极管的导通电流和扫描时间参数,可以得到亮度较高且较稳定的显示效果。在本实例中使用Pl. 7Pl. 0作为显示时钟年字形码的输出端口,使用P3
3、. 3P3. 0作为字位码的输出端口,循环点亮4位 LE D。,下一页,返回,上一页,6.1 I/O端口应用实例,3.程序设计从片内RAM 4AH4DH单元中分别读取当前年份四位的7段字形码值(如2009),通过LE D0LE D3显示。其控制子程序段如下。LP0: MOV A,#0FFHMOV P3,A;4位个LED均不亮(为共阴极电路),下一页,返回,上一页,6.1 I/O端口应用实例,LP1: MOV R0,#4AHMOV A,R0MOV P1,A ;读取年最高位2的七段字形码输出 CLR P3. 0 ;点亮LED0ACALL DELAY10ms ;延时10msSETB P3. 0 ;熄
4、灭LED0INC R0,下一页,返回,上一页,6.1 I/O端口应用实例,MOV A,R0MOV P1,A;读取年次高位0的七段字形码输出CLR P3. 1 ;点亮LED1ACALL DELAY10ms ;延时10msSETB P3. 0 ;熄灭LED1INC R0,下一页,返回,上一页,6.1 I/O端口应用实例,MOV A,R0MOV P1,A ;读取年次低位0的七段字形码输出CLR P3. 0 ;点亮LED2ACALL DELAY10ms ;延时10msSETB P3. 0 ;熄灭LED2INC R0,下一页,返回,上一页,6.1 I/O端口应用实例,MOV A,R0MOV P1,A ;
5、读取年最低位9的七段字形码输出CLR P3. 0 ;点亮LED32ACALL DELAY10ms ;延时10msSETB P3. 0 ;熄灭LED3LJMP LP1 ;重复循环RET,下一页,返回,上一页,6.1 I/O端口应用实例,6. 1. 2 BCD编码拨盘输入电路的设计在过程实时控制或智能仪器中,通常需要给计算机预置一些参数,此时可用BCD拨盘来预置参数。1.硬件电路BCD拨盘的产品外观见图6-2 (a) ,结构原理见图6-2 (b)。BCD码拨盘与单片机的接口见图6-3。,下一页,返回,上一页,6.1 I/O端口应用实例,2.工作原理当要置入09的数时,对应的BCD位开关与公共控制端
6、A接通,8421引脚将输出相应的电平。例如现将BCD拨盘拨为3时,内部电路使得2和1引脚与公共控制端A接通,输出相应的电平;BCD拨盘拨为6时,内部电路使得4和2引脚与公共控制端A接通,输出相应的电平。在图6-3中用P1. 4P1. 7控制1#4#BCD拨盘控制端A,当P1. 4Pl. 7某位为低电平时相应的BCD码拨盘被选中;P1. 3P1. 0为数据输入端。,下一页,返回,上一页,6.1 I/O端口应用实例,3.程序设计编程读入1#4#BCD拨盘置入的数据,并将读入的数据存入片内RAM的40 H43 H单元中。其控制程序如下。RDIN: MOV R7, #04H ;读入次数计数MOV R0
7、, #40H ;片内RAM的首址送R0MOV A, #0EFH ;选通1#拨盘RDIN1:MOV R2, A ;暂存R2中MOV Pl , A ;输出位选控制信号MOV A, Pl ;读入拨盘数据,下一页,返回,上一页,6.1 I/O端口应用实例,CPL A ;取反使之为高电平有效ANL A, #0FH ;屏蔽高4位MOV R0, A ;存入片内RAMINC R0 ;指向下一个RAM单元MOV A, R2PL A ;指向下一个拨盘DJNZ R7, RDIN1 ; 4个拨盘未读完转PET ;读完返主,下一页,返回,上一页,6.1 I/O端口应用实例,6.1.3十字路口交通信号灯的设计1.硬件电路
8、使用单片机的I/O端口直接控制交通信号灯,其控制电路如图6-4所示。2.工作原理交通信号灯的控制示意如图6-5所示。(1)十字路口的绿灯由P1. 1、 P1. 0控制: P1. 1控制东西向绿灯,P1. 0控制南北向绿灯。,下一页,返回,上一页,6.1 I/O端口应用实例,(2)十字路口的黄灯由P1. 3 、 P1. 2控制: P1. 3控制东西向黄灯,P1. 2控制南北向黄灯。(3)十字路口的红灯由P1. 5、P1. 4控制: P1. 5控制东西向红灯,Pl. 4控制南北向红灯。,下一页,返回,上一页,6.1 I/O端口应用实例,在马路的十字路口共6组(12个)信号灯,分别由P1. 5 P1
9、. 0来控制。控制的过程为:当东西方向通车时绿灯亮,而南北方向红灯亮;当通车的时间到后,东西方向的绿灯灭,而黄灯亮,黄灯闪烁若干次后由东西方向切换到南北方向通车;此时东西方向黄灯灭,而红灯亮,南北方向红灯灭,而绿灯亮,南北方向开始通车。通车时间到后,南北方向绿灯灭,黄灯闪烁若干次后由南北方向切换到东西方向,南北方向黄灯灭,红灯亮;而东西方向红灯灭,绿灯亮;如此不断循环。,下一页,返回,上一页,6.1 I/O端口应用实例,3.程序设计其控制程序如下。START: MOV R7, #05H;黄灯闪烁次数LOOP: MOV A, #00HMOV Pl , A;灯全灭LP: SETB P1. 4;南北
10、红灯亮SETB P1. 1 ;东西绿灯亮LCALL DELAY50s ;延时50sCLR P1. 1 ;东西绿灯灭,下一页,返回,上一页,6.1 I/O端口应用实例,LP1: SETB P1. 3 ;东西黄灯亮LCALL DELAY1 S ;延时1SCLR P1. 3 ;东西黄灯灭LCALL DELAY1SDJNZ R7,LP1 ;黄灯闪烁5次未到转MOV R7,#05 HSETB P1. 5 ;东西红灯亮CLR P1. 4 ;南北红灯灭SETB P1. 0 ;南北绿灯亮,下一页,返回,上一页,6.1 I/O端口应用实例,LCALL DELAY50s ;延时50sCLR P1. 0 ;南北绿灯
11、灭SETB P1.2 ;南北黄灯亮LCALL DELAY1SCLR P1. 2 ;南北黄灯灭LCALL DELAY1SDJNZ R7,LP2 ;黄灯闪烁5次未到转MOV R7,#05 HAJMP LOOP ;重新循环,下一页,返回,上一页,6.1 I/O端口应用实例,6. 1. 4水塔水位控制系统的设计1.硬件电路水塔水位控制系统的电路,如图6-6所示。图中所有的水位高低信号均为电平信号。两个水位信号分别由P1. 0和P1. 1输入。控制信号由P1. 2端口输出,P1. 2端输出低电平时电机运行;输出高电平时电机停止。由P1. 3输出报警信号,驱动一只发光二极管进行光报警。,下一页,返回,上一
12、页,6.1 I/O端口应用实例,2.工作原理在图6-6中虚线代表水塔中水位位置,正常情况下应保证水位在上下限水位之间。在水塔内部不同高度安装3根金属棒,:以探测水位变化情况。其中,B棒处于下限水位,C棒处于上限水位,A棒处于B棒之下并与+5V电源相接,B棒、C棒各通过电阻与地相接。水塔水位的控制是由电动机带动水泵进行供水,单片机控制电动机转动以达到对水位的控制目的。水位控制的组合形式如表6-1所示,下一页,返回,上一页,6.1 I/O端口应用实例,(1)当水位低于下限时,B棒、C棒都不能与A棒导通,因此,b、c两端均为0状态,这时应启动电机,带动水泵工作,给水塔供水。(2)在正常情况下是不可能
13、出现b端为0状态,c端为1状态的,因此作为一种故障处理,停止供水并且报警。,下一页,返回,上一页,6.1 I/O端口应用实例,(3)当水位处于上、下限之间时,B棒与A棒导通,C棒与A棒不导通,b端为1状态,c端为0状态。这时,无沦电动机已带动水泵给水塔加水,使水位上升;还是电机没有工作,用水使水位下降,都应继续维持电机的原有工作状态。(4)水泵供水时水位上升,当达到水位上限时,由于水的导电作用,B棒、C棒连通+5V电源,因此b、c两端为1状态,这时应停止电机运行,水泵不再给水塔供水。,下一页,返回,上一页,6.1 I/O端口应用实例,3.程序设计其控制程序如下。ORG 0000HLJMP LO
14、OPORG 0100HLOOP: ORL Pl , #03H;为检查水位做准备MOV A, Pl;读入状态信号JNB ACC.1,ONE;P1. 0 =0则跳转 JB ACC.0, TWO;P1. 0 =0 P1. 1=1则跳转,下一页,返回,上一页,6.1 I/O端口应用实例,BACK: ACLL D10S;延时10sSJMP LOOPONE: JNB ACC.1,THREE;P1. 1 =0则跳转CLR P1.3 ; P1.30,启动报警SETB Pl. 2;Pl. 21,停止电机工作,下一页,返回,上一页,6.1 I/O端口应用实例,FOUR: SJMP FOUR;等待处理THREE:
15、CLR Pl. 2;启动电机SJMP BACKTWO: SETB P1. 2;停止电机工作SJBP BACKRET,返回,上一页,6.2 定时器/计数器及中断功能应用实例,6. 2. 1应用I/ O端口设计1.硬件电路此硬件电路十分简单:门铃按钮设计为上电复位电路。当无人时,单片机系统不通电、不工作;当有人按下按钮时,单片机系统RST端上电复位系统开始工作,播放音乐。门铃扬声器由P1. 0引脚接一驱动器驱动即可。请读者自行画出此电路。,下一页,返回,6.2 定时器/计数器及中断功能应用实例,2.工作原理1)发音唱歌原理:用表6-2表示音符1、2、3、4、5、6、7的频率和相应音符对应的半周期时
16、间。若以5 s为延时单位,则各音符半周期对应方波需延时的倍数次数分别为190、170、 152、 143、127、114、101。可以把这些延时次数存储起来,由于它们都小于256,因此都可以存放在一个字节单元里。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,2)节拍:一拍对应的音长约为0. 8 s。每个一拍的音符方波必须循环一定的次数以达到0. 8 s。经计算可知,1、2、3、4、5、6、7对应循环次数分别为:842、 941、1053、1119、1260、 1404、1584,它们都大于1个字节,故必须用两重循环。将每个音符对应的循环次数拆分成两个字节的数的乘积,作为两重
17、循环的次数,依次为:4 210、 5 188、 13 81 、5 224 、 5 252、 27 52、 8198。将对应的音符的频率延时次数、音长循环次数的两个拆分数据依次存放在表中,在程序中可查表获得。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,3.程序设计其控制程序如下。ORG 0000H ;上电复位、启动AJMP 0040HORG 0040HMAIN: MOV DPTR, #0100H ;音符表首址MOV R0, #42 ;歌曲长度,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,NEXT: CLR AMOVC A, A + DPTR;取音符对应循
18、环次数MOV R7,AINC DPTRCLR AMOVC A, A + DPTR;取音长对应循环次数第一因数MOV R6,AINC DPTRCLR A,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,MOVC A,A+DPTR ;取音长对应循环次数第二因数MOV R5,AINC DPTRCONT: CPL P1. 0 ;输出状态取反ACALL DELAY ;与音频有关的延时DJNZ R5,CONTDJNZ R6,CONT ;音长=R5 x R6 x R7 x 5s=0. 8sDJNZ R0,NEXT ;下一个音符,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,
19、ORG 60 HDELAY: NOP ;延时时间为5 s x R7NOPNOPDJNZ R7, DELAYRETORG 0100H,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,6.2.2应用定时器/计数器和中断设计1.硬件电路硬件电路不变,与方法一的硬件电路相同。2.工作原理设定fosc= 6MHz,已知,音符1, 2, 3, 4, 5, 6, 7对应方波的半周期分别为:952 s , 847 s , 758 s , 714 s , 637 s , 568 s , 505 s 。由定时器0选用工作方式1,则对应
20、的计数初值分别为:0FE24H , 0FE59H , 0FE85H , 0FE9BH ,0FEC4H、0FEE4H、0FEFFH。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,每拍0. 8s可用定时器1控制,因定时器1在工作方式1下最长延长时间为0. 13s。所以可使定时器定时0. 1 s,以8个循环实现0. 8s的控制。定时器1的计数初值为:3CAFH。3.程序设计其控制程序如下。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,
21、下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,6. 2. 3简易方波发生器的设计使用定时器/计数器的定时功能和中断的方法可以设计一个频率从640050Hz简易的方波发生器。1.硬件电路硬件电路原理图如图6-7所示。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,2.工作原理(1)使用单片机的P3. 1端口输出一定频率的方波。P1口外接K1K8共8个按键,用来设定输出方波的频率,共8个档位。按下按键K1,则P3. 1端口输出基本频率为6400 Hz的方波,按下按键K2K8,则P3. 1端口输出频率
22、依次降低(320050 Hz)。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,(2)系统晶振设定为12MHz。 P3.1端口输出基本频率为6400 Hz的方波时,则P3. 1端口输出方波的周期为156. 25s(频率f= 6400Hz )。选择T0方式2定时功能,定时器初值的计算公式是28一定时周期/(时钟周期x 12),计算出初值为Tini=28-78. 125/1 =256-78. 125=177. 875178=B2H定时器工作方式寄存器TMOD设置如图6-8所示。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,(3) To的中断入口地址为000 B
23、 H。(4)硬件资源分配为P1口为8位输入口,外接8个按键K1K8。 R5为方波频率系数。内部RAM61 H、62H单元用于暂存键值、方波频率系数。3.程序设计其控制程序如下。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,6. 2. 3时钟程序的设计在本实例中
24、我们只讨沦使用单片机的T1定时加软件计数实现实时时钟控制的方法。1.工作原理利用扩展的LE D显示器用来显示秒、分、时计数单元中的值,当前的标准时间可通过用键盘输入到秒、分、时计数单元中,作为计时的初始值。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,定时采用中断方式,利用T1每隔100 ms向CPU发出一次中断中请,CPU响应中断后进入中断服务程序。中断服务程序以100 ms, 1s, 1 min, 1 h对时钟进行计时。每产生一次中断,100 ms计数单元内容加1。当该单元内容累加到10时,秒计数单元内容加1,并将100 ms单元清零;当秒计数单元内容累加到60时,分计
25、数单元内容加1,并将秒计数单元清零;当分计数单元内容累加到60时,时计数单元内容加1,并将分计数单元清零;时计数单元计满24后,所用单元内容清零。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,定时器计数单元的内容为十六进制数,需把该数调整成压缩BCD码,并通过程序拆分成单字节BCD码后,送入显示缓冲区(程序中指出的存放LE D显示器需要显示数据的区域),进行输出显示。2.初始化设计(1)设主频fosc=6MHz,用T1产生100 ms的定时,工作于方式1T1的方式字=0001 0000 B = 10 H初值X =,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实
26、例,(2)设置软件计数单元:30H单元为100ms计数,计满10次为1s;31H单元为秒计数,计满60次为1 min ;32 H单元为分计数,计满60次为1h;33H单元为时计数,计满24次为1日;然后程序不断循环;40 H45 H单元为显示缓冲区(存放单字节BCD码);3.程序设计主程序如下。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及
27、中断功能应用实例,时、分、秒单元内容存入显示缓冲区子程序:CER。把31H33H存放的压缩BCD码拆分成单字节BCD码,并存入显示缓冲区40 H45 H,提供给显示程序DIS调用。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,6.2.4无人职守航标灯的设计航标灯广泛地应用于江河大海的航行中,为来往船只在黑夜中航行提供安全保障。我们可以利用MCS-51单片机的定时器和中断功能对航标灯进行自动控制。1.硬件电路航标灯的硬件控制电路原理如图6-8所示。,
28、下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,2.工作原理控制的具体功能如下。航标灯在黑夜能够定时闪烁发光,设定时间间隔为2s,即点亮2s熄灭2s,周期循环进行;当白天到来时,航标灯熄灭,停止工作。对于此航标灯的设计,可以选择多种方案,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,方案一:(1)控制电路。见图6-8 , 8051定时的启停控制信号由INT0来控制(夜晚使得INT0 =0,白天INT0 =1)。(2)实现较长时间的定时。采用T0定时加软件计数的方法实现定时2s。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,(3)识别白天与黑
29、夜。采用如图6-8所示的光敏三极管来区分白天与黑夜其工作原理为:当黑夜降临时,无光照,VT1 、 VT2均截止,V T2输出高电平反相后使INT0 = 0,向单片机发出中断请求,CPU接受外部中断请求后,进入INT0中断处理程序,启动定时器工作;利用定时器中断控制航标灯定时闪烁发光。在黑夜结束之前,一直处在外部中断过程中。另外,从硬件上看,加在INT0引脚的低电平并未撤销,因此可以用软件查询INT0引脚,只要INT0 = 0,定时器继续工作。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,当白天到来时,日光照到光敏三极管VT1的基极,使VT1导通,VT2输出低电平反相使INT
30、0为高电平,软件查询到INT0 = 1时,立即关闭定时器,结束外部中断处理,返回到主程序,等待下一次黑夜的到来再产生中断。在INT0请求的外中断处理过程中,又用软件查询INT0引脚,这种用法很特殊。此外,本例中选用了两种中断,外部中断和定时器中断,定时器中断发生在外部中断正在进行的时候,因此要将定时器中断设为高优先级的中断。,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,根据以上分析,可编写出如下控制程序1。 设T0定时50ms,方式1,计数初值X;X=216-12 x 50 x 1000/12=3CB0H R7软件计数2 x 1000/50 = 40 T0的定时和R7软件计
31、数达到延时2s。3.程序设计主程序为,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,方案二:使用门控位GATE为1的条件,允许外部输入电平控制启动或停止定时器/计数器工作的方法来实现,即GATE = 1、INT0 = 1、 TR0 = 1时启动定时器T0工作。此时硬件电路要略作改动,省略输入电路的反向器,光敏管放大电路的输出
32、端接INT0,保障使得白天INT0 = 0,夜晚INT0 = 1。对于T0控制程序将设置GATE为1,夜晚时INT0为1, TR0为1触发T0启动。其采用门控位的控制程序为主程序:,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,下一页,返回,上一页,6.2 定时器/计数器及中断功能应用实例,返回,上一页,6.3 串行接口应用实例,6. 3.1串行口扩展LED显示器的设计1.硬件电路2.工作原理应用单片机串行口方式0扩展8个共阴极LE D,从显示缓冲区取8个数据进行显示。,下一页,返回,6.3 串行接口应用实例,与
33、串行口相关的特殊功能寄存器有SCON 、PCON、 SBUF。执行指令MOV SBUF, X,可完成写串行口缓冲器,启动串行发送功能。执行指令MOV Y,SBUF,可完成读串行口缓冲器,实现把接受到的8位串行数据读入功能。X可以是累加器A、寄存器Rn、间接寻址寄存器 Ri、直接地址direct或立即数#da-ta。 Y可以是累加器A、寄存器Rn、间接寻址寄存器 Ri或直接地址direct。,下一页,返回,上一页,6.3 串行接口应用实例,(1)串行口控制寄存器SCON的设置设串行口为方式0。SCON =00H(2)方式0不需要设置PCON。(3)串行口方式0为移位寄存器方式,RXD (P3.0
34、)端移位输出显示器段码(SBUF),低位在前;TXD(P3.1)端输出同步移位脉冲。,下一页,返回,上一页,6.3 串行接口应用实例,(4)硬件原理与资源分配本电路用串行口扩展8个共阴极数码管(LE D0LED7),显示8位数据。应用8051的串行口方式0输出方式,在串行口外接移位寄存器74 LS164,构成显示器接口,其硬件接口电路如图6-9所示。一片74LS164能扩展一个数码管。74 LS08为4 X2输入与门。图6-9中8个74LS164作为8位七段数码显示管输出口,8051的P3. 3作为同步脉冲输出控制线,P3. 4作为74 LS164的清零控制端显示方式采用静态显示,静态显示方式
35、的特点是亮度大,数码显示不闪烁,且CPU不必频繁地为显示服务,软件设计比较简单,从而使单片机有更多的时间处理其他事务。,下一页,返回,上一页,6.3 串行接口应用实例,74 LS164为串入并出移位寄存器,其各管脚功能如下。引脚36, 1013 ( Q0Q7)并行输出端。引脚1和2串行输入端。引脚8 ( CP)时钟信号输入端,CP脉冲的上升沿实现移位。在CP = 0、Cr=1时,74 LS 164保持原来的数据状态。引脚9 ( Cr)清除端,零电平时,使164输出清零。内部RAM 78H7FH单元为显示缓冲区。,下一页,返回,上一页,6.3 串行接口应用实例,3.其控制程序如下:,下一页,返回,上一页,6.3 串行接口应用实例,下一页,返回,上一页,6.3 串行接口应用实例,返回,上一页,图6-1 MCS-51与LED电路图,返回,图6-2 BCD码拨盘结构,返回,图6-3 4位BCD拨盘与MCS-51接口电路,返回,图6-4 单片机与交通灯的接口电路,返回,图6-5 四个路口信号灯示意图,返回,图6-6 水塔水位控制系统,返回,表6-1 水位控制组合形式,返回,表6-2 音符、频率、半周期对应关系,返回,图6-7 简易方波发生器,返回,图6-8 寄存器TMOD的设置,返回,图6-8 航标灯控制电路,返回,图6-9 串行口扩展的LED显示器,返回,