版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章MCS51单片机内部并行口及应用,2.1MCS-51单片机并行口结构2.2MCS-51单片机并行口应用2.3七段LED显示器接口2.4键盘接口,1.1MCS-51单片机并行口结构,1.1.1P0口结构1.1.2P1口结构1.1.3P2口结构1.1.4P3口结构,1.1.1P0口结构,返回,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,地址/数据控制线,+5V,P0.0,转换开关,锁存器,作用:1、外扩芯片时,P0口不再做I/O口使用,而是先传送地址,后传送数据。2、没有外扩芯片时,P0口可以直接作为输入口或输出口使用。,P0口直接做输出口时,输出信息的过程:(将0送到P0.0
2、的过程),返回,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,地址/数据控制线,+5V,P0.0,转换开关,锁存器,0,0,0,1,0,注意:P0口做输出口时,内部数据经过锁存器送到P00-P07上。由于上管始终截止,而当下管也截止时,P00P07被架空,没有标准的高电平,所以P0口作输出口使用时,必须外接上拉电阻。,P0口直接做输入口时,输入信息的过程:(将P0.0处的1送入DB0.0的过程),D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,地址/数据控制线,+5V,P0.0,转换开关,锁存器,0,0,1,注意:1、P0口作输入口时,P00P07上的信号经过缓冲器送到内
3、部数据总线上。在读引脚之前,要先将锁存器置1,否则总是读到0。2、CPU对P0口的读操作有2种:读引脚和读改写锁存器。,1,当CPU执行MOVA,P0或JB/JNBP0.x,标号时,产生读引脚控制信号,此时读的是引脚的状态。,当CPU执行读改写指令(以端口为目的操作数的ANL、ORL、XRL、DEC、INCSETB、CLR等)时,产生读锁存信号,此时是先读锁存器的状态,在修改之后,送回锁存器保存。,返回,1.1.2P1口结构,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,+5V,P1.0,锁存器,作用:P1口只能可以直接作为输入口或输出口使用。,返回,返回,D,CP,Q,Q,读引脚
4、,读锁存,写控制信号,DB0.0,+5V,P1.0,锁存器,P1口直接做输出口时,输出信息的过程:(将1送到P1.0的过程),1,0,0,1,注意:P1口做输出口时,内部数据经过锁存器送到P10-P17上。由于内部有上拉电阻,所以P1口作输出口使用时,不用外接上拉电阻。,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,+5V,P1.0,锁存器,P1口直接做输入口时,输入信息的过程:(将P1.0处的0送入DB0.0的过程),0,0,注意:1、P1口作输入口时,P10P17上的信号经过缓冲器送到内部数据总线上。在读引脚之前,要先将锁存器置1,否则总是读到0。2、CPU对P1口的读操作有2
5、种:读引脚和读改写锁存器。,当CPU执行MOVA,P1或JB/JNBP1.x,标号时,产生读引脚控制信号,此时读的是引脚的状态。,当CPU执行读改写指令(以端口为目的操作数的ANL、ORL、XRL、DEC、INC、SETB、CLR等)时,产生读锁存信号,此时是先读锁存器的状态,在修改之后,送回锁存器保存。,返回,1.1.3P2口结构,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,地址控制线,+5V,P2.0,转换开关,锁存器,作用:1、外扩芯片时,P2口不再做I/O口使用,而是传送高8位地址。2、没有外扩芯片时,P2口可以直接作为输入口或输出口使用。,返回,返回,D,CP,Q,Q,
6、读引脚,读锁存,写控制信号,DB0.0,地址控制线,+5V,P2.0,转换开关,锁存器,P2口直接做输出口时,输出信息的过程:(将0送到P2.0的过程),0,0,0,1,0,注意:P2口做输出口时,内部数据经过锁存器送到P20-P27上。由于内部有上拉电阻,所以P2口作输出口使用时,不用外接上拉电阻。,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,地址控制线,+5V,P2.0,转换开关,锁存器,P2口直接做输入口时,输入信息的过程:(将P2.0处的0送入DB0.0的过程),0,0,0,注意:1、P2口作输入口时,P20P27上的信号经过缓冲器送到内部数据总线上。在读引脚之前,要先将
7、锁存器置1,否则总是读到0。2、CPU对P2口的读操作有2种:读引脚和读改写锁存器。,当CPU执行MOVA,P2或JB/JNBP2.x,标号时,产生读引脚控制信号,此时读的是引脚的状态。,当CPU执行读改写指令(以端口为目的操作数的ANL、ORL、XRL、DEC、INC、SETB、CLR等)时,产生读锁存信号,此时是先读锁存器的状态,在修改之后,送回锁存器保存。,返回,1.1.4P3口结构,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,+5V,P3.0,锁存器,第二功能输出,第二功能输入,作用:1、P3口可以直接作为输入口或输出口使用。2、P3口的引脚又具有第二功能。,1当使用单片
8、机内部串行口时,若CPU执行MOVA,SBUF指令,则P3.0(RXD)作为接收信号线,接收由外界串行输入的数据;若CPU执行MOVSBUF,A指令,则P3.1(TXD)作为发送信号线,串行发送数据至外界。2当单片机使用外中断时,P3.2(INT0)作为外中断0的中断请求输入线,3.3(INT1)作为外中断1的中断请求输入线。3当单片机使用定时器,且定时器工作于计数方式时,P3.4(T0)作为定时器0的计数脉冲输入线,P3.5(T1)作为定时器1的计数脉冲输入线。4当单片机外扩RAM或I/O接口芯片时,P3.6(WR)作为RAM或I/O接口芯片的写控制信号,P3.7(RD)作为RAM或I/O接
9、口芯片的读控制信号。当P3口的一些引脚没有作为第二功能使用时,这些引脚就被释放,直接作为I/O口线使用。,返回,返回,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,+5V,P3.0,锁存器,第二功能输出,第二功能输入,P3口直接做输出口时,输出信息的过程:(将1送到P3.0的过程),1,0,0,1,注意:P3口做输出口时,内部数据经过锁存器送到P30-P37上。由于内部有上拉电阻,所以P2口作输出口使用时,不用外接上拉电阻。,D,CP,Q,Q,读引脚,读锁存,写控制信号,DB0.0,+5V,P3.0,锁存器,第二功能输出,第二功能输入,0,P3口直接做输入口时,输入信息的过程:(将
10、P3.0处的0送入DB0.0的过程),0,注意:1、P3口作输入口时,P30P37上的信号经过缓冲器送到内部数据总线上。在读引脚之前,要先将锁存器置1,否则总是读到0。2、CPU对P3口的读操作有2种:读引脚和读改写锁存器。,当CPU执行MOVA,P3或JB/JNBP3.x,标号时,产生读引脚控制信号,此时读的是引脚的状态。,当CPU执行读改写指令(以端口为目的操作数的ANL、ORL、XRL、DEC、INC、SETB、CLR等)时,产生读锁存信号,此时是先读锁存器的状态,在修改之后,送回锁存器保存。,返回,1.2MCS-51单片机并行口的应用,1.2.1直接做输出口1.2.2直接做输入口,在没
11、有外扩任何芯片时,MCS-51单片机内部并行口可以作为输出口,直接与输出外设连接,常用的输出外设是发光二极管;MCS-51单片机内部并行口也可以作为输入口,直接与输入外设连接,常用的输入外设是开关。,例1,例2,例1,例2,1.2.1直接做输出口,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,89C51,+5V,电阻的作用是当流过发光二极管的电流过大时,它就会被烧坏。这个电阻可以限制流过发光二极管的电流,因此这个电阻叫作限流电阻。限流电阻阻值的计算方法如下:R=(5-1.75)/Id;Id是流过发光二极管的电流,一般从8mA到20mA,其值越大,发光二极管越亮
12、,但不能太大,当流过发光二极管的电流超过20mA时,容易烧坏发光二极管。,例1:用89C51的P1口驱动8个发光二极管,使8个发光二极管由左向右轮流点亮。试画出连接图,编制驱动程序。,解:,1、画电路图,2、编程,思考,mova,#0fehup:movp1,alcalldelayrlasjmpupdelay1:movr7,#2delay11:movr6,#250djnzr6,$djnzr7,delay11ret,例1:用89C51的P1口驱动8个发光二极管,使8个发光二极管由左向右轮流点亮。试画出连接图,编制驱动程序。思考:如果用P0口驱动发光二极管,则如何修改?如果使8个发光二极管由右向左轮
13、流点亮,则如何修改?如果使8个发光二极管闪亮,则如何修改?如果使8个发光二极管由内向外轮流点亮,则如何修改?如果使8个发光二极管由右向左依次点亮,则如何修改?如果使延时时间延长或缩短,会出现什么现象?预习实验并思考:熟悉实验板上与发光二极管有关的电路。编制驱动程序,实现如下操作:由左向右轮流点亮由外向里轮流点亮由右向左依次点亮闪亮,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,89C51,+5V,1.2.1直接做输出口,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,89C51,+5V,例2:用8051的P1口驱动1个数码管,制
14、成1位秒表.试画出连接图,编制驱动程序。,解:,1、画电路图,2、编程,思考,a,b,c,d,e,f,g,Dp,a,b,c,d,e,f,g,Dp,UP0:MOVR7,#10MOVR2,#00HMOVDPTR,#TABUP:MOVA,R2MOVCA,A+DPTRMOVP1,ALCALLD1SINCR2DJNZR7,UPSJMPUP0TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,例2:用8051的P1口驱动1个数码管,制成1位秒表.试画出连接图,编制驱动程序。思考:如果用P2口驱动发光二极管,公共端接P3.0,则如何修改?如果制成0.1S的表
15、,则如何修改?,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,89C51,P3.0,a,b,c,d,e,f,g,Dp,CLRP3.0UP0:MOVR7,#10MOVR2,#00HMOVDPTR,#TABUP:MOVA,R2MOVCA,A+DPTRMOVP2,ALCALLD1SINCR2DJNZR7,UPSJMPUP0TAB:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8H,80H,98H,1.2.2直接做输入口,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,89C51,+5V,例1:用89C51的
16、P1口传送8个开关状态,用P2口显示8个开关状态,若开关合则对应灯亮,试画出连接图,编制驱动程序。,解:,1、画电路图,MOVP1,#0FFHUP:MOVA,P1MOVP2,ASJMPUP,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,+5V,开关处的电阻称为上拉电阻,它的作用是当开关断开时,使P3口的电压上拉为准确的高电平,避免悬空状态。,2、编程,强调:8051内部并行口直接作为输入口时,必须先将口锁存器置1。,思考,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,89C51,MOVP1,#0FFHUP:MOVA,P1CPL
17、AMOVP2,ASJMPUP,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,+5V,思考:如果将发光二极管反接,则如何修改程序?,1.2.2直接做输入口,89C51,+5V,例2:用8051的P1口驱动8个发光二极管,P3.4接一个开关K1,当开关按下时,8个发光二极管由左向右轮流点亮;开关断开时,8个发光二极管不亮。试画出连接图,编制驱动程序。,解:,1、画电路图,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,2、编程,+5V,P3.4,movp3,#0ffhup0:mova,#0fehup1:jbp3.4,up1movp1
18、,alcalldelay1rlasjmpup1delay1:movr7,#2delay11:movr6,#250djnzr6,$djnzr7,delay11ret,思考,例2:用8051的P1口驱动8个发光二极管,P3.4接一个开关K1,当开关按下时,8个发光二极管由左向右轮流点亮;开关断开时,8个发光二极管不亮。试画出连接图,编制驱动程序。思考:在上述程序中,开关必须一直按着,灯才能轮流点亮,当开关断开时,停留在某个灯点亮状态。如果当开关断开时,灯全灭,如何修改程序?如果开关作为启动开关,开关按下并抬起时,灯才开始轮流点亮,则如何编程?预习实验熟悉实验板上与发光二极管和开关有关的电路。编制驱
19、动程序,实现如下操作:1读入4个按键并使对应的LED点亮。2K1按下时,LED每2个为一组由右向左依次点亮。3K2按下并抬起时,LED由内向外轮流点亮。,P3.2,P3.3,P3.4,P3.5,+5V,1.3七段LED显示器接口,1.3.1数码管简介1.3.2单个七段LED数码管的接口1.3.3多个七段LED数码管的接口,在单片机控制系统中显示器是必不可少的外设。常用的显示器有发光二极管,数码管和液晶显示器。本节介绍数码管接口。,1.3.1数码管简介,组成:LED数码管由7段或8段发光二极管组成,在平面上排成8字型。分类:有共阴极和共阳极两种。,COM,a,b,c,d,e,f,g,Dp,COM
20、,a,b,c,d,e,f,g,Dp,显示原理:使某些段点亮而另一些段不亮就可以显示0-9,A-F等字型。使某段点亮必须具备2个条件:共阴极管的公共端接地和共阳极管的公共端接电源。共阴极管的控制端接电源和共阳极管的控制端接地。,共阳极共阴极,a,b,c,d,e,f,g,Dp,1.3.2单个七段LED数码管的接口,单个七段LED数码管与单片机的连接方法有2种:1、软译码连接法2、硬译码连接法,a,b,c,d,e,f,g,Dp,软译码连接法,在软译码连接法下,LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.
21、7,89C51,+5V,a,b,c,d,e,f,g,Dp,1、欲使LED数码管显示2,试编程。MOVP1,#01011011B注意:字形与字形码的区别,字形是欲显示的数或字符的形状;字形码是为了在数码管上显示数或字符,CPU应该送出的数据。字形转换成字形码的2种方法:软译码法和硬译码法。2、编程让LED数码管显示30H单元的内容(30H单元的内容在09之间)。UP:MOVA,30HMOVDPTR,#TABMOVCA,A+DPTRMOVP1,ASJMPUP,TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,共阳极LED,硬译码连接法,在硬译码连
22、接法下,LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,A,B,C,D,89C51,利用BCD码七段码译码器实现字形到字形码的转换。常用的BCD码七段码译码器有74LS48和74LS47。编程让LED数码管显示30H单元的内容(30H单元的内容在09之间)。MOVP1,30H,LT,RBO,RBI,a,b,c,d,e,f,g,P1.4,P1.5,P1.6,P1.7,COM,a,b,c,d,e,f,g,74LS48,共阴极LED,+5V,注意:在硬译码连接法下,直接送欲显示的数即可,字形到字形码的转换是用硬件实现的。,思考:如果7448的
23、ABCD接到8051的P14P17,则如何修改程序?,答案,1.3.3多个七段LED数码管的接口,多个数码管与CPU的连接方法有4种:1、静态软译码连接法2、静态硬译码连接法3、动态硬译码连接法4、动态软译码连接法,a,b,c,d,e,f,g,Dp,静态软译码连接法,在静态软译码连接法下,4个LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,Dp,P0.0,P0.1,P0.2,P0.3,89C51,P0.4,P0.5,P0.6,P0.7,COM,a,b,c,d,e,f,g,共阴极LED,Dp,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,COM
24、,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,COM,a,b,c,d,e,f,g,Dp,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,COM,a,b,c,d,e,f,g,1、编程在4个七段LED数码管上显示1234。,MOVP0,#06HMOVP1,#5BHMOVP2,#4FHMOVP3,#66HSJMP$,2、编程在4个七段LED数码管上显示30H,31H,32H,33H单元中存放的1位BCD码的内容。,MOVDPTR,#TABUP0:MOVA,30HMOVCA,A+DPTRMOVP0,A
25、MOVA,31HMOVCA,A+DPTRMOVP1,AMOVA,32HMOVCA,A+DPTRMOVP2,AMOVA,33HMOVCA,A+DPTRMOVP3,ASJMPUP0TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,思考:编程在4个七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。,答案,静态硬译码连接法,在静态硬译码连接法下,4个LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,Dp,P2.4,P2.5,P2.6,P2.7,CO
26、M,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,COM,a,b,c,d,e,f,g,P1.4,P1.5,P1.6,P1.7,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,编程在4个
27、七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。,思考:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中存放的1位BCD码的内容。,+5V,+5V,+5V,+5V,程序,答案,动态硬译码连接法,在动态硬译码连接法下,4个LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS48,+5V,COM,a,b,c,d,e,f
28、,g,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,例:编程在4个七段LED数码管上显示1234。在动态连接法下,数码管公共端均受控。驱动程序的编制充分利用了人眼的视觉滞留效应,循环扫描各数码管,使各数码管不是连续显示,但给人的视觉印象是连续地在显示。每个数码管的显示时间不得低于1ms,不亮的时间不能超过20ms。利用人眼的视觉滞留现象,实现让4个七段LED数码管上不同时显示1234,但人眼看到的效果却是同时显示1234。,1,2,3,4,思考:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中的内容。,程序,答案,动态软译码连接法,在动态软译码连接
29、法下,4个LED数码管与单片机的连接图:,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,P3.0,P3.1,P3.2,P3.3,COM,a,b,c,d,e,f,g,驱动器,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,1,2,3,4,P2.4,P2.5,P2.6,P2.7,例:编程在4个七段LED数码管上显示1234。例:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中的内容。,程序,程序,1.4键盘接口,1.4.1键盘类型1.4.2非编码键盘与单片机的接口1.4.3矩阵非
30、编码键盘与单片机的接口,键盘是单片机控制系统最常用、最简单的输入设备。用户可以通过键盘输入数据或命令,实现简单的人机通信。,1.4.1键盘类型,单片机控制系统所用的键盘有编码键盘和非编码键盘两种。1、编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。2、非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。非编码
31、键盘的键开关可以排列成线性形式或矩阵形式,因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种。,1.4.1键盘类型,单片机控制系统所用的键盘有编码键盘和非编码键盘两种。1、编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。2、非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。非编码键盘的键开关可以排列成线性形
32、式或矩阵形式,因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种。,1.4.1键盘类型,单片机控制系统所用的键盘有编码键盘和非编码键盘两种。1、编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。2、非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。非编码键盘的键开关可以排列成线性形式或矩阵形式,因此非编码键盘
33、有线性非编码键盘和矩阵非编码键盘两种。,1.4.2非编码键盘与单片机的接口,线性非编码键盘的键开关排成一行或一列的形式,它与单片机的接口电路如图所示:,K1,K2,K3,K4,P1.1,P1.0,P1.2,P1.3,89C51,+5V,线性非编码键盘的工作原理:当键未被按下时,与此键相连的I/O线获得高电平;当键被按下时,与此键相连的I/O线获得低电平,单片机只要读取I/O口状态,就可以获取按键信息,识别有无键按下和哪个键被按下。键处理程序如下:MOVP1,#0FFHUP1:MOVA,P1;读I/O口状态ANLA,#0FH;屏蔽无用位CJNEA,#0FH,NEXT1;有闭合键?SJMPUP1N
34、EXT1:LCALLD10ms;延时10ms去抖动MOVA,P1;再读I/O口状态ANLA,#0FHCJNEA,#0FH,NEXT2;有闭合键?SJMPUP1NEXT2:JBP1.0,NEXT3;K1按下?LCALLK1;K1键处理程序NEXT3:JBP1.1,NEXT4;K2按下?LCALLK2;K2键处理程序NEXT4:JBP1.2,NEXT5;K3按下?LCALLK3;K3键处理程序NEXT5:JBP1.3,UP1;K4按下?LCALLK4;K4键处理程序LJMPUP1,例,例某单片机控制系统,P1口接有8发光二极管,P3.0、P3.1、P3.2、P3.3接有4个开关K1、K2、K3、K
35、4,试画出接口电路,并编程使得当K1按下时8个发光二极管全亮;当K2按下时8个发光二极管闪亮;当K3按下时8个发光二极管由左向右点亮;当K4按下时8个发光二极管全灭。,K1,K2,K3,K4,P3.1,P3.0,P3.2,P3.3,89C51,+5V,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,程序,MOVB,#01HMOVP3,#0FFHMOVP1,#00HUP1:MOVA,P3ANLA,#0FHCJNEA,#0FH,NEXT1SJMPUP1NEXT1:LCALLD10msMOVA,P3ANLA,#0FHCJNEA,#0FH,NEXT2SJMPUP1NEX
36、T2:JBP3.0,NEXT3LCALLK1NEXT3:JBP3.1,NEXT4LCALLK2NEXT4:JBP3.2,NEXT5LCALLK3NEXT5:JBP3.3,UP1LCALLK4LJMPUP1,程序,子程序K1:MOVP1,#0FFHRETK2:MOVP1,#0FFHLCALLD2SMOVP1,#00HLCALLD2SRETK3:MOVP1,BLCALLD2SMOVA,BRLAMOVB,ARETK4:MOVP1,#00HRET,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,A,B,C,D,89C51,LT,RBO,RBI,a,b,c,d,e,f,g,P1
37、.4,P1.5,P1.6,P1.7,COM,a,b,c,d,e,f,g,74LS48,共阴极LED,+5V,UP:MOVA,30HSWAPAMOVP1,ASJMPUP,思考:如果7448的ABCD接到8051的P14P17,则如何修改程序?,a,b,c,d,e,f,g,Dp,Dp,P0.0,P0.1,P0.2,P0.3,89C51,P0.4,P0.5,P0.6,P0.7,COM,a,b,c,d,e,f,g,共阴极LED,Dp,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,P1.4
38、,P1.5,P1.6,P1.7,COM,a,b,c,d,e,f,g,Dp,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,COM,a,b,c,d,e,f,g,MOVDPTR,#TABUP0:MOVA,30HANLA,#0FHMOVCA,A+DPTRMOVP0,AMOVA,30HSWAPAANLA,#0FHMOVCA,A+DPTRMOVP1,AMOVA,31HANLA,#0FHMOVCA,A+DPTRMOVP2,AMOVA,31HSWAPAANLA,#0FHMOVCA,A+DPTRMOVP3,ASJMPUP0TAB:DB3FH,06H,5BH,4FH,66H,6D
39、H,7DH,07H,7FH,6FH,思考:编程在4个七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,Dp,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,COM,a,b,c,d,e,f,g,P1.4,P1.5,P1.6,P1.7,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,
40、RBI,a,b,c,d,e,f,g,74LS47,+5V,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,编程在4个七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。UP:MOVP1,30HMOVP2,31HSJMPUP,+5V,+5V,+5V,+5V,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,Dp,P2.4,P2.5,P2.6,P2.7
41、,COM,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,COM,a,b,c,d,e,f,g,P1.4,P1.5,P1.6,P1.7,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,思考
42、:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中存放的1位BCD码的内容。,+5V,+5V,+5V,+5V,UP:MOVA,31HSWAPAORLA,30HMOVP1,A,MOVA,33HSWAPAORLA,32HMOVP2,ASJMPUP,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS48,+5V,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,例:编程在4个七段LED数码管上显示1234。,1,2,3,4,START:MOVP2,#11100001BLCALLD2MSMOVP2,#11010010BLCALLD2MSMOVP2,#10110011BLCALLD2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年吉林省龙井市高二生物下册期末考试检测卷带答案AB卷
- 2025年湖北省赤壁市高二生物下册期末考试考试卷完整参考答案
- 2026年湖南省临湘市高二生物下册期末考试模拟卷【含答案】
- 2026年幼儿园主题课程服装设计师
- 2026年幼儿园体育活动设计课件
- 2026年湖南省沅江市高二生物下册期末考试考试卷及答案(网校专用)
- 企业经销协议管理方案
- 2026年江苏省海门市高二生物下册期末考试模拟卷及参考答案【典型题】
- 2026年幼儿园中班表情歌音乐课件
- 2025年浙江省义乌市高二生物下册期末考试模拟卷附完整答案【典优】
- 无碳小车测试题及答案大全
- 2024年消防考试真题解析试题及答案
- 2025陕西烟草专卖局招聘42人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年农村自建房包工不包料合同
- 车祸伤的救治与护理
- 离婚协议书模板标准电子版分享
- 2023年江苏省无锡市中考政治真题含解析
- 输血科院感培训课件
- 新理性主义完整版本
- 江苏省苏州市2021年中考物理真题试卷(答案+解析)
- 《静电场的高斯定理》课件
评论
0/150
提交评论