单片机应用技术(C语言版)习题参考答案.pdf
《单片机应用技术(C语言版)习题参考答案.pdf》由会员分享,可在线阅读,更多相关《单片机应用技术(C语言版)习题参考答案.pdf(41页珍藏版)》请在咨信网上搜索。
1、单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 1 页 单片机应用技术(C 语言版)课后习题参考答案 单片机应用技术(C 语言版)课后习题参考答案 任务任务 1 控制控制 1 只发光二极管闪烁显示只发光二极管闪烁显示 1EA脚的功能是 控制程序存储器的选择 ,单片机使用片内程序存储器时,该引脚应该 接+5V 高电平 。2单片机的 RST 引脚是 复位引脚 ,外接 复位 电路。3MCS-51 单片机有 片内数据存储器(片内 RAM)、特殊功能寄存器、扩展数据存储器 和 程序存储器 4 个存储空间。4对于标准的 MCS-51 单片机而言,idata 区是指 片内
2、RAM 地址范围为 0 x000 x7f 的区域,共 128 字节,对于增强型 MCS-51 单片机(52 单片机)而言,idata 区的地址范围为 0 x000 xff,共 256 字节。5MCS-51 单片机的 data 区位于单片机的 片内 RAM 中,地址范围为 0 x000 x7f,共 128 字节。6MCS-51 单片机有 4 组工作寄存器组,工作寄存器组区的地址范围是 0 x000 x1f,当前工作寄存器组用 R0R7 8 个寄存器表示。7若函数 display()的定义如下:void display(void)using 1 单片机在执行函数 display 时,当前工作寄存器
3、组是第 1 组工作寄存器,其中 R2 的地址是 0 x0a。8单片机执行下列程序段后,当前工作寄存器组是第 3 组工作寄存器,其中 R7 的地址是 0 x1f。RS0=1;RS1=1;9单片机执行第 8 题中的程序段后,再执行第 7 题中的 display 函数,在执行 display函数时,R7 的地址为 0 x0f,执行 display 之后,R7 的地址为 0 x1f。10 MCS-51 单片机的 bdata 区的地址范围是 0 x200 x2f,共 16 字节,128 位。bdata区的特点是 每个字节的每一位都分配有位地址,可进行位访问。11位地址 0 x08 是片内 RAM 0 x
4、21 单元的 第 0 位,属于 bdata 区。12pdata 区是 xdata 区的一部分。13单片机通过RD、WR 引脚选择扩展 RAM,通过 PSEN 引脚选择程序存储器。14 code 区是指单片机的 程序 存储区,code 区的作用是存放 程序代码和表格数据。15至少要配备 时钟 电路、复位 电路、存储器 电路和 电源 电路,单片机才能独立工作。16时钟电路的作用是 产生时钟信号,装配晶振时应该将晶振 尽可能地安装在XTAL1、XTAL2 引脚附近。17若单片机的fosc=12MHz,单片机的机器周期为 1s。18请画出单片机的时钟发生电路图。【解】时钟发生电路如下图所示:单片机应用
5、技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 2 页 19复位电路的作用是 为单片机产生复位信号,保证单片机上电后从一个确定的状态开始工作。20请画出上电复位电路和按键复位电路的电路图,并给出电路中各元件的值。【解】上电复位和按键复位电路如下图所示:21 复位后,单片机使用第 0 组工作寄存器作当前工作寄存器组,R3 的地址为 0 x03。22复位后,SP 的值为 0 x07,堆栈区为 片内 RAM0 x07 以后的区域,若不重新定义堆栈区,则第 1 个压入堆栈的数据存放的地址为 0 x08。23请画出 STC89C51 单片机的最小系统电路图。【解】STC89C51
6、 单片机的最小系统电路如下图所示:24 函数 是 C51 程序的基本单位。25C51 程序中至少有一个 main 函数。26C51 程序中,语句由 分号(;)结尾。27 C51 书写比较自由,一条语句可以 分多行 书写,也可以在一行中书写 多条 语句。28C51 程序中,注释有单行注释和多行注释两种形式,单行注释的形式是/注释,多行注释的形式是/*注释*/。29C51 程序中,标点符号要在 半角 状态录入。30Keil uVision2 中的存储模式有 Small、Compact、Large3 种模式,Small 存储模式的特点是 所有变量都定义在 data 区内 ,Compact 存储模式的
7、特点是 变量可以使用pdata 区,Large 存储模式的特点是 变量可以位于 xdata 区内。单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 3 页 31Keil uVision2 中,代码的 ROM 大小有 Small、Compact、Large3 种模式,Small模式的特点是 所有程序使用低 2KB 程序存储器空间 ,Compact 模式的特点是 单个函数的代码量不能超过 2KB,整个程序可以使用 64KB 空间,Large 模式的特点是 可以使用全部64KB 程序存储空间。32简述用 Keil uVision2 创建 Hex 文件的设置方法。【解】
8、略 33用 C51 开发单片机应用程序时,R0R7 一般不用绝对地址访问,简述在 Keil uVision2 中选择 R0R7 不采用绝对地址访问的设置方法。【解】其步骤如下:第一步:用鼠标右键单击工程管理窗口中的“Target 1”,在弹出的快捷菜单中单击“Option for Target Target 1”菜单项。第二步:在弹出的“Option for TargetTarget 1”对话框中点击“C51”标签。第三步:在“C51”标签中勾选“Dont use absolute register accesses”多选钮。单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuq
9、ing_)第 4 页 任务任务 2 显示开关量的输入状态显示开关量的输入状态 1unsigned char 型变量占 1 个字节,值域是 0255,data 区中最多只能定义 个 unsigned char 型变量。2 C51 中,16 进制数的表示方法是 以 0 x 开头的数字,与 0 x12 等值的十进制数是 18,0 x34L 是 长整型 数。3用 C51 设计单片机程序时,应尽量使用 无符号字符 型和 位 型数据,以便提高程序的运行速度。4写出下列常量和变量的定义式:值为 20 的符号常量 KTIM。无符号字符型变量 i、j。带符号整型变量 k。浮点型变量 f。有符号的长整型变量 sl
10、。位变量 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=3)+(k=4);”的含义是 求求两个赋值表达式“j=3”与“k=4”的和,并将和值赋给变量 i,语句执行后 i=7,j=3,k=4。6若有下列定义:int i=0 x1234;unsigned char j;语句“j=i;”执行后,i=0 x1
11、234,j=0 x34。7若有下列定义:int i;unsigned char j=0 x82;语句“i=j;”执行后,i=0 x0082。8若有下列定义:unsigned int i;char j=0 x82;语句“i=j;”执行后,i=0 xff82,j=0 x82。9定义下列特殊功能寄存器和特殊位:特殊功能寄存器 P0、P1、P2、P3。16 位特殊功能寄存器 RCAP2,RCAP2 的低字节地址为 0 xca,高字节地址为 0 xcb。单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 5 页 特殊功能寄存器 P0 的第 0 位 P0_0。片内 RAM0
12、x24 单元的第 4 位 down。【解】sfr P0=0 x80;sfr P1=0 x90;sfr P2=0 xa0;sfr P3=0 xb0;sfr16 RCAP2=0 xca;法一:sfr P0=0 x80;sbit P0_0=P00;法二:sbit P0_0=0 x800;法三:sbit P0_0=0 x80;/这里的 0 x80 是 P0.0 的位地址,而不是 P0 口的端口地址 法一:sbit down=0 x244;法二:sbit down=0 x24;/这里的 0 x24 为 0 x24 单元第 4 位的位地址 10P0 端口既可以作 数据/地址总线 口使用,又可以作普通 I/
13、O 端口使用。11在 单片机片外不扩展程序存储器,不扩展并行 RAM,也不扩展并行 I/O 芯片的 条件下,P0 口作普通 I/O 口使用。12P0 口作输出端口时,P0 的输出驱动级 为漏极开路电路,输出极无上拉 电阻,接拉电流负载时,需要 外接上拉电阻,接灌电流负载时,可以 不接上拉电阻。13P0 口输出具有 锁存 功能,输入具有 缓冲 功能。14设 m 为 unsigned char 型变量,mybit 为 bit 型变量,请按下列要求编写程序段:将 m 中的数据从 P0 口输出。将 mybit 中的数据从 P0.0 口线输出。将 P0.3 口线置 1。将 P0.5 口线清 0。读 P0
14、 口的输入状态,并保存至 m 中。读 P0.0 口线输入状态,并保存到 mybit 中。【解】sfr P0=0 x80;unsigned char m;P0=m;sfr P0=0 x80;sbit P0_0=P00;bit mybit;P0_0=mybit;sfr P0=0 x80;sbit P0_3=P03;P0_3=1;sfr P0=0 x80;单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 6 页 sbit P0_5=P05;P0_5=0;sfr P0=0 x80;unsigned char m;P0=0 xff;m=P0;sfr P0=0 x80;sb
15、it P0_0=P00;bit mybit;P0_0=1;mybit=P0_0;15单片机复位后,P0=0 xff。16 P0 口的每一位可以驱动 8 个 LSTTL 负载,若负载过大,则需在端口外加上 驱动 电路后才可以接负载。17若用 P0.0 口线控制一只发光二极,请画出发光二极管作拉电流负载和作灌电流负载时的电路图。【解】发光二极管作拉电流负载和作灌电流负载时的电路图如下:(a)拉电流负载 (b)灌电流负载 18P1 口输出具有 锁存 功能,能驱动 4 个 LSTTL 负载,输入具有 缓冲 功能,复位后,特殊功寄存器 P1=0 xff。19P1 口输出驱动级内部接有 上接电阻,接拉电流
16、负载时,可以 不接上拉电阻。20设 m 为 unsigned char 型变量,mybit 为 bit 型变量,请按下列要求编写程序段:将 m 中的数据从 P1 口输出。将 mybit 中的数据从 P1.2 口线输出。将 P1.5 口线置 1。将 P1.0 口线清 0。读 P1 口的输入状态,并保存至 m 中。读 P1.7 口线输入状态,并保存到 mybit 中。【解】sfr P1=0 x90;unsigned char m;P1=m;sfr P1=0 x90;sbit P1_2=P12;bit mybit;单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 7
17、页 P1_2=mybit;sfr P1=0 x90;sbit P1_5=P15;P1_5=1;sfr P1=0 x90;sbit P1_0=P10;P1_0=0;sfr P1=0 x90;unsigned char m;P1=0 xff;m=P1;sfr P1=0 x90;sbit P1_7=P17;bit mybit;P1_7=1;mybit=P1_7;21若 P1 口外接有 8 位拨码开关,请画出拨码开关与单片机的连接电路图。【解】拨码开关与单片机的连接电路图如下图所示。22宏定义是一种编译预处理命令,宏定义以#开头,结尾处 无分号(;),一般放在程序的 开头 处。用字符 uchar 代表
18、字符 unsigned char 的宏定义是#define unchar unsigned char。单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 8 页 任务 3 控制楼梯灯 任务 3 控制楼梯灯 1C51 中,测试等于运算符是=,测试不等于运算符是!=。2C51 中,当一个表达式中有多个运算符时,先进行 高 优先级运算,同级运算的先后顺序由 结合方向 确定,若 结合方向是从左向右,则按从左至右的顺序进行运算。3下列程序中,表达式“d=a!=bc”的求解顺序是 先求解 bc,再求解 a!=(bc),最后求解 d=(a!=(bc)。程序运行后,a=4,b=3
19、,c=2,d=1。void main(void)unsigned char a=4,b=3,c=2,d;d=a!=bc;4下列程序运行后,a=1,b=3,c=0。void main(void)unsigned char a=0,b=1,c=2;c=!(a=1)&(b=3);5设有下列程序段:a=1;b=2;c=3;/1 if(k5)/2 a=4;b=5;/3 c=6;/4 若 k=4,则执行上述程序段后,a=4,b=5,c=6。若 k=5,则执行上述程序段后,a=1,b=5,c=6。如果将第 3 句改为 a=4;b=5;,当 k=4 时,上述程序段执行后,a=4,b=5,c=6。当 k=5 时
20、,上述程序段执行后,a=1,b=2,c=6。6请画出下列语句对应的流程图:if(表达式)语句块 1;语句块 2;if(表达式)语句块 1;else 语句块 2;语句块 3;if(表达式 1)语句块 1;else if(表达式 2)语句块 2;else 语句块 3;语句块 4;【解】它们的流程图如下图所示:单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 9 页 7单片机在 片外不扩展程序存储器,不扩展并行 RAM,也不扩展并行 I/O 芯片的 情况下,P2 口可作为普通的 I/O 口使用。8P2 口作普通 I/O 口使用时,输出具有 锁存 功能,输入具有 缓冲
21、功能。9P2 口的输出锁存器是 特殊功能寄存器 P2,输出驱动级内部 有 上拉电阻,P2 口的每一位端口可以驱动 4 个 LSTTL 负载,复位时,特殊功能寄存器 P2=0 xff。10设 m 为 unsigned char 型变量,mybit 为 bit 型变量,请按下列要求编写程序段:从 P2 口输出数据 0 x5a。将 mybit 中的数据从 P2.6 口线输出。将 P2.2 口线置 1。将 P2.4 口线清 0。读 P2 口的输入状态,并保存至 m 中。读 P2.7 口线的输入状态,并保存到 mybit 中。【解】sfr P2=0 xa0;P2=0 x5a;sfr P2=0 xa0;s
22、bit P2_6=P26;bit mybit;P2_6=mybit;sfr P2=0 xa0;sbit P2_2=P22;P2_2=1;sfr P2=0 xa0;sbit P2_4=P24;P2_4=0;sfr P2=0 xa0;unsigned char m;P2=0 xff;m=P2;sfr P2=0 xa0;sbit P2_7=P27;bit mybit;P2_7=1;mybit=P2_7;11 单片机片外扩展并行 I/O 芯片时,P2 口只能作 地址总线 口使用,不能作 普通 I/O 口使用,此时,P2 口输出的是 高 8 位地址 A15A8 。单片机应用技术(C 语言版)习题参考答案
23、 作者:李文华(lizhuqing_)第 10 页 12P3 口是双功能 I/O 口,在 端口线上的第二功能没有启用的 情况下,P3 口的端口线才能作普通的 I/O 口使用。13打开了外部中断 0 后,P3.2 口线 不能 作普通 I/O 口,定时/计数器 T0 处于定时状态时,P3.4 口线 可以 作普通 I/O 口。14P3 口作普通 I/O 口时,输出具有 锁存 功能,输入具有 缓冲 功能。15P3 口作普通 I/O 口时,输出驱动级内部 有 上拉电阻,P3 口的每一位端口可以驱动 4 个 LSTTL 负载。16单片机复位后,特殊功能寄存器 P3=0 xff,P3 口处于 第一功能 状态
24、。17按下列要求编写程序段:读 P3 口输入至变量 keyinput 中。读 P3.4 引脚输入至位变量 setport 中。将 P3.5 置 1。【解】sfr P3=0 xb0;unsigned char keyinput;P3=0 xff;keyinput=P3;sfr P3=0 xb0;sbit P3_4=P34;bit setport;P3_4=1;setport=P3_4;sfr P3=0 xb0;sbit P3_5=P35;P3_5=1;18请画出在 P3.0 端口接一只开关的输入电路。【解】P3.0 端口接一只开关的输入电路如下:19在图 2-8 中,能否省去电阻 R3、R4?为
25、什么?能否省去电阻 R2?为什么?【解】可以省去 R3、R4。因为 P2 口的输出驱动级内接有上拉电阻。不能省去 R2。电路中,R2 起限流作用,省去 R2 后,当 P3.5 输出低电平时,会出现流经 D0 的电流很大,从而导致烧毁 D0。20#include 的作用是 将特殊功能寄存器定义头文件 reg51.h 包含至当前程序文件中来,一般放在程序的 开头 处。单片机应用技术(C 语言版)习题参考答案 作者:李文华(lizhuqing_)第 11 页 任务 4 制作跑马灯 任务 4 制作跑马灯 1%是 取余 运算符,要求运算符两边的数据必须是 字符型 型数据或者是 整 型数据。210%4=2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用技术 语言版 习题 参考答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。