欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机原理及应用总结.docx

    • 资源ID:12529006       资源大小:200.75KB        全文页数:25页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理及应用总结.docx

    1、单片机原理及应用总结页眉内容单片机原理及应用第一章绪论1.什么叫单片机?其主要特点有哪 些?在一片集成电路芯片上集成微处理 器、存储器、I/O接口电路,从而构成 了单芯片微型计算机,即单片机。特点:控制性能和可靠性高、体积小、 价格低、易于产品化、具有良好的性 价比。第二章80C51的结构和原理1.80C51的基本结构a.CPU系统8位CPU,含布尔处理器;时钟电路;总线控制逻辑。b.存储器系统4K字节的程序存储器(ROM/EPROM/FLASH,可外扩 至 64KB);128字节的数据存储器(RAM,可外扩至64KB);特殊功能寄存器SFR。c.I/O 口和其他功能单元4个并行I/O 口;2

    2、个16位定时/计数器;1个全双工异步串行口;中断系统(5个中断源,2个优先 级)2.80C51的应用模式a总线型单片机应用模式总线型应用的“三总线”模式; 非总线型应用的“多I/O ”模式3.80C51单片机的封装和引脚a总线型DIP40引脚封装RST/Vpo:复位信号输入引脚/备用电源输入引脚;ALE/ PROG :地址锁存允许信号输出引脚/编程脉冲输入引脚;EA/Vpp:内外存储器选择引脚/片内EPROM编程电压输入引脚;PSEN :外部程序存储器选通信号输出引脚b.非总线型DIP20封装的引脚RST:复位信号输入引脚4.80C51的片内存储器增强型单片机片内数据存储器为 256 字节,地

    3、址范围是 00HFFH。低128 字节的配情况与基本型单片机相同。高128字节一般为RAM,仅能采用寄 存器间接寻址方式询问。注意:与该 地址范围重叠的特殊功能寄存器 SFR 空间米用直接寻址方式询问。5.80C51的时钟信号晶振周期为最小的时序单位。一个时 钟周期包含2个晶振周期。晶振信号 12 分频后形成机器周期。即一个机器 周期包含12个晶振周期或6个时钟周 期。6.80C51单片机的复位定义:复位是使单片机或系统中的其 他部件处于某种确定的初始状态。a.复位电路两种形式:一种是上电复位;另一种是上电与按键均有效的复位。b.单片机复位后的状态单片机的复位操作使单片机进入初始 化状态。初始

    4、化后,程序计数器PC=0000H,所以程序从0000H地址单 元开始执行。特殊功能寄存器复位后的状态是确定的。P0P3为 FFH,SP为 07H,SBUF 不定,IP、IE和PCON的有效位为0, 其余的特殊功能寄存器的状态为 00H. 相应的意义为:P0P3=FFH,相当于各口锁存器已 写入1,此时不但可用于输出,也 可以用于输入;SP=07H,堆栈指针指向片内RAM的07单元;IP、IE和PCON的有效位为0,各 中断源处于低优先级且均被关断、 串行通讯的波特率不加倍; PSW=OOH,当前工作寄存器为0 组。7.80C51的存储器组织功能:存储信息(程序和数据)a.程序存储器低端的一些地

    5、址被固定 地用作特定的入口地址:0000H:单片机复位后的入口地 址;0003H :外部中断0的中断服务程 序入口地址;000BH:定时/计数器0溢出中断 服务程序入口地址;0013H:外部中断1的中断服务程 序入口地址;001BH:定时/计数器1溢出中断 服务程序入口地址;0023H :串行口的中断服务程序入 口地址。8.80C51单片机的数据存储器配置 80C51单片机数据存储器分为片外 RAM 和片内RAM 两大部分。80C51片内RAM的128B部分分成工 作寄存器区、位寻址区、通用RAM三 大部分。基本型单片机片内RAM的地址范围 是 00H7FH。增强型单片机片内除地址范围为00H

    6、7FH的128B RAM夕卜,又增加了 80HFFH的高128B的RAM。增加的 这部分RAM仅能采用间接寻址方式 访问。片外RAM地址空间为64KB,地址范 围是 0000HFFFFH。与程序存储器地址空间不同的是,片 外RAM地址空间与片内 RAM地址空间在地址的低端0000H007FH是重叠 的。访问片外RAM时采用指令MOVX 实现,访问片内RAM采用指令MOV, 无读写信号产生。a.工作寄存器区80C51单片机片内RAM低端的 00H1FH共32B,分成4个工作寄存 器组,每组占8个单元。寄存器0组:地址00H07H; 寄存器1组:地址08H0FH ; 寄存器2组:地址10H17H;

    7、 寄存器3组:地址18H1FH。程序运行时,只能有一个工作寄存器 组作为当前工作寄存器组;当前工作 寄存器组的选择由特殊功能寄存器中 得程序状态字寄存器PSW的RS1、RS0 来决定。b.位寻址区内部RAM的20H2FH共16个字节是 位寻址区。其128位的地址范围是 00H7FH。c.通用RAM区位寻址区之后的 30H7FH共80个字 节为通用RAM区。这些单元可以作为 数据缓冲器使用。实际应用中,常需在RAM区设置堆 栈。80C51的堆栈一般设在30H7FH 的范围内,栈顶的位置由堆栈指针 SP 指示。复位时SP的初值为07H,在系 统初始化时可以重新设置。9.80C51单片机的特殊功能寄

    8、存器a.程序状态字寄存器 PSW, 8位。含义 如下:CY :进位、借位标志。有进位、借位时CY=1,否则CY=0 ;AC :辅助进位、借位标志F0:用户标志位,由用户自己定义 RS1、RS0:当前工作寄存器组选 择位OV:溢出标志位。有溢出时OV=1, 否则0V=0P:奇偶标志位。存于ACC中的运 算结果有奇数个“ 1”时P=1,否 则 P=0。10.P0 口、P2 口 的结构P0 口作为分时复用的低 8位地址/数据 总线,P2 口作为高8位地址总线。a.P0 口的结构P0用作通用I/O 口输出驱动级工作在需外接上拉电阻的 漏极开路方式;P0 口在作为通用I/O 口,属于准双向 口。P0用作

    9、地址/数据总线b.P2 口的结构P2 口的输出驱动电路与P0 口不同,内 部设有上拉电阻。P2用作通用I/O 口P2 口在作为通用I/O 口,属于准双向 口。P2用作地址总线11.P3 口结构a.P3用作第一功能的通用I/O 口b.P3用作第二功能使用P3.0: RXD (串行口输入);P3.1: TXD (串行口输出);P3.2: INT 0 (外部中断0输入);P3.3: (外部中断1输入);P3.4: T0 (定时器0的外部输入);P3.5: T1 (定时器1的外部输入);P3.6: WR (片外数据存储器“写”选通控制输出);P3.7: RD (片外数据存储器“读” 选通控制输出)。第

    10、三章80C51的指令系统1.80C51的寻址方式表3.1寻址方式所对应的寄存器和存储空间序号寻址方式寄存器或存储空间1寄存器寻址寄存器 R0R7, A、AB、DPTR 和 C(布尔累加器)2直接寻址片内RAM低128字节、SFR3奇存器间接寻址片内 RAM (R0, R1, SP) 片外 RAM (R0, R1, DPTR)4立即寻址ROM5扩展方式变址寻址ROM (A+DPTR , A+PC)6相对寻址ROM (PC当前值的-128+127字节)7位寻址可寻址位(内部 RAM20H2FH单元的位和部分SFR的位)2.特殊传送指令表3.3特殊传送指令编号指令分类指令机器码字节机器周期数1ROM

    11、查表MOVC A , A+DPTR93H22MOVC A , A+PC83H23读片外RAMMOVX A , DPTRE0H24MOVX A , RiE2H(E3H)25写片外RAMMOVXDPTR , AF0H26MOVXRi , AF2H(F3H)27堆栈操作PUSH directC0H2direct8POP directD0H2direct堆栈操作在80C51单片机中,堆栈的生长方向是向上的。入栈操作时,先将 SP+1,然后 将指令指定的直接地址单元的内容存入 SP指向的单元;出栈操作时,将 SP指 向的单元内容传送到指令指定的直接地址单元,然后 SP-1。系统复位时,SP的内容位07H

    12、。SP的值越小,堆栈深度越深。PUSH direct: SP (SP) 1,(SP) (direct)POP direct direct(SP), SP (SP)-1一般在中断、子程序调用时发生堆栈操作MOV、MOVX、MOVC 区别MOV :单片机内部数据传递;MOVX :单片机与片外RAM和I/O 口电路的数据传递;MOVC : ROM的查表3.逻辑运算与循环类指令逻辑与:编号指令分类指令1逻辑与ANL direct,A2ANL direct,#data3ANL A,Rn4ANL A,direct5ANL A,Ri6ANL A,#data前两条把源操作数与直接地址指示内容相与;后四条是把源

    13、操作数与累加器 A的内容相与,送入A 逻辑或:编号指令分类指令1逻辑或ORL direct,A2ORL direct,#data3ORLA, Rn4ORL A,direct5ORL A,Ri6ORL A,#data逻辑异或:编号指令分类指令1XRL direct,A2XRL direct,#data3XRLA,Rn4XRL A,direct5XRL A,Ri6XRL A,#data累加器清0和取反CLRA清0CPLA取反累加器循环移位RR右移RRCRL左移RLC4.控制转移类指令短跳转:AJMP ;长跳转:LJMP ;相对跳转:SJMP。由于LJMP指令提供的是 16位地址,因此程序可以转向

    14、64KB的程序存储器地址空间的任何单元。累加器判0转移:JZ rel:(A)=0,则 PC PC rel ;JNZ rel:(A) =0,则 PC PC rel比较不相等转移(目的字节与源字节不相等则转移):CJNE A,direct,relACJNE Rn # data,relRi.减1不为0转移:DJNZRn,relDJNZdirect,rel将操作数的循环控制单元的内容减1,并判断是否为0.若不为0, 直循环。若 为0,程序往下执行。调用:ACALL短调用;LCALL长调用返回:RET子程序返回指令;RETI中断服务子程序返回指令CPL取反第四章1.查表程序有一变量存放在片内RAM的20

    15、H单元,其取值范围为00H05H。要求编制一 段程序,根据变量值求平方值,并存入片内 RAM的21H单元。程序如下:ORG 1000HSTART: MOV DPTR,#2000HMOV A,20HMOVC A,A+DPTRMOV 21H,ASJMP $ORG 2000HTABLE : DB 00,01,04,09,16,25END2.双字节无符号数加法设被加数存放在内部 RAM的51H、50H单元,加数存放在内部 RAM的61H、 60H单元,相加的结果存放在内部 RAM的51H、50H单元,进位存放在位寻址 区的00H位中,实现此功能的程序段如下:MOV R0, #50H ;被加数的低字节地

    16、址MOV R1, #60H ;加数的低字节地址MOV A,R0 ;取被加数低字节ADD A,R1 ;加上加数低字节MOV R0, A ;保存低字节相加结果INC R0 ;指向被加数高字节INC R1 ;指向加数高字节MOV A,R0 ;取被加数高字节ADDC A,R1 ;加上加数高字节(带进位加)MOV R0, A ;保存高字节相加结果MOV 00H,C ;保存进位3.双分支程序设变量x以补码的形式存放在片内RAM的30H单元,变量y与x的关系是:当 x0时,y=x ;当x=0时,y=20H ;当x0时,y=x+5。编制程序,根据x的大小 求y并返回原单元。程序段如下:START:MOVA,3

    17、0HJZNEXTANLA,#80H ;判断符号位JZLPMOVA,#05HADDA,30HMOV30H,ASJMPLPNEXT:MOV30H, #20HLP:SJMP$4.多分支程序 根据R7的内容转向相应的处理程序。设R7的内容为0N,对应的处理程序的入口地址分别为 PP0PPN。程序段如下:START: MOVDPTR,#TAB ;置分支入口地址表首址MOVA,R7ADDA,R7MOVR3, AMOVCA, A+DPTR ;取高位地址XCHA , R3INCAMOVCA , A+DPTR ;取低位地址MOVDPL,A ;MOVDPH,R3CLRAJMPA+DPTRDWPP0DWPP1DWP

    18、PNTAB :先判断后执行处理程序入口地址低8位送DPL;处理程序入口地址高8位送DPH5.循环程序先执行后判断;50ms延时程序若晶振频率为12MHZ,则一个机器周期为1 Q,执行一条DJNZ指令需要 机器周期,即2Q。采用循环计数法延时,循环次数可通过计算获得,并选择先 执行后判断的循环结构。程序段如下:DEL: : MOV R7,#200 ; 1 pSDEL1 : MOV R6,#123 ; 1 psNOP ; 1 gDEL2 : DJNZ R6,DEL2 ; 2 ps 共(2*123) psDJNZ R7,DEL1 ; 2 p 共(2*123+2+2)*200+1 g,即 50.001

    19、ms RET6.子程序及其调用a.现场保护与恢复的结构在主程序实现在子程序中实现b.子程序调用时,参数的传递方法利用累加器或寄存器利用存储器利用堆栈操作7.常用程序举例a.多字节无符号数的加法设两个N字节的无符号数分别存放在内部 RAM中以DATA1和DATA2开始的 单元中。相加后的结果要求存放在 DATA2数据区中。程序段如下:MOV R0,#DATA1MOV R1,#DATA2MOV R7,#N ;置字节数CLR CLOOP : MOVADDCMOVINCINCA,R0A,R1 ;求和R1,A ;存结果R0 ;修改指针R1DJNZ R7,LOOPb.多字节无符号数的减法 元中。相减后的结

    20、果要求存放在 DATA2数据区中。程序段如下:MOVR0,#DATA1MOVR1,#DATA2MOVR7,#N ;置字节数CLRCLOOP:MOV A,R0SUBB A,R1 ;求差MOV R1,A ;存结果INC R0 ;修改指针INC R1DJNZ R7, LOOPc.十六进制数与ASCII码间的转换当十六进制数在09之间时,其对应的ASCII码值为该十六进制数加30H;当 十六进制数在AF之间时,其对应的ASCII码值为该十六进制数加37Hd.BCD码与二进制数之间的转换双字节二进制数转换成BCD码设(R2R3)为双字节二进制数,(R4R5R6)为转换完的压缩型BCD码。程序段如 下:D

    21、CDTH: CLR AMOV R4,A;R4 清 0MOV R5,A;R5 清 0MOV R6,A;R6 清 0MOV R7, #16 ;计数初值LOOP: CLR CMOV A,R3RLC AMOV R3,A ;R3左移一位并送回MOV A,R2RLC AMOVR2, A ;R2左移一位并送回MOVA,R6ADDCA,R6DAAMOVR6, A ;(R6)乘2并调整后送回MOVA,R5ADDCA,R5DAAMOVR5,A ;(R5)乘2并调整后送回MOVA,R4ADDCA,R4DAAMOVR4, A ;(R4)乘2并调整后送回DJNZR7, LOOP第五章80C51的中断系统及定时/计数器1

    22、或清0同样的效果。一个周期采样到为低电平,则在 IE0或IE1中将所存一个逻辑1。 边沿触发方式适合于以负脉冲形 式输入的外部中断请求。4.80C51的定时/计数器80C51单片机片内集成有两个可编程 的定时/计数器:T0和T1,它们既可 以工作于定时模式,也可以工作于外 部事件计数模式,此外, T1还可以作 为串行口的波特率发生器。5.定时/计数器的控制TMOD用于设置其工作方式;TCON 用于控制其启动和中断申请。定时模式C斤=0;计数模式C斤=16.定时/计数器的定时方式和计数方式 的区别定时方式的计数脉冲源自内部的 时钟脉冲,每个机器周期寄存器的 值+1,计数频率为震荡频率的1/12;

    23、计数方式的计数脉冲源自相应的 外部输入引脚T0或T1,每个下降 沿寄存器值+1,最咼计数频率为振 荡频率的1/24.7.定时/计数器的工作方式80C51单片机定时/计数器T0有4种工2中断响应条件CPU响应中断的条件是:第一,中断 源有中断请求;第二,此中断源的中 断允许位为1;第三是CPU开中断(即 EA=1 )。同时满足这3个条件时,CPU 才可能响应中断。3中断返回(使用RETI指令) RETI指令能使CPU结束中断服务程 序的执行,返回到曾经被中断过的程 序处,继续执行主程序。功能:将中断响应时压入堆栈保存的断 点地址从栈顶弹出送回PC,CPU 从原来中断的地方继续执行程序; 将相应中

    24、断优先级状态触发器清0,通知中断系统,中断服务程序 已执行完毕。注:外部中断定义为电平触发方式,中 断标志位的状态随CPU在每个机 器周期采样到的外部中断输入引 脚的电平变化而变化。电平触发方 式适合于外部中断输入以低电平 输入且在中断服务程序中能清除 外部中断的情况。外部中断定义为边沿触发方式,在 相继连续的两次采样中,一个周期 采样到外部中断输入为高电平,下作方式(方式 0、1、2、3),T1有38.定时/计数器的应用举例a利用定时/计数器T0方式1,产生10ms的定时,并使P1.0引脚上输出周期为 20ms的方波,采用中断方式,设系统时钟频率为 12MHZ。解:(1)计算计数初值X :由

    25、于晶振为12MHZ,所以机器周期Tcy为1g。所以:N=t/Tcy=10*103/1*106=10000X=216 N=65536 10000=55536=D8F0H即应将D8H送入TH0中,F0H送入TL0中。(2)求T0的方式控制字TMOD :M1M0=01 , GATE=0, C/T =0,可取方式控制字为 01H。(3)程序清单如下ORG0000HLJMPMAIN ;跳转到主程序ORG000BH ; T0的中断入口地址LJMPDVT0 ;转向中断服务程序ORG0100HMAIN :MOVTMOD , #01H ;置T0工作于方式1MOVTH0, #0D8H ;装入计数初值MOVTL0,

    26、 #0F0HSETBET0 ; T0开中断SETBEA ; CPU开中断SETBTR0 ;启动T0SJMP$;等待中断DVT0 :CPLP1.0 ; P1.0取反输出MOVTH0, #0D8H ;重新装入计数值MOV TLO, #OFOHRETI ;中断返回ENDb.利用定时/计数器TO从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振 频率为12MHZ。试设计程序。解:采用定时20ms,然后再计数1、49次的方法实现。a.T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C斤=0,可取方式控制字为 01H。b.计算计数初值X :晶振为12MHZ,所以机器周期T

    27、cy为1 g。所以:N=t/Tcy=20*10 7/1*10 - 6=20000X=216-N=65536 20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中。c.实现程序如下:ORG0000HAJMPMAIN ;跳转到主程序ORG0030HMAIN : MOVTMOD,#01H ;置T0工作于方式1MOVTH0,#4EH ;装入循环计数初值MOVTL0,#20H ;首次计数值LP0: SETBP1.0ACALLNT0CLRP1.0MOVR7,#49 ;计数49次LP1: ACALLNT0DJNZR7, LP1AJMPLP0NT0: MOVTH0,#4EHMOVTL

    28、0, #20HSETBTR0JNBTF0,$CLRTR0CLRTF0RETENDc.要求从P1.1引脚输出1000HZ方波,晶振频率为12MHZ。试设计程序。 解:采用T0实现。1T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0, C/T =0,可取方式控制字为 01H。2计算计数初值:晶振为12MHZ,所以机器周期Tcy为1血。1/1000=1*10 3。所以: N=t/Tcy=0.5*103/1*106=500X=216-N=65536 500=65036=FE0CH 即应将FEH送入TH0中,0CH送入TL0中实现程序如下:ORG0000HAJMPMAIN ;跳转到主程序ORG000BH ; T0的中断入口地址LJMPDVT0ORG0030HMAIN : M


    注意事项

    本文(单片机原理及应用总结.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开