单片机C语言试卷_第1页
单片机C语言试卷_第2页
单片机C语言试卷_第3页
单片机C语言试卷_第4页
单片机C语言试卷_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、因为个人使用旧版(第4版),页码统一也旧版页码为准,望见谅。个人纯手打,若有错漏,望多多包含。祝大家考试顺利!07-08 A卷一、问答题1、用单片机C语言针对外部扩展接口芯片编程时,为什么需要absacc.h头文件?答:(详见课本P342即附录B 6.头文件的内容)该头文件中包含的宏定义允许用户直接访问8051单片机的不同存储区。包括:(具体区别见P335-337)(可省略)CBYTE:允许用户访问程序存储器中某一字节;XBYTE:允许用户访问8051外部数据存储器中某一字节;DBYTE:允许用户访问8051单片机内部数据存储器中某一字节;PBYTE:允许用户访问按页访问8051外部数据存储器

2、中某一字节;CWORD:允许用户访问程序存储器中某一字节;XWORD:允许用户访问8051外部数据存储器中某一字节;DWORD:允许用户访问8051单片机内部数据存储器中某一字节;PWORD:允许用户按页访问8051外部数据存储器中某一字节;当51单片机通过8255(8155)和锁存器74LS273等来扩展IO时,需要用到外部数据存储器,常使用宏XBYTE。2、单片机C语言Cx51对单片机内部资源和外部资源变量和地址的定义是否与普通C语言兼容,为什么?答:详见章节3.4 P64-67不兼容。8051单片机片内有21个特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址为80H0F

3、FH,对SFR的操作,只能用直接寻址方式。为了直接访问这些特殊功能寄存器,KEIL Cx51提供了一种自主形式的定义方法。这种定义方法与标准C语言不兼容,只适用于对8051系列单片机进行C编程。这种定义的方法是引入关键字“sfr”,语法为:sfr sfr_name =int constant ;3、单片机C语言编程定义变量时,为什么通常需要定义变量的存储类型?答:详见章节3.3 P59-63因为KEIL Cx51 是面向8051系列单片机及其硬件控制系统的开发工具,它定义的任何数据类型必须以一定的存储类型的方式定位在8051的某一存储区中,否则便没有任何的实际意义。二、简述题1、以走马灯的实验

4、为例,简述用单片机C语言编程、上机、实验调试的过程。解:详见附录A P308-3222、简述单片机C语言取代单片机汇编语言的发展趋势。解:详见章节2.1 P41-42三、电路图绘制略四、编程题1、对于P1口步进电机控制电路,P1.0:A相;P1.1:B相;P1.2:C相。当P3.3为低电平时,步进电机停转,当P3.3为高电平时,步进电机运转。单向三拍正转顺序ABCA;单向三拍反转顺序ACBA。应用定时器定时(定时17ms)中断方式编制单向三拍正、反转控制程序(用一个程序编制完成),单片机的fosc=12MHz。解:可以参考P235-238 章节10.3 例1、2单向三拍正转脉冲顺序为ABCA,

5、数字控制字为01H02H04H01H;单向三拍反转脉冲顺序为ACBA,数字控制字为01H04H02H01H。2、设80051单片机的fosc=12MHz,编程实现在P1.7端口输出100Hz的方波,在P1.6端口输出50Hz的方波。解:可以参考P188 例2 程序如下:3、应用定时器定时20ms,每20ms从8255的A口(地址参见绘制的电路图)读入8位新数据(new),并和上一次输入值(old)相与,其结果存入rel变量中,单片机的fosc=12MHz解:可参考章节9.2 P210-214 11-12 B卷一、简答题1、单片机C语言编程定义数组变量时,为什么通常需要定义数组变量的存储类型?答

6、:见A卷。2、单片机串行通信时,为什么通常选择11.059MHz晶振?答:详见章节8.3 P193-197一般选用11.0592MHz或其倍数。因为对其整数分频后可以得到4800、9600、57600等常用波特率。而12MHz或6MHz晶振数值看上去很美,分频后总是无法精确得到以上常用波特率。3、头文件REG51.H主要的功能是什么?单片机C语言编程是否必须使用该头文件?答:1)关于单片机的一些符号的定义,即规定符号名与地址的对应关系。特别是4个并行口(P0、P1、P2、P3)、特殊功能寄存器(IE、 IP 、TMOD、 TR0、 EA、 TH0 、TL0等)、第二功能等。2)若编程并不需要头

7、文件REG51.H里所定义的,可不使用该头文件。但编程所面对的硬件为8051系列单片机,一般还是需要的。当然在自己非常熟悉8051的结构时,也可以自行定义需要使用的符号,就不必使用该头文件。二、简述题1、以A/D数据采集的实验为例,简述用单片机C语言编程、上机、实验调试的具体过程和步骤。解:详见附录A P308-3222、简述单片机C语言程序结构。解:详见章节2.5 P53-54三、电路图绘制1、2、3、略4、设绘制电路图中P1.3P1.7连接5个发光二极管,设单片机晶振为12MHz,按照P1.7(亮200ms之后灭)P1.6(亮200ms后灭)P1.5(亮200ms后灭)P1.4(亮200ms后灭)P1.3(亮200ms后灭)P1.7(亮200ms后灭)的顺序发光,编制程序实现上述功能。要求:应用定时器中断方式编程;写出对题目的分析。解:其实,这是一个走马灯,时间间隔200ms。如果间隔不同,可以参照P192 例5。要产生200ms的定时,可以20ms循环10次得到。(或者通过计数器计数10次)四、编程与绘制程序流程图编程用单片机和定时器来产生矩形波。要求频率为50kHz,占空比2:1(高电平的时间长)。设单片机的fosc=6MHz(1)绘制程序流程图(2)编程解:可以参考P190例4(1)流程图我就不在word里编辑了,很是麻烦。(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论