2011第7章思考题与习题

上传人:wm****3 文档编号:51937859 上传时间:2018-08-17 格式:PPT 页数:15 大小:172.50KB
返回 下载 相关 举报
2011第7章思考题与习题_第1页
第1页 / 共15页
2011第7章思考题与习题_第2页
第2页 / 共15页
2011第7章思考题与习题_第3页
第3页 / 共15页
2011第7章思考题与习题_第4页
第4页 / 共15页
2011第7章思考题与习题_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《2011第7章思考题与习题》由会员分享,可在线阅读,更多相关《2011第7章思考题与习题(15页珍藏版)》请在金锄头文库上搜索。

1、第7章 80C51单片机接口技 术思考题与习题 思 考 题 与 习 题7.1为什么要消除键盘的机械抖动?有那些方法? 由于机械触点的弹性及电压突变等原因,在触点闭合与断 开的瞬间会出现电压抖动过程。 硬件消抖 (1)双稳态电路消除抖动(2)滤波消除抖动电路 软件消抖:软件延时10ms以上,让过抖动区。再确认该键电平。7.2独立式键盘和矩阵键盘各有什么特点?分别用在什么场合? 每个独立式按键单独占用一根I/O口线,每根I/O口线的工作状态不 会影响到其他I/O口线的工作状态, 独立式按键电路配置灵活、软 件结构简单, 但每个按键都占用一根I/O口线,在按键数量较多,I/O口线浪费比 较大,故只在

2、按键数量不多时采用这种方法。 7.3如图7-5所示是独立式键盘,试写出定时中断的键盘扫描程序。ORG0000H AJMPMAIN;转主程序 ORG000BH AJMP T0_INT;转10ms定时器0服务子程序 MAIN:MOV SP, #50H MOV TMOD, #01H;T0,定时方式1 MOV TL0, #78H;定时10ms,晶振为6MHz MOV TH0, #0ECH MOV IE, #82H;允许T0中断 SETB TR0 N0:NOP SJMP N0T0_INT:MOV TL0, #78H;定时器0中断子程序 MOV TH0, #0ECH MOV P1,#0FFH ;设置P1口

3、为输入方式 MOV A,P1 ;读入键的状态 CPLA; ANLA,#0FH JZNEXT CJNE A,B,PASS ;两次结果不一致,则为抖动引起,转 LCALL KEY_N ;键值识别子程序 ;键盘处理程序 NEXT:RETI;中断子程序返回 PASS: MOV B,A ;存键的状态到B RETI;中断子程序返回7.4 LED静态显示和动态显示方式各有什么优缺点? 动态显示的特点:优点:当显示位数较多时,采用动态显示方式比较节省I/O口 ,硬件电路也较静态显示简单。当显示器的位数较多时,可采用 动态显示。缺点:其稳定度不如静态显示方式。而且在显示位数较多时 CPU要轮番扫描,占用CPU较

4、多的时间。7.6七段LED显示静态显示和动态显示分别具有什么特点,实际 设计时应如何选择使用?7.5在用共阳极数码管显示的电路中,如果直接将共阳极数码管 换成共阴极数码管,能否正常显示?为什么?应采取什么措施? 不能,字形码正好相反,查表后CPL A即可7.7要实现LED动态显示需不断调用动态显示程序,除采用子程 序调用法外,还可采用其他什么方法?试比较其与子程序调用法 的优劣。中断方式7.8仿照图7-13所示,试设计4位LED动态显示电路。试用定时中断 方式在4位LED数码管上显示“1234”。设单片机每隔1ms显示1位数 码管。7.9什么是A/D转换器,什么是D/A转换器? 7.10在DA

5、C中分辨率与转换精度有什么差异?一个10位DAC的分辨 率是多少?7.11 ADC中的转换结束信号EOC起什么作用,如何利用该信号?7.12 DAC0832与80C51单片机接口时有哪些控制信号?作用分别 是什么?ADC0809与80C51单片机接口时有哪些控制信号?作用分 别是什么?7.13试画出 ADC0809与单片机的连接图。7.14试画出 DAC0832与单片机的连接图。7.15使用DAC0832时,单缓冲方式如何工作?双缓冲方式如何工 作?软件编程有什么区别?7.4.4 DAC0832与单片机接口接口针对使用两个寄存器的方法,形成了DAC0832的三种工作方式,分别 为双缓冲方式、单

6、缓冲方式和直通方式。 1、单缓冲方式 适用于一路输出,或几路输出不要求同步的系统。两个寄存器中的一个处于直通状态,输入数据只经过一级一级缓冲送入D/A 转换器电路。在这种方式下,只需执行一次写操作,即可完成D/A转换, 可以提高DAC的数据吞吐量。其输出方式又分为单极性和双极性输出。MOV DPTR,#7FFFH MOVX DPTR,A2、双缓冲方式数据通过二个寄存器锁存后送入D/A转换电路,执行两次写操作 才能完成一次D/A转换。这种方式特别适用于要求同时输出多个模 拟量的场合。MOV DPTR,#0DFFFH ;指向0832()输入锁存器 MOV A,#data1 MOVX DPTR,A

