单片机应用技术(c语言版)习题参考答案

上传人:luoxia****01827 文档编号:47838749 上传时间:2018-07-05 格式:PDF 页数:41 大小:410.13KB
返回 下载 相关 举报
单片机应用技术(c语言版)习题参考答案_第1页
第1页 / 共41页
单片机应用技术(c语言版)习题参考答案_第2页
第2页 / 共41页
单片机应用技术(c语言版)习题参考答案_第3页
第3页 / 共41页
单片机应用技术(c语言版)习题参考答案_第4页
第4页 / 共41页
单片机应用技术(c语言版)习题参考答案_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《单片机应用技术(c语言版)习题参考答案》由会员分享,可在线阅读,更多相关《单片机应用技术(c语言版)习题参考答案(41页珍藏版)》请在金锄头文库上搜索。

1、单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 1 页 单片机应用技术(C 语言版) 课后习题参考答案 单片机应用技术(C 语言版) 课后习题参考答案 任务任务 1 控制控制 1 只发光二极管闪烁显示只发光二极管闪烁显示 1EA脚的功能是 控制程序存储器的选择 ,单片机使用片内程序存储器时,该引脚 应该 接+5V 高电平 。 2单片机的 RST 引脚是 复位引脚 ,外接 复位 电路。 3MCS-51 单片机有 片内数据存储器(片内 RAM) 、 特殊功能寄存器 、 扩展数据存 储器 和 程序存储器 4 个存储空间。 4对于标准的 MCS-51 单片机而言,i

2、data 区是指 片内 RAM 地址范围为 0x000x7f 的 区域,共 128 字节,对于增强型 MCS-51 单片机(52 单片机)而言,idata 区的地址范围为 0x000xff ,共 256 字节。 5MCS-51 单片机的 data 区位于单片机的 片内 RAM 中,地址范围为 0x000x7f ,共 128 字节。 6MCS-51 单片机有 4 组工作寄存器组,工作寄存器组区的地址范围是 0x000x1f , 当前工作寄存器组用 R0R7 8 个寄存器表示。 7若函数 display()的定义如下: void display(void) using 1 单片机在执行函数 dis

3、play 时, 当前工作寄存器组是第 1 组工作寄存器, 其中 R2 的地 址是 0x0a 。 8单片机执行下列程序段后,当前工作寄存器组是第 3 组工作寄存器,其中 R7 的地 址是 0x1f 。 RS0=1;RS1=1; 9单片机执行第 8 题中的程序段后,再执行第 7 题中的 display 函数,在执行 display 函数时,R7 的地址为 0x0f ,执行 display 之后,R7 的地址为 0x1f 。 10 MCS-51 单片机的 bdata 区的地址范围是 0x200x2f , 共 16 字节, 128 位。 bdata 区的特点是 每个字节的每一位都分配有位地址,可进行位

4、访问 。 11位地址 0x08 是片内 RAM 0x21 单元的 第 0 位,属于 bdata 区。 12pdata 区是 xdata 区的一部分。 13单片机通过RD、WR 引脚选择扩展 RAM,通过 PSEN 引脚选择程序存储器。 14 code 区是指单片机的 程序 存储区, code 区的作用是存放 程序代码和表格数据 。 15至少要配备 时钟 电路、 复位 电路、 存储器 电路和 电源 电路,单片机才能独 立工作。 16时钟电路的作用是 产生时钟信号 ,装配晶振时应该将晶振 尽可能地安装在 XTAL1、XTAL2 引脚附近 。 17若单片机的fosc = 12MHz,单片机的机器周期

5、为 1s 。 18请画出单片机的时钟发生电路图。 【解】时钟发生电路如下图所示: 单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 2 页 19复位电路的作用是 为单片机产生复位信号,保证单片机上电后从一个确定的状态 开始工作 。 20请画出上电复位电路和按键复位电路的电路图,并给出电路中各元件的值。 【解】上电复位和按键复位电路如下图所示: 21 复位后, 单片机使用第 0 组工作寄存器作当前工作寄存器组, R3 的地址为 0x03 。 22复位后,SP 的值为 0x07 ,堆栈区为 片内 RAM0x07 以后的区域 ,若不重新定义 堆栈区,则第 1 个压入

6、堆栈的数据存放的地址为 0x08 。 23请画出 STC89C51 单片机的最小系统电路图。 【解】STC89C51 单片机的最小系统电路如下图所示: 24 函数 是 C51 程序的基本单位。 25C51 程序中至少有一个 main 函数。 26C51 程序中,语句由 分号(;)结尾。 27 C51 书写比较自由, 一条语句可以 分多行 书写, 也可以在一行中书写 多条 语句。 28C51 程序中,注释有单行注释和多行注释两种形式,单行注释的形式是 / 注释 , 多行注释的形式是 /* 注释 */ 。 29C51 程序中,标点符号要在 半角 状态录入。 30Keil uVision2 中的存储

7、模式有 Small、Compact、Large3 种模式,Small 存储模式 的特点是 所有变量都定义在 data 区内 ,Compact 存储模式的特点是 变量可以使用 pdata 区 ,Large 存储模式的特点是 变量可以位于 xdata 区内 。 单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 3 页 31Keil uVision2 中,代码的 ROM 大小有 Small、Compact、Large3 种模式,Small 模式的特点是 所有程序使用低 2KB 程序存储器空间 ,Compact 模式的特点是 单个函数 的代码量不能超过 2KB, 整个

