13-14(2)微机课16(在片接口及开关量)_第1页
13-14(2)微机课16(在片接口及开关量)_第2页
13-14(2)微机课16(在片接口及开关量)_第3页
13-14(2)微机课16(在片接口及开关量)_第4页
13-14(2)微机课16(在片接口及开关量)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Intel 81C55Intel 81C55芯片包含芯片包含256B256B的的RAMRAM存储器存储器(静态),(静态),RAMRAM的存取时的存取时 间为间为400ns400ns,两个可编程的两个可编程的8 8位并行口位并行口PAPA和和PBPB,一个可编程的,一个可编程的6 6 位并行口位并行口PCPC,以及一个,以及一个1414位的位的减减1 1计数器计数器。 PAPA口和口和PBPB口可工作于基本输入口可工作于基本输入/ /输出方式(同输出方式(同82C5582C55的方式的方式0 0)或)或 选通输入选通输入/ /输出方式(同输出方式(同82C5582C55的方式的方式1 1)。)

2、。 81C5581C55可直接与可直接与AT89C51AT89C51单片机相连,不需要增加任何硬件逻辑单片机相连,不需要增加任何硬件逻辑 电路。电路。由于由于81C5581C55片内集成有片内集成有I/OI/O口、口、RAMRAM和减和减1 1计数器,因而计数器,因而 是是AT89C51AT89C51单片机系统中经常被选用的单片机系统中经常被选用的I/OI/O接口芯片之一。接口芯片之一。 9.3 89C519.3 89C51与可编程与可编程RAM/IORAM/IO芯片芯片81C5581C55的接口的接口 ( (简介简介) ) P.151P.151 9.3.1 81C559.3.1 81C55芯

3、片介绍芯片介绍 ( (简介简介) ) 图图9-11 图图9-12 P0P0 P.152P.152 片选译码片选译码 RDRD WRWR ALEALE A8A8 2.5 AT89C512.5 AT89C51单片机的单片机的在片在片并行并行I/O端端口口 4 4个个8 8位并行位并行I/O端口端口(Port),(Port),记作记作P0、P1、P2、P3。复位值复位值FFHFFH 2.5.2 2.5.2 P1端口:端口:准双向准双向I/O口,字节地址口,字节地址90H90H,可可位寻址位寻址 P.22P.22 图图2-7 2-7 P1口位电路结构口位电路结构 P1P1为为准双向口准双向口:( (有

4、条件地实现有条件地实现双向的接口双向的接口) ) I/O分配:分配:可按位分配作输入或输出用可按位分配作输入或输出用 作输出:作输出:漏极开路结构,场效应管导通输漏极开路结构,场效应管导通输 出出00,截止则由上拉电阻实现输出,截止则由上拉电阻实现输出11 作输入:作输入:须事先向该位写须事先向该位写11,令,令T1场场 效应管截止,使得读引脚的电平取决外电效应管截止,使得读引脚的电平取决外电 路路 执行执行“读读- -修改修改- -写写”指令指令 时时 执行执行单纯单纯读端口指令时读端口指令时 T1 20K20K 写端口时写端口时 若若P1.4P1.4P1.0P1.0作输入用作输入用, ,其

5、它其它3 3端作输出用:端作输出用: 初始化执行初始化执行 MOV P1,#1FH;MOV P1,#1FH;?1 11111 1111 B, B,向那向那5 5位写位写1;1; 此后读此后读P1P1口依然是口依然是8 8个引脚上的电平逻辑值个引脚上的电平逻辑值; ; 此后输出到此后输出到P1P1口的口的8 8位码先位码先 ORL A,#1FH,ORL A,#1FH,保持那保持那5 5位写位写1;1; “读读- -修改修改- -写写”指令中依然读的是端口锁存器的值。指令中依然读的是端口锁存器的值。 对端口对端口P0P3的的“读读-修改修改-写写”指令:指令: 此类指令为:先此类指令为:先读入读入

