单片机原理与应用及c51程序设计答案
【篇一:单片机原理与c51语言程序设计与基础教程_
课后习题答案】
p> 习题 填空题
1.一般而言,微型计算机包括、 四个基本组成部分。 2.单片机是一块芯片上的微型计算机。以 地应用范畴。 3.atmel 公司生产的cmos型51系列单片机,具有 代替rom作为程序存储器,
4.单片机根据工作温度可分为、和三种。民用级的温度范围是0℃ 一70℃,工业级是-40℃~85℃,军用级是-55℃-125℃(不同厂家的划分标推可能不同。
5.在单片机领域内,ice的含义是。 选择题
1.单片机的工作电压一般为v? a 5vb 3v c 1vd 4v
2.单片机作为微机的一种,它具有如下特点:
a 具有优异的性能价格比 b 集成度高、体积小、可靠性高 c 控制功能强,开发应用方便 d 低电压、低功耗。
3.民用级单片机的温度范围是:a -40℃~85℃b 0℃一70℃ c -55℃-125℃d 0℃一50℃ 4.mcs-51系列单片机最多有 a 3b 4 c 5 d 6
5.下列简写名称中不是单片机或单片机系统的是 a mcub scm c ice d cpu 问答题
1.单片机常用的应用领域有哪些? 2.我们如何学习单片机这么技术?
3.单片机从用途上可分成哪几类?分别由什么用处? 填空题
1. 运算器、控制器、存储器、输入输出接口 2. 单片机 嵌入式系统 3. mcs-51flash rom
4. 民用级(商业级)工业级 军用级 5.在线仿真器
选择题1、a2、abcd3、b 4、c5、d 问答题
1.单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领 域,大致可分如下几个范畴: (1)在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。
(2)在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 (3)在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
(4)在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 (5)单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
2.首先,大概了解单片机的机构,例如本书的第2章则是主要讲了单片机的内部结构以及资源。对单片机的内部结构有了初步了解
之后,读者就可以进行简单的实例练习,从而加深对单片机的认识。 其次,要有大量的实例练习。其实,对于单片机,主要是软件设计,也就是编程。
目前最流行的用于51系列单片机地编程软件是keil。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用c语言编程,那么keil几乎就是你的不二之选,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 第三,要多结合外围电路,如流水灯、数码管、独立键盘、矩阵键盘、ad或da(原理一样)、液晶、蜂鸣器进行练习,因为,这样可以直观的看到程序运行的结果,当然,我们也可以用proteus这个软件对硬件进行仿真,这样也可以直观的看到结果。在实际学习过程中,可以根据自己的项目需求去选择,从而减少了学习周期。 最后,就是结合自己的实际情况,开发一个完全具有个人风格,功能完善的电子产品,尽情享受单片机带来的欢乐和成就感。
同时,不必为软件、硬件基础知识不扎实而烦恼,单片机中用到的编程语言很简单,可以说主要是配置一些寄存器,不涉及太复杂的算法和语法,电子元器件也以简单应用居多,本书接下来的几章将主要介绍硬件和软件基础知识,这些对于单片机开发来说基本已经够用了。另一方面,在做单片机实验的过程中会慢慢地积累、一步步地巩固相关的基础知识,在实践中有针对性的学习肯定比纯粹地看书效果更好。所以,完全不必担心你的基础不够扎实。
3.单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种专门用途而设计的,如dvd控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。我们通常所用的都是通用型单片机,通用型单片机把所有资源(如rom、i/o等)全部提供给用户使用。当今通用型单片机的生产厂家已不下几十家,种类有几百种之多。 第2章
答案填空题
1.32 4 8 r0~r7 2.时钟电路复位电路
3.指令寄存器ir程序计数器pc 数据指针dptr堆栈指针sp 4.sbuf scon 5.低电平 下跳变 选择题 1.abc
2.c 按cpu查询顺序确定。即1、 外部中断0 2、定时中断0 3、外部中断14、定时中断1 5、串行中断 3.a 4.c 5.d 6.c 问答题
1.所谓中断,是指cpu在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起cpu中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的程序中去,服务完毕,再返回去执行波暂时中断的程序。 中断响应的过程如下:
(1) 保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。
(2) 寻找中断入口,根据6个不一样的中断源所产生的中断,查找6个不一样的入口地址。这6个中断源的编号和入口地址如表2.13所示各中断服务程序入口地址仅间隔8字节,编译器在这些地址放入无条件转移指令,跳转到服务程序的实际地址。。以上工作是由计算机自动完成的,与编程者无关。 (3) 执行中断处理程序。
2.p0口既可作一般i/o端口使用,又可作地址/数据总线使用;p1口是一个准双向并行口,作通用并行i/o口使用;p2口除了可作为通用i/o使用外,还可在cpu访问外部存储器时作高八位地址线使用;p3口是一个多功能口除具有准双向i/o功能外,还具有第二功能。 3.堆栈是一种后进先出(lifo)的线性表,使用单片机内部ram单元存储一些需要回避的数值数据或地址数据。堆栈好像堆放货物的仓库一样,存取数据时采用“后进先出”(即“先进后出”)的原则。堆栈指针sp是用来存放当前堆栈栈顶指向的存储单元地址的一个8位特殊功能寄存器,地址是81h。
堆栈只有两种操作:入栈和出栈。不论数据是入栈还是出栈,都是对栈顶单元(sp指向的单元)进行操作的。堆栈是向上生成的。入栈时sp内容是增加的,出栈时sp的内容是减少的。堆栈区域的大小可用软件对sp重新定义初值来改变,但堆栈深度以不超过片内
ram空间为限。系统复位后,sp的值为07h,若不重新定义,则以07h单元为栈底,入栈的内容从地址为08h单元开始存放。
堆栈主要是为子程序调用和中断操作而设立的,常用的功能有两个:保护断点和保护现场。在单片机系统中,既有与子程序调用和中断调用相伴随的自动入栈和出栈,又有堆栈的入栈和出栈指令(push和pop)。此外,堆栈还具有传递参数等功能。 第3章答案
1立即寻址 寄存器寻址 间接寻址直接寻址 变址寻址 相对寻址 位寻址
2累加器a pcdptr
300H,0,0,0,0 4 指令 5 一 二三 6 转移指令的pc值加上它的字节数 7 dph=3ch , dpl=5fh , sp=4fh 选择题ccadc 问答题
1(1) 分析问题:首先必须明确求解问题的意义和任务。对项目背景和要完成的任务进行详细地了解和分析,将一个实际的问题转化为单片机可以处理的问题。
(2) 确定算法:根据实际问题的要求和指令系统的特点,决定所采用的计算公式和计算方法。这是正确编程的基础,比程序设计语言本身更为重要。
(3) 绘制框图:根据所选定的算法,制定出运算步骤和顺序,把运算过程画成程序框图。这样使程序清晰,结构合理,便于调试。
(4) 分配资源:要根据程序区、数据区、暂存区、堆栈区等预计所占空间大小,对片内外存储区进行合理分配并确定每个区域的首地址,便于编程使用。
(5) 编写程序:编写程序就是采用汇编语言来实现上面已确定的算法,也即是将由人类自然语言组织的程序框图转化为计算机语言组织的源代码。
(6) 仿真调试:利用单片机各种开发工具对所编写的程序进行测试,检验程序是否完成了指定的功能。测试过程要尽可能仔细,保证程序中的各条支路都得到了检验。
(7) 软件优化:在完成指定功能的基础上,进行程序优化,以进一步缩短程序量、减少运算时间和节省工作单元。