版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章 应用系统配置及接口技术
前向、后向、人机通道系统框图8.1 人-机通道配置与接口技术8.1.1键盘接口及处理程序编码键盘:键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值非编码键盘:靠软件识别的键盘*用得多的是非编码键盘按键特性硬件去抖动和软件去抖动软件方法:(用于键较多的场合。)检测有键闭合,延时10ms~20ms左右,再检测,仍保持闭合,则确认为有键按下。硬件方法:利用RS触发器,用于键较少的场合。一、键盘结构
1、独立式非编码键盘接口及处理程序程序:
MOV A,#0FFH MOV P1,A MOV A,P1 ;键状态输入
JNB ACC.0,P0F ;0号键按下转
JNB ACC.1,P1F JNB ACC.2,P2F JNB ACC.3,P3F JNB ACC.4,P4F JNB ACC.5,P5F JNB ACC.6,P6F JNB ACC.7,P7F LJMP START ;无键按下返回P0F: LJMPPROG0P1F: LJMP PROG1……..PROG0:……
LJMP START PROG1:……
2、行列式键盘接口及工作原理识别键的两种方法:行(或列)扫描法线反转法例:右图(列扫法)向列线输出全0,读入行线电平,若有键按下,再逐列扫描,获得相应键键值二、单片机对非编码键盘扫描的控制方式
常用行列矩阵式非编码键盘的控制有三种方式:1、程序控制扫描方式,即查询方式。2、定时扫描方式。3、中断扫描方式。参见P148图8-10应用举例: 程序控制扫描方式及处理程序,硬件连接图如下。32个键对应键值如下:
(按PA,PC口二进制码,为任意值)FEEFDEFBEE7EEFEDFEBFE7FEFEDFDDFBDE7DEFDDFDBFD7FDFEBFDBFBBE7BEFBDFBBFB7FBFE7FD7FB7E77EF7DF7BF77F7键值到键号的转换:闭合的键号=行首键号+列号键盘扫描子程出口:(A)=键号 对8155的初始化在主程序中完成,设PA为基本输出,PC为基本输入。
KEY1: ACALL IfPressKey ;判断有无键按下
JNZ KeyDebouce ;有,(A)0 AJMP KEY1 KeyDebouce:ACALLT12MS ;delay12ms ACALL IfPressKey ;再判断
JNZ ScanKeypad ;有,逐列扫描键盘
AJMP KEY1 Scankeypad:MOV R2,#0FEH ;首列扫描字
MOV R4,#00H ;首列号
LK4: MOV DPTR,#7F01H ;PA口地址
MOV A,R2 MOVX @DPTR,A ;列扫
INC DPTR INC DPTR ;PC口地址
MOVX A,@DPTR ;读入行
JB ACC.0,LONE ;第0行无键按下转
MOV A,#00H ;行首键号
AJMP LKP ;转求键号 LONE: JB ACC.1,LTWO MOV A,#08H AJMP LKP LTWO: JB ACC.2,LTHR MOV A,#10H AJMP LKP LTHR: JB ACC.3,NEXT MOV A,#18H LKP: ADD A,R4;行首键号+列号
PUSH ACC LK3: ACALL IfPressKey;等待键释放
JNZ LK3 POP ACC ; 键号送A RET NEXT: INC R4 ;指向下一列
MOV A,R2 ;判断8列扫描完否?
JNB ACC.7,KND; 完,返回 RL A ;否则变为下列扫描字
MOV R2,A AJMP LK4 ;转下列扫描KND: AJMP KEY1IfPressKey: MOV DPTR,#7F01H ;PA口地址
MOV A,#00H ;送全扫描字
MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH RETT12MS: MOV R7,#18H ;12ms延时子程TM: MOV R6,#0FFHTM6: DJNZ R6,TM6 DJNZ R7,TM RET三、键操作及功能处理MOV DPTR,#JMPTABCLR CRLC AJMP @DPTR+A
JMPTAB: AJMP AAA AJMP BBB AJMP CCC
…….8.1.2LED显示器接口及显示程序一、LED显示器结构原理二、LED显示器接口及显示方式
LED有静态(占较多I/O口线)和动态(需不断扫描)两种显示方式。三、LED显示器与8155接口及显示子程序动态显示:扫描每位LED的间隔不能超过20ms,并注意保持延时一段时间。DIS: MOV R0,#7EH;显示缓冲区
MOV R2,#01H;位码
MOV A,R2LP0: MOV DPTR,#7F01H MOVX @DPTR,A INC DPTR MOV A,@R0 ADD A,#0DH MOVC A,@A+PC;段码
MOVX @DPTR,A ACALL D1MS DEC R0 MOV A,R2 JB ACC.5,LP1 RL A MOV R2,A AJMP LP0LP1: RETDB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71H,40H,00HD1MS: MOV R7,#02HDL: DJNZ R6,DL1DL1: DJNZ R7,DL RET8.1.3键盘/LED显示器与8155接口及键盘扫描子程序KD1: MOV A,#00000011B ;PA,PB为输出方式,PC为输入方式
MOV DPTR,#7F00H MOVX @DPTR,AKEY1: ACALL IfPressKey JNZ LK1 ACALL DIS ;调用显示子程
AJMP KEY1LK1: ACALL DIS ;调用显示子程并delay12ms ACALL DIS ACALL IfPressKey ;逐行扫描键盘
JNZ ScanKeypad JNZ DIS AJMP KEY1Scankeypad:MOV R2,#0FEH MOV R4,#00HLK4: MOV DPTR,#7F01H MOV A,R2 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.0,LONE MOV A,#00H AJMP LKPLONE: JB ACC.1,LTWO MOV A,#08H AJMP LKPLKP: ADD A,R4;行首键号+列号
PUSH ACCLK3: ACALL IfPressKey;等待键释放
JNZ LK3 POP ACC RETNEXT: INC R4 MOV A,R2 JNB ACC.7,KND RL A MOV R2,A AJMP LK4KND: AJMP KEY1IfPressKey:MOV DPTR,#7F01H MOV A,#00H MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH RETLTWO: JB ACC.2,LTHR MOV A,#10H AJMP LKPLTHR: JB ACC.3,NEXT MOV A,#18H8.1.4串行口控制的键盘/LED显示器接口电路KEY: MOV A,#00H MOV SBUF,AKL0: JNZ TI,KL0 CLR TIKL1: JNB P1.0,PK1 JB P1.1,KL1PK1: ACALL D10MS JNB P1.0,PK2 JB P1.1,KL1PK2: MOV R7,#08H MOV R6,#FEH MOV R3,#00HPL5: MOV A,R6 MOV SBUF,AKL2: JNB TI,KL2 CLR TI JNB P1.0,PK4 JNB P1.1,PK5 MOV A,R6 RL A MOV R6,A INC R3 DJNZ R7,PL5 RET
PK5: MOV R4,#08H AJMP PK3PK4: MOV A,#00H MOV SBUF,AKL3: JNB TI,KL3 CLR TIKL4: JNB P1.0,KL4 JNB P1.1,KL4 MOV A,R4 ADD A,R3 SUBB A,#0AH JNC KL6 MOV DPTR,#TABL ADD A,#0AH MOVC A,@A+DPTR MOV R0,60H MOV @R0,A INC R0 CJNE R0#60H,KD MOV 60H,#58H SJMP KD1KD: MOV 60H,R0KD1: ACALL LED RETKL6: MOV B,#03H MUL AB MOV DPTR,KTAB JMP @A+DPTRKTAB: LJMP K1 LJMP K2…..TABL: DB C0H,F9H,A4H,B0H DB 99H,92H,82H,F8H DB 80H,90HLED: SETB P1.2 MOV R7,#08H MOV R0,#58HLED1: MOV A,@R0 MOV SBUF,ALED2: JNB TI,LED2 CLR TI INC R0 DJNZ R7,LED1 CLR P1.2 RETA/D、D/A转换在单片机系统中的应用示意图MCS-51D/A转换器控制执行机构A/D转换器多路开关传感器1传感器2传感器n控制执行机构温度、压力、流量等信号模拟信号模拟信号数字信号被控实体8.2单片机测控系统前向通道配置--传感器及小信号放大电路传感器模拟小信号放大8.3前向通道中的A/D转换器及接口技术
8.3.1逐次逼近型A/D转换器及接口技术
一、ADC0809A/D串换器芯片ADC0809芯片的引脚IN0~IN7:八路模拟电压输入端;ALE:
地址锁存控制信号,上升沿送入、下降沿锁存;addA~addC:地址输入线;START:
启动输入端,高电平有效。EOC:转换结束标志输出.高电平表明转换完成。再次启动ADC时该引脚变低电平,直到转换完成后再次变高电平。D7~D0:数字量输出线。OE:输出三态控制线.置高电平时数据经D7~D0向外输出。CLOCK:时钟输入端。提供640KH逐次比较脉冲时序。Vref(+)、Vref(-):参考电压输入,为电阻网络提供电压。
Vref(+)、Vref(-)可以与Vcc和GND连接。Vcc、GND:电源和地。二、ADC0809与8031接口
连接方案一:例:某粮库某冷冻厂需对8点进行温度巡回检测,被测温度范围-30~50c.MAIN: MOV R0,#0A0H MOV R2,#08H SETB IT1 SETB EA SETB EX1 MOV DPTR,#7FF8H MOVX @DPTR,A ;启动A/D转换HERE: SJMP HERE;Interrupt MOVX A,@DPTR MOVX @R0,A INC DPTR INC R0 DJNZ R2,DONE RETIDONE: MOVX @DPTR,A RETI
连接方案二:/RD/WRP0口
MCS-51
ALE/INT1OESTARTALEADC0809
addCaddBaddCD7~D0CLOCKEOC地址锁存器地址译码器++P0.2P0.1P0.0分频器F0H该连接方案IN0-IN7的通道地址怎么给出?
正确理解MOVX@Ri,A指令,是设计ADC与单片机接口的关键。指令执行周期:P0先输出Ri中的地址F0H(地址信号锁存在373中),后输出A中通道代码(数据信号锁存到ADC中)。S1S2S6S5S4S3S1S2S6S5S4S3ALE/PsenA7-A0指令Ri=F0HA中数据/WRP0口选中外部单元MOVX@Ri,A
指令的时序START、ALE=/WR∨/F0HOE=/RD∨/F0H锁存A中通道地址于ADC,启动ADC锁存低8位地址于373中对IN0-IN7上的模拟电压采集并送到内部RAM30H开始的单元
(采用中断方式)
ORG0000H LJMPSTART
ORG0013HLJMPCINT1ORG0A00H
START:MOVR1,#30H ;数据区指针R1赋初值30H MOVR4,#08H ;计数器R4赋初值08H MOVR2,#00H ;通道代码送R2 SETBEA SETBEX1 ;开/INT1中断
SETBIT1 ;设/INT1为边沿触发
MOVR0,#0F0H ;ADC地址送间址寄存器R0 MOVA,R2 ;通道代码送累加器A
MOVX@R0,A ;送通道代码并启动ADC SJMP$ ;等待中断
ORG0100HCINT1:MOVR0,#0F0H ;中断服务程序
MOVXA,@R0 ;读入ADC数据
MOV@R1,A ;存入转换的数据
INCR1 ;修改数据区指针R1 INCR2 ;修改通道代码寄存器R2 MOVA,R2 ;通道代码送累加器A
MOVX@R0,A ;送下一个通道代码并启动ADC DJNZR4,LOOP ;若未采集完转LOOP CLREX1 ;采集完时,关中断LOOP:RETI ;中断返回
END
初始化:R0:ADC口地址=F0HR1:数据块指针=30HR2:ADC通道代码=00HR4:循环计数器=08H开INT1中断送通道代码并启动ADCMOVX@R0,A等待INT1中断CINT1从ADC中读数据MOVXA,@R0修改数据指针修改同道代码数据送内存MOV@R1,A送下一个通道代码并启动ADC8个通道完成?返回YN主程序流程图关闭INT1中断服务程序采用查询方式的ADC采集程序
ORG0000H LJMP0100H
ORG0100HSTART: MOVR1,#30H;数据区指针R1赋初值30H MOVR4,#08H;计数器R4赋初值08H MOVR2,#00H;通道代码送R2 MOVA,#00H ;通道代码送A MOVR0,#0F0HLOOP:
MOVX@R0,A;送通道代码,启动ADC
JBIE1,$;ADC转换是否结束
MOVXA,@R0 MOV@R1,A;取ADC的转换数据
INCR1 INCA DJNZR4,LOOPSJMP$
END
初始化:R0:ADC口地址=F0HR1:数据块指针=30HR2:ADC通道代码=00HR4:循环计数器=08H送通道代码并启动ADCMOVX@R0,A停机IE1=1?从ADC中读数据MOVXA,@R0数据送内存MOV@R1,ACC修改数据指针修改同道代码8个通道完成?NY查寻法流程图8.3.2双积分A/D转换器机及接口技术8.4系统后向通道配置及接口技术8.4.1后向通道中的功率开关器件及接口一、继电器及接口二、光电耦合器(隔离器)件及驱动接口8.4.2后向通道中的D/A转换及接口技术D7:D0tVout数字量输入NVout模拟量输出
将数字量N(D7~D0)转换为模拟量Vout的器件称之为D/A转换器。D/A转换器一、D/A转换芯片——DAC0832DAC0832芯片引脚介绍数字量输入线DI7~DI0;第1级缓冲控制线:ILE:允许数字量输入线,高电平有效。/CS:片选线,低电平有效。/WR1:写命令控制线,低电平有效。【锁存原理】ILE=1,/CS=/WR1=0时:数据进入输入寄存器;
反之,条件不满足时:锁存器锁存数据。第2级缓冲控制线(控制DAC新的转换时刻):/WR2:写命令控制线,低电平有效。/XFER:输入传送控制线,低电平有效。
【锁存原理】/WR2=0,/XFER=0时:数据进入DAC寄存器,通过
T型电阻网络实现DAC转换;反之,条件不满足时:锁存器锁存数据。DAC寄存器不接收输入寄存器的数据。输出线:Rfb:与外接运算放大器的输出端相连。Iout1、Iout2:模拟电流输出线,分别与运算放大器的反相端、同相端连接。电源线:VCC:电源输入线,+5V~+15V之间。VREF:参考电压输入线,-10V~+10V范围内,由基准电源提供。DGND:数字电源地。AGND:模拟电源地。-+IRfVout电流/电压变换DAC0832Iout1Iout2Vref根据DAC0832结构特点,DAC0832的接法有:无缓冲的直通方式:用于无CPU的普通仪表场合。单缓冲方式:
在单片机系统中常用的使用模式。双缓冲方式:用于多DAC的应用场合。二、D/A转换器与8031接口1、单缓冲方式将DAC两个缓冲器中的后级直通(/XFER,/WR2=0)。前级的/WR1与单片机的/WR连接,/CS与地址译码器连接。这样,执行MOVX指令时,DAC就开始进行转换。
MOVR0,#0FEH
;DAC0832的地址送R0
MOVX@R0,A
;产生/WR、/CS信号使0832进行转换。/WRP0口ALE/WR1/WR2/XFERRfb/CSIout1ILEIout2DI7~DI0锁存器译码器+5V-+VoutFEHMOVX@R0,A指令时序图S1S2S6S5S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A7-A0指令A7-A0数据/RD或/WRP2口P0口选中DAC0832R0中的地址(FEH)累加器A中的数据使用DAC0832作波形发生器,输出锯齿波、三角波和方波。1,锯齿波发生器程序:
ORG1000HSTART:MOVR0,#0FEH;DAC口地址
MOVX@R0,A;数据送DAC INCA;数据加一
SJMPSTART;返回继续
END【说明】:单极性输出Vout
/WR1/WR2/XFERRfb/CSIout1ILEIout2DI7~DI0-+VoutVoutt2,三角波发生器程序:
ORG1000HSTART:CLRA MOVR0,#0FEHDOWN:MOVX@R0,A INCA JNZDOWNUP: DECA MOVX@R0,A JNZUP SJMPDOWN
END【说明】:单极性输出Vout/WR1/WR2/XFERRfb/CSIout1ILEIout2DI7~DI0-+VoutVoutt3,方波发生器程序:
ORG1000HSTART:MOVR0,#0FEH;DAC口地址LOOP:MOVA,#33H;数据为33H MOVX@R0,A;DAC转换
ACALLDELAY;调延时
MOVA,#0FEH;数据为FEH MOVX@R0,A;DAC转换
ACALLDELAY;调延时
SJMPLOOP;返回继续DELAY:
:
END【说明】:单极性输出Vout/WR1/WR2/XFERRfb/CSIout1ILEIout2DI7~DI0-+VoutVoutt2、双缓冲方式/WRP0口ALE/WR1/WR2/CSRfb/XFERIout1ILEIout2DI7~DI0锁存器译码器+5V-+VXFDHFEHFFH/WR1/WR2/CSRfb/XFERIout1ILEIout2DI7~DI0+5V-+VY第一级缓冲:数据寄存器存:/WR1,/CS第二级缓冲:DAC寄存器:/WR2,/XFER设内部RAM单元有两个长度为30的数据块,起始地址分别为DA1和DA2,试编程将DA1,DA2中的数据分别从1#和2#DAC0832输出的程序。【解】:FDH:1#DAC0832数字量输入控制口;
FEH:2#DAC0832数字量输入控制口;
FFH:1#,2#DAC0832的DAC转换控制口;R2为数据块长度计数器0区R1为DA1数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度船舶买卖合同风险防范与保险条款
- 2025年度生态公园休闲设施装饰装修施工合同
- 二零二五年度物业费收取与社区智能安防系统建设合同范本
- 2025年度工业用地租赁合同解除通知函
- 2025年旅行社接送机服务合同
- 个人借款借条与合同的区别
- 化肥生产污泥处置合同
- 采购合同与供货管理制度
- 市政公用工程施工总承包合同
- 销售课桌合同
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测综合物理试题(含答案)
- 导播理论知识培训班课件
- 电厂检修安全培训课件
- 高中生物选择性必修1试题
- 电气工程及其自动化专业《毕业设计(论文)及答辩》教学大纲
- 《客舱安全管理与应急处置》课件-第14讲 应急撤离
- 危险化学品押运员培训
- 2025届高考作文押题预测5篇
- 一年级数学(上)计算题专项练习集锦
- 阿里巴巴国际站:2024年珠宝眼镜手表及配饰行业报告
- 手术室护士考试题及答案
评论
0/150
提交评论