《片机第4章输入输出接口.ppt》由会员分享,可在线阅读,更多相关《片机第4章输入输出接口.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 输入、输出接口P0P3 华中科技大学华中科技大学 生命科学与技术学院生命科学与技术学院 2022/10/281概述第一节 P0P3端口的功能和内部结构第二节 编程举例第三节 用并行口设计LED数码显示器和键盘电路 2022/10/282 MCS-51单片机有P0、P1、P2、P3四个8位双向IO口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,共32根口线,用于位控制十分方便。P0口为三态双向口,能带8个TTL电路。P1、P2、P3门为准双向口,负载能力为4个TTL电路。2022/10/283P0口(PP):该端口为8位准双向口,负载能力为8高LSTTL负载。P1口(PP):
2、8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。P2口(PP):8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(PP):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。2022/10/2845.1 P0P3端口的功能和内部结构端口的功能和内部结构P3 口的第二功能2022/10/285例:设计一电路,监视某开关K,用发光二极管LED显示开关状态,如果开关合上,LED亮;开关打开,LED熄灭。分析:设计电路如图5-2(a)如示。开关接在P口线,LED接P口线,当
3、开关断开时,P为+5V,对应数字量为“1”,开关合上时,P电平为0V,对应数字量为“0”,这样就可以用JB指令对开关状态进行检测。LED正偏时才能发亮,按电路接法,当P 输出“1”时LED正偏而发光,当P输出“0”,LED的两端电压为0时熄灭。2022/10/286 5.2 编程举例编程举例编程如下:CLR P1.0 ;使发光二极管灭AGA:;对输入位写“1”JB P1.1,LIG ;开关开,转LIGSETB P1.0 ;开关合上,二极管亮SJMP AGALIG:CLR P1.0 ;开关开,二极管灭 SJMP AGA2022/10/287例:如图例:如图53所示,所示,P P接接4个发光二极管
4、个发光二极管LED,P P接接4个开关,编程将开关的状态反映到发光二极管上。个开关,编程将开关的状态反映到发光二极管上。2022/10/288 汇编语言编程如下:汇编语言编程如下:ORG 0000HMOV P1,#0FFH;高4位LED全灭,低4位输入线送“1”ABC:MOV A,P1;读P1口引脚开关状态,并送入A SWAP A ;低4位开关状态换到高4位 ANL A,#0F0H;保留高4位 MOV P1,A ;从P1口输出 ORL P1,#0FH ;高4位不变,低4位送“1”,准备下一轮 ;读开关 SJMP ABC ;循环执行,反复调整开关状态并执行观 ;结果2022/10/289COM
5、为公共点,根据内部发光二极管的接线形式,可分成共阴极型和共阳极型。2022/10/2810 5.3 用并行口设计用并行口设计LED数码显示器和键盘电路数码显示器和键盘电路LED字形显示代码表字形显示代码表2022/10/2811LED 数码管的接口:静态接口:固定显示方式,无闪烁,其电路可以采用一个并行口接一个数码管,数码管的公共端按共阴或共阳分别接地或Vcc。动态接口:采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象。2022/10/2812例:如图例:如图57是接有是接有5个共阴极数码管的动态显示个共阴极数码管的动态显示接口电路,用接口电路,用
6、74LS373接成直通的方式作为驱动电接成直通的方式作为驱动电路路,阴极用非门,阴极用非门74LS04反向门驱动,字形选择由反向门驱动,字形选择由P1口提供,位选择由口提供,位选择由P3口控制。当轮流输出口控制。当轮流输出1时,时,5个数码管轮流显示。接开关,当开关打向位置个数码管轮流显示。接开关,当开关打向位置“1”时,显示时,显示“12345”字样;当开关打向位置字样;当开关打向位置“2”时,显时,显示示“HELLO”字样。字样。2022/10/2813汇编程序编程如下:ORG 0000H ;清显示 MOV P3,#0 JB P1.7,DIR1 ;检测开关 MOV DPTR,#TAB1;开
7、关打向1,置“12345”字形表头地址 SJMP DIRDIR1:MOV DPTR,#TAB2;开关打向2,置“HELLO”表头地址DIR:MOV R0,#0 ;R0存字形表偏移量 MOV R1,#01 ;R1置数码表位选代码NEXT:MOV A,R0MOVC A,A+DPTR ;查字形码表1MOV P1,A ;送P1口输出2022/10/2814MOV A,R1MOV P3,A ;输出位选码ACALL DAY ;延时INC R0 ;指向下一位字形RL A ;指向下一位MOV R1,ACJNE R1,#20H,NEXT;5个数码管显示完否SJMP TESTDAY:MOV R6,#20;延时子程序,在focs=6MHz时 ;可延时20msDL2:MOV R7,#7DHDL1:NOP NOP 2022/10/2815DJNZ R7,DL1DJNZ R6,DL2RETTAB1:db 06H,5BH,4FH,66H,6DH;“15”字形码TAB2:db 76H,79H,38H,38H,3FH;“HELLO”的字形码END2022/10/2816