单片机原理及应用(林立-张俊亮版)课后习题答案---副本_第1页
单片机原理及应用(林立-张俊亮版)课后习题答案---副本_第2页
单片机原理及应用(林立-张俊亮版)课后习题答案---副本_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、第2章MCS-51单片机结构及原理习题6片内RAM中低128个单元划分为哪三个主要局部?各局部的主要功能是什么? 答:片内RAMW氐128个单元划分为三个局部: 工作存放器区00H-1FH,四组,每组8个,可作用工作存放器切换使用; 可位寻址区20H-2FH,16B,位地址为00H-7FH用作为按位寻址的空间; 用户RAME: 30H-7FH,80B,用作普通 RAM单元或堆栈。7 程序状态字存放器PSW各位的定义是什么?:辅助进位标志AC加法运算低四位向高上四位有进位时置 1;、:用户标志位F0和用户标志位F1,保存用户的位数据;、:工作存放器选择控制位RS1和RSQ 00至11分别选择四组

2、工作之一作为当前 工作存放器PSW.2 :溢出标志位OV有符号数加、减运算结果有溢出或乘除上结果异常 乘 法运算结果大于255即乘积在BA中,或除法运算除数为0时置1:奇偶标志位P,累加器A中1的个数为奇数时置1。8. 什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为 12MHz 时,一个机器周期为多少微秒?答:时钟周期又叫振荡周期或拍,用 P表示,是MCS-51单片机中最小的时间单 位,在一个时钟周期内,CPU完成一个最根本的动作。机器周期:由12个时钟周期构成,完成一个根本操作指令周期:是执行一条指令所需的时间,根据指令的复杂性,可由14个机器周 期构成。当振荡频率为12MHz

3、时,一个机器周期为1微秒。第4章单片机的C51语言习题1. C语言的优点是什么? C程序的主要结构特点是什么? 答:C语言是一种高级语言,学习比低级容易,不需要具体组织、分配存储器资 源和处理端口数据,可以直接驱动单片机的所有资源。C程序以函数为单位,由一个主函数和假设干个其他函数构成,主函数是程 序的入口,其他函数由主函数直接或间接调用。程序可以由一个文件或多个文件 组成。文件类型包括头文件和 C语言源文件,也可以是汇编语言文件,C程序可 与汇编语言混合编程。5定义变量a, b, c,其中a为内部RAM勺可位寻址区的字符变量,b为外部数 据存储区浮点型变量, c 为指向 int 型 xdat

4、a 区的指针。答: char bdata a;float xdata b;int xdata *c;9. 内部RAM20H 21H和22H 23H单元分别存放着两个无符号的16位数,将其 中的大数置于24H和25H单元。解:方法一: #include<reg51.h> void main()unsigned int *ptr;/ 设置一个内部 RAM旨针unsigned int x,y,z;ptr=0x20;/旨向 0x20 单元x=*ptr;/取第一个数ptr=0x22;/旨向 0x22 单元y=*ptr;/取第二个数z=(x>y)?x:y;/将两数中的较大者赋给zptr=

5、0x24;/ 旨向地址为 0x24 的目标单元*ptr=z;/将大数存入目标单元 方法二:#include<reg51.h> #include<absacc.h> void main()unsigned int x,y,z;x=DBYTE0X20*256+DBYTE0X21; y=DBYTE0X22*256+DBYTE0X23;z=(x>y)?x:y;/ 将两数中的较大者赋给 zDBYTE0X24=z/256;DBYTE0X25=z%256; 方法三:#include<reg51.h> unsigned int x _at_ 0x20; unsigne

6、d int y _at_ 0x22; unsigned int z _at_ 0x24;void main() z=(x>y)?x:y;第 5 章 单片机的中断系统 习题1什么是中断、中断源、中断优先级和中断嵌套? 答:中断是指单片机内部有一个中断管理系统, 它对内部的定时器事件、 串行通 信的发送和接收及外部事件如键盘按键动作等进行自动的检测判断。当 CPU 正在处理某件事情 例如正在执行主程序 的时候, 外部或内部发生的某一事件 如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出等请求CPU迅速处理,于是,中断管理系统会置位相应标志通知CPU暂时中止当前的工作,迅速转去处理所

7、发生的事件。处理完该事件后,再回到原来被中止的地方, 继续原来的工作,这样的过程称为中断。引发中断的事件称为中断源。 将中断事件按轻重缓急分假设干级别叫中断优先级。 允许中断优先级高的中断源中断正在执行的低优先级的中断效劳程序叫中断嵌 套。2. 什么叫中断源? MCS-51有哪些中断源? 答:中断源即引发中断的事件。MCS-51单片机有5个中断源,它们是外部中断0,定时器T0,外部中断1, 定时器T1,串行口。7 .设fosc = 12MHz利用定时器,TO(工作在方式2)在P1.1引脚上获取输出周 期为O.4ms的方波信号,定时器溢出时采用中断方式处理,请编写, T0的初始 化程序及中断效劳