6、端口锁存器上的端口锁存器上的8 8位数据位数据,做相应的运,做相应的运 算修改,结果再存回该端口。算修改,结果再存回该端口。 2.5.1 2.5.1 P0端口端口 l准双向准双向I/O口,字节地址口,字节地址80H80H,可位寻址,可位寻址 l8 8位位地址地址/ /数据数据复用总线复用总线, ,A0A7输出驱动输出驱动, ,D0D7双向双向数据传输数据传输 图图2-6 2-6 P0P0口某一位的位电路结构口某一位的位电路结构 用作地址用作地址/ /数据复用总线时数据复用总线时: :( (访问片外访问片外) ) A0A7输出:输出:控制控制=1, 0/1=1, 0/1电平电平全驱动全驱动 D0

7、D7写:写:控制控制=1, 0/1=1, 0/1电平电平全驱动全驱动 D0D7读:读:控制控制=0,=0,T1.T2截止截止, ,读入读入 用作通用用作通用I/O口时:口时:( (不作总线用时不作总线用时) ) 为为准双向口准双向口( (类同类同P1P1口口) ),T2截止截止 且无内置上拉电阻,作输出用时须且无内置上拉电阻,作输出用时须 外配上拉电阻外配上拉电阻 T2 T1 0 0 1 1 “读读- -修改修改- -写写”指令指令 单纯读端口指令单纯读端口指令 写端口写端口 P.20P.20 2.5.3 2.5.3 P2口口 l准双向准双向I/O口,字节地址口,字节地址A0H,可位寻址,可位

8、寻址 l高高8 8位地址总线,位地址总线,A A8 81515输出驱动输出驱动 图图2-8 2-8 P2P2口某一位的位电路结构口某一位的位电路结构 用作地址总线时:用作地址总线时: ( (CPU访问片外时访问片外时) ) A8A15输出:输出:控制控制=1=1,开漏极,开漏极驱动驱动 用作通用用作通用I/O口时:口时:( (不作总线用时不作总线用时) ) 控制控制=0=0,为,为准双向口准双向口( (类同类同P1口口) ) 0 01 1 20K20K T1 “读读- -修改修改- -写写”指令指令 单纯读端口指令单纯读端口指令 写端口写端口 P.22P.22 2.5.3 2.5.3 P3口口

9、 l准双向准双向I/O口,字节地址口,字节地址B0H,可位寻址,可位寻址 l第二功能第二功能 图图2-9 2-9 P3口某一位的位电路结构口某一位的位电路结构 用作第二功能时:用作第二功能时:( (启用第二功能的端启用第二功能的端) ) 第二功能输出端:第二功能输出端:Q Q预写预写1,1,相与相与, ,开漏极驱动开漏极驱动 第二功能输入端:第二功能输入端:Q Q预写预写1,1,令令T1截止截止, ,输入输入 用作通用用作通用I/OI/O口时:口时:( (不启用第二功能的端不启用第二功能的端) ) 为为准双向口准双向口( (类同类同P1口口) ) T1 “读读- -修改修改- -写写”指令指令

10、 单纯读端口指令单纯读端口指令 写端口写端口 P.23P.23 实验板实验板P1P1口驱动口驱动L0L0L7L7电路电路 /P3.2 /P3.4 实验板扩展实验板扩展82C55A(U5)82C55A(U5)驱动按键、开关及驱动按键、开关及LEDLED电路电路 P2.1/A9P2.1/A9 FDFCHFDFCH FDFEHFDFEH FDFDHFDFDH 控制口控制口 FDFFHFDFFH 方式字方式字:8BH=10001011B:8BH=10001011B U5 82C55AU5 82C55A P1P1口驱口驱L0L0L7L7 L8L8L15L15 单按键单按键 PB0PB0PB7 电平开关电

