单片机复习资料_第1页
单片机复习资料_第2页
单片机复习资料_第3页
单片机复习资料_第4页
单片机复习资料_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、.单片机复习资料/题型选择 20*2判断10*1填空 5*2简答4*5编程 2*10/ 本资料答案一般来自于第一版老师讲课用的教材,与第二版教材及课件略有不符之处,请自行处理,资料仅包含简答和编程,其它部分详见试卷即可。/ 程序题说明:新加的为上届考题答案,不需要者自行处理。1 51 系列单片机内部有哪些功能部件?1 个 8 位 CPU1 个片内振荡器及时钟电路4KB ROM程序存储器128B RAM数据存储器可寻址 64KB 外部数据存储器和64KB 外部程序存储器的控制电路32 条可编程的I/O 线( 4 个 8 位并行 I/O 接口)2 个 16 位的定时 / 计数器1 个可编程全双工串

2、行接口2 个优先级嵌套中断结构的5 个中断源。2 51 系列单片机的存储器可以划分为几个空间?各自的地址范围和容量是多少?在使用上有什么不同?从物理空间看,四个存储器地址空间:片内数据存储器(00H-7FH 128字节 ) 、片外数据存储器(0000H-FFFFH 64k)片内程序存储器(0000H-0FFFH 4K) 、片外程序存储器(0000H-FFFFH 64K)从逻辑上看 ,MCS-51 有三个存储器空间:片内数据存储器、片外数据存储器片内、片外统一编址的程序存储器不同 : 程序存储器用来存放编制好的始终保留的固定程序和表格常数;外部数据存储器存放随机读写的数据、外部 I/O 口地址影

3、像区;内部数据存储器存放随机读写的数据、通用寄存器区、堆栈区、运算操作数存放区、指令的操作数只能在此地址空间或特殊功能寄存器地址空间。3 51 系列单片机片内数据存储器分为哪几个性质和用途不同的区域?(1)地址 0 1FH 的前 32 个单元称为寄存器区用途:作通用寄存器R0 R7。 R0 与 R1 可作间址寄存器使用。( 2) 20H 2FH为位地址区共 16 个单元,每单元有八个位,每位有一个位地址,共128 位,位地址范围为00H7FH,该区既可位寻址,又可字节寻址。(3)除选中的寄存组以外的存储器均可以作为通用RAM区。(4)堆栈区8XX51单片机的堆栈设在内部RAM区,深度不大于12

4、8 字节,初始化时SP指向 07H。(5)特殊功能寄存器SFR4 51 系列单片机的4 个 I/O 端口在结构上有什么不同?使用时应注意什么?PO口的输出驱动电路由上拉场效应管T1 和驱动场效应T2 组成,控制电路包括一个与门, 一个非门和一个模拟开关MUX。 P1 口作通用I/O 口使用,电路结构中输出驱动部分接有上拉电阻。当作输入时,同PO一样,要先对该口写“1”。 P2 口的位结构比P1多了一个转换控制部分,当P2 口作通用I/O 口时,多路开关MUX倒向左;当扩展片外存贮器时, MUX开关打向右, P2 口作高八位地址线输出高八位地址信号。P3 口 P3 口为双功能 I/O 口,内部结

5、构中增加了第二输入/ 输出功能。注意事项:1. 如果单片机内部有程序存贮器, 不需要扩展外部存贮器和 I/O 接口, 单片机的四个口均可作 I/O 口用。2. 四个口在作输入口使用时,均应先对其写“1”,以避免误读。3.P0 口作 I/O 口使用时应外接 10K 的上拉电阻,其它口则可不必。4.P2可某几根线作地址使用时,剩下的线不能作I/O 口线使用。5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O 口线使用。.5 51 系列单片机的4 个 I/O 端口的作用是什么?PO口 1. 作为输入 / 输出口。2. 作为地址 / 数据总线 , 接外围芯片时 PO口分时输出低 8 位地址与