8、程序。解:fosc = 12MHz,那么机器周期=1us;当T0工作在方式2时,其最大定时时间为256us,要输出周期为即400us的方波信号,那么其高、低电平应各为 200us, 显然当定时器T0按方式2工作时,只需计数到达200次即可,因此其时间常数 初值为256-200=56。在T0的中断效劳程序中,只需将引脚求反即可。#include<reg51.h>sbit P1_仁 P1A1;void timer0()interrupt 1 using 1P1_1=!P1_1;void main()P1_1=0;TMOD=0x02;TH0=56;TL0=56;IE=0x82;TR0=1

9、;for(;)第 6 章 单片机的定时器 / 计数器 习题2 如果采用的晶振频率为3MHz定时/计数器TO分别工作在方式0、1和2下, 其最大的定时时间各为多少?答:如果采用的晶振频率为 3MHz机器周期为12X1/(3*10 6)=4us,由于定时/ 计数器TO工作在方式0、1和2时,其最大的计数次数为 8192、65536和256 所以,其最大定时时间分别是:方式 0为8192X 4us=、方式1为65536X 4us =、方式 2 为 256X 4us= 1024uSo5定时器工作在方式 2 时有何特点?适用于什么应用场合? 答:定时器工作在方式 2时是一个可自动装入时间常数初值的 8

10、位定时/计数器, TLx为加1计数器,THx为计数初值存放器。由于其恢复初值由硬件自动完成, 所以当需要反复计数时,用方式 2可以方便地实现精确的定时。9 .设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的 方波,请用定时器TO方式2编程实现。解: fosc = 12MHz ,所以机器周期为 1uso要使输出周期为1000us的方波,可以通过定时中断方式实现,定时时间为250us, 定时计数2次来实现,对求反即可。要使输出周期为10ms的方波,也可以通过定时中断方式实现,定时时间为 5ms 当时间到时,对求反即可。由于 5ms/250us=20,所以也可

11、以通过对 250us的定 时计数20次来实现。程序如下:#include<reg51.h>sbit P1_0=P1A0;/ 输出周期为400us的方波的引脚sbit P1_仁P1A1; / 输出周期为10ms的方波的引脚unsigned char num1=0,num2=0;/ 中断次数计数器,初值为 0void main()P1_0=0;/ 输出初值为 0P1_1=0;/ 输出初值为 0TMOD=0x02; /T0 方式 2定时TH0=256-250;/ 计 200 次,计数初值为模 256减200TL0=TH0;IE=0x82;/允许CPLP向应中断,允许T0发中断请求TR0=

12、1;/启动 T0for(;)/无限循环等待中断void timer0()interrupt 1 using 1num1+;num2+;/ 中断次数加 1if(num1=2)/ 中断次数到达 2次 P1_0=!P1_0; / 输出 P1_0求反num1=0;/ 中断次数复位为 0if(num2=20)/ 中断次数到达 20次num2=0;/ 中断次数复位为 0P1_1=!P1_1;/ 输出 P1_1 求反第七章7.1.无74 89C51单片机串行通信接口控制存放器有几个?每个存放器的含义是什 么?答:有电源控制存放器PCOb和串行口控制存放器SCONPCO中SMO与串口通信有关。SMOD=0;串

13、口方式1, 2, 3时,波特率正常。SMOD=1;串口方式1, 2, 3时,波特率加倍其余与串行通信无关SCO中SM0 SM1串行口工作方式控制位SM2多机通信控制位REN串行口接收使能控制端;REN=1时,允许接收,REN=0寸,禁止接收 TB8:发送接收数据位8RB8接收数据位8TI :发送中断标志位;TI=1表示帧发送结束,TI可由软件置0RI:接收中断标志位;RI=1表示帧接收完成,RI可由软件置0第八章无8.3在由单片机80C51和一片ADC0809组成的数据采集系统中,假设 ADC0809 的地址为0x7ff80x7fff ,画出接口电路图,并编写每隔1ms轮流采集一次8个 通道数

14、据的程序。采样100次取平均值。答:电路图书上实例有,做了如下改动1. 控制端 ADDA ADDB ADD分别接 P2A0, P2A!,P2A2.2. 删去了译码器与逻辑器件器件,74LS373,74HC14,74HC023. 中断检测端EOC接卩3八2。参考程序如下,自己写的没经过仿真,#in clude<reg52.h>#in clude<absacc.h>#defi ne uchar un sig ned char/ 宏定义#defi ne uint un sig ned int#defi ne AD_0 XBYTE0xff8定义通道访问地址#defi ne AD

15、_1 XBYTE0xff9#defi ne AD_2 XBYTE0xffa#defi ne AD_3 XBYTE0xffb#defi ne AD_4 XBYTE0xffc#define AD_5 XBYTE0xffd#define AD_6 XBYTE0xffe#define AD_7 XBYTE0xfffsbit busy=P3A2;/定义中断请求端uchar count=0;/ 定义采样次数uchar datcode100=0;/ 定义数据存放数组int dat=0,dat1=0;/ 定义临时数据与最终平均数据uchar i,j,num;/ 定义变量void main()TMOD=0x01;/定时器0工作方式1TL0=(65536-1000)/256;/1ms 中断一次TH0=(65536-1000)%256;EA=1;/ 开总中断,定时器中断,翻开定时器 0ET0=1;TR0=1;while(count<100)/100 次数据求和函数dat1=dat1+dat

温馨提示

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

评论

0/150

提交评论