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

《单片微型计算机与接口技术》思考题与习题解答01(6)

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

TMOD=Ox06;THO=-10;TLO=-10; TRO=1:{ while(1)

dO{}while(TF0==0) TF0=0;p10=~p10; }}

中断方式:#include sbit p1_O=P1^O; tov()interrrupt 1 {p1_O=~p1_O; } maln(){

EA=1;ET0=1;TMOD=0x06; TH0=0xf6;TL0=0xf6;TR0=1; while(1);}/*等待中断*/

7.6 在P1.0引脚接一驱动放大电路驱动扬声器,利用T1产生lOOOHz的音频信号从扬声器输出。 7.6 1000Hz的周期为1ms,即要求每500us P1.0变反一次,使用T1方式1,MC=12/fosc=1us,C=216-500us/1us=FE0CH,除TMOD=10H,TH0=FEH,Tl0=0CH外,程序与7.5题相同,注意每次要重置TH0和TL0。

7.7 已知8XX51单片机系统时钟频率为6MHz,利用定时器T0使P1.2每隔350us,输出一个50us脉宽的正脉冲。

7.7 fosc=6MHz,MC=2us,方式2的最大定时为512us,合乎题目的要求。50us时,计数初值为C1=256-25=E7H,350us时,计数初值为C2=256-175=51H 汇编语言程序 ORG 0000H MOV TMOD,#02H

NEXT:MOV TH0,#51H MOV TL0,#51H CLR P1.2 SETB TR0

AB1:JBC TF0,EXT

SJMP AB1 EXT:SETB P1.2 MOV TH0,#0E7H

MOV TL0,#0E7H AB2:JBC TF0,NEXT SJMP AB2 C语言程序

#include

void timet(unsigned char t); sbit p1_2=P1^2 main(){for(;;)

p1_2=O;timer(7); p1_2=1;timer(1); }

26

void timer(unslgned char t) {unsigned char i;

for(i=0;i

TH0=-25/256;TL0=-25%6; TR0=1: While(TF0!=1); TR0=0: }}

上述的计数初值没有考虑指令的执行时间。因此误差较大,查每条指令的机器周期,扣除这些时间.算得 C—E3H,这样误差较小。

7.8 在8XX51单片机中,已知时钟频率为12MHz,编程使P1.0和P1.1分别输出周期为2ms和50us的方波。

7.8 P1.0输出2ms脉冲,P1.1输出50us脉冲。 汇编语言程序 ORG 0000H MOV TMOD,#02H MOV TH0,#06H MOV TL0,#06H SETB TR0

MOV R0,#04H NE: JNB TF0,$ CLR TF0 CPL P1.1 DJNZ R0,NE CPL P1.O AJMP NE C语言程序

#include sbit p11=P1^l; sbit p10=P1^0; main(){ char i;

TMOD=0x02;TH0=06;TL0=06:TR0=1; while(1){

for(i=0;i<4:i++){ do{}while(!TF0); P11=~P11: }

P10=~P10: }}

7.9 设系统时钟频率为6MHz,试用定时器T0。作为外部计数器,编程实现每计到1000个脉冲后,使T1定时2ms,然后T0又开始计数,这样反复循环。 7.9 C语言程序

T0计数1000个脉冲,采用方式1;T1定时2ms,fosc=6MHz,C=-2ms/2us=-1000

27

include

counter(){ TH0=-1000/256; TLO=-1000%6; TR0=1;TR1=0; while(TF0!=1); TF0=0; }

timer(){

TH1=-1000/256;TL1=-1000%6;TR1=1;TR0=0; while(TF1!=0); TF1=0; }

