单片机期末考试知识整理(共16页)_第1页
单片机期末考试知识整理(共16页)_第2页
单片机期末考试知识整理(共16页)_第3页
单片机期末考试知识整理(共16页)_第4页
单片机期末考试知识整理(共16页)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 17/17单片机原理(yunl)与接口复习提纲V1.011通信(tng xn) 内部资料欢迎(hunyng)使用,转载或转印时请保留此页2015/01/06计算机基础知识数制和编码(bin m)数制数码(shm),基数,位权。可用后缀(huzhu)B、Q、D、H表示该数是二、八、十或十六进制的数。各进制之间的转换:N进制到十进制:各位数码位权,即各位数字N位次,最右边为第0位,小数部分最左边为-1位,依次递减。十进制到N进制:整数部分不断用N去整除,余数的倒序就是N进制表达的整数部分,直到商为0,。小数部分,不断乘以2,整数部分就是N进制表达。十六进制到二进制:每一位十六进制转换成4位二进制

2、,不足4位的用0不足八进制到二进制:每一位八进制转换成对应3为二进制,不足3位的用0不足二进制到八进制:每三位二进制化为一位对应八进制。二进制到十六进制:每四位二进制化为一位对应十六进制。码制二进制数的原码、反码、补码(以下为8位二进制的情况,即一字节)原码:最高位(最最左边)为符号位,0为正,1为负。-127+127反码:正数反码与原码相同,负数的符号位不变、其他位取反。-127+127补码:正数补码与原码相同,负数的补码为反码+1。由于无法通过定义得到补码为10000000的数,故规定补码10000000表示-128。-128+127BCD码将十进制数的每一位分别用4位二进制表示,不足4位

3、的用0不足。如16的BCD码就是 0001 0110.ASCII码美国标准信息交换码。用7位二进制表示,共有128个不同的码。0对应48,A对应65,a对应97(分别在十六进制里是30H,41H,61H)。微星计算机的基本组成组成微型计算机一般由:微处理器、内存储器、I/O接口电路、系统总线 四部分组成。微处理器微处理器由 算数逻辑单元(ALU)、累加器、通用寄存器、程序计数器、时序和控制逻辑部件、数据域地址锁存器或缓冲器、内部总线 组成,即运算器和控制器。内存储器(ni cn ch q)内存储器(ni cn ch q)分为RAM(随机(su j)存储器)和ROM(只读存储器)两种,前者可读可

4、写且速度较快但断电后数据消失;后者虽然能断电后继续保存数据,但只可读不可写。I/O接口是CPU与I/O设备交换信息的媒介和桥梁。以IC芯片或接口板形式出现。系统总线分为数据总线DB、地址总线AB、控制总线CB三种。DB为双向三态的,即可以在存储器和CPU之间两个方向传输高电平、低电平或高阻态数据。DB的根数决定了CPU的字长(即一次能处理的二进制位数),如果是DB宽度是16,则该CPU是2字节的(16位的)AB为单向三态的,只能由CPU发出,接收方为存储器或I/O接口。AB的宽度决定了CPU的寻址范围,也就是能够直接寻址的内存空间大小。CB的方向由功能决定,如读写信号、中断响应信号由CPU发出

5、,而中断申请信号、复位信号等则由其他部件发给CPU。微机与单片机的区别将CPU、存储器、I/O接口电路由总线有机地连接在一起的整体叫做微机。将CPU、存储器、多种I/O接口和中断系统、定时器/计数器等功能模块集成到一块芯片上的一个小而完善的计算机,是单片机。通用微机的CPU主要面向数据处理,而单片机主要面向控制。微机的存储器的组织结构针对大存储容量,而单片机由于总线的限制寻址空间小。微机采用冯诺依曼结构(程序和数据存储在一起),而单片机哈佛结构(分开)。微机的通用I/O接口一般固定(键鼠显示器等),而单片机需视具体情况连接。单片机发展趋势多功能、高性能、低电压、低功耗、低价格。基于(jy)80

