




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 MCS-51单片机结构及原理习题6片内RAM中低128个单元划分为哪三个主要部分?各部分的主要功能是什么?答:片内RAM中低128个单元划分为三个部分:工作寄存器区(00H-1FH),四组,每组8个,可作用工作寄存器切换使用;可位寻址区(20H-2FH),16B,位地址为00H-7FH,用作为按位寻址的空间;用户RAM区(30H-7FH),80B,用作普通RAM单元或堆栈。7程序状态字寄存器PSW各位的定义是什么?答:程序状态字寄存器PSW各位的定义如下:CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF
2、1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1;PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1;PSW.5、PSW.1:用户标志位F0和用户标志位F1,保存用户的位数据;PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器PSW.2 :溢出标志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1PSW.0:奇偶标志位P,累加器A中1的个数为奇数时置1。8
3、什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?答:时钟周期又叫振荡周期或拍,用P表示,是MCS-51单片机中最小的时间单位,在一个时钟周期内,CPU完成一个最基本的动作。机器周期:由12个时钟周期构成,完成一个基本操作指令周期:是执行一条指令所需的时间,根据指令的复杂性,可由14个机器周期构成。当振荡频率为12MHz时,一个机器周期为1微秒。第4章 单片机的C51语言习题1C语言的优点是什么?C程序的主要结构特点是什么?答:C语言是一种高级语言,学习比低级容易,不需要具体组织、分配存储器资源和处理端口数据,可以直接驱动单片机的所有资源。C程序
4、以函数为单位,由一个主函数和若干个其他函数构成,主函数是程序的入口,其他函数由主函数直接或间接调用。程序可以由一个文件或多个文件组成。文件类型包括头文件和C语言源文件,也可以是汇编语言文件,C程序可与汇编语言混合编程。5定义变量a,b,c,其中a为内部RAM的可位寻址区的字符变量,b为外部数据存储区浮点型变量,c为指向 int 型 xdata 区的指针。答:char bdata a;float xdata b;int xdata *c;9内部RAM 20H、21H和22H、23H单元分别存放着两个无符号的16位数,将其中的大数置于24H和25H单元。解:方法一:#include<reg5
5、1.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;/将两数中的较大者赋给z ptr=0x24;/指向地址为0x24的目标单元 *ptr=z;/将大数存入目标单元方法二:#include<reg51.h>#include<absacc.h>void main() unsigned int x,y,z; x=DBYTE0X20
6、*256+DBYTE0X21; y=DBYTE0X22*256+DBYTE0X23; z=(x>y)?x:y;/将两数中的较大者赋给z DBYTE0X24=z/256; DBYTE0X25=z%256;方法三:#include<reg51.h>unsigned int x _at_ 0x20;unsigned int y _at_ 0x22;unsigned int z _at_ 0x24;void main() z=(x>y)?x:y;第5章 单片机的中断系统习题1什么是中断、中断源、中断优先级和中断嵌套?答:中断是指单片机内部有一个中断管理系统,它对内部的定时器事件
7、、串行通信的发送和接收及外部事件(如键盘按键动作)等进行自动的检测判断。当CPU正在处理某件事情(例如正在执行主程序)的时候,外部或内部发生的某一事件(如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出等)请求CPU迅速处理,于是,中断管理系统会置位相应标志通知CPU暂时中止当前的工作,迅速转去处理所发生的事件。处理完该事件后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。引发中断的事件称为中断源。将中断事件按轻重缓急分若干级别叫中断优先级。允许中断优先级高的中断源中断正在执行的低优先级的中断服务程序叫中断嵌套。2什么叫中断源?MCS-51有哪些中断源?答:中断源即引发中
8、断的事件。MCS-51单片机有5个中断源,它们是外部中断0,定时器T0,外部中断1,定时器T1,串行口。7设fosc = 12MHz,利用定时器,TO(工作在方式2)在P1.1引脚上获取输出周期为O.4ms的方波信号,定时器溢出时采用中断方式处理,请编写,T0的初始化程序及中断服务程序。解:fosc = 12MHz,则机器周期=1us;当T0工作在方式2时,其最大定时时间为256us,要输出周期为0.4mS即400us的方波信号,则其高、低电平应各为200us,显然当定时器T0按方式2工作时,只需计数达到200次即可,因此其时间常数初值为256-200=56。在T0的中断服务程序中,只需将P1
9、.1引脚求反即可。#include<reg51.h>sbit P1_1=P11;void timer0()interrupt 1 using 1 P1_1=!P1_1;void main() P1_1=0; TMOD=0x02; TH0=56; TL0=56; IE=0x82; TR0=1; for(;)第6章 单片机的定时器/计数器习题2如果采用的晶振频率为3MHz,定时/计数器TO分别工作在方式0、1和2下,其最大的定时时间各为多少?答:如果采用的晶振频率为3MHz,机器周期为12×1/(3*106)=4us,由于定时/计数器TO工作在方式0、1和2时,其最大的计数次
10、数为8192、65536和256所以,其最大定时时间分别是:方式0为8192×4us32.768ms、方式1为65536×4us262.144ms、方式2为256×4us1024us。5定时器工作在方式2时有何特点?适用于什么应用场合?答:定时器工作在方式2时是一个可自动装入时间常数初值的8位定时/计数器,TLx为加1计数器,THx为计数初值寄存器。由于其恢复初值由硬件自动完成,所以当需要反复计数时,用方式2可以方便地实现精确的定时。9设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的方波,请用定时器TO方式2编程实现。解:f
11、osc = 12MHz,所以机器周期为1us。要使P1.0输出周期为1000us的方波,可以通过定时中断方式实现,定时时间为250us,定时计数2次来实现,对P1.0求反即可。要使P1.1输出周期为10ms的方波,也可以通过定时中断方式实现,定时时间为5ms,当时间到时,对P1.1求反即可。由于5ms/250us=20,所以也可以通过对250us的定时计数20次来实现。程序如下:#include<reg51.h>sbit P1_0=P10;/输出周期为400us的方波的引脚sbit P1_1=P11; /输出周期为10ms的方波的引脚unsigned char num1=0,num
12、2=0;/中断次数计数器,初值为0void main() P1_0=0;/输出初值为0 P1_1=0;/输出初值为0 TMOD=0x02;/T0方式2定时 TH0=256-250;/计200次,计数初值为模256减200 TL0=TH0; IE=0x82;/允许CPU响应中断,允许T0发中断请求 TR0=1;/启动T0 for(;)/无限循环等待中断void timer0()interrupt 1 using 1 num1+;num2+;/中断次数加1 if(num1=2) / 中断次数达到2次 P1_0=!P1_0; /输出P1_0求反num1=0; /中断次数复位为0 if(num2=20
13、)/ 中断次数达到20次 num2=0;/中断次数复位为0 P1_1=!P1_1;/输出P1_1求反 第七章7.1. 无7.4. 89C51单片机串行通信接口控制寄存器有几个?每个寄存器的含义是什么?答: 有电源控制寄存器PCON和串行口控制寄存器SCONPCON中SMOD与串口通信有关。SMOD=0; 串口方式1,2,3时,波特率正常。SMOD=1; 串口方式1,2,3时,波特率加倍其余与串行通信无关SCON中SM0、SM1:串行口工作方式控制位SM2:多机通信控制位REN:串行口接收使能控制端;REN=1时,允许接收,REN=0时,禁止接收TB8:发送接收数据位8RB8:接收数据位8TI:
14、发送中断标志位;TI=1表示帧发送结束,TI可由软件置0RI:接收中断标志位;RI=1表示帧接收完成,RI可由软件置0第八章8.1 无8.3 在由单片机80C51和一片ADC0809组成的数据采集系统中,假设ADC0809的地址为0x7ff80x7fff,画出接口电路图,并编写每隔1ms轮流采集一次8个通道数据的程序。采样100次取平均值。答:电路图书上实例有,做了如下改动1. 控制端ADDA,ADDB,ADDC分别接P20,P2!,P22.2. 删去了译码器与逻辑器件器件,74LS373,74HC14,74HC02,3. 中断检测端EOC接P32。参考程序如下,自己写的没经过仿真,#incl
15、ude<reg52.h>#include<absacc.h>#define uchar unsigned char/宏定义#define uint unsigned int#define AD_0 XBYTE0xff8/定义通道访问地址#define AD_1 XBYTE0xff9#define AD_2 XBYTE0xffa#define AD_3 XBYTE0xffb#define AD_4 XBYTE0xffc#define AD_5 XBYTE0xffd#define AD_6 XBYTE0xffe#define AD_7 XBYTE0xfffsbit busy=P32;/定义中断请求端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=dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 果洛环保塑胶跑道施工方案
- 白云区五下数学试卷
- 山东城市电梯灯施工方案
- 洋浦疏港高速公路工程SG01标段水稳拌合站环境影响报告表(公示稿)环评报告表
- 现场道路清理方案
- 弘景光电:盈利预测报告及审核报告
- 乌海市环氧自流平施工方案
- 山东省泰安市2025届高三一轮检测(泰安一模)日语参考答案
- 智能制造对劳动市场的影响
- 危化企业安全生产监控与检查方案
- DL∕T 5362-2018 水工沥青混凝土试验规程
- 中国产科麻醉现状及产科麻醉指南解读专家讲座
- 移动商务专业教学资源库申报书
- 人教鄂教版-科学-三年级下册-知识点
- 2024年北师大版五年级数学下册第二单元长方体(一)检测卷(提高卷)含答案
- 二年级上册心理健康教学设计-第四课 找朋友|辽大版
- JTG-D82-2009公路交通标志和标线设置规范
- 生物农药与生物防治学智慧树知到期末考试答案章节答案2024年浙江农林大学
- 四宫格儿童数独练习60题
- 淋巴结结核的个案护理
- 2024年内蒙古国有资本运营有限公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论