6、数据信号。 P1 口 1. 作为输入 / 输出口。2. 在增强型 (52 系列 ) 和 ISP 型( 在系统编程型 ) 中有如下功能 :P1.0T2引脚 , 定时 / 计数器 2 外部计数脉冲输入P1.1T2EX引脚 , 定时 / 计数器 2 触发和方向控制P1.5MOSI引脚 , 在系统编程数据输入P1.6MISO引脚 , 在系统编程数据输出P1.7SCK引脚 , 在系统编程时钟输入P2 口1.作为输入 / 输出口。2. 作为高 8 位地址总线。 P3 口 P3 口为双功能1.作第一功能使用时,其功能为输入/ 输出口。2.作第二功能使用时,每一位功能定义如下表所示:P3.0RXD(串行输入线

7、)P3.1TXD(串行输出线)P3.2INT0(外部中断0 输入线)P3.3INT1(外部中断1 输入线)P3.4T0(定时器0 外部计数脉冲输入)P3.5T1(定时器1 外部计数脉冲输入)P3.6WR(外部数据存储器写选通信号输入)P3.7RD(外部数据存储器读选通信号输入)6 51 系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义 ?中断服务程序入口地址分别是多少?共 5 个中断源 ,3 个片内 ,2 个片外符号名 称中断引起原因中断服务程序入口INT0外部中断0P3.2 引脚的低电平或下降沿信号0003HINT1外部中断1P3.3 引脚的低电平

8、或下降沿信号0013HT0定时器 0 中断定时计数器0 计数回零溢出000BHT1定时器 1 中断定时计数器1 计数回零溢出001BHTI/RI串行口中断串行通信完成一帧数据发送或接收引起中断0023H五个中断源的优先级别由IP 寄存器管理,相应位置1,则该中断源优先级别高,置0的优先级别低 . 当某几个中断源在IP 寄存器相应位同为 1或同为零时, 由内部查询确定优先级,查询的顺序是:INT0-TO-INT1-T1-串行口7 51 系列单片机具有几个中断源,各中断标志是如何产生的,如何清除?共 5 个中断源, IE 寄存器的各位对应相应的中断源,如果允许该中断源中断则该位置1,禁止中断则该位

9、 0 。中断请求标志及外部中断方式选择寄存器TCON中: IT0 和 IT1 为外中断 INT0和 INT1中断触发方式选择,若选下降沿触发则相应位置1;若选低电平触发,IT 相应位置 0。 某中断源有中断请求,该中断标志置 1,无中断请求, 该中断标志置0。 串行口中断标志在 SCON 的 RI 和 TI 位。 CPU 响应中断后,应撤除该中断请求标志,对定时计数器 T0、 T1 的溢出中断, CPU 响应中断后,硬件自动清除中断请求标志TF0 TF1 。对边沿触发的外部中断INT1和 INT0 , CPU 响应中断后硬件自动清除中断请求标志IE0和IE1 。对于串行口中断, CPU 响应中

10、断后,必须用软件清除,对电平触发的外部中断,CPU在响应中断时也不会自动清除中断标志,因此,在 CPU 响应中断后应立即撤除INT1 或 INT0的低电平信号。8 51 系列单片机的串行口有哪几种工作发?各有什么特点?1. 方式 0方式 0 的数据格式为8 位 , 低位在前 , 高位在后RXD为串行数据的发送端或接收端, TXD 输出频率为fosc/12的时钟脉冲。.波特率固定为fosc/12 (fosc为单片机晶振频率)2. 方式 1为 10 位异步通信方式 , 几每帧数据由 1 个起始位“ 0”. 八个数据位和 1 个停止位“ 1”共 10位构成 . 其中起始位和停止位在发送时是自动插入的

11、.以 TXD为串行数据的发送端 ,T1 提供位时钟 ,RXD 为数据的接收端 , 由 T1 提供移位时钟 , 是波特率可变方式波特率 =(2SMOD /32) (TI 的溢出率 )=(2 SMOD /32) (fosc/12(256-x) )3. 方式 211 位异步发送 /接收方式 ,即每帧数据由有一个起始位“ 0”个,9数据位和 1个停止位 “ 1组”成 .发送时九个数据位,由 SCON 寄存器的 TB8位 提供 , 接收到的第九位数据存放在SCON 寄存器的 RB8位 . 第九位数据可作为检验位,也可用于多机通信中识别传送的是地址还是数据的特征位。波特率固定为(2SMOD /64) fo

12、sc.4. 方式 3数据格式同方式3,所不同的是波特率可变,计算方式同方式1。9 51 系列单片机中与串行口相关的特殊功能寄存器有哪些?寄存器各位如何定义?串行口的控制寄存器SCONSM0 SM1:方式选择SM2:多机控制REN:串行接收允许/禁止TB8: 欲发的第九位RB8:收到的第九位TI: 发送中断有 / 无 RI:接收中断有 / 无电源控制寄存器PCONSMOD : 波特率加倍位。在计算串行方式1 、 2 、 3 的波特率时,SMOD 0 不加倍 ;SMOD 1 加倍1051 系列单片机的定时/ 计数器有哪几种工作方式?各有什么特点?1. 方式 0定时器 (T0 或 T1) 工作于 1