6、86/8088微型(wixng)计算机组成8086/8088微处理器功能(gngnng)机构CPU内部从功能结构上分成两个部分:总线接口单元(BIU)和执行单元(EU)。BIU负责CPU与存储器、IO接口之间的数据传输。寄存器指示地址、指令、设备等。EU负责执行指令。寄存器负责算术或者逻辑运算以及标志位。内存储器随机存取存储器RAM静态随机存储器SRAM利用MOS管的双稳态触发器构成。速度快、电路简单、不需要刷新。但元件多、集成度低(单位体积存储容量小)、功耗大。一般用作高速缓存(cache)。动态随机存储器 DRAM利用MOS管的栅极电容可以存储电荷原理来存储信息。集成度高,功耗低,价格低,

7、但外围电路复杂,也需要刷新来补充漏掉的电荷。常用作主内存存储器。只读存储器ROM掩膜只读存储器ROM(不可写,只可读),可编程只读存储器PROM(第一次可写),可擦除可编程只读存储器EPROM(用紫外光擦除),电可擦除可编程只读存储器EEPROM(用+5V电压进行擦除)。存储器与CPU接口技术线选法译码结构简单,但各片存储器中的地址不连续。如下图中的,第一片地址是3800H3BFFH,第二片是从3400H37FFH,第三片是2C00H2FFFH,第四片1C00H1FFFH。全译码法将地址低位直接接到存储器的地址输入端,地址高位通过译码器接到存储器的片选端,选中唯一的存储器。图中第一片的地址是0

8、000H1FFFH,第二片是2000H3FFFH,第三片是4000H5FFFH部分译码法将地址位的低位直接接到存储器的地址输入端,部分高位通过译码器接到存储器的片选端。MCS-51单片机的硬件(yn jin)结构MCS-51单片机内部结构一个(y )8位的CPU(一次可以(ky)处理8位二进制数据)一个片内振荡器及时钟电路(接晶振的那部分)4KB程序存储器(ROM,只读)128字节数据存储器(RAM,包括各种寄存器)两个16位定时器/计数器(可以记录216个机器周期或者外部计数脉冲)一个全双工串行口(通过RxD口和TxD口收发通信)四个8位并行I/O口(P0,P1,P2,P3,其中P0无上拉电

9、阻)可用于扩展64KB外部数据存储器和程序存储器的控制电路。五个中断源,两个优先级(5:两个外部中断+两个时钟+串行通信;2:高、低优先级)MSC-51单片机存储器结构51系列单片机采用哈佛结构,即数据与程序分开存放在不同的存储器中。因此一共有4个存储空间:片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器。其编址方式,片内数据存储器只有128字节,所以从00H0FFH;片外数据与片内分开编址,共64KB,从00H0FFFFH。片内程序存储器有4KB,所以从000H0FFFH;片外程序与片内程序连续编址,从1000H0FFFFH。(为什么?方便PC计数)程序存储器51系列内部程序存

10、储器8KB,地址000H0FFFH。片外与片内连续编址,片外从1000H开始,到0FFFFH结束。片内外一共64KB。其中前51字节(00H32H)有特殊功能(复位引导3B+中断入口8B5)8031没有内部程序存储器,必须进行片外程序存储器的扩展。A接A,D接D,LE接LE,上面两个(373的OE和64的CE)都接地。PS接64的OE,EA接地。如下图:数据存储器51单片机内部(nib)数据存储器有128字节。分为工作寄存器组,位寻址空间,以及(yj)堆栈和数据存储器。特殊(tsh)功能寄存器(SFR)一共有21个,其中字节地址可被8整除的可以位寻址。其位寻址地址位字节地址+位号。如P1端口的

11、字节地址是90H,则P1.1的位地址就是91H。任意型号的单片机都可以进行数据存储器的扩展。A接A,D接D,写选WR接写能WE,读选RD接输出使能OE,任选一无用I/O口接片选CE。373的OE接地,单片机的EA接VCC。如下图。MCS-51单片机的操作时序振荡周期:时钟电路的每一次振荡(方波高低电平的一个完整周期)称作一个振荡周期,也叫一个节拍Pace。状态周期(时钟周期):时钟信号经过二分频,即两个振荡周期(2P)称作一个时钟周期,又叫1个状态Status。一个状态周期是振荡周期的2倍机器周期:每6个时钟周期(6S)称作1个机器周期,1个机器周期中分为(S1P1,S1P2S6P1,S6P2

12、共12个节拍)。一个机器周期是振荡周期的12倍。指令周期:不同的指令需要不同的指令周期,有1、2、4等不同的需求,需要1、2、4等不同个数的机器周期。一个指令周期是振荡周期的12、24或48倍。如果晶振是12M的,则一个机器周期的时间为:机器周期=112MHz12=1 sMCS-51单片机最小系统(xtng)单片机最小系统由供电电路、复位电路、时钟(shzhng)电路组成,如果是8031还必须(bx)扩展片外ROM(EA接地)。51系列单片机的最小系统如下图。这是一个上电自动复位的电路。在极性电容两端增加一个按钮,则可改装成手动复位电路。不要忘记给单片机连上VCC和GND作为电源电路。MCS-

13、51单片机的低功耗方式有两种,待机方式、掉电方式。待机方式可通过任意一种中断唤醒,或通过复位电路复位唤醒。掉电方式只能通过复位电路唤醒。汇编语言(hu bin y yn)入门汇编语言(hu bin y yn)指令格式【标号(bioho):】 操作码 【操作数1】 【,操作数2】 【,操作数3】带【】的为可能不是必须的参数。标号诸如常见的 LOOP: INT: 都是标号,在使用跳转指令的时候可以直接跳转至该标号,而不用手动计算相对转移量rel。操作码是必选参数,MOV、ANL等都是操作码,表示该操作的功能。操作数1、2、3分别是单操作数、双操作数、三操作数的参数,除NOP等少数操作数至少需要一个

14、操作数。表示被操作的内容,可以是立即数、直接地址、寄存器名、相对转移量等。具体各指令及操作数应当参阅书后附录的表格。汇编语言一般不区分大小写。寻址方式寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址7种。需要注意的是,每一个操作数,都有其自己的寻址方式。也就是说,每一条语句,可能有不止一个寻址方式。立即寻址:操作数为立即数。如 MOV A, #30H 中#30H就是立即寻址。寄存器寻址:操作数为R0R7、A、B、DPTR直接寻址:操作数为地址或除上面11个寄存器以外的SFR。如 MOV 30H,PSW的两个操作数都是直接寻址,30H表示地址为30H的内存,P

15、SW为程序状态字是SFR,在D0H。寄存器间接寻址:用到R0、R1、DPTR的寻址方式。如MOV A,R0,如果R0存放30H,在地址30H中存放25H,则执行之后A中的值是25H。变址寻址:在 MOVC A,A+DPTR或MOVC A, A+PC中,第二个操作数为变址寻址方式。相对寻址:各种跳转语句都会用到相对寻址。如SJMP 0020H,则表示PC增加20H。不过更常用的是SJMP LOOP ,标号会自动转换成本语句与标号语句之间的地址差。位寻址:对位直接操作的 如 MOV C,ACC.0 ; CPL C ;ORL C,/20H等都是一些特别的指令ADD 或SUB 在运算后会影响到进位标志

16、位C,但是运算时C不会影响运算结果。ADDC或SUBB在运算后同样会影响C,运算时C也会参与。A+B+Cy 或A-B-CyINC和DEC分别为自增1和自减1指令MUL AB为乘法指令。高8位放在B中,低8位放在A中,如果OV=0说明乘法结果没有超过255,则只需查询A中的内容。DIV AB为除法指令。A存放商(相当于整除结果),B存放余数(相当于求模结果)。OV=1说明输入的除数B=0。DA A是十进制调整指令。若A=07H,R4=05H,则执行完下面两条语句后A=12H。DA的作用是使刚才的加法就相当于是在十进制下完成的,即A=7+5=12。ADD A, R4DA A ANL,ORL,XRL

17、,两操作数的与、或、异或运算(yn sun)RR,RL为循环(xnhun)右移与循环左移。右移时,将每一位右移一位,最低位补到最高位上。RRC,RLC为带进位(jnwi)位的循环右移左移。右移时,将每一位右移一位,Cy值移入最高位,最低位移入Cy。CJNE A, m, rel 是比较不等跳转指令,当A与m不相等时跳转至rel处,否则顺序执行下一条。该操作码会对进位标志Cy产生影响,当Am时Cy0;当Am是Cy1。DJNZ Rn, rel 是减一不为0跳转指令。先将Rn减一,之后如果Rn不为0则跳转至rel,否则顺序执行下一条语句。LCALL和ACALL是调用指令,两者的区别仅在代码长度和可跳转

