您好,欢迎访问三七文档
单片机原理及应用第一章1、微机的组成:微处理器、存储器、接口适配器、输入输出I/O设备。2、微处理器包括两个主要部分:运算器和控制器。运算器由运算部件——算术逻辑单元、累加器和寄存器组成。控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制组组成。3、正数:反码、补码与原码相同,符号位为0;负数:反码符号位为1,数值位原码取反;补码为原码取反加1,即反码加1。4、计算机中常用的二进制编码有BCD码和ASCII码。第二章1、程序计数器PC:由两个8位的计数器PCH及PCL组成,共16位。PC实际上是程序的字节地址计数器,PC中的内容是将执行的下一条指令的地址。改变PC的内容就可以改变程序执行的方向。2、控制信号引脚RST、、ALE和的功能RST(9脚):RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。:程序存储允许输出信号端。当89C51由片外程序存储器取指令(或常数)时,每个机器周期两次有效。但在此期间内,每当访问外部数据存储器时,这两次有效的信号将不出现。ALE:地址锁存允许信号端。当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器ƒOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。:外部程序存储器地址允许输入端/固话编程电压输入端。当引脚接高电平时,CPU只访问片内FlashROM并执行内部程序存储器中的指令;但当PC(程序计数器)的值超过0FFFH时,将自动转去执行片外程序存储器内的程序。当输入信号引脚接低电平时,CPU只访问片外ROM并执行片外程序存储器中的指令,而不管是否有片内存储器。然而需要注意的是,如果保密位LB1被编程,则复位时在内部会锁存EA端的状态。3、P3端口引脚与复用功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)4、89C51存储器结构:普林斯顿结构和哈佛结构普林斯顿结构:CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM,也可以是RAM,并用同类访问指令。哈佛结构:存储器和数据存储器分开的结构形式。5、89C51存储器地址空间分为以下三类:a、片内片外统一编址0000H---FFFFH的64KB程序存储器地址空间(采用16位地址)。b、64KB片外数据存储器地址空间,地址也在0000H---FFFFH(采用16位地址)范围内编址。c、256字节数据存储器地址空间(采用8位地址)。89C51的指令系统设计了不同的数据传送指令符号:CPU访问片内,片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。6、PSW程序状态字位地址D7D6D5D4D3D2D1D0位名称CYACF0RS1RS0OV—P位意义进、借辅进用户标定寄存器组选择溢出保留奇/偶7、数据指针DPTR(83H,82H)DRTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示。(地址82H)DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64KB片外RAM作间接寻址。8、基本时序定时单位:(1)振荡周期:晶振的振荡周期,为最小的时序单位。(2)状态周期;振荡频率经单片机内的二分频器后提供给片内CPU的时钟周期。因此一个状态周期包含两个振荡周期。(3)机器周期:一个机器周期由6个状态周期即12个振荡周期组成,是单片机执行一种基本操作的时间单位。(4)指令周期:执行一条指令所需的时间。一个指令周期由1到4个机器周期组成,依据指令不同而不同。9、复位电路(a)上电复位(b)按键电平复位习题:1、89C51/S51的端有何用途?2、89C51/S51的存储器分哪几个空间?如何区别不同空间的寻址?3、89C51/S51有几种低功耗方式?如何实现?答案1:答案2:第三章1、89C51单片机寻址方式共有7种:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。2、寄存器间接寻址:89C51规定R0或R1为间接寻址寄存器,可寻址内部RAM低位地址的128字节单元内容。还可采用数据指针(DPTR)作为间接寻址寄存器,寻址外部数据存储器的64KB空间,但不能用这种寻址方式寻址特殊功能寄存器。3、变址寻址:89C51没有专门的变址寄存器,而是采用数据指针DPTR或PC为变址寄存器,地址偏移量是累加器A的内容,以DPTR或PC的内容与累加器A的内容之和作为操作数的16位程序存储器地址。4、在89C51中,位地址的两种常用表示方式:a、直接使用位地址。对于20H--2FH的16个单元共128位的位地址分布是00H--7FH。b、对于特殊功能寄存器,可以直接使用寄存器名字加位数表示。5、89C51/S51指令系统可分为5大类:数据传送指令、算术运算指令、逻辑运算及移位指令、控制转移指令、位操作指令或布尔操作6、在汇编语言中,位地址的表示方式:直接(位)地址方式、点操作符号方式、位名称方式、用户定义名方式。习题:1、在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。2、指出下列指令的本质区别?3、设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。请指出在执行下列程序后上述各单元内容的变化。MOVA,@R0MOV@R0,40HMOV40H,AMOVR0,#35H...98HAFH...40H4、5、6、要求同上题,程序如下:第四章1、汇编语言程序具有四种结构形式:顺序结构、分支结构、循环结构和子程序结构。2、【例4-2】拆字。将片内RAM20H单元内容拆成两段,每段4位,并将它们分别存入21H与22H单元中。程序如下:ORG2000HSTART:MOVR0,#21HMOVA,20HANLA,#0FHMOV@R0,AINCR0MOVA,20HSWAPAANLA,#0FHMOV@R0,A3、【例4-7】设变量x存放在VAR单元,函数值y存放在FUNC中,按下式给y赋值。1x0y=0x=0-1x0程序如下:VARDATA30HFUNCDATA31H...F2CC...61HSTART:MOVA,VARJZCOMPJNBACC.7,POSIMOVA,#0FFHSJMPCOMPPOSI:MOVA,#01HCOMP:MOVFUNC,A4、【例4-9】多字节无符号数加法程序设被加数低字节地址存R0,加数低字节地址存R1,字节数存R3。相加的结果存原被加数单元。加法程序段如下:START:MOVA,R0MOVR5,AMOVA,R3MOVR7,ACLRCADDA:MOVA,@R0ADDCA,@R1MOV@R0,AINCR0INCR1DJNZR7,ADDAJNCADDBINCR3MOV@R0,#01HADDB:MOVA,R5MOVR0,AEND5、【例4-10】搜索最大值。从片内RAM的BLOCK单元开始有一无符号数据块,其长度存与LEN单元中,试求出其中最大值。START:LENDATA20HMAXDATA21HBLOCKDATA22HCLRAMOVR2,LENMOVR1,#BLOCKLOOP:CLRCSUBBA,@R1JNCNEXTMOVA,@R1SJMPNEXT1NEXT:ADDA,@R1NEXT1:INCR1DJNZR2,LOOPMOVMAX,A6、DATA命令功能与EQU的区别:⑴EQU定义的字符名必须先定义后使用,而DATA定义的字符名可以后定义先使用。⑵用EQU伪指令可以把一个汇编符号赋给一个名字,而DATA只能把数据赋给字符名。⑶DATA语句中可以把一个表达式的值赋给字符名称,其中的表达式应是可以求值的。DATA伪指令常在程序中用来定义数据地址。7、DB定义字节命令DW定义字命令DS定义存储空间命令BIT位地址符号命令第五章1、CPU与外部设备交换信息通常有以下几种方式:a、程序控制传送方式,又分为无条件传送方式和查询传送方式;b、中断传送方式。c、直接存储器存取(DMA)方式。2、89C51中断系统的5个中断源:a、INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。b、INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。c、T0:定时器/计数器0溢出中断请求。d、T1:定时器/计数器1溢出中断请求。e、TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。3、中断源的类型:I/O设备、硬件故障、实时时钟、为调试程序而设置的中断源。4、89C51中断系统有4个特殊功能寄存器:A、定时器控制寄存器TCON(用6位)B、串行口控制寄存器SCON(用2位)C、中断允许寄存器IE。D、中断优先级寄存器IP。5、中断源优先级排列顺序中断源同级内的中断优先级外部中断0定时器/计数器0溢出中断外部中断1定时器/计数器1溢出中断串行口中断最高最低6、中断源及其对应的矢量地址中断源中断矢量地址外部中断0()0003H定时器T0中断000BH外部中断1()0013H定时器T1中断001BH串行口中断0023H第六章1、计数:所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。2、定时:定时是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。3、M1和M0控制的4种工作模式M1M0工作模式功能描述00模式013位计数器01模式116位计数器10模式2自动再装入8位计数器11模式3定时器0:分成二个8位计数器定时器1:停止计数4、模式2的特点及应用:特点:模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。当TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。应用:这种工作模式可省去用户软件中重装常数的语句,并可产生相当精确的定时时间,特别适于作串行口波特率发生器。第七章1、数据通信方式有两种:并行通信、串行通信并行通信:是指数据的各位同时进行传送(发送或接收)的通信方式。其优点是传送速度高;缺点是数据有多少位,就需要多少根传送线。串行通信:数据是一位一位按顺序传送的通信方式。它的突出优点是只需要一对传输线,这样就大大降低了传送成本,特别适合远距离通信;缺点是传送速度较低。2、串行通信的传送方式:单向(或单工)配置,只允许数据向一个方向传送;半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;全双向(或全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接收能力。3、异步通信,在帧格式中,一个字符由4部分组成:起始位、数据位、奇偶校验位、停止位。4、波特率:即数据传送速率,表示每秒传送二进制代码的位数,它的单位是b/s。5、串行通信中串---并转换与设备同步:两个通信设备在串行线路上成功地实现通信必须解决两个问题:一是串并转换,即如何把要发送的并行数据串行化,把接收的串行数据并行化;二是设备同步,即同步发送设备和接收设备的工作节拍,以确保发送数据在接收端被正确读出。6、收发数据的过程:串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读/写的。当向SBUF发“写
本文标题:单片机原理及应用
链接地址:https://www.777doc.com/doc-4409535 .html