当前位置:文档之家› 单片机参考答案

单片机参考答案

第一章基础知识1. 微型计算机有几个组成部分?每个部分的主要功能是什么?由CPU、存储器、定时/计数器、并行口、串行口、中断系统、时钟电路。

CPU:是单片机的控制核心,完成运算和控制功能;存储器:用于存放程序或数据;并行口:89系列单片机共有32个I/O并行口,用于数据的并行输入输出。

串行口:实现单片机与其他设备之间的串行数据通信中断系统:实现CPU与外部设备并行工作,而且可以及时处理系统内部和外部的随机事件,使系统能够更加有效的发挥效能。

时钟电路:需要外接石英晶体和微调电容以产生单片机工作所需的时钟信号。

2. 单片机与通用微机相比有什么不同?其主要特点是什么?主要区别:(1) 通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。

单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。

(2) 通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。

单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。

(3) 通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。

单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。

用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。

主要特点:1)体积小,“小而全”2)可靠性高,三总线全在芯片内部,不易受干扰3)控制能力强,控制直接,速度快4)使用方便,性价比高5)容易产品化,比较容易保护开发者的知识产权3、名词解释:字长和运算速度.字长:计算机一个机器字中所包含的二进制的位数/同一时间中处理二进制数的位数运算速度:cpu的处理速度(包括主频和时钟频率)即每秒运算次数.4、简述单片机系统的开发过程.1明确系统设计任务,完成单片机及其外围的选型工作2设计系统原理图和PCB板,送工厂制作3完成器件安装焊接4根据硬件设计和系统要求编写应用程序5在线调试软、硬件6用编程器烧写单片机应用程序,独立运行单片机程序5、将(10101)2,(72)8,(49)16转换为十进制数。

(10101)2=1*24+0*23+1*22+0*21+1*20=21(72)8=7*81+2*80=56+2=58(49)16=4*161+9*160=736、将(756.34)8转换为二进制数;将(10100101.01011101)2转换为八进制数。

(756.34)8=111101110.011100(10100101.01011101)2 =245.272例题:第二章基础知识1、P1=0x99;P1=P1&0Xdf。

计算:P1=0x99&0xd7=0x912、P1=0x55=01010001B,问P1=P1& 0x51 = 01010001B3、C51中,有程序“P1=0XAA; P1=P1&0X88; ”,则程序完成后,P1=__10001000____B。

4、C51中,有程序“A=EEH; A=A<<3; ”,则程序完成后,A=__01110000___B。

