版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 、填空KeiLC51软件中,工程文件的扩展名是UV2,编译连接后生成可烧写的文件扩展名是HEX。C51支持的指针有一般指针和存储器指针。C51中,没有专门的循环语句,我们可以用函数crol完成一个字节的循环左移,用完成二个字节的循环左移。C51的基本数据类型有位型、字符型、整型、长整型、浮点型、双精度浮点型。C51的存储类型有data、bdata、idata、pdata、xdata、code。C51的存储模式有SMALL、COMPACT和LARGE。C51程序与其他语言程序一样,程序结构也分为顺序结构、选择结构、循环结构三种。TOC o 1-5 h zC51中int型变量的长度为4位,其值域
2、为065535。C51中关键字sfr的作用定义8位特殊功能寄存器,sbit的作用定义可位寻址对象,用于位寻址,从位寻址字节中定义位变量。函数定义由函数首部和函数体两部分组成。C51中“!”运算符的作用是逻辑运算结果值取反。若函数无返回值,用void关键字指定。若局部变量未初始化,其初值为。二、单项选择题:1.89S51的内部程序存储器与数据存储器容量各为多少?(C)(A)64KB、128B(B)4KB、64KB(C)4KB、128B(D)8KB、256B在8x51芯片里,哪个引脚用于控制使用内部程序存储器还是外部程序存储器?(B)P17(A)XTAL1(B)/EA(C)/PSEN(D)ALE下
3、列哪个不是KeilC的预处理命令?(C)(A)#include(B)#define(C)#exit(D)#if下列哪个不是KeilC的数据类型?(B)(A)void(B)string(C)char(D)float在KeilC的程序里,若要指定P0口的bit3,如何编写?(C)(A)P0.3(B)Port0.3(C)P03(D)Port36在8x51里,若要扩展外部存储器时,数据总线连接哪个输入/输出端口?(A)(A)P0(B)P1(C)P2(D)P3在KeilC里,判读开关状态时,使用if_elseif语句与使用switch语句有何差异?(B)(A)if-elseif语句较快(B)if-els
4、eif语句有优先级(C)switch语句可判读较多开关状态(D)switch语句有优先级在KeilC里,中断子程序与函数有何不同?(A)(A)中断子程序不必声明(B)函数不必声明(C)中断子程序必须有形式参数(D)中断子程序一定会有返回值利用下列(A)关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、usingC51中一般指针变量占用(C)字节存储。A、一个B、两个C、三个D、四个11使用宏来访问绝对地址时,一般需包含的库文件是(B)A、reg51.hB、absacc.hC、intrins.hD、startup.h12.执行#definePA8255XBYTE0 x3
5、FFC;PA8255=0 x7e;后存储单元0 x3FFC的值是(A)A、Ox7eB、8255HC、未定D、7e三、判断题:(每小题1分,共10分。正确的在括号内打叫”,错误的打“x”。判对得分,不判、判错均不得分。)若一个函数的返回类型为void,则表示其没有返回值。(P)2特殊功能寄存器的名字,在C51程序中,全部大写。(P)“sfr”后面的地址可以用带有运算的表达式来表示。(x)#includevreg51.h与#include“reg51.h是等价的。(P)sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。(x)个函数利用return不可能同时返回多个值。(P)
6、四、问答题哪些变量类型是51单片机直接支持的?答:C51编译器支持的数据类型有:位型(bit)、无符号字符型(unsignedchar)、有符号字符型(signedchar)、无符号整型(unsignedint)、有符号整型(signedint)、无符号长整型(unsignedlong)、有符号长整型(signedlong)、浮点型(float)和指针型等。简述C51的数据存储类型答:我们都知道,8051单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。8051单片机内部的数据存储区是可读写的,8051派生系列最多可有256字节的内部数据存储区,其中低128字节可直接寻址,高12
7、8字节(从0 x80到0 xFF)只能间接寻址,从20H开始的16字节可位寻址。内部数据区可分为3个不同的存储类型:data、idata和bdata。外部数据区也是可读写的,访问外部数据区比访问内部数据区慢,因为外部数据区是通过数据指针加载地址来间接访问的C51提供两种不同的存储类型xdata和pdata访问外部数据。程序存储区是只能读不能写。程序存储区可能在8051单片机内部或者在外部或者内外都有,这由8051单片机的硬件决定。C51提供了code存储类型来访问程序存储区。每个变量可以明确地分配到指定的存储空间,对内部数据存储器的访问比对外部数据存储器的访问快许多,因此应当将频繁使用的变量放
8、在内部存储器中,而把较少使用的变量放在外部存储器中。各存储区的简单描述如表2-2所示。表2-2C51存储类型与8051存储空间的对应关系存储区描述DATA片内RAM的低128字节,可在一个周期内直接寻址BDATA片内RAM的位寻址区,16字节IDATA片内RAM的256字节,必须采用间接寻址XDATA外部数据存储区,使用DPTR间接寻址PDATA外部存储区的256个字节,通过P0口的地址对其寻址。使用MOVXRi,需要两个指令周期CODE程序存储区,使用DPTR寻址。以上介绍的是C51的数据存储类型,C51存储类型及其大小和值域如表2-3所示。表2-3C51存储类型及其大小和值域存储类型长度/
9、bit长度/byte值域data810255idata810255pdata810255code162065535xdata162065535简述C51对51单片机特殊功能寄存器的定义方法答:MCS-51通过其特殊功能寄存器(SFR)实现对其内部主要资源的控制。MCS-51单片机有21个SFR,有的单片机还有更多的SFR,它们分布在片内RAM的高128字节中,其地址能够被8整除的SFR一般可以进行位寻址。关于MCS-51单片机的特殊功能寄存器参看附录A。对SFR只能用直接寻址方式访问。C51允许通过使用关键字sfr、sbit或直接引用编译器提供的头文件来实现对SFR的访问。简述C51对51单片
10、机片内I/O口和外部扩展的I/O口的定义方法答:C51对51单片机片内I/O口的定义方法是将片内I/O口看成SFR。C51对51单片机片外I/O的访问有两种比较常用的访问方法:(1)绝对宏C51编译器提供了一组宏定义来对51系列单片机的code、data、pdata和xdata空间进行绝对寻址。在程序中,用、#includeabsacc.h”即可使用其中声明的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具体使用方法参考absacc.h头文件。其中:CBYTE以字节形式对code区寻址;CWORD以字形式对code区寻址;
11、DBYTE以字节形式对data区寻址;DWORD以字形式对data区寻址;XBYTE以字节形式对xdata区寻址;XWORD以字形式对xdata区寻址;PBYTE以字节形式对pdata区寻址;PWORD以字形式对pdata区寻址;(2)_at_关键字可以使用关键字_at_对指定的存储器空间的绝对地址进行访问,一般格式如下:存储器类型数据类型说明符变量名_at_地址常数;其中,存储器类型为C51能识别的数据类型,如省略则按存储器模式规定的默认存储器类型确定变量的存储器区域;数据类型为C51支持的数据类型;地址常数用于指定变量的绝对地址,必须位于有效的存储器空间之内;使用_at_定义的变量必须为全
12、局变量。C51中的中断函数和一般的函数有什么不同?答:C51编译器允许用C51创建中断服务函数,中断函数是由中断系统自动调用的。中断函数的定义格式为:函数类型函数名interruptnusingn其中:interrupt和using为关键字;interrupt后面的n为中断源的编号,即中断号;using后面的n所选择的寄存器组,取值范围为03。定义中断函数时,using是一个选项,可以省略不用。如果不用using选项,则由编译器选择一个寄存器组作为绝对寄存器组。8051的中断过程通过使用interrupt关键字和中断号(031)来实现,中断号告诉编译器中断函数的入口地址.C51采用什么形式对绝
13、对地址进行访问?答:绝对地址的访问包括片内RAM、片外RAM及I/O的访问。C51提供了两种比较常用的访问绝对地址的方法。(1)绝对宏C51编译器提供了一组宏定义来对51系列单片机的code、data、pdata和xdata空间进行绝对寻址。在程序中,用、#includeabsacc.h”即可使用其中声明的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具体使用方法参考absacc.h头文件。其中:CBYTE以字节形式对code区寻址;CWORD以字形式对code区寻址;DBYTE以字节形式对data区寻址;DWORD以字形
14、式对data区寻址;XBYTE以字节形式对xdata区寻址;XWORD以字形式对xdata区寻址;PBYTE以字节形式对pdata区寻址;PWORD以字形式对pdata区寻址;如:#includeabsacc.h#definePORTAXBYTE0 xFFC0/*将PORT定义为外部I/O口,地址为OxFFCO,长度为8位*/#defineNRAMDBYTE0 x40/*将NRAM定义为片内RAM,地址为40H,长度为8位*/(2)_at_关键字可以使用关键字_at_对指定的存储器空间的绝对地址进行访问,一般格式如下:存储器类型数据类型说明符变量名_at_地址常数;其中,存储器类型为C51能识
15、别的数据类型,如省略则按存储器模式规定的默认存储器类型确定变量的存储器区域;数据类型为C51支持的数据类型;地址常数用于指定变量的绝对地址,必须位于有效的存储器空间之内;使用_at_定义的变量必须为全局变量。7按照给定的数据类型和存储类型,写出下列变量的说明形式(1)在data区定义字符变量vall(2)在idata区定义整型变量val2(3)在xdata区定义无符号字符型数组val34。(4)在xdata区定义一个指向char类型的指针px。(5)定义可位寻址变量flag。(6)定义特殊功能寄存器变量P3。答:在data区定义字符变量vallchardatavall;在idata区定义整型变
16、量val2intidataval2;在xdata区定义无符号字符型数组val34。unsignedxdataval34;(4)在xdata区定义一个指向char类型的指针px。charxdata*px;定义可位寻址变量flag。bitflag;定义特殊功能寄存器变量P3。SfrP3=0 xB0;五、程序设计题设在存储区,有10个数据:99,15,30,13,27,28,7,0,33,67。编写程序,将其按照从大到小的次序排列。并按次序在数码管上显示。为了简化硬件电路,选用译码、显示一体化显示模块。仿真电路如图3-8所示。12DDDDbB口B口口口口口PP222333as亠已|主在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?答:(1)确定T/C的工作方式一编程TMOD寄存器;(2)计算T/C中的计数初值,并装载到TH和TL;(3)T/C在中断方式工作时,须开CPU中断和源中断一编程IE寄存器;(4)启动定时器/计数器编程TCON中TR1或TR0位。外部中断源初始化步骤是什么?外部中断源初始化2个外部中断源:/INTO中断,外部中断0请求,占用P3.2引脚,其中断请求号为0。/INT1中断,外部中断1请求,占用P3.3引脚,其中断请求号为2。(1)TCO寄存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬季施工暖棚搭设方案
- 人教版九年级化学上册自制第六单元课题4实验活动2-二氧化碳实验室制取与性质(34张)
- 2019-2020学年高中数学第2章解析几何初步2-3空间直角坐标系课件北师大版必修2
- 接待礼仪-素材-培训讲学
- 教育学原理04-近现代高等教育发展、教师
- 2024年泰州职业技术学院高职单招数学历年参考题库含答案解析
- 2024年阳江市卫校附属医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 二零二五年离婚房产分割与赡养义务协议3篇
- 二零二五版“汽车零部件销售协议”英文翻译
- 2024年江西医学高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析
- 小动物疾病-第一章 小动物疾病概述
- 电动车转让协议书电子版
- 蔬菜大棚温度控制系统设计毕业设计论文
- 骨科临床路径全集(范本模板)
- 破产申请异议书
- 金蝶云星辰初级考试题库
- 常见老年慢性病防治与护理课件整理
- 履约情况证明(共6篇)
- 云南省迪庆藏族自治州各县区乡镇行政村村庄村名居民村民委员会明细
- 设备机房出入登记表
- 六年级语文-文言文阅读训练题50篇-含答案
评论
0/150
提交评论