《单片机原理及应用答案补充林立版(七八章).doc》由会员分享,可在线阅读,更多相关《单片机原理及应用答案补充林立版(七八章).doc(3页珍藏版)》请在三一办公上搜索。
1、7.1. 什么事串行异步通信?在串行异步通信中,数据帧的传输格式是什么?含义如何?答:串行异步通信是指在串行通信中发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 数据帧的传输格式:起始位,数据位,奇偶校验位和停止位 含义:起始位用于实现发送和接收双方设备之间的同步;数据位包含所要传输的信息;奇偶校验位用于判断接收数据的正确性;停止位表示一帧数据发送结束,开始下一帧数据的传输。7.3. 89C51单片机串行通信接口控制寄存器有几个?每个寄存器的含义是什么?答: 有电源控制寄存器PCON和串行口控制寄存器SCONPCON中SMOD与串口通信有关。SMOD=0
2、; 串口方式1,2,3时,波特率正常。SMOD=1; 串口方式1,2,3时,波特率加倍其余与串行通信无关SCON中SM0、SM1:串行口工作方式控制位SM2:多机通信控制位REN:串行口接收使能控制端;REN=1时,允许接收,REN=0时,禁止接收TB8:发送接收数据位8RB8:接收数据位8TI:发送中断标志位;TI=1表示帧发送结束,TI可由软件置0RI:接收中断标志位;RI=1表示帧接收完成,RI可由软件置07.4. 在方式1和方式3的通信模式下,波特率通过那个定时器驱动产生?采用何种定时方式?如果要求采用晶振为11.0592MHz,产生的传送波特率为2400b/s,应该怎样对定时器初始化
3、操作?答:由定时器1驱动产生,采用定时器1的工作方式2,自动从装初值 当晶振为11.0592MHz,波特率为2400b/s,由波特率公式:波特率=可求得初值a为F4H初始化操作:TMOD=0x20;TL1=0xF4;TH1=0xF4;PCON=0x00;SCON=0x00;TR1=1;8.3 在由单片机80C51和一片ADC0809组成的数据采集系统中,假设ADC0809的地址为0x7ff80x7fff,画出接口电路图,并编写每隔1ms轮流采集一次8个通道数据的程序。采样100次取平均值。答:电路图书上实例有,做了如下改动1. 控制端ADDA,ADDB,ADDC分别接P20,P2!,P22.2
4、. 删去了译码器与逻辑器件器件,74LS373,74HC14,74HC02,3. 中断检测端EOC接P32。参考程序如下,自己写的没经过仿真,#include#include#define uchar unsigned char/宏定义#define uint unsigned int#define AD_0 XBYTE0xff8/定义通道访问地址#define AD_1 XBYTE0xff9#define AD_2 XBYTE0xffa#define AD_3 XBYTE0xffb#define AD_4 XBYTE0xffc#define AD_5 XBYTE0xffd#define AD
5、_6 XBYTE0xffe#define AD_7 XBYTE0xfffsbit busy=P32;/定义中断请求端uchar count=0;/定义采样次数uchar datcode100=0;/定义数据存放数组int dat=0,dat1=0;/定义临时数据与最终平均数据uchar i,j,num;/定义变量void main()TMOD=0x01;/定时器0 工作方式1TL0=(65536-1000)/256;/1ms中断一次TH0=(65536-1000)%256;EA=1;/开总中断,定时器中断,打开定时器0ET0=1;TR0=1;while(count=100)count=0;void timer0() interrupt 1/中断函数TMOD=0x01;TL0=(65536-1000)/256;TH0=(65536-1000)%256;AD_0=0;/启动0通道AD转换while(busy=1)num=AD_0+1;/把0通道数据附给num,并指向AD_1通道查询datcodei+1=num;j+;if(j=7)/八次查询完毕退出循环busy=0;j=0;
链接地址:https://www.31ppt.com/p-3054334.html