第8章 AT89C51系统接口技术.ppt_第1页
第8章 AT89C51系统接口技术.ppt_第2页
第8章 AT89C51系统接口技术.ppt_第3页
第8章 AT89C51系统接口技术.ppt_第4页
第8章 AT89C51系统接口技术.ppt_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章AT89C51系统介面技术,8.1键盘介面技术8.2 LED显示器介面技术8.3 A/D转换器和介面技术8.4 D/A转换器和介面技术8.5步进电动机和微控制器接口8.6实验练习和事故问题,8.1键盘接口技术,8.1.1行热式非编码键盘工作原理决定因素键盘矩阵键盘,图8-1中所示例如,22行结构可以配置4个键的键盘,44行结构可以配置16个键的键盘。矩阵键盘功能可以在键数较多的情况下节省I/O通信端口线。图8-1矩阵键盘和AT89C51介面连接图表,图8-2键闭合和分离时电压抖动,概括地说,非编码键盘时,键处理程序必须具有四个茄子功能:(1)确定键盘上方是否有键击。(2)消除键的机械抖动

2、。(3)找到按键的键码。(4)关闭一次,仅执行一次密钥功能。8.1.2微控制器未编码键盘控制方法1。查询方法是指微控制器完成后的可用时间、键盘扫描子节目调用、键盘输入要求响应,以及运行关键功能节目时CPU不再响应键输入要求。示例8.1根据图8-1读取行键盘键码,并将键码存储在内部RAM 32H单元中。在图中,P1.4P1.7用于控制行,P1.0P1.3用于控制行。行和列线被拉在电阻上,支撑5 V,不按键时,钳制为高平状态。发送扫描程序以确定键码,如下所示:(1)从列行输出0,然后读取P1通信端口值并将其存储在内部RAM 30H单元格中。(2)在行中输出0,然后读取P1通信端口值并将其存储在内部

3、RAM 31H单元中。(3)将30H的低4位和31H的高4位值添加到加法器A中。(4)最后确定累加器A的值。如果累加器A的数据均为1,则表示不按任何键。否则,说明按下了键,累加器A的数据是按下键的键值(程序反转累加器A的方法是判断是否使用JNZ命令按下了键)。图中圆圈指向的密钥的密钥值为10111110B。密钥扫描仪如下3360 boad:lcall boadd jnz bo ad1;不使用密钥切换到boad lcall delay:调整延迟子程序ajmp boad。继续检查键盘boad 1:lcall delay;删除密钥抖动(跳过延迟子程序)lcall boadd确保按下了Jnz bo a

4、d2 lcall delay sjmp boad键。转盘扫描,boad2: CPL a mov32h,a;关键boad 3:lcall delay lcall boadd jnz boad 3;等待键释放B2: ret。归还;归还。导入关键点子节目,boadd: movp1,# 0fh换行为0 MOV A、P1 MOV 30H、A MOV P1、# 0f0h。配置线为0 MOV A、P1 MOV 31H、A ANL 30H、# 0fh行值,MOV A,30H ANL 31H,# 0f0h行值ADD A,31h行值列值CPL a;A 0按下无键RET,2 .定时扫描工作方式定时扫描工作方式利用微

5、控制器内部计时器生成定时中断,在CPU响应中断后进行键盘扫描,在有按键按压的情况下转入关键功能处理程序。定时扫描基本上是中断式的,但其工作方式与定时扫描键盘、中断式键盘处理、硬件电路编程扫描相同。3 .中断工作方式微控制器应用程序系统工作不需要经常输入键。因此,无论是编程工作方式还是按时工作方式,CPU往往处于空扫描状态。图8-3是使用AT89C51牙齿中断扫描实现的28矩阵键盘硬件介面电路之一。利用图8-3中断扩展28键盘电路图。通过前面的原理分析,完成键盘管理的程序主要有主服务程序和中断服务程序,主程序主要完成初始化和密钥处理任务,中断服务程序主要完成键盘扫描和密钥读取任务。图8-4中显示

