您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 51单片机开发板学习课件
一、单片机概论•单片微型计算机简称单片机,它是把组成微型计算机的各个部件:中央处理器,储存器,输入输出接口电路,定时器/计算器等,制作在一块集成电路中,构成一个完整的微型计算机.•8位单片机占整个单片机市场的60%以上,8位单片机的旧的机种正在被淘汰,新的机型不断涌现.8位单片机以其功能强,品种多,正广泛应用于各个领域,是单片机的主流机种.随着集成电路工艺的不断改进,8位单片机的价格也在不断降低.•单片机的发展趋势是:增加存储器容量,片内EPROM转变为FLASH,存储器编程可不同级别加密,片内I/O管脚多功能化.•单片机的应用领域–工业方面:电机控制,工业机器人,过程控制,数字控制–仪器仪表方面:智能仪器,医疗器械,色谱仪,示波器–民用方面:电子玩具,高级电视游戏机,录像机,激光盘驱动–电讯方面:调制解调器,智能线路运行控制.–导航与控制:导弹控制,智能武器装置–数据处理:图形终端,磁带机,打印机–汽车方面:点火控制,变速器控制,排气控制第一章89S52单片机的结构一、内部结构和主要功能二、引脚功能说明三、时钟、复位电路四、I/O端口五、存储器配置六、最小系统七、CPU时序89S52结构示意图主要性能:片内存储器包含8KB的FLASH,可在线编程,檫写次数不少于1000次256字节片内数据RAM32根可编程I/0口线8个中断源、6个中断矢量、两个优先权的中断结构1个可编程全双工串行接口3个可编程定时/计数器两种低功耗模式分别是空闲模式和掉电模式具有3级程序锁定位含有一个看门狗定时器具有断电标志POF全静态工作频率0~33MHz完全兼容MCS-51产品89S52引脚功能介绍VCC+5VGND地ALE地址锁存允许/PSEN程序存储器允许EA/VPP为0-访问外部程序存储器为1-访问内部程序存储器RST复位信号输入XTAL1、XTAL2外部晶振P0.0~P0.7I/O端口(P0口)P1.0~P1.7I/O端口(P1口)P2.0~P2.7I/O端口(P2口)P3.0~P3.7I/O端口(P3口)89S52引脚图时钟、复位电路时钟电路:复位电路:I/O端口-P0口1.P0端口总线I/O端口,双向,开漏,数据地址分时复用,该端口除用于数据的输入/输出外,在89S52单片机外接程序存储器时,还分时地输出/输入地址/指令。由P0端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分P0端口结构P1端口结构P2端口结构I/O端口-P3口(双功能口)P3.0-RXD串行接口P3.1-TXDP3.2-/INT0外部中断输入P3.3-/INT1P3.4-T0定时/计数器输入P3.5-T1P3.6-/WR外部数据读、写P3.7-/RDI/O端口-P3口(双功能口)P3端口结构SFR寄存器(1)特殊功能功能名称地址复位后寄存器的状态B*通用寄存器F0H00HA*累加器E0H00HPSW*程序状态寄存器D0H00HIP*中断优先寄存器B8H00HP3*P3口数据寄存器B0HFFHIE*中断允许寄存器A8H00HP2*P2口数据寄存器A0HFFHSBUF串行口发送/接收缓冲器99H不定SCON*串行口控制寄存器98H00HP1*P1口数据寄存器90HFFHSFR寄存器(2)特殊功能功能名称地址复位后寄存器的状态TH1T1计数器高8位8DH00HTH0T0计数器高8位8CH00HTL1T1计数器低8位8BH00HTL0T0计数器低8位8AH00HTMOD定时/计数器方式字寄存器89H00HTCON*定时控制寄存器88H00HPCON波特率选择寄存器87H00HDPH地址寄存器高8位83H00HDPL地址寄存器低8位82H00HSP堆栈指示器81H07HP0*P0口数据寄存器80HFFHCPU时序-外部程序存储器读CPU时序-外部数据存储器读写第二章89S52单片机开发入门一、开发流程二、开发工具三、集成开发环境四、举例KeilC51开发流程•根据任务选择MC型号•设置工程参数,如频率,优化级别等•加入适当的包含文件#include“reg51.h”•编写源代码•调试与仿真•生成HEX文件•烧写二、开发工具•89S52开发板•集成开发环境•下载线软件•常用仪器(万用表,示波器等)下载线软件编程软件三、集成开发环境•KeilSoftwareInc.的uVision2,集成开发环境或者WAVE编译环境•集成C和汇编语言源代码编写.•编译连接,模拟仿真,输出hex文件.•支持连接仿真器进行在线仿真.•标准C语言支持.•支持多级优化•支持数百种器件.KeilC51uVision2第三章指令系统及汇编语言一、指令系统概述二、51单片机指令系统三、汇编语言程序设计举例四、C51程序设计举例一、指令系统概述MCS-51系列单片机共有111条指令按功能可分成5类指令:数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作类指令(17条)1.指令执行时间快单周期指令65条(1us,12MHz晶振)双周期指令44条(2us,12MHz晶振)四周期指令2条(4us,12MHz晶振)2.指令短单字节指令49条双字节指令46条三字节指令16条3.单指令实现字节相乘或相除运算4.具有丰富的位操作类指令1、AT89系列指令系统特点2、寻址方式7种寻址方式:立即寻址直接寻址寄存器寻址寄存器间接寻址相对寻址变址寻址位寻址二、51单片机指令系统1、指令中常用符号说明2、数据传送指令3、算术运算指令4、逻辑运算指令5、控制转移指令6、位操作类指令1、指令中常用符号说明Rn当前寄存器区的Ro~R7(其中n=0~7)Ri当前寄存器区中的R0和R1(其中i=0,1)direct8位直接字节地址(片内RAM和SFR空间)#data8位立即数。#data1616位立即数。addr1616位地址值。Addr1111位地址值。rel8位带符号地址偏移量(-128~+127)bit片内RAM和SFR中的可直接寻址位@间接寻址寄存器或基址寄存器的前缀()表示括号中的内容(())表示间址寻址的内容2、数据传送指令(1)MOVA,RnMOVA,directMOVA,@RiMOVA,#dataMOVRn,AMOVRn,directMOVRn,#dataMOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#dataMOV@Ri,AMOV@Ri,direct数据传送指令(2)MOVDPTR,#data16MOVCA,@A+DPTRMOVCA,@A+PCMOVXA,@RiMOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,APUSHdirectPOPdirectXCHA,RnXCHA,directXCHA,@RiXCHDA,@RiSWAPA3、算术运算指令(1)ADDA,RnADDA,directADDA,@RiADDA,#dataADDCA,RnADDCA,directADDCA,@RiADDCA,#dataSUBBA,RnSUBBA,directSUBBA,@RiSUBBA,#data算术运算指令(2)INCAINCRnINC@RiDECADECRnDECdirectDEC@RiINCDPTRMULABDIVABDAA4、逻辑运算指令(1)ANLA,RnANLA,directANLA,@RiANLA,#dataANLdirect,AANLdirect,#dataORLA,RnORLA,directORLA,@RiORLA,#dataORLdirect,AORLdirect,#data逻辑运算指令(2)XRLA,RnXRLA,@RiXRLA,#dataXRLdirect,AXRLdirect,#dataCLRACPLARLARLCARRARRCA5、控制转移指令ACALLaddr11LCALLaddr16RETRETIAJMPaddr11LJMPaddr16SJMPrelJMP@A+DPTRJZrelJNZrelCJNEA,direct,relCJNEA,#data,relCJNE@Ri,#data,relDJNZRn,relDJNZdirect,relNOP6、位操作类指令CLRCCLRbitSETBCSETBbitCPLCCPLbitANLC,bitANLC,/bitORLC,bitORLC,/bitMOVC,bitMOVbit,CJCrelJNCrelJBbit,relJNBbit,relJBCbit,rel三、汇编语言程序设计应用举例举例:设计一个指示器,要求当指示按键按下后,指示灯发光。设P1.0口驱动指示灯,P1.1口作为指示按键输入。电路设计见图ORG00LJMPSTARTORG0100HSTART:JBP1.1,$JNBP1.1,$SETBP1.0SJMPLOOP1SOUND:MOVR7,#5SETBP1.0MOVR0,#10LCALLDELAYCLRP1.0MOVR0,#20LCALLDELAYDJNZR7,SOUND1RETDELAY:MOVR1,#100;100msDELAY1:MOVR2,#200;1msDELAY2:NOPNOPNOPDJNZR2,DELAY2DJNZR1,DELAY1DJNZR0,DELAYRET#include“reg51.h”#defineucharunsignedcharsbitpinSW=P1^2;sbitpinBell=P1^0;sbitpinLed=P1^1;voidDelay_1ms(uintS_DelayTime){ucharS_j;while(S_DelayTime!=0){S_DelayTime--;for(S_j=0;S_j115;S_j++){}}}voidmain(void){intDelay=0;pinLed=1;pinBell=1;while(1){if(!pinSW){Delay_1ms(2);第四章51单片机的功能单元介绍一、定时/计数器二、串行接口三、中断系统一、定时/计数器定时器/计数器简称定时器,其作用主要包括产生各种时标间隔、记录外部事件的数量等,是微机中最常用、最基本的部件之一。803l单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。T0由2个定时寄存器TH0和TL0构成,T1则由TH1和TL1构成,它们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器中这些寄存器的读写来实现对这两个定时器的操作。用于定时器工作时,每一个机器周期定时寄存器自动加l,所以定时器也可看作是计量机器周期的计数器。由于每个机器周期为12个时钟振荡周期,所以定时的分辨率是时钟振荡频率的1/12。用于计数器工作时,只要在单片机外部引脚T0(或T1)有从1到0电平的负跳变,计数器就自动加1。计数的最高频率一般为振荡频率的l/241、控制字TF中断请求标志(T0、T1),高电平有效M0M1C/TGATEM0M1C/TGATET1T0GATE1-打开0-关闭C/T1-计数状态0-定时状态M1、M0工作方式设置00-方式001-方式110-方式211-方式3IT0IE0IT1IE1TR0TF0TR1TF1TCON控制字TR定时/计数器(T0、T1)运行控制位,高电平有效IT外部中断(INT0、INT1)触发方式1-下降沿引起0-低电平引起IE外部中断请求标志(INT0、INT1),高电平有效TMOD控制字2、方式013位方式,由TL1的低5位和TH1的8位构成13位计数器(TL1的高3位无效)3、方式116位方式,由TL1的8位和TH1的8位构成16位计数器4、方式28位自动装入时间常数方式。由TL1构成8位计数器,THl仅用来存放时间常数。启动T1前,TL1和TH1装入相同的时间常数,当TL1计满后,除定时器回零标志TF1置位,具有向CPU请求中断的条件外,TH1中的时间常数还会自动地装入TL1,并重新开始定时或计数5、方式32个8位方式。工作方式3只适用于定时器0。如果使定时器1为工作方式3,
本文标题:51单片机开发板学习课件
链接地址:https://www.777doc.com/doc-3826472 .html