13、3 位定时、计数方式。用于计数方式时最大计数值为2 13 8192 个脉冲用于定时工作时,定时时间为:t (2 13 一 T0 初值 ) 时钟周期12在这种模式下,16 寄存器 (THX 和 TLX)只用 13 位,其中THX占高 8 位。其中TLX 占低 5 位, TLX 的高 3 位末用。当 TLX 的低 5 位溢出时向THX进位 , 而 THX溢出时硬件置位TF0,并申请中断。 定时、计数溢出否可查询TF0 是否置位,如果开中断则产生溢出中断。2 . 方式 1当 TMOD中 M1M0=01时,定时计数器工作在方式1。该模式是一个16 位定时计数方式。寄存器 TH0 和 TL0 是以全 1

14、6 位参与操作,计数方式时最大计数2 16 65536( 个外部脉冲 )用于定时工作方式时,定时时间为:t (2 16 一 T0 初值 ) 时钟周期12 16 寄存器 (THX 和 TLX) 中 THX提供高 8 位、 TLX 提供低 8 位计数初值3. 方式 2当 TMOD中 M1M0=10时,定时器工作在方式 2。方式 2 是 8 位的可自动重装载的定时计数方式。16 位的计数器被拆成两个8 位,其中 TL0 用作 8 位计数器, TH0 用以保持计数初值。当 TL0 计数溢出,置位TF0,TH0 中的初值自动装入TL0,继续计数,循环重复计数。用于计数工作方式时,最大计数值为:28 25

15、6( 个外部脉冲 ) 。用于定时工作方式时,其定时时间为;t (2 8 TH0初值 ) 振荡周期 12这种工作方式可省去用户重装常数的程序, 并可产生精确的定时时间, 特别适用作串行口波待率发生器。4. 方式 3.当 TMOD中 M1M0=11时,定时器工作在方式 3。若将 T0 设置为模式 3,TL0 和 TH0被分成为两个互相独立的8 位计数器 TH0和 TL0 。 TL0 可工作为定时方式或计数方式。占用原 T0 的各控制位、 引脚和中断源。 即 C T、GATE、 TR0、 TF0 和 T0 (P3.4)引脚、 INT0 (P3.2) 引脚。TH0 只可用作定时功能, 占用定时器T1

16、的控制位 TR1 和 T1 的中断标志位TF1,其启动和关闭仅受 TRl 的控制。定时器 T1 无模式 3,可工作于方式0、1、 2,但不能使用中断方式。 只有将T1 用做串行口的波特率发生器时,T0 才工作在方式3,以便增加一个定时器。1151 系列单片机中与定时器相关的特殊功能寄存器有哪些?寄存器各位如何定义?工作模式寄存器 TMOD(89H)TMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1M0GATE:门控信号GATE=0, TRx=1 时即可启动定时器工作;GATE=1, 除 TRx=1 外 , 还需 INTx=1 才可启动定时器工作。 C/T

17、 :定时器 / 计数器选择位C/T=1,为计数器方式;C/T=0,为定时器方式。 M1 M0工作模式选择位M1M0=00工作方式0( 13 位方式)。M1M0=01工作方式1( 16 位方式)。M1M0=10工作方式2( 8 位自动再装入方式) 。M1M0=11工作方式3( T0 为 2 个 8 位方式)。控制寄存器 TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0T1 请求T1 工作T0 请求T0 工作INT 请求INT1 方式INT 请求INT0 方式有 /无启/ 停有/无启/停有 /无下 沿 /低有 /无下沿 /低电电平平TCON寄存器中定时器控制仅用了其中高四位,其意

18、义如下: TF1: T1 溢出中断请求标志。TF1=1, T1 有溢出中断请求。TF1=0, T1 无溢出中断请求。 TR1: T1 运行控制位。TR1=1,启动 T1 工作。TR1=0,停止 T1 工作。TF0:T0 溢出中断请求标志。TF0=1, T0 有溢出中断请求。TF0=0, T0 无溢出中断请求。 TR0: T0 运行控制位。TR0=1,启动 T0 工作。TR0=0,停止 T0 工作。1251 系列单片机中与中断相关的特殊功能寄存器有哪些?寄存器各位如何定义?中断控制寄存器IE.EA-ET2ESET1EX1ET0EX0中 断 总不T2串行口T1INT1T0INT0控允 / 禁用允