8、程序可以使用 64KB 空间 , Large 模式的特点是 可以使用全部 64KB 程序存储空间 。 32简述用 Keil uVision2 创建 Hex 文件的设置方法。 【解】略 33用 C51 开发单片机应用程序时,R0R7 一般不用绝对地址访问,简述在 Keil uVision2 中选择 R0R7 不采用绝对地址访问的设置方法。 【解】其步骤如下: 第一步:用鼠标右键单击工程管理窗口中的“Target 1” ,在弹出的快捷菜单中单击 “Option for Target Target 1 ”菜单项。 第二步:在弹出的“Option for TargetTarget 1 ”对话框中点击“

9、C51”标签。 第三步:在“C51”标签中勾选“Dont use absolute register accesses”多选钮。 单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 4 页 任务任务 2 显示开关量的输入状态显示开关量的输入状态 1unsigned char 型变量占 1 个字节,值域是 0255 ,data 区中最多只能定义 个 unsigned char 型变量。 2 C51 中, 16 进制数的表示方法是 以 0x 开头的数字 , 与 0x12 等值的十进制数是 18 , 0x34L 是 长整型 数。 3用 C51 设计单片机程序时,应尽量

10、使用 无符号字符 型和 位 型数据,以便提高程 序的运行速度。 4写出下列常量和变量的定义式: 值为 20 的符号常量 KTIM。 无符号字符型变量 i、j。 带符号整型变量 k。 浮点型变量 f。 有符号的长整型变量 sl。 位变量 mybit。 定义无符号字符型变量 i、j,并给 i 赋值 3、j 赋值 4。 【解】 #define KTIN 20 unsigned char i,j; int k; 或者 signed int k; float f; long sl; 或者 signed long sl; bit mybit; unsigned char i=3,j=4; 5语句“i=(j

11、=3)+(k=4);”的含义是 求求两个赋值表达式“j=3”与“k=4”的和,并 将和值赋给变量 i ,语句执行后 i= 7 ,j= 3 ,k= 4 。 6若有下列定义: int i=0x1234; unsigned char j; 语句“j=i;”执行后,i= 0x1234 ,j= 0x34 。 7若有下列定义: int i; unsigned char j=0x82; 语句“i=j;”执行后,i= 0x0082 。 8若有下列定义: unsigned int i; char j=0x82; 语句“i=j;”执行后,i= 0xff82 ,j= 0x82 。 9定义下列特殊功能寄存器和特殊位:

12、 特殊功能寄存器 P0、P1、P2、P3。 16 位特殊功能寄存器 RCAP2,RCAP2 的低字节地址为 0xca,高字节地址为 0xcb。 单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 5 页 特殊功能寄存器 P0 的第 0 位 P0_0。 片内 RAM0x24 单元的第 4 位 down。 【解】 sfr P0=0x80; sfr P1=0x90; sfr P2=0xa0; sfr P3=0xb0; sfr16 RCAP2=0xca; 法一: sfr P0=0x80; sbit P0_0=P00; 法二: sbit P0_0=0x800; 法三: s

13、bit P0_0=0x80; /这里的 0x80 是 P0.0 的位地址,而不是 P0 口的端口地址 法一: sbit down=0x244; 法二: sbit down=0x24; /这里的 0x24 为 0x24 单元第 4 位的位地址 10P0 端口既可以作 数据/地址总线 口使用,又可以作普通 I/O 端口使用。 11在 单片机片外不扩展程序存储器,不扩展并行 RAM,也不扩展并行 I/O 芯片的 条 件下,P0 口作普通 I/O 口使用。 12P0 口作输出端口时,P0 的输出驱动级 为漏极开路电路,输出极无上拉 电阻,接 拉电流负载时,需要 外接上拉电阻 ,接灌电流负载时,可以 不

14、接上拉电阻 。 13P0 口输出具有 锁存 功能,输入具有 缓冲 功能。 14设 m 为 unsigned char 型变量,mybit 为 bit 型变量,请按下列要求编写程序段: 将 m 中的数据从 P0 口输出。 将 mybit 中的数据从 P0.0 口线输出。 将 P0.3 口线置 1。 将 P0.5 口线清 0。 读 P0 口的输入状态,并保存至 m 中。 读 P0.0 口线输入状态,并保存到 mybit 中。 【解】 sfr P0=0x80; unsigned char m; P0=m; sfr P0=0x80; sbit P0_0=P00; bit mybit; P0_0=myb

15、it; sfr P0=0x80; sbit P0_3=P03; P0_3=1; sfr P0=0x80; 单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_) 第 6 页 sbit P0_5=P05; P0_5=0; sfr P0=0x80; unsigned char m; P0=0xff; m=P0; sfr P0=0x80; sbit P0_0=P00; bit mybit; P0_0=1; mybit=P0_0; 15单片机复位后,P0= 0xff 。 16 P0 口的每一位可以驱动 8 个 LSTTL 负载, 若负载过大, 则需在端口外加上 驱动 电 路后才可以接负载。 17若用 P0.0 口线控制一只发光二极,请画出发光二极管作拉电流负载和作灌电流负 载时的电路图。 【解】发光二极管作拉电流负载和作灌电流负载时的电路图如下: (a) 拉电流负载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 物流与供应链

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号