11、平开关 SW0SW0SW7 地址分析:地址分析:1111 111111 110 01 1111 111 1111 110000 - FDFCH A - FDFCH A口口 1111 11 1111 110 01 11111 1111 11110101 - FDFDH B - FDFDH B口口 1111 11 1111 110 01 1111 111 1111 111010 - FDFEH C - FDFEH C口口 1111 11 1111 110 01 1111 111 1111 111111 - FDFFH - FDFFH 控制口控制口 L0L0L7L7 LOOP:LCALL CZ ;L

12、OOP:LCALL CZ ;调用显示内容送显缓子程序调用显示内容送显缓子程序( (拆字拆字) () (时分秒拆送右时分秒拆送右6 6位位) ) LCALL KEY LCALL KEY ; ;调用键盘扫描子程序调用键盘扫描子程序( (扫描到按键则左第扫描到按键则左第3 3位显键号及位显键号及-)-) LCALL DISP ;LCALL DISP ;调用显示更新子程序调用显示更新子程序( (动态驱动动态驱动8 8位数码管一遍位数码管一遍, ,约约8mS)8mS) LCALL ADSUB ; LCALL ADSUB ;调用调用A/DA/D子程序子程序( (采集采集AN1AN1输入电压的输入电压的A/

13、DA/D数据送左数据送左2 2位显示位显示) ) LCALL DASUB ; LCALL DASUB ;调用调用D/AD/A子程序子程序 ( (驱动驱动DAC0832DAC0832输出周期约输出周期约2.5S2.5S的锯齿波的锯齿波) ) LCALL PBLCALL PB ; ;调用独立按键调用独立按键PB0PB07 7的检测且对应驱动的检测且对应驱动L0L0L7L7灯子程序灯子程序 LCALL SWITCH ;LCALL SWITCH ;调用电平开关调用电平开关SW0SW07 7的检测且对应驱动的检测且对应驱动L8L8L15L15灯子程序灯子程序 SJMP LOOP ;SJMP LOOP ;

14、反复循环反复循环主工作流程主工作流程 【主工作程序主工作程序 】 TESTTEST 2013.ASM 2013.ASM 开关量控制的相关程序设计开关量控制的相关程序设计 【独立按键独立按键PB0-7PB0-7的检测且对应驱动的检测且对应驱动L0-7L0-7灯子程序灯子程序 】 TESTTEST 2013.ASM 2013.ASM 开关量控制程序的设计开关量控制程序的设计 【输入输入】 【决策决策】 【输出输出】 压下按键压下按键00 0LED0LED亮亮 主工作流程反复调用,每约主工作流程反复调用,每约10mS10mS调用一次调用一次 【电平开关电平开关SW0-7SW0-7的检测且对应驱动的检

15、测且对应驱动L8-15L8-15灯子程序灯子程序 】 TESTTEST 2013.ASM 2013.ASM 开关量控制程序的设计开关量控制程序的设计 【输入输入】 【决策决策】 【输出输出】 开关向下开关向下- 00 0-LED0-LED 亮亮 主工作流程反复调用,每约主工作流程反复调用,每约10mS10mS调用一次调用一次 开关量输入及其驱动程序的设计例开关量输入及其驱动程序的设计例 机械开关触点通断时的抖动现象及影响机械开关触点通断时的抖动现象及影响 开关、按钮信号输入电路设计:开关、按钮信号输入电路设计: 开关量消除抖动的硬件方法:开关量消除抖动的硬件方法:( (电容滤波法、电容滤波法、

16、RSRS触发器消抖电路触发器消抖电路) ) 开关量的输入及动作状态判别的程序方法:开关量的输入及动作状态判别的程序方法: 开关量消除抖动的软件方法:开关量消除抖动的软件方法:( (延迟确认法、表决法、延迟确认法、表决法、滚动滤波法滚动滤波法) ) TESTTEST 2013.ASM2013.ASM中增加中增加PB0PB0、 、PB1PB1、PB2PB2作为时、分、秒步进式调作为时、分、秒步进式调 校按钮的校时功能:校按钮的校时功能: PB0PB0PB7PB7输入并且消抖动;输入并且消抖动; 判别判别PB0PB0动作并执行时动作并执行时+1+1调整; 调整; 判别判别PB1PB1动作并执行分钟动