综合应用1、判断下列程序的作用:main( ){while(1){unsigned char a=0xc3, b, c; //无符号字符型int n=2;b=a<<(8-n);c=a>>n;a=c|b;}}作用:把数据a的前(8-n)=6位二进制数移动到最后去如第一循环:移动前a=0xc3=11000011移动后a=111100002、判断下列程序的作用:main( ){while(1){unsigned char a=0xc3, b, c; //无符号字符型b=a<<2;c=a>>6;a=c|b;}}作用:把数据a的前2位二进制数移动到最后去第三章基础知识1、在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM、E2PROM和ROM Less(无片内程序存储器)。

请问:8031、8051、8751、8951的ROM各有什么区别?8031在芯片内无程序存储器.8051有4K字节的掩膜ROM, 只能烧一次程序8751有4K字节的EPROM ,用紫外光线擦除8951有4k的E2PROM ,电擦除。

2. 请画出数据存储器的地址分配图,注明地址和名称3.8051单片机是低电平复位还是高电平复位?请画出8051单片机复位电路,要求既有开关复位,又有上电复位。

8051单片机是高电平复位第四章基础知识1.根据已给电路图,七段数码管为共阳极,七段数码管显示“1”,问P1,P2.0口的值P1=0xf9; P2.0=1;2.根据已给电路图,七段数码管为共阳极,七段数码管显示“3”,问P1,P2.0口的值P1=0xb0; P2.0=1;3.根据已给电路图,其中七段数码管为共阴极,七段数码管显示“7”P2.0=0; P1=0x07;4、根据已给电路图,其中七段数码管为共阴极,七段数码管显示“5”P1=0x3d; P2.0=05、画出P1口接8个LED小灯,P2口接2个按键的电路图6、画出P1口接数码管的段选,P2口接数码管的位选,8个数码管与单片机的连接图综合应用1、P1口接8个LED小灯,补充程序,写出循环右移点亮的程序main( ){Temp=0x7f;while(1){P1=temp;temp=tenp>>1;temp=temp|0x80;if (temp =0xff) temp=0x7f;}}2、P1口接8个LED小灯,补充程序,写出循环左移点亮的程序main( ){Temp=0xfe;while(1){P1=temp;temp=tenp<<1;temp=temp|0x01;if (temp =0xff) temp=0xfe;}}3、P1口接8个LED小灯,写出循环右移灭的程序#include<reg51.h>delay();main(){P1=0x01;delay();while(1){P1=P1<<1;delay();if(P1==0x80){P1=0x01;delay();}}}delay(){unsigned int i,j;for(i=0;i<500;i++)for(j=0;j<200;j++);}4、P1口接8个LED小灯,写出循环左移灭的程序#include<reg51.h>delay();main(){P1=0x80;delay();while(1){P1=P1>>1;delay();if(P1==0x01){P1=0x80;delay();}}}delay(){unsigned int i,j;for(i=0;i<500;i++)for(j=0;j<200;j++);}第五章基础知识1. 单片机系统中的定时和计数功能功能有何区别,分别适用于什么场合?定时功能:是对单片机内部机器周期脉冲进行计数,由于机械周期是定值,故计数值确定时,定时时间也随之确定。

(适用于对时间要求比较高的定时或者中断)计数功能:是对单片机引脚T0或T1输入的脉冲进行计数,外部脉冲的下降沿将触发计数,每输入一个脉冲,加法计数器加1。

(适用于对外部监控并进行实时处理要求比较高)2.定时器“溢出”时能产生特殊信号吗?有几种途径可知“计数已满”?定时器“溢出”产生特殊信号是TF0或TF1置1。

共有两种途径可知“计数已满”:一:查看TF0或TF1的值二:是否有产生中断3、简单叙述定时器4种方式的不同,对于选用12mhz晶振,每种方式最大定时的时间是多少?定时器4种方式的不同主要是计算器的位数不同。

方式0:8192us方式1:65536us方式2:256us方式3:256us4、12MHZ晶振频率下,采用方式1,要求用定时器1产生2ms,求计数器寄存器的初值。

TH1=0XF8;TL1=0X30;5、6MHZ晶振频率下,采用方式0,要求用定时器0产生2ms,求计数器寄存器的初值。

TH0=0XE0;TL0=0X18;6、12MHZ晶振频率下,采用方式2,要求用定时器0产生20us,求计数器寄存器的初值。

TH0=TL0=0XEC;7、分别说出定时器4种方式计算初值的计算公式。

方式0:(213-x)*机器周期=yµs方式1:(216-x)*机器周期=yµs方式2:(28-x)*机器周期=yµs方式3:(28-x)*机器周期=yµs8、51系列提供了哪5个中断源,每个中断源的编号是多少?1、外部中断0-------------------编号:02、定时/计算器0---------------编号:13、外部中断1-------------------编号:24、定时/计算器1---------------编号:35、串行口中断-------------------编号:49、以自己的理解说说为什么有中断和中断的作用。

10、51系列提供了哪5个中断源,五个中eeeeeeeeeeddddddddddddddddddddddddddddddddddd 断源的优先级从低到高的顺序是什么?优先级从低到高的顺序是:串行口中断-------定时/计算器1-------外部中断1-----定时/计算器0-------外部中断011、函数定义如下:void serial_isr(void) interrupt 4 using 0 {…….}分析这个函数的作用?执行串行口中断服务程序12、函数定义如下:void ex1_isr(void) interrupt 2 using 0 {…….}分析这个函数的作用?执行外部中断1服务程序13、简单叙述如果定时1s钟,我们应该采取的方法。

采用定时计数器1的工作方式1,设置计数器寄存器的初值为TH1=0x3c;TL1=0xb0,即每50ms 中断一次,循环中断20次,就是1s综合应用1、分析此程序的作用#include<reg51.h>sbit P1_0=P1^0;void clock_initial (void){TR0=0;TF0=0;TH0=0XF8;TL0=0X30;TR0=1; }main( ){TMOD=0X01;while(1){clock_initial( );while (!TF0);P1_0=!P1_0;} }作用:使用定时/计数器器0定时,每隔2ms就使P1_0口取非一次2、写出初始化定时器的程序。

相关主题