6、了相应的过程流程图(INT1中断流程图与INT0类似,稍有不同)。,程序如下:org0000h ljmp begin旧主节目org 0003h ljmp wzd0外部中断0节目org0013h ljmp wzd1外部中断1节目,BEGIN:ORG 0100H MOV SP,# 60h堆栈MOV R1,# 00h设置R1存档密钥setb it1将INT0,INT1设定为边以触发setb it0 setbea。开放中断SETB EX0 SETB EX1 MOV P1、#00H、密钥处理程序(略)其他主节目(略)wzd 0:push PSW;现场保护push a clr ex0禁用中断int 0 l

7、call delay。调整延迟程序以摇动JNB P3.2、WZD01。再确认一下INT0中断,是setbex0吗?否,恢复现场结束中断POP A POP PSW RETI WZD01:MOV A,# 01h设置S1关键点的关键点值为1 MOV P1,# 0feh。扫描P1.0 JNB P3.2,密钥R1;S1键会移动,Inc a;不是S1键,而是关键值,1 MOV P1,# 0fdhP1.1扫描,以下是与P1.0相似的JNB P3.2、KEYR1 INC A MOV P1、#0FBH JNB P3.2、KEYR1 INC A MOV P1、#0F7H JNB P3.2、KEYR1 INC A、

8、MOV P1清除中断徽标(因为可以在扫描中创建IE0位置)SETBEX0开放中断int 0 pop a;返回现场PSW reti恢复中断,wz D1:外部中断1程序类似于中断0(有点)delay:延迟节目(略),图8-4中断扩展键盘流程图(A)主节目流程图(b) INT0中断服务节目流程图,8.2 LED显示器介面技术,8.2.1 LED显示屏结构原理LED显示屏显示字段(公用阴极和总阳极)。图8-5显示了8个指示灯数字显示器图和原理图。图8-5(a)是八段共阴极LED显示器,同时使用八个发光二极管阴极。在某个发光二极管牙齿亮的时候,在那个发光二极管的阳极上放平就行了。图8-5(b)是八段共阳