17、作并执行分钟+1 +1调整;调整; 判别判别PB1PB1动作并执行秒钟动作并执行秒钟+1 +1调整。调整。 (维持(维持1 1、下跳沿、维持、下跳沿、维持0 0、上跳沿、上跳沿 4 4种动作状态的检测判别)种动作状态的检测判别) ? 触点抖动 PBPB口口8 8个个开关量输入并消抖动子程序开关量输入并消抖动子程序的设计的设计 ( (滚动滤波法滚动滤波法) ) (主流程每(主流程每6 610mS10mS调用一次,后续子模块可利用经本子程序消抖后的各开调用一次,后续子模块可利用经本子程序消抖后的各开 关量关量前态、新态信息,进行开关动作判断前态、新态信息,进行开关动作判断) XDPB:XDPB:M

18、OV MOV 2FH2FH,2EH ;,2EH ;PBPB口输入并消抖子程序口输入并消抖子程序。原新态存为。原新态存为前态前态 MOV DPTR,#0FDFDH ; MOV DPTR,#0FDFDH ;输入输入PBPB0 07 7新电平值新电平值 MOVX A,DPTR MOVX A,DPTR MOV MOV 2EH2EH,A,A ; 存为存为新态新态 XDR: RETXDR: RET . . MOV 2DH,2CH ;MOV 2DH,2CH ;前前4 4次输入的电平值推至次输入的电平值推至2AH2AH2DH2DH单元单元 MOV 2CH,2BH MOV 2CH,2BH MOV 2BH,2AH

19、 MOV 2BH,2AH MOV 2AH,29H MOV 2AH,29H 存存29H29H单元单元 MOV 29H, AMOV 29H, A MOV A,2DH ; MOV A,2DH ;比较近比较近5 5次输入的电平值不一致则次输入的电平值不一致则新态照旧新态照旧 CJNE A,2CH,XDR CJNE A,2CH,XDR CJNE A,2BH,XDR CJNE A,2BH,XDR CJNE A,2AH,XDR CJNE A,2AH,XDR CJNE A,29H,XDR CJNE A,29H,XDR 近近5 5次输入的电平值一致则次输入的电平值一致则 ;29H29H2DH2DH单元无须使用可

20、位寻址单元单元无须使用可位寻址单元 总初始化还应增加:输入总初始化还应增加:输入PB0PB07 7值赋给值赋给2EH2EH、2FH2FH单元作为初值单元作为初值 TESTTEST 2013.ASM2013.ASM主工作流程插入主工作流程插入 LCALL XDPB LCALL XDPB 指令行,每约指令行,每约10mS10mS反复调用反复调用 2EH2EH单元维持原值单元维持原值 【每每6 610mS10mS检测一次就具有一定的消抖功效检测一次就具有一定的消抖功效】 在在TESTTEST 2013.ASM2013.ASM中添加:中添加: PB0PB0、PB1PB1、PB2PB2作为时、分、秒步进式调校按钮的子模块程序作为时、分、秒步进式调校按钮的子模块程序 : TPB:JNB 2FH.0 ,LPB1 ; TPB:JNB 2FH.0 ,LPB1 ;时钟调校子程序。判时钟调校子程序。判PB0PB0下降沿下降沿 JB 2EH.0 ,LPB1 JB 2EH.0 ,LPB1 MOV A,3CH MOV A,3CH ; ;小时单元按小时单元按BCDBCD码模码模2424加加1 1 ADD A ,#01H ADD A ,#01H DA ADA A MOV 3CH ,AMOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论