单片机原理及接口技术C51编程:第3章习题解答.docx

上传人:太** 文档编号:64564276 上传时间:2022-11-29 格式:DOCX 页数:4 大小:15.44KB
返回 下载 相关 举报
单片机原理及接口技术C51编程:第3章习题解答.docx_第1页
第1页 / 共4页
单片机原理及接口技术C51编程:第3章习题解答.docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《单片机原理及接口技术C51编程:第3章习题解答.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术C51编程:第3章习题解答.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章思考题及习题3一、填空与汇编语言相比,C51语言具有、等优 点。答:可读性好,可移植性好,模块化开发与资源共享,生成的代码效率高1. C51语言头文件包括的内容有8051单片机,以及 的说明。答:片内的外设硬件资源,相应的特殊功能寄存器C51提供了两种不同的数据存储类型 和 来访问片外数据存储区。答:xdata, pdataC51提供了 code存储类型来访问 o答:程序存储区2. 对于SMALL存储模式,所有变量都默认位于8051单片机。答:内部的数据存储 器C51用“*”和“&”运算符来提取指针变量的 和变量的 o答:内容,地址二、判断对错1 . C51语言处理单片机的中断是由专门的

2、中断函数来处理的。对.在C51语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序” 和“过程”用来描述同样的事情。对2 .在C51语言编程中,编写中断服务函数时需要考虑如何进行现场保护、阻断其他中断、返 回时自动恢复现场等处理的程序段的编写。错.全局变量是在某一函数中存在的变量,它只在该函数内部有效。错3 .全局变量可使用static关键词进行定义,由于全局变量一直存在,占用了大量的内存单 元,且加大了程序的耦合性,不利于程序的移植或复用。对.绝对地址包含头文件absacc.h定义了几个宏,用来确定各类存储空间的绝对地址。对三、简答C51在标准C的基础上,扩展了哪几种数据

3、类型?答:扩展了 4种数据类型,它们是:bit、sfr sfrl6和sbit。1. C51有哪几种数据存储类型?其中数据类型“idata, code, xdata, pdata”各对应AT89s51单片机的哪些存储空间答:C51 有 6 种数据存储类型 data、bdata、idata xdata、pdata 和 code。数据存储类型idata对应片内RAM的256字节。数据存储类型code对应程序存储区。数据存储类型xdata对应片外64KB的RAM空间。数据存储类型pdata对应片外RAM的256字节。2. bit与sbit定义的位变量有什么区别?答:bit是用来定义普通的位变量,它的值

4、只能是二进制的0或1。而sbit定义的是特殊功 能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如 PSW寄存器0V位的绝对地址0xd2o说明3种数据存储模式(1) SMALL模式(2) COMPACT模式(3) LARGE模式之间的差别。 答:3种数据存储模式之间的差别如下:(1) SMALL模式。在该模式下,所有变量都默认位于8051单片机内部的数据存储器, 这与使用data指定存储器类型的方式一样。在此模式下,变量访问的效率高,但是所有数据 对象和堆栈必须使用内部RAMo(2) COMPACT模式。本模式下的所有变量都默认在外部数据存储器的1页(256字节)

5、 内,这与使用pdata指定存储器类型是一样的。该存储器类型适用于变量不超过256字节的 情况,此限制是由寻址方式决定的,相当于使用数据指针Ri进行寻址。与SMALL模式相比, 该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE模式快。(3) LARGE模式。在LARGE模式下,所有变量都默认位于外部数据存储器,相当于使用 数据指针DPTR进行寻址。通过数据指针访问外部数据存储器的效率较低,特别是当变量为2 字节或更多字节时,该模式要比SMALL和COMPACT产生更多的代码。3. do-while构成的循环与while循环的区别是什么?答:(1) while语句。while语句

6、的语法形式为:while (表达式)(循环体语句;表达式是while循环能否继续的条件,如果表达式为真,就重复执行循环体语句;反之, 则终止循环体内的语句。while循环的特点在于,循环条件的测试在循环体的开头,要想执行重复操作,首先必须 进行循环条件的测试,如果条件不成立,则循环体内的重复操作一次也不能执行。(2) do-while语句。do while语句的语法形式为:do(循环体语句;)while(表达式);do-while语句的特点是先执行内嵌的循环体语句,再计算表达式,如果表达式的值为非 0,则继续执行循环体语句,直到表达式的值为0时结束循环。由do-while构成的循环与while

7、循环十分相似,它们之间的重要区别是:while循环的 控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while 构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还 是非0,循环体至少要被执行一次。四、编程.编写C51程序,将单片机片外2000H为首地址的连续10个单元的内容,读入到片内RAM 的40H49H单元中。答:将片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H49H单元中。程 序如下:xdata unsigned char bufferl10 _at_ 0x2000;data unsigned

8、char buffer210 at 0x40void main(void)(unsigned char i;for(i=0; i10; i+)(buffer2i= bufferli )1 .编写将单片机片内一组RAM单元清0的函数,函数内不包括这组RAM单元的起始地址和 单元个数,起始地址和单元个数参数应在执行函数前由主函数赋值。答:参考程序如下:#define uchar unsigned charvoid clearO (uchar *addr, uchar lenth) uchar i;for(i=0; ilenth;i+) *addr=0; addr+;)void main(void)起始地址赋值单元个数赋值uchar addr32 _at_ 0x30;uchar lenth=32;clearO (addr, lenth);while (1);

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

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