77范文网 - 专业文章范例文档资料分享平台

单片机原理与应用习题(6)

来源:网络收集 时间:2019-01-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ANL A,#0FH RET

;屏蔽A高半字节

执行DECI子程序的结果是:有闭合键则(A)≠0,无闭合键则(A)=0。 键盘扫描程序: KEYB: ACALL DECI ;检查有键闭合否

LK1: LK2: LK4:

LONE: LTWO: LTHR: LKP : LK3:

NEXT:`

KND: DELY: DEL1:

JNZ LK1

;A≠0则转移

AJMP KEYB

ACALL DELY ;共12ms去抖动 ACALL DECI ;再检查有键闭合否 JNZ LK2

;有键闭合,转LK2

AJMP KEYB ;无键闭合,延时6ms后转KEYB MOV R2,#FEH ;扫描处值送R2

MOV R4,#00H ;扫描列号送R4 MOV R0,#70H ;建立PA口地址 MOV A,R2

MOVX @R0,A ;扫描初值送PA口 INC R0

;指向PB口

MOVX

A,@R0 ;读PB口

JB ACC.0,LONE ;ACC.0=1第1行无键闭合,转LONE MOV A,#00H ;装第1行行值 AJMP

LKP

JB ACC.1,LTWO ;ACC.1=1第2行无键闭合,转LTWO

MOV A,#06H ;装第2行行值

AJMP

LKP

JB ACC.2,LTHR ;ACC.2=1,第3行无闭合键,转LTHR

MOV A,#0CH ;装第3行行值

AJMP

LKP

JB ACC.3,NEXT ;ACC.3=1,第4行无键闭合则转NEXT

MOV A,#12H ;装第4行行值 ADD A,R4 ;计算键码 PUSH ACC

;保护键码

ACALL DECI

;查键是否继续闭合,若闭合再延时 JNZ LK3 POP ACC ;若键起,则键码送A RET INC R4

;扫描列号加1

MOV A,R2

JNB ACC.5,KND ;第5位为0,已扫完最高位则转KND RL A MOV R2,A AJMP LK4

;进行下一列扫描 AJMP KEYB ;扫描完毕,开始新的一次

MOV R7,#18H ;延时12ms子程序(晶振12MHZ)

DJNZ R6,DEL1

DJNZ RET

R7,DELY

键盘扫描程序的运行结果,是把闭合键的键码放在累加器A中。然后再根据键码进行其它处理。 7.9.以DAC0832为例说明D/A转换器单缓冲接口方式的实现。

解:所谓单缓冲方式就是使0832的两个寄存器中有一个处于直通方式,而另一个处于

受控的锁存方式。在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出的情况下,就可采用单缓冲方式。单缓冲方式如图7.30所示,DAC0832的ILE接高电平,允许输入数据锁存,WR1和WR2都与8051的WR相接,CS和XFER与8051的P2.7(A15)相连,假设无关地址线为1,则0832的口地址为7FFFH。这种连接方法是把0832看作8051的一个带有数据锁存功能的输出设备。CPU把一个8位数据#data写入DAC寄存器,也就实现了一次D/A转换,输出一个与#data对应的模拟量。转换过程的程序如下:

+5VDAC0832P0ALE8051P2.7WR74LS373GDI0~DI7CSXFERWR1WR2VccILEVrefRfbIout1Iout2AGNDDGND-A+Vout图7.30 DAC0832单缓冲方式接口

MOV DPTR,#7FFFH ;指向0832的口地址

MOV A,#data ;取将要转换的8位数据量送A MOVX @DPTR,A ;写入0832,进行一次D/A转换并输出

7.10.以DAC0832为例说明D/A转换器双缓冲接口方式的实现。

解:所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。双缓冲方式DAC0832的连接如图7.35示。

为了实现寄存器的可控,应当给寄存器分配一个地址,以便能按地址进行操作。图中是使用地址译码

图7.35 DAC0832的双缓冲方式的连接

输出分别接CS和XFER实现的。然后再给WR1和WR2提供写选通信号。这样就完成了两个锁存器都可控的双缓冲接口方式。

由于两个锁存器占据两个地址,因此在程序中需要使用两条传送指令,才能完成一个数字量的模拟转换。假定输入寄存器地址为FEH,DAC寄存器地址为FFH。则完成一次数/模转换的程序如下:

MOV R0,#FEH

MOVX @R0,A INC R0

MOVX @R0,A

;装入输入寄存器地址 ;转换数据送输入寄存器 ;产生DAC寄存器地址 ;数据通过DAC寄存器

7.11.A/D转换器转换数据的传送有几种方式? 答:A/D转换器转换数据的传送有3种方式: 1.定时传送方式

对于一种A/D转换器来说,转换时间作为一项技术指标是已知和固定的。例如ADC0809转换时间为128μs,相当于6MHZ的MCS-51单片机共64个机器周期。

2.查询方式

A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,软件测试EOC的状态,即可确知转换是否完成,并接着进行数据传送。

3.中断方式

把表明转换完成的状态信号EOC作为中断请求信号,以中断方式进行数据传送。 7.12.简述逐次逼近式A/D转换的原理。 答:略

7.13.多片D/A转换器为什么必须采用双缓冲接口方式?

答:双缓冲方式多用于多路数/模转换系统,以实现多路模拟信号同步输出的目的。

第14题图 第15题图

7.14.使用D/A转换器产生梯形波,梯形底部在0V,梯形顶部在+2.5V,平顶宽度自定,请编程实现。 解:采用图7.30 DAC0832单缓冲方式接口,参考程序如下:

MOV MOV MOVX INC CJNZ LCALL MOV DEC JNZ LCALL MOV DJNZ DJNZ RET

DPTR,#7FFFH;输入寄存器地址 A,#00H @DPTR,A A

;转换初值 ;D/A转换 ;转换值增量 ;调延时程序

UP:

A,#80H,UP;80H为+2.5V输出对应的数字量 DELAY A,#7FH @DPTR,A A

A,DOWN DELAY R7,#2 R6,#0FFH R6,DL1 R7,DL2

DOWN: MOVX

DELAY: MOV DL2: DL1:

7.15.使用D/A转换器产生如图所示的三角波,请编程实现 解:根据图7.30,参考程序如下:

MOV

DPTR,#7FFFH

MOV INC JNZ MOV DEC JNZ SJMP

A,#00H @DPTR,A A UP A,#0FEH @DPTR,A A DOWN UP

UP: MOVX

DOWN: MOVX

7.16.使用8031和ADC0809芯片设计一个巡回检测系统。共有8路模拟输入,采用周期为1秒,其它条件可自定。请画出电路连接图并进行程序设计。

解:设采集的数据依次放在内部RAM以Dada开始的8个单元,电路如图7.41所示,ADC0809的CLK引脚时钟为500KHz(设单片机的时钟为6MHz),满足0809典型值范围,其转换时间约为100us,则转换8路模拟信号时间远远小于1S。现采用定时器T0工作于方式1实现定时10次100ms来实现。

定100ms的初值为:

216-100×10-3/(2×10-6)=15 536=3CB0H 程序如下:

ORG AJMP ORG AJMP ORG AJMP

0000H MAIN 000BH CT0 0013H INT1 R0,#Data R2,#08H TL0,#0B0H TH0,#3CH R3,#0AH IT1 ET0 EX1 EA

;数据存区首址 ;8路模拟信号 ;100ms定时

;循环次数

;外部中断1边沿触发 ;允许T0中断

;允许外部中断源1中断 ;CPU开中断

;启动D/A转换 ;开始计数 ;等待中断

;外部中断1入口 ;T0中断入口

;主程序: MAIN: MOV

MOV MOV MOV MOV MOV SETB SETB SETB ESTB MOV MOV MOVX SETB SLMP

TMOD,#01H ;T0方式1

DPTR,#0FEF0H;D/A转换地址 A,#00H @DPTR,A TER0 $

;T0中断服务程序: CTC0:MOV

MOV DJNZ MOV

TL0,#0B0H TH0,#3CH R3,EXIT R3,#0AH

;定时不到1S,则继续等待 ;软件计数初值

MOV MOV MOVX SETB

DPTR,#0FEF0H;D/A转换地址 A,#00H @DPTR,A EX1

;启动D/A转换

EXIT:RETI

;A/D转换结束中断服务程序: INT:MOVX

MOV INC INC DJNZ CLR

A,@DPTR @R0,A DPTR R0 EX1

;读A/D转换结果 ;存放内部RAM单元 ;指向下路通道 ;指向下RAM单元

;关A/D转换z结束中断

R2,NEXT

NEXT:RETI

习题8

1.说明下列概念 (1)串行通信 (3)异步通信 (5)波特率

(7)半双工通信方式 答:略

2.假定异步串行通信的字符格式为一个起始位、八个数据位、二个停止位以及奇校验位,请画出传送字符“T”的桢格式。

解:“T”的ASCII码为54H=01010100B,传送桢格式如下:

(2)并行通信 (4)同步通信 (6)单工通信方式 (8)全双工通信方式

一桢10起始位D0D1D2D3D4D5D6D700101010P110奇偶校验位停止位3.串行通信有那几种数据通信格式,试举例说明。 答:略

4.串行通信的总线标准是什么?有那些内容? 答:略

5.MCS-51单片机的串行口共有那几种工作方式?各有什么特点和功能?

答:MCS-51单片机串行口的工作方式有方式0、方式1、方式2和方式3四种,各工作方式是由设置串行口控制寄存器SCON来确定的。串行口控制寄存器SCON还用来设定串行口的接收或发送控制及状态,其格式如下:

SM0 SM1 SM2 REN TB8 RB8 TI RI 串行口的工作方式及串行口的4种工作方式的功能及相应的波特率如下表。

SM0 SM1方式0 00 11 01 10123功 能同步移位存储器(用I/O口扩展)8位UART(通用异步接收和发送器)9位UART(起始位1、数据位8、可编程位1、停止位1)9位UART波特率 fosc/12222SMODSMODSMOD(T1溢出率)/32 fosc/64(T1溢出率)/32

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机原理与应用习题(6)在线全文阅读。

单片机原理与应用习题(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/447557.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: