单片机课后习题答案 下载本文

在for循环中,*px1=*px; 并且当i++时,px++, px1++,。 采用数组的方法。

xdata uchar buf1[10] _at_ 0x2000 data uchar buf2[10] _at_ 0x40;

在for循环中, buf2[i] = buf1[i] ; 采用指针的方法参考程序如下: #define uchar unsigned char void main( ) // 主函数 { data uchar i;

uchar xdata *px ; // 指针px,指向char型数据位于xdata uchar data *px1 ; // 指针px1,指向char型数据位于data px=0x2000; px1=0x40;

for(i=0; i<10; i++,px++,px1++) *px1=*px; while(1); }

采用数组的方法参考程序如下: #define uchar unsigned char

xdata uchar buf1[10] _at_ 0x2000; //位于xdata数组buf1[0]地址2000H data uchar buf2[10] _at_ 0x40; //位于data数组buf2[0]地址40H void main( ) // 主函数 { data uchar i;

for(i=0; i<10; i++) buf2[i] = buf1[i]; while(1); }

6、do-while构成的循环与do-while循环的区别是什么? 答:主要区别是:

while循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,因此有可能一次都不执行循环体; 在do-while构成的循环中,总是先执行一次循环体,然后再判断表达式的值,因此无论如何,循环体至少要被执行一次。

第四章应用题无答案 第五章

1、

2、双向口和准双向口有什么区别?

答:双向口与准双向口的区别主要是:准双向口I/O口操作时做数据输入时需要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导

致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口就是做输入用的时候要有向锁存器写1的这个准备动作,所以叫准双向口。真正的双向口不需要任何预操作可直接读入读出。1:准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。3:初始状态和复位状态下准双向口为1,双向口为高阻状态

第六章

1、若寄存器(IP) = 00010100B,则优先级最高者为(外部中断1),最低者为 (定时器T1)。

2、下列说法正确的是( D )。

A.各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中 B.各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中 C.各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中

D.各中断源发出的中断请求信号,都会标记在AT89S51的TCON与SCON寄存器中

3、在AT89S51的中断请求源中,需要外加电路实现中断撤销的是( A )。

A.电平方式的外部中断请求 B.下跳沿触发的外部中断请求 C.外部串行中断 D.定时中断

4、下列说法正确的是( A、C、D )。

A.同一级别的中断请求按时间的先后顺序响应

B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应

C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求

D.同级中断不能嵌套

5、中断响应需要满足哪些条件?

答:一个中断源的中断请求被响应,必须满足以下必要条件:(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。

(3)该中断源的中断允许位=1,即该中断被允许。(4)无同级或更高级中断正在被服务。

第七章

1、如果采用的晶振频率为24MHz,定时器计数器工作在方式0、1、2下,其最大定时时间各为多少?

答:方式0最长可定时16.384ms; 方式1最长可定时131.072ms; 方式2最长可定时512us。

2、定时器、计数器作计数器模式使用时,对外界计数器频率有何限制?

答:对于12振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率的1/24。对于单振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率(或系统时钟频率)的1/4。

3、定时器、计数器的工作方式2有什么特点?适用于哪些场合?

打:定时器、计数器的工作方式2具有自动回复初值的特点,适用于精确定时,比如波特率的产生。

第八章

1、帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式( 1 )。

2、下列选项中,( ABDE )是正确的。

(A) 串行口通信的第9数据位的功能可由用户定义。(对)

(B) 发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(对)

(C) 串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。(错) (D)串行通信接收到的第9位数据送SCON寄存器的RB8中保存。(对)

(E)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。(对)

3、串行口工作方式1的波特率是: (C)

(A)固定的,为fosc/32。 (B)固定的,为fosc/16。

(C)可变的,通过定时器/计数器T1的溢出率设定。(D)固定的,为fosc/64。 4、在异步串行通信中,接收方是如何知道发送方开始发送数据的?

答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。

5、为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,串行通信的波特率,如何计算装入T1的初值? 参P128答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差。

设定时器T1方式2的初值为X,计算初值X可采用如下公式:

fosc2SMOD2SMOD?定时器T1的溢出率?3212(256?X) 波特率 = 32定时器T1的溢出率=计数速率/(256-X)=fosc/[(256-X)*12]

故计数器初值为256-X = 2SMOD ×fosc/[12×32×波特率]

6、 若晶体振荡器为11、0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。

fosc2SMOD?答:方式1的波特率 =3212(256?X) = 4800 bit/s(T1工作于方式2)

X=250=FAH

经计算,计数初值为FAH,初始化程序如下:

ANL TMOD,#0F0H ;屏蔽低4位 ORL TMOD,#20H ;T1定时模式工作方式2 MOV TH1,#0FAH ;写入计数初值,波特率为4800b/s

MOV TL1,#0FAH MOV SCON,#40H ;串行口工作于方式1

2SMOD方式1的波特率??定时器T1的溢出率32f122SMOD??osc?48003265536?X (T1工作于方式2) 解法2:由

11.0592?2X?65536??65536?12?65524?FFF4H384?4800 得

初始化程序如下:

ORG 0000H ANL TMOD,#0F0H ;屏蔽低4位 ORL TMOD,#10H ;T1定时模式方式1 MOV TH1,#0FFH ;写入计数初值,为4800b/s MOV TL1,#0F4H MOV SCON,#40H ;串行口工作于方式1 MOV PCON,#80H ;串行通信波特率加倍

7、为什么AT89S51单片机串行口的方式0帧格式没有起始位(0)和停止位(1)? 答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低位到高位发送或接收数据。

8、直接以TTL电平串行传输数据的方式有什么缺点?为什么在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口,来进行串行数据传输。比较RS-232C、RS-422A和RS-485标准串行接口各自的优缺点。

答:直接以TTL电平串行传输数据的方式的缺点是传输距离短,抗干扰能力差。因此在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口。主要是对传输的电信号不断改进,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输相比,采用了负逻辑,增大“0”、“1”信号的电平差。而RS-422A和RS-485都采用了差分信号传输,抗干扰能力强,距离可达1000多米。RS-422A为全双工,RS-485为半双工。

第九章

1、单片机存储器的主要功能是存储(程序)和(数据)。

2、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供(片选)控制。

3、起止范围为0000H-3FFFH的存储器的容量是(16)KB。

4、在AT89S51单片机中,PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。