main() TMOD=0x15; for(;;){ counter(): timer():

7.10 利用8XX51单片机定时器T0测量某正单脉冲宽度,已知此脉冲宽度小于10ms,主机频率为12MHz。编程测量脉宽,并把结果转换为BCD码,顺序存放在以片内50H单元为首地址的内存单元中(50H单元存个位)。 7.10 C语言程序

#lnclue sbit p3_2=P3^2; main(){

unsingcd char *P,i; int a;

P=0x50;

TMOD=0x09; TL0=0;TH0=0;

while(P3_2==1);/*等待INT0变低*/ TR0=1;

while(P3_2==0);/*等待-INT0变高*/ while(P3_2==1);/*等待-INT0变低*/

TR0=0; i=TH0;

a=i*256+TL0; for(;a!=O;)

{ /*转换为非压缩IR7D码*/

*P=a; a=a/10;

P++; } }

第8章 串行口

28

8.1 什么是串行异步通信?它有哪些特点?MCS-51单片机的串行通信有哪几种帧格式? 8.1见8.1节

8.2 某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。

8.2 方式3为每帧11位数据格式.即3600*11/60=660(波特)

8.3 为什么定时器T1用做串行口波特率发生器时,常采用工作方式2? 若已知系统时钟频率、通信选用的波特率,如何计算其初值?

8.3 T1的方式2模式不需要重装时间常数(计数初值),不影响cPU执行通信程序。设波特率为fboud计数初值为X,依据公式

fbaud=(2smod/32)*(fosc/12(256-X)) 求得X=256-((2smod/32)*(fosc/fbaud))。

8.4 已知定时器T1设置为方式2,用做波特率发生器,系统时钟频率为6MHz,求可能产生的最高和最低的波特率是多少?

8.4最低波特率为,T1定时最大值时,此时计数初值为256,并且SMOD=0,得

fbaud=(1/32)*(fosc/(12(256-0))=61

最高波特率为T1定时最小值且SOMD=1时,得 fbaud=(2/32)*fosc/(12(256-1))=31250

8.5 设甲、乙两机采用方式1通信,波特率为4800,甲机发送O,1,2,?,1FH,乙机接收存放在内部 RAM以20H为首址的单元,试用查询方式编写甲、乙两机的程序(两机的fosc=6MHz)。

8.5取SMOD=1计算TH1=TL1=B2;

;***********************发送查询方式******

ORG 0000H

MOV TMOD,#20H MOV THl,#OB2H MOV TL1,#0B2H SETB TR1

MOV SCON,#40H MOV A,#O

NEXT:MOV SBUF,A TES:JBC T1,ADD1 SJMP TES ADD1:INC A

CJNE A,#20H,NEXT SJMP $ END

;************************发送中断方式********************************* ORG 0000H

AJMP MAIN;转主程序 ORG 0023H ;中断服务 CLR TI INC A

MOV SBUF,A

CJNE A,#20H,RE

29

CLR ES RE:RETI

MAIN:MOV TMOD,#20H;主程序 MOV TH1,#0B2H MOV TL1,#082H SETB TR1

MOV SCON,#40H SETB EA SETB ES MOV A,#O MOV SBUF,A

SJMP$ ;等待中断

;*******************************接收查询方式***************************

ORG 0000H MOV TMOD,#20H MOV TH1,#0B2H MOV TL1,#0B2H SETB TR1

MOV SCON,#50H MOV RO。#20H TEC:JBC R1,REC

SJMP TES REC:MOV @R0,SBUF INC R0

CJNE R0,#40H,TEC

SJMP $ END

;******************************接收中断斤方式**************************** ORG O000H

AJMP MAIN;转主程序 ORG 0023H;中断服务 CLR RI

MOV @RO,SBUF INC R0

CJNF R0,#40,RE CLR ES RE:RETI

MAlN:MOV TMOD,#20H;主程序 MOV TH1,#0B2H MOV TL1,#0B2H SETB TR1

MOV SCON,50H SETB EA SETB ES

SJMP$ ;等待中断 END

30

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《单片微型计算机与接口技术》思考题与习题解答01(6)在线全文阅读。

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