单片机课后习题答案(《单片机应用技术》C语言版)

  • 格式:doc
  • 大小:120.50 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MCS-51在通常应用情况下,使用振荡频率为的6MHz或12MHz的晶振,如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.059MHz的晶振。

1.11

答:

规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。

当振荡脉冲频率为12 MHz时, 一个机器周期为1µs;当振荡脉冲频率为6 MHz时,一个机器周期为2 µs。

1.12

答:

(a)上电复位电路(b)按键复位电路

单片机常见的复位电路

图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST 端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。

图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。

习题2答案

2.1 单项选择题

(1)C (2)A (3)B (4)A (5)D

2.2

答:

单片机开发过程所用的设备与软件称为单片机开发系统或开发工具。

单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。连接方法如下图所示。

单片机开发系统连接方法示意图

2.3

答:单片机应用系统的开发过程如下:

设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试2.4

答:

1.在线仿真功能

在线仿真器(In Circuit Emulator,简称ICE)是由一系列硬件构成的设备,它能仿真用户系统中的单片机,并能模拟用户系统的ROM、RAM和I/O口。因此,在线仿真状态下,用户系统的运行环境和脱机运行的环境完全“逼真”。

2.调试功能

1)运行控制功能

开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。

2)单片机状态查看修改功能

当CPU停止执行程序运行后,开发系统允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。任务2中图2.13给出了在Medwin调试环境下查看单片机内部资源的菜单。

3.程序编译功能

1) 程序设计语言

单片机程序设计语言包括机器语言、汇编语言和高级语言。

机器语言是单片机唯一能够识别的语言。

汇编语言具有使用灵活、实时性好的特点。目前,在实际项目开发中较少使用汇编语言。

高级语言通用性好,且具有较好的可读性和可移植性,是目前单片机编程语言的主流。

2) 程序编译

单片机开发系统能够提供源程序的编辑、编译和下载功能以及工程管理功能。

4.程序固化功能

编程器是完成这种任务的专用设备,它也是单片机开发系统的重要组成部分。

习题3 答案

3.1 单项选择题

(1) A (2) A (3) C (4)C (5)A

(6) B (7) D (8) D (9)A (10)A

(11)B (12)C (13)D (14)D (15)C

3.2 填空题

(1)P3口

(2)字节,位

(3)主函数main()

(4)sbit FLAG=P3^1;

(5)sfr

(6)顺序结构、选择结构和循环结构

(7)表达式加上分号“;”

(8)if,switch

(9)do-while,while

(10)无限次

(11)10000

(12)unsigned char

(13)变量在MCS-51硬件系统中所使用的存储区域

(14)'\0'

(15)程序存储器ROM中

3.3 上机操作题

(1)

//xiti3_3_1.c——第三章习题3.3上机操作题(1)

#include

void delay(unsigned char i); //延时函数声明

void main() //主函数

{

while(1){

P1=0x55; //按状态1的方式点亮8个LED

delay(200); //延时

P1=0xaa; //按状态2的方式点亮8个LED

delay(200); //延时

}

}

void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c

(2)

//xiti3_3_2.c——第三章习题3.3上机操作题(2)

#include //包含头文件REG51.H

void delay(unsigned char i); //延时函数声明

void main() //主函数

{

unsigned char i,l,r;

while(1){

l=0x10; // 高4位灯的位置初值为00010000B

r=0x08; // 低4位灯的位置初值为00001000B

for(i=0;i<4;i++){

P1=~(l|r); // 循环点亮灯

l<<=1; // 高4位灯的位置移动

r>>=1; // 低4位灯的位置移动

delay(200); //延时

}

}

}

void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c

(3)

//xiti3_3_3.c——第三章习题3.3上机操作题(3)

#include //包含头文件REG51.H

void delay(unsigned char i); //延时函数声明

void main() //主函数

{

unsigned char i;

unsigned char display[]={0x89, 0xff,0x86, 0xff,0xc7, 0xff,0xc7, 0xff,0xc0, 0xff};

while(1){

for(i=0;i<10;i++){

P1=display[i]; //显示字送P1口

delay(200); //延时

}

}

}

void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c

习题4 答案

4.1 单项选择题

(1)B (2)A (3)C (4)A (5)A

(6)B (7)A (8)A (9)D (10)A

(11)C (12)C (13)A (14)D

4.2 填空题

(1)①定时器T0 ②定时器T1 ③定时器方式寄存器TMOD ④定时器控制寄存器TCON

(2)GATE=0

(3)TMOD=0x05

(4)选择定时器T0/T1的工作方式