19、/ 禁允 / 禁允 / 禁允 / 禁允 / 禁允 / 禁中断请求标志及外部中断方式选择寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0T1T1T0T0INT1INT1INT0INT0请求工作请求工作请求方式请求方式有 /无启 /停有 /无启 /停有 /无下沿 /低有 /无下沿 /低电平电平中断源的优先级别IP 寄存器-PT2PSPT1PX1PT0PX0无无T2串行口T1INT1T0INT0用用高 /低高 /低高 /低高 /低高 /低高 /低位位编程题1 键盘与显示1.1 在 下图中 8XX51 接有五个共阴极数码管的动态显示接口电路,开关打向位置“1”时,显示“ 12345”字样

20、,当开关打向“2”时,显示 HELLO字样, C 语言编程程序清单如下。#include#define uint unsigned int#deefine uchar unsigned charsbitP17=P17;main ( )ucharcode tab15=0x86, 0xdb, 0xcf , 0xe6, 0xed;/* “15”的字形码,因P1.7 接的开关,最高位送的“ 1”*/ucharcode tab25=0xf8,0xf9 ,0xb8,0xb8,0x,bf; /* “HELLO”的段码“1”*/uchar i;unit j;while(1)p3=0x011for(i=0 ;

21、i+)if(p17=1)P1=tab1i;elseP1=tab2i;.P3=1;for(j=0;j=25000;j+) ;1.2 以 P1.0P1.3 作输出线,以P1.4P1.7作输入线,如图4-6 所示 4 4 矩阵键盘:#include#define uchar unsigned char#define uint unsigned intvoid dlms (void);uchar kbscan(void);/ *函数说明* /void main (void0;uchar key;while (1)key=kbscan( );/ *键盘扫描函数,返回键码送key 保存 * /dlms(

22、); void dlms (void)/*延时 * /uchar i;for (i=200;i0;i- -) uchar kbscan(void)/ *键盘扫描函数* /uchar sccode,recode;P1=0xf0;/*P1.0P1.3发全 0,P1.4P1.7输入 * /if ( (P1 & 0xf0)! =0xf0)/ *如 P1 口高四位不全为1 有键按下 * /dlms( );/ *延时去抖动* /if ( (P1 & 0xf0) ! =0xf0)/ *在读输入值* /sccode =0xfe/ *最低位置0 * /while ( ( sccode & 0x10)! =0)/

23、 *不到最后一行循环* /P1 =sccode;/*P1口输出扫描码* /If ( (P1 & 0xf0)! =0xf0)/ *如 P1.4P1.7 不全为 1,该行有键按下*/recode= (P1 & 0xf0 ;);/*保留 P1 口高四位输入值,低四位变为全 “1”,作为列值* /return( (sccode) + (recode) );/*行码 +列值 =键编码返回主程序* /elsesccode =(sccode1) | 0x01; / *如该行无键按下,查下一行,行扫描值左移一位 */return( 0 );/ *无键按下,返回值为0 * /2 产生方波、测量高电平宽度、测量频

24、率在 P1.7 端接一个发光二极管 LED,要求利用定时控制使 LED 亮一秒灭一秒周而复始,设 fosc=6MHz 。#include reg51.h sbit P1_0=P10;.sbit P1_7=P17;timer0() interrupt 1 using 1/* T0中断服务程序*/ P1_0=! P1_0;/* 100ms到 P1.0 反相 */TH0=-50000/256;/*重载计数初值*/TL0=-50000%256 ;timerl() interrupt 3 using 2 /* T1中断服务程序*/ P1_7=! P1_7;/* 1s到,灯改变状态*/main ()P1_

25、7=0 ;/*置灯初始灭*/P1_0=1 ;/*保证第一次反相便开始计数*/TMOD=0x61;/* T0方式 1 定时, T1 方式 2计数 */TH0=-50000/256 ; /*预置计数初值 */TL0=-50000%256 ;TH1=-5 ;TL1=-5 ;IP=0x08;/*置优先级寄存器 */EA=1; ET0=1; ET1=1;/*开中断 */TR0=1; TR1=1; /*启动定时 / 计数器 */for(;)/*等待中断 */3 串行口的初始化、发送、接收。在内部数据存贮器20H 3FH单元中共有 32 个数据,要求采用方式1 串行发送出去,传送速率为 1200波特,设 fosc 12MHZ。波特率SMOD( 12 (256-x) )(2/32 ) fosc/6)1200 ( 1/32 ) (12 10)/ (12 (256-x)发送程序: #includemain( )unsingned char i;char *p;TMOD=0x20;TH1=0xe6;TL1=0xe6;TR1=1;SCON=0x40;p=0x20;for (i=0;i=32;i+)SBUF=*pp+while (!TI);TI=0;接收程序:#include main( )unsingned char i;.char *p;TMOD=0x20;TH1=0xe6;TL1=0xe6;T

温馨提示

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

评论

0/150

提交评论