18、的距离。调用指令和跳转指令的区别是,调用指令能够自动将PC的值保存起来(放在堆栈中),调用结束时可以返回调用发生的地方(有去有回),而跳转不能保存PC(有去无回)。RET写在子程序的结尾,与调用指令配套使用。用来告诉芯片,应当将刚刚存入堆栈的PC值取出了。RETI是中断返回程序,与RET类似,写在中断服务程序的末尾,将堆栈中的PC值返回给PC,从而使程序自中断发生处继续执行。MOVX A,DPTR和MOVX DPTR, A与 MOV A, R0 MOV R0, A的功能差不多。MOVC A, A+DPTR的用例:MOV R0, #0AHMOV DPTR, #TABLOOP:MOV A, R0M

19、OVC A, A+DPTRMOV P0, ADJNZ R0, LOOPTAB:DB3FH, 06H, 6BH, 4FH, 66HDB6DH, DH, 07H, 7FH, 90H12MHz晶振延时1ms子程序DELAY:MOV R1, #12 ; 1个机器周期LOOP1:MOV R2, #20 ; 1个机器周期LOOP2:NOP; 1个机器周期NOP; 1个机器周期DJNZ R2, LOOP2 ; 2个机器周期DJNZ R1, LOOP1 ; 2个机器周期NOP; 1个机器(j q)周期NOP; 1个机器(j q)周期RET; 1个机器(j q)周期1+(1+(1+1+2)*20+2)*12+2

20、+1=1000中断(zhngdun)系统中断(zhngdun)的处理过程中断(zhngdun)响应判断相应条件:无同级别或更高级中断正在执行,是指令周期的最后一个机器周期,且未在执行与中断有关的指令或设置中断相关的寄存器。响应中断:设置中断标志(IE、TF、TI、RI等),将PC压入堆栈,寻找终端服务入口地址,如下表。预留目的入口地址地址范围复位初始化引导0000H0000H0002H外部中断0 服务入口0003H0003H000AH定时器/计数器0服务入口000BH000BH0012H外部中断1 服务入口0013H0013H001AH定时器/计数器1服务入口001BH001BH0022H串行

21、中断服务入口0023H0023H002AH定时器/计数器2服务入口002BH002BH0032H中断执行开始执行中断服务入口处的指令。由于该处的指令空间仅有8字节,一般都会通过无条件跳转指令跳到别处执行。在执行真正的中断服务程序时,应当将A、PSW等寄存器中的值先保存起来PUSH入堆栈(这也叫保护中断现场),在RETI之前再POP出来(恢复现场),以避免主程序出错。中断返回当执行到RETI是,中断服务程序结束,自动将PC从堆栈中弹出。外部中断的设置流程在0003H处写入指向服务程序处的跳转指令(这是INT0的,INT1应当在0013H处)设置堆栈指针 MOV SP,#40H #40H任选,但应

22、当在30HF0H之间。设置优先级 SETB PX0或CLR PX0 分别是高优先级或者低优先级,可省略,默认为低设置触发方式 SETB IT0 或CLR IT0 分别是下降沿触发 或者 低电平触发允许外部中断 SETB EX0开放总中断 SETB EA定时器/计数器的设置流程在000BH处写入指向服务程序处的跳转指令(这是T0的,T1应当在001B处)设置对战指针 MOV SP,#40H写工作模式字 MOV TMOD,#00H 这里将T0与T1都设为模式0,计时模式。设计数初值 MOV TH0,#HIGH(1000) MOV TL0, #LOW(1000)允许定时中断 SETB ET0开放总中

