第7部分 应用系统配置及接口技术.docx
- 文档编号:28673522
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:18
- 大小:276.34KB
第7部分 应用系统配置及接口技术.docx
《第7部分 应用系统配置及接口技术.docx》由会员分享,可在线阅读,更多相关《第7部分 应用系统配置及接口技术.docx(18页珍藏版)》请在冰豆网上搜索。
第7部分应用系统配置及接口技术
第7部分应用系统配置及接口技术
1.为什么要消除键盘的机械抖动?
有哪些方法?
答:
通常按键所用的开关为机械弹性开关,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。
在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。
按键的抖动,可用硬件或软件两种方法消除。
如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生5~10ms的延时;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5~10ms的延时,待后沿抖动消失后,才能转入该键的处理程序。
硬件方法常用RS触发器。
2.试述A/D转换器的种类及特点。
答:
A/D转换器的种类很多,主要有计数比较型、逐次逼近型、双积分型等。
逐次逼近型A/D转换器的特点是精度、速度和价格都适中,是比较常用的A/D转化器。
双积分型A/D转换器的特点是精度高,抗干扰性好,价格低廉,但转换速度慢。
3.设计一个2×2行列式键盘电路并编写键扫描子程序。
解:
(1)逻辑电路如下:
(2)判断是否有键按下:
有列线P1.0、P1.1送全0,查P0.0、P0.1是否为0。
判断哪一个键按下:
逐列送0电平信号,再逐行扫描是否为0。
键号=行首号+列号
KEY:
LCALLKS
JZKEY
LCALLT10ms
LCALLKS
JZKEY
MOVR2,#0FEH
MOVR4,#00H
LK1:
MOVP1,R2
JBP0.0,ONE
MOVA,#00H
LJMPKP
ONE:
JBP0.1,NEXT
MOVA,#02H
KP:
ADDA,R4
PUSHACC
LK:
LCALLKS
JNZLK
POPACC
RET
NEXT:
INCR4
MOVA,R2
JNBACC.1,KND
RLA
MOVR2,A
AJMPLK1
KND:
AJMPKEY
KS:
MOVP1,#0FCH
MOVA,P0
CPLA
ANLA,#03H
RET
T10ms:
MOVR7,#10H
TS1:
MOVR6,#0FFH
TS2:
DJNZR6,TS2
DJNZR7,TS1
RET
4.试设计一个LED显示器/键盘电路。
解:
5.在一个89C51应用系统中,89C51以中断方式通过并行接口74LS244读取A/D器件5G14433的转换结果。
试画出有关逻辑电路,并编写读取A/D结果的中断服务程序。
解:
硬件电路设计如图:
读取A/D结果的中断服务程序:
MOVDPTR,#0FE00H
MOVXA,@DPTR
MOV30H,A
RETI
6.在一个fOSC为12MHz的89C51系统中接有一片D/A器件DAC0832,它的地址为7FFFH,输出电压为0~5V。
请画出有关逻辑框图,并编写一个程序,使其运行后能在示波器上显示出锯齿波(设示波器X方向扫描频率为50μs/格,Y方向扫描频率为1V/格)。
解:
硬件电路设计如图:
根据DAC0832的地址为7FFFH,则89C51的P2.7接DAV0832的片选。
程序设计:
因为示波器X方向扫描频率为50μs/格,Y方向扫描频率为1V/格,所以选择DAC0832的输出电压为0V~2V,对应的数字量为00H~66H(0~102);每次数据量增值为3,共34次循环,34×5μs=170μs。
ORG0050H
MAIN:
MOVDPTR,#7FFFH
LOOP1:
MOVA,#00H
LOOP2:
MOVX@DPTR,A
ADDA,#03H
CJNEA,#66H,LOOP2
SJMPLOOP1
7.在一个fOSC为12MHz的89C51系统中接有一片A/D器件ADC0809,它的地址为7FF8H~7FFFH。
试画出有关逻辑框图,并编写ADC0809初始化程序和定时采样通道2的程序(假设采样频率为1ms/次,每次采样4个数据,存于89C51内部RAM70H~73H中)。
解:
硬件电路设计如图:
程序清单:
ORG0000H
LJMPMAIN
ORG0013H
LJMPIEX1
ORG0030H
MAIN:
MOVSP,#60H
MOVDPTR,#7FFAH
SETBIT1
SETBEX1
SETBEA
LOOP1:
MOVR0,#70H
MOVR7,#04H
LOOP2:
MOVX@DPTR,A
HEAR:
SJMPHEAR
DJMPR7,LOOP2
LCALLDIMS
SJMPLOOP1
DIMS:
MOVR5,#32H
DIMS1:
MOVR6,#64H
DIMS2:
MOVR6,DIMS2
MOVR5,DIMS1
RET
ORG0200H
IEX1:
MOVXA,@DPTR
MOV@R0,A
INCR0
RETI
8.在一个89C51系统中扩展一片74LS245,通过光电隔离器件外接8路TTL开关量输入信号。
试画出其有关的硬件电路。
解:
硬件电路设计如图:
9.用89C51的P1口作8个按键的独立式键盘接口。
试画出其中断方式的接口电路及相应的键盘处理程序。
解:
硬件电路设计如图:
键盘处理程序:
ORG0000H
LJMPMAIN
ORG0013H
LJMPIEX1
ORG0030H
MAIN:
MOVSP,#60H
SETBIT1
SETBEX1
SETBEA
SJMP$
IEX1:
MOVA,#FFH
MOVP1,A
MOVA,P1
JNBACC.7,P7F
JNBACC.6,P6F
JNBACC.5,P5F
JNBACC.4,P4F
JNBACC.3,P3F
JNBACC.2,P2F
JNBACC.1,P1F
JNBACC.0,P0F
RETI
P7F:
LJMPPROM7
P6F:
LJMPPROM6
P5F:
LJMPPROM5
P4F:
LJMPPROM4
P3F:
LJMPPROM3
P2F:
LJMPPROM2
P1F:
LJMPPROM1
P0F:
LJMPPROM0
……
10.试说明非编码键盘的工作原理。
如何去键抖动?
如何判断键是否释放?
答:
(1)非编码键盘是靠软件识别的键盘。
根据系统中按键数目的多少来选择不同的键盘结构。
键数少时,可采用独立式按键结构;当键数多时可采用行列式按键结构。
无论采用什么结构,都是通过单片机对它控制,因此可有三种控制方式:
程序控制扫描方式、定时扫描方式和中断扫描方式。
以行列式非编码键盘,采用程序控制扫描方式为例,其工作原理为:
首先判断键盘上有无键按下,若有键按下则去键的机械抖动影响,然后逐列(行)扫描,判别闭合键的键号,再判别键是否释放,如果键释放则按键号处理相应程序。
(2)当判断有键按下时,执行5ms~10ms的延时程序后再判断键盘的状态。
如果仍为键按下状态,则认为确定有一个键按下;否则按照键抖动处理。
(3)判断键是否释放时,先判断键是否仍为闭合状态,如果为时,则执行5ms~10ms延时程序后再判断直到键释放,以便达到对键的一次闭合仅作一次处理。
11.DAC0832与89C51单片机连接时有哪些控制信号?
其作用是什么?
AC0832与89S51单片机连接时的控制信号有:
ILE——数据锁存允许信号,高电平有效;
/CS——输入寄存器选择信号,低电平有效;
/WR1——输入寄存器的“写”选通信号,低电平有效。
/XFER——数据转移控制信号线,低电平有效;
/WR2——DAC寄存器的“写”选通信号。
(2)作用:
当/CS=0,/WR1=0,ILE=1时,
=
=1,输入锁存器状态随输入线状态变化;当/CS=1,/WR1变高,ILE=1时,
=
=0时,锁存输入数据。
当/WR2=0,/XFER=0时,DAC寄存器的锁存信号
=
=1时,DAC寄存器的输随输入状态变化;当/WR2变高,/XFER=0时,
=0时,锁存输入状态。
12.在一个89C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。
试画出有关逻辑框图,并编写产生矩形波,其波形占空比为1∶4,高电平时电压为2.5V,低电平时电压为1.25V的转换程序。
解:
硬件电路设计如图:
VOUT=2.5V,D=2.5V×256/5=128=80H
VOUT=1.25V,D=1.25V×256/5=64=40H
程序清单:
MOVDPTR,#7FFFH
NEXT:
MOVA,#80H
MOVX@DPTR,A
ACALLDELY
MOVR4,#04H
MOVA,#40H
MOVX@DPTR,A
LOOP:
ACALLDELAY
DJNZR4,LOOP
AJMPNEXT
DELAY:
MOVR7,#10H
TS1:
MOVR6,#0FFH
TS2:
DJNZR6,TS2
DJNZR7,TS1
RET
13.在一个由89C51单片机与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H~7FFFH。
试画出有关逻辑框图,并编写出每隔1min轮流采集一次8个通道数据的程序。
共采样100次,其采样值存入片外RAM3000H开始的存储单元中。
解:
硬件电路设计如图:
设fOSC=6MHz,用定时器定时100ms,用软件计数10×60实现定时1min。
A/D转换采用查询(p1.0)方式。
程序设计如下:
ORG0000H
AJMPMAIN
ORG001BH
AJMPSEAVE
ORG0030H
MAIN:
MOVSP,#60H
MOVR7,#100;置采集次数
MOVR1,#30H;片外RAM地址高位
MOVR0,#00H;片外RAM地址低位
MOVR2,#10;R2为100ms计数器,置入初值10
MOVR3,#60;R3为秒计数器,置入初值60
MOVTMOD,#10H
MOVTH1,#3CH
MOVTL1,#0B0H
SETBET1
SETBEA
SETBTR1
LOOP:
SJMPLOOP
DJMPR7,LOOP
SJMP$
SEAVE:
MOVTH1,#3CH
MOVTL1,#0B0H
DJNZR2,RETURN
MOVR2,#10
DJNZR3,RETURN
MOVR6,#08;8个通道计数器初值
MOVDPTR,#7FF8H;IN0的地址
NEXT:
MOVX@DPTR,A;启动A/D转换
JBP1.0.$
MOVXA,@DPTR
PUSHDPH;将通道地址压入堆栈
PUSHDPL
MOVDPH,R1
MOVDPL,R0
MOVX@DPTR,A
INCDPTR
MOVR1,DPH;保存片外RAM地址
MOVR0,DPL
POPDPL
POPDPH
DJNZR6,NEXT
RETURN:
RETI
;
END
14.以DAC0832为例,说明D/A的单缓冲与双缓冲有何不同。
答:
所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。
双缓冲DAC0832的连接如下图所示。
双缓冲方式用于多路数/模转换系统,以实现多路模拟信号同步输出的目的。
为此就要使用两片DAC0832,并采用双缓冲方式连接,如下图所示。
电路中以译码法产生地址,两片DAC0832共占据三个单元地址,其中两个输入寄存器各占一个地址,而两个DAC寄存器则合用一个地址。
15.以DAC0832为例,说明D/A的单极性输出与双极性输出有何不同。
答:
在DAC0832的输出端连接一级运放组成的反向求和电路,可以得到单极性模拟电压(正电压或负电压),输出电压范围由参考电压VREF值决定。
例如,当VREF=+5V(或-5V)时,输出电压VOUT范围是0V~-5V(或0V~+5V);当VREF=±10V时,VOUT范围是0V~±10V。
在VREF确定以后,若要增加输出电压范围,可以通过增加运放反馈电阻的方法来实现。
连接方法是外加电阻R1同芯片中反馈电阻RF串联,并在输入数据为全1的条件下,调节R1阻值,使VOUT达到所需的满量程电压即可。
有时,需要转换器输出双极性模拟电压。
当输入数字量从全0到全1时,需求输出模拟量由负电压到正电压。
单极性输出电压表达式为:
VOUT1=
双极性输出电压表达式为:
VOUT2=
比较两式可知,只要将单极性输出模拟电压放大2倍,再与参考电压求和就可以获得双极性输出的模拟电压。
16.A/D和D/A的主要技术指标中,“分辨率”与“转换精度”(即“量化误差”或“转换误差”)有何不同。
答:
(1)分辨率
“分辨率”通常用位数表示,如8位、10位、12位等。
对于n位转换器,其实际分辨率为模拟量满量程的1/2n。
例如,一个10位的A/D转换器去转换一个满量程为5V的电压,则它能分辨的最小电压为5000mV/1024≈5mV,我们称该A/D转换器的分辨率为10位或5mV。
再例如,某D/A转换器能够转换8位二进制数,转换后的电压满量程是5V,则它能分辨的最小电压是5V/256≈20mV,我们称该D/A转换器的分辨率为8位或20mV。
(2)转换精度
“转换精度”是反映转换器转换值与理想值之间的误差。
例如,具有8位分辨率的A/D转换器,当输入0V~5V电压时,对应的饿数字量为00H~FFH,即输入每变化0.0196V时,数据就变化1。
由于输入模拟量是连续变化的,只有当它的值为0.0196V的整数倍时,模拟量值才能准确转换成对应的数字量,否则模拟量将被“四舍五入”为相近的数字量。
例如,0.025V被转换成02H,最大误差为1/2个最低有效位(常用±1/2LSB表示),这就是量化误差。
该A/D转换器的具体量化误差(或精度)值可以计算出来为
±(1/2)×5V/256=±(1/2)×0.0196V=±9.8mV
在例如,若某D/A转换器的分辨率为8位时,则它的精度为:
±(1/2)×1/256=±1/512。
(3)分辨率的计算
在计算分辨率时,为什么有人用满量程除以2n,有人却用满量程除以2n-1呢?
这是因为存在两种“满量程”的定义。
让我们以D/A转换的分辨率计算举例来说吧,对应线性D/A转换器来说,其分辨率计算公式为:
分辨率=模拟输出的满量程/2n。
但是,这个“满量程”又分为标称满量程和实际满量程。
标称满量程是指数字量2n所对应的模拟量,可实际数字量的变化范围是从0~2n–1,永远到不了2n。
所以实际最大值2n–1所对应的模拟输出量,就称为实际满量程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7部分 应用系统配置及接口技术 部分 应用 系统配置 接口 技术