7、;data1送入0832()输入锁存器 MOV DPTR,#0BFFFH ;指向DAC0832()输入锁存器 MOV A,#data2 MOVX DPTR,A ;data2送入0832(2)输入锁存器 MOV DPTR,#7FFFH MOV DPTR,#7FFFH ;同时启动;同时启动0832 (1)0832 (1)、0832(2)0832(2) MOVX DPTR,A MOVX DPTR,A ;完成;完成D/AD/A转换输出转换输出7.5.3 ADC0809接口芯片 ADC0809是CMOS逐次逼近式8位A/D转换器。 1、ADC0809的主要特性ADC0809的主要特性如下: 它是具有8路

8、模拟量输入、8位数字量输出功能的A/D转换器。转换时间为100s。低功耗,约15mW。模拟输入电压范围为0V+5V,不需零点和满刻度校准。 时钟频率:典型值500k500kHz(范围为101280 kHz)。7.5.4 ADC0809与单片机的接口ADC0809与单片机的连接主要考虑三方面:与单片机的数据总线、地址 总线和控制总线的连接。1、先送通道号地址到A、B、C,由ALE信号锁存通道号地址,然后让START有 效启动A/D转换。即执行一条即执行一条MOVX DPTRMOVX DPTR, A指令产生WR信号,使ALE、START有效, 锁存通道号并启动A/D转换。 2、A/D转换完毕,EO

9、C端发出一正脉冲,表示转换结束。 3、最后执行执行MOVX AMOVX A,DPTRDPTR产生RD信号使OE端有效,打开输出锁存器三态门,8位 数据就读入CPU中。A/D八个通道IN0到IN7的地址范围是7FF8H7FFFH。7.16用单片机内部定时器来控制对模拟信号的采集,如图7-29所示 ,设系统时钟为6MHZ,要求每分钟采集一次模拟信号,写出对8路 模拟信号采集一遍的程序ORG 0000H AJMP MAIN;转主程序 ORG 000BH AJMP T0_INT ;转10ms定时器0服务子程序 MAIN:MOV SP, #50H MOV IE, #82H;允许T0中断 MOV TMOD

10、, #01H;T0,定时方式1 MOV TL0, #78H;定时10ms,晶振为6MHz MOV TH0, #0ECH MOV R4, #0H;秒 MOV R5, #0H;10ms MOV R1, #30H ;置数据区指针初值 MOV DPTR, #07FF8H ;指向通道0 MOV R7, #08H ;置通道数SETB F0 ;设置启动标志位MOVX DPTR, A ;启动A/D转换 SJMP $;等待 T0_INT:MOV TL0, #78H;定时器0中断子程序 MOV TH0, #0ECH INC R5;10ms单元加1 CJNE R5, #64h, T01 MOV R5, #00H I

11、NC R4 ;1秒单元 JNB F0,T03 ;没有启动转换MOVXA, DPTR;读以A/D转换结果 MOVR1, A ;存储于数据区 INCDPTR ;指向下一个通道 INCR1 DJNZ R7,T04 ;通道数减一 CLR F0 ;通道转换完成 MOV R1, #30H ;置数据区指针初值 MOVDPTR, #07FF8H ;指向通道0 MOVR7, #08H ;置通道数 SJMP T03 T04: MOVXDPTR, A ;启动下一通道A/D转换 T03:CJNE R4, #60, T01 MOV R4, #00H MOVX DPTR, A ;启动A/D转换 SETB F0 ;设置启动

12、标志位 T01:RETI;中断子程序返回7.17用DAC0832设计一个模拟量输出接口,端口地址为FEFFH, 要求其产生周期为5ms的锯齿波。设系统时钟为6MHZ,请编写出 相应的程序。【例7-9】思考三角波5ms解:设定DAC0832最大输出为249(0249), 那么上升段每一步需要延时5ms/250=20us,ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#0FEFFH;转换器的地址MOV R2,#250;输出数字量的次数MOV R1,#0;最小输出数字量UP: MOV A,R1 ;上升段1TMOVX DPTR,A ;输出一步模拟电压2T NOP ;

13、1T NOP ;1T NOP ;1T NOP ;1TINC R1;1TDJNZ R2,UP;2TSJMPMAIN7.18用DAC0832端口地址为FEFFH,编写程序生成周期性梯形波 形。设系统的基准电压为5 V,要求波形的最低电平为0 V,最高电 平为3 V。 解:设定DAC0832最大输出数字量为FFH(0255),对应最高 电压5v;那么输出3v电压时的数字量=255*3/5=153=99H;ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#0FEFFH;转换器的地址MOV R2,#154; 输出数字量次数MOV R1,#0;最小输出数字量UP:MOV

14、A,R1 ;上升段MOVX DPTR,A ;输出一步模拟电压LCALL DELAY20USINC R1DJNZ R2,UPLEVEL:MOV A,#153 ;波顶MOVX DPTR,A ;输出模拟电压LCALL DELAY50MS ;波顶延时50msMOV R2,#154 ;下降沿 MOV A,#153DOWN:MOVX DPTR,A ;输出模拟电压LCALL DELAY20USDEC ADJNZ R2,DOWNSJMP MAIN DELAY20US:MOV R3,#2 LOOP:NOPDJNZ R3,LOOPRET DELAY50MS:MOV TMOD,#10H;定时器/计数器T1定时器方式1MOV TH1,#3CH ;T1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号