23、断 SETB EA 这两句也可以合起来 MOV IE,#82H开始计时 SETB TR0 这句不一定接在上面语句后面,可以在任何需要的时候定时器/计数器工作模式的区别工作模式0:13位计数范围。记满产生中断,不自动装入初值。工作(gngzu)模式1:16位计数范围。记满产生(chnshng)中断,不自动(zdng)装入初值。工作模式2:8位计数范围。高位装入计数初值,低位记满后产生中断,自动装入初值。工作模式3:只适用于T0。将T0拆分成两个8位定时器/计数器。定时初值的计算:X=M-tfosc12,其中M=8192、65536或256(分别是模式0、1、2),fosc为晶振频率,t为需要定的

24、时长。串行通信(tng xn)串行通信各模式(msh)的区别方式(fngsh)0:移位寄存器方式1:数据8位一组输出,波特率可变,由T1和SMOD控制。方式2:数据9位一组输出,最后一位为标志位。波特率仅能通过SMOD加倍。方式3:数据9位一组输出,最后一位为标志位,波特率可变,由T1和SMOD控制。串行波特率设置方式工作方式0时:波特率=fosc/12工作方式1、3时:波特率=2SMOD32定时器1每秒记满的次数工作方式2时:波特率=2SMOD64各寄存器功能(gngnng)(*可位寻址)*ACC 累加器可位寻址,最繁忙的寄存器,所有几乎指令都可以(ky)与之搭配。写成ACC的时候(sh h

25、ou)是直接寻址,写成A时时寄存器寻址。由于PUSH和POP只有直接寻址一种语法,所以只能使用ACC。由于位寻址是对直接地址,所以写成ACC.n。其他时候都可以写成A。寄存器寻址比直接寻址快。复位为00H*B寄存器可位寻址,一般用在乘除法时。MUL AB,DIV AB。AB两个操作数之间没有逗号。B寄存器是直接寻址,所以MOV B, #10H等指令是合法的。复位为00H*PSW 程序状态字可位寻址。用来存放程序过程中各计算状态及通用寄存器的选择。复位为00HCYACF0RS1RS0OV-PCY是进位标志位,在指令中用保留字C代表,最高位计算时发生进位或借位时置位。AC是半进位标志,低四位向高四

26、位进位时置位。RS1、RS0,合起来选择工作寄存器组。OV是溢出标志位。带符号加减时大于127或小于-128时置位;乘法时结果超过255时置位;除法时除数B=0时置位。P是寄存器A的奇偶标志位。若A中1的个数为奇数则置位,否则清零。可通过将A中各位半加得到。SP 堆栈指针不可位寻址,用来指示当前栈顶的位置。 POP时SP自动减1,PUSH时SP自动加1。需要注意的是,复位后为07H。DPTR 数据指针不可位寻址,51单片机唯一的16位寄存器,可拆成DPH与DPL两个8位寄存器。也由于仅DPTR是16位,所以在访问片外存储器(64KB)时,一般使用DPTR语句。*P0 *P1 *P2 *P3 输

27、入输出端口数据锁存器用来存放将要由Pn端口输出的数据,或者现在从Pn端口输入的数据。*IP 中断优先级可位寻址。用来设置各中断的优先级。1为高优先级,0为低优先级。复位为00H。-PT2PSPT1PX1PT0PX0X表示外部中断,T表示定时器/计数器,S表示串行口。*IE 中断允许可位寻址。用来设置各中断的开关。1为打开,0为关闭。复位为00HEA-ET2ESET1EX1ET0EX0X表示外部中断,T表示定时器/计数器,S表示串行口。TMOD 定时器/计数器模式(msh)选择不可(bk)位寻址。高四位设置T1,低四位(s wi)设置T0。复位后为00HGATEC/TM1M0GATEC/TM1M0M1M0合起来选择定时器计数器的工作模式。C/T若为1则是C计数模式,若为0则是计时模式。(计数脉冲接法不同而已)GATE为1时仅当TR0/TR1为1且INT0/INT1端口高电平时启动,否则仅由TR0/TR1控制*TCON 定时器/计数器控制寄存器可位寻址,高4位是定时器/计数器的启动和标志位;低四位关于外部中断的触发。TF1TR1TF0TR0IE1IT0IE0IT0TF是定时器/计数器记满溢出标志位。不通过中断而通过查询方式时使用此位得

温馨提示

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

评论

0/150

提交评论