9、极LED显示器(八段共阳极LED),与阴极相反。LED显示器也有7段,比8段LED少一个发光二极管DP,其他结构与8段LED完全相同。图8-5 7段LED显示器(a)总语音;(b)公养;(C)针脚配置,图8-6字形代码数据格式,表8-1共阴极LED数字管道字形表,8.2.2 LED显示器显示方法1静态显示方法,您的总音或总阳极接地在一起,或选择5 V,每段线(如ADD图8-7所示,它是4位静态,图8-7 4位LED静态显示器电路图表,2 .为了克服动态静态显示的缺点,为了节省I/O通信端口线,人们经常使用动态显示。所有数码管的A、B、C、D、E、F、G、sp引线都由一个8位I/o端口控制,共同

10、的一端由另一个I/o端口控制。应用时交替发送每个LED的字形代码和位代码,使用人的视觉暂挂现象显示您的文字。图8-8是8位LED动态显示器电路图。图8-8位LED动态显示器电路图表,示例8.2根据图8-9制作程序显示内部RAM 50H57H单元的数据。图8-9 AT89C51和动态显示器LED介面连接图表,图8-9是使用8255A的8位动态显示器介面电路。图中,LED具有8段共声数码管、A通信端口输出字形代码、B通信端口输出位选择代码、切片选择端直接接地。图中所示的连接显示,8255A的A通信端口地址为FFCH,B通信端口地址为FFFDH,控制通信端口地址为FFFFH。a,B通信端口都是输出,

11、所以控制词是80H。以下是动态显示内部RAM 50H57H单元数据的子程序:,DIR:MOV A,# 1000000b设定8255的工作方式。a,B端口为输出MOV DPTR,# 0FFFFFH。8255的命令地址为DPTR MOVX DPTR、A MOV R0、# 50h50H57H是显示器缓冲区MOV R3,# 7fh。第一个位码MOV A,R3,scan: mov dptr,# 0 fffdhb通信端口MOVX DPTR,a;位码b通信端口MOV A,r0;显示数据MOV DPTR,# tab字形代码表第一个地址MOVC A,a dptr字形代码MOV DPTR,# 0ffcha通信端口

12、、MOVX DPTR、a;字形代码a通信端口a call dl1ms延迟1 ms子程序Inc r0曹征;指向以下显示数据单元MOV A,R3 JNB ACC.0,ED:8位显示器完成,RR a结束;指向以下MOV R3,a ajmp scan:继续显示下一个,ed: rettab: db3fh,06H,5BH,4FH,66h。总音调0F的字体代码表DB 6DH、7DH、07H、7FH、6fh dl1ms: movr7、# 01h延迟1毫秒子节目dl0: movr6,# 0ffh dl1: djnz R6、DLI DJNZ R7、DLO RET、8.3 A/D转换器和介面技术,8.3.1 A/D

13、转换器概述为了满足大规模集成电路快速增长的今天各种检测和控制任务的需要,各种结构和各种性能的AA/D转换器的种类很多,但目前广泛使用的是连续比较式和二重积分式。8.3.2 A/D转换器的主要规格A/D转换器的主要规格如下:(1)分辨率:表示对输入模拟量更改的敏感度。习惯性地以输出二进制数量级或BCD代码位数显示。(2)转换精度:表示与数字输出量相对应的模拟输入量的实际值和理论值之间的差异。精度有两种茄子表示:绝对精度和相对精度。(3)转换速度:重复资料转换的速度,即每秒转换数,完成A/D转换所需的时间(包括稳定),是转换速度的倒数。8.3.3 AT89C51微控制器和ADC0809介面应用节目

14、1。ADC0809内部结构和特性ADC0809是8位连续比较A/D转换器,包括8位A/D转换器、8向模拟开关、3态输出锁和地址解码器。可以转换8 # 05V模拟输入信号。输出量具有三状态锁定缓冲区,可以直接连接到微控制器数据总线。图8-10是ADC0809的内部图。图8-10 ADC0809内部贴图,2。ADC0809针脚功能图8-11是ADC0809的针脚图,针脚功能如下:(1) IN0IN 7: 8模拟输入的输入。(2) 2-12-8: 8位数字输出通信端口,2-1是最高有效位,2-8是最低有效位。(3) START:开始控制输入,加上脉冲,A/D转换立即开始。图8-11 ADC0809针

15、脚图,(4) ALE:地址锁定控制结束。(5) EOC:转换结束信号输出端。(6) OE:输出允许控制端。(7) CLK:时钟信号输入部。(8) REF(),REF():参考电压输入,一般REF()连接VCC,REF()连接GND。(9) ADDA、ADDB、addc: 8位模拟交换机的3位地址选择输入端口用于选择表8-2中所示的相应输入通道。(10) VCC和GND:电源和接地端子。表8-2 8模拟交换机菜单,3AT89C51和ADC0809介面ADC0809和AT89C51之间有三种连接茄子方法(查询方法、中断方法和计时方法)的牙齿。应用时使用什么方式,要根据具体情况选择。图8-12是微控制器AT89C51和ADC0809的硬件电路图。牙齿连接图可以作为中断和查询方法使用,也可以通过软件编程实现这两种茄子方法。,图8-12 AT89C51和ADC0809中的介面图,示例8.3分别进行8次模拟信号交替采样,然后将结果导出到以30H开头的数据存储。程序包括:主要:MOVR1,# 30H设置数据区域第一个MOV DPTR,# 0fff8h。指向IN0 MOV R7,# 08h。通道数loop设置:movx dptr,A/D转换开始MOV R6,# 05h软件延迟DLAY:NOP DJNZ R6、DLAY、wait: jnb p3.2、wait;EOC高、高查询

温馨提示

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

评论

0/150

提交评论