加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 51单片机应用从零开始

51单片机应用从零开始.pdf

51单片机应用从零开始

信控科技
2011-12-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《51单片机应用从零开始pdf》,可适用于IT/计算机领域

第第章章身边的单片机身边的单片机•单片机在哪里•单片机是什么样子的•单片机如何控制其他器件•如何使用单片机•有哪些单片机•实例点拨电子万年历wwwplcworldcn单片机在哪里单片机在哪里例:空调机制冷功能模块温度监控功能模块遥控器接收功能模块如何协调工作?wwwplcworldcn单片机在哪里单片机在哪里例:全自动洗衣机电源开关启动暂停程序标准大物轻柔快速剩余时间(分)预约(小时后)过程浸泡洗涤漂洗脱水水位数码管指示灯功能按键排水阀注水阀电机重量传感器数码管指示灯电源(开关)启动(暂停)程序过程水位单片机洗衣机简化系统示意图操作面板wwwplcworldcn单片机是什么样子的单片机是什么样子的单片机个按键指示灯数码管重量传感器电机注水阀排水阀指示灯数码管个按键电机注水阀排水阀重量传感器单片机单片机模型单片机电路符号全自动洗衣机的单片机和外围控制部件wwwplcworldcn单片机是什么样子的单片机是什么样子的ATSVcc电路符号实际单片机器件管脚mmmmwwwplcworldcn单片机是什么样子的单片机是什么样子的PLCC封装管脚向内侧折起方形的单片机有两种常见的形式TQFP封装管脚向外侧伸展wwwplcworldcn单片机是什么样子的单片机是什么样子的双列直插式DIP封装VccmmmmDIP封装的单片机外形半月型小坑圆形小坑…………DIP封装单片机的管脚序号电路符号(省略供电管脚)电路符号wwwplcworldcn单片机如何控制其他器件单片机如何控制其他器件•一个简单实验点亮小灯类比电路端口控制模型wwwplcworldcn单片机如何控制其他器件单片机如何控制其他器件•中文指令:向P管脚输出Vcc•单片机能接受的语句:SETBP单片机的端口控制wwwplcworldcn单片机如何控制其他器件单片机如何控制其他器件•单片机控制洗衣机中的电机电机属于大功率器件所以需要用到驱动电路把单片机管脚输出的低压Vcc转变成能使电机工作的较高电压。单片机控制电机向P管脚输出高电平ÆSETBP持续一段时间ÆCALLDELAY向P管脚输出低电平ÆCLRPwwwplcworldcn如何使用单片机如何使用单片机利用编程器烧写单片机编程器的工作过程wwwplcworldcn如何使用单片机如何使用单片机利用下载线烧写单片机wwwplcworldcn有哪些单片机有哪些单片机不同厂商不同型号的单片机产品有不同的特点:存储器的容量、管脚数、内部结构、工作电压、运算速度、指令等……wwwplcworldcn实例点拨实例点拨电子万年历电子万年历•电子万年历的功能模块有:系统中单片机的作用:控制外围器件和处理内部计时单片机模块数码管显示模块报时器模块调整按钮模块wwwplcworldcn器件介绍器件介绍.电阻器.发光二极管wwwplcworldcn器件介绍器件介绍开关wwwplcworldcn第第章章第一个单片机系统第一个单片机系统欢迎访问欢迎访问电路飞翔网电路飞翔网http:http:wwwcircuitflycomwwwcircuitflycom获取更多信息获取更多信息•什么是单片机系统•如何控制一个发光二极管•单片机系统开发过程•实例点拨闪烁次的发光二极管wwwplcworldcn什么是单片机系统什么是单片机系统•单片机本身单片机本身就是一个电子器件可以根据指令的要求控制外围器件它的功能可以通过指令进行控制。单片机液晶屏数码管按钮串口电路板外围器件wwwplcworldcn什么是单片机系统什么是单片机系统•构成单片机系统单片机外围器件电机控制盒实例wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•硬件设计(系统电路图)EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccDORVcc电容C电容C电容C电阻R发光二极管D晶振Ywwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•硬件设计(搭建硬件电路的器材)面包板用于电子技术实验万用板用于电子技术实验wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•软件设计(中文描述的程序设计思路)wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•软件设计(翻译成单片机的语言)START:MOVP,#H向P口输出低电平CALLDELAY调用延时子程序MOVP,#FFH向P口输出高电平CALLDELAY调用延时子程序JMPSTART跳回START循环执行wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•软件设计(指令解析)¾标号可以是以英文字母开头的字母、数字或某些特殊符号的序列。¾助记符用来表达指令的操作功能。¾目的操作数指令最终作用的对象。¾源操作数参与指令的操作。¾注释分号后面的文字描述START:MOVP,#H向P口输出低电平标号:助记符目的操作数源操作数注释wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管•软件设计(完整的程序)ORGH设置起始地址START:标号MOVP,#H向P口输出低电平点亮二极管CALLDELAY调用延时子程序MOVP,#FFH向P口输出高电平熄灭二极管CALLDELAY调用延时子程序JMPSTART跳回START循环执行wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管软件设计(完整的程序)DELAY:MOVR,#延时子程序(ms)D:MOVR,#D:MOVR,#DJNZR,$DJNZR,DDJNZR,DRET返回主程序END汇编程序结束wwwplcworldcn如何控制一个发光二极管如何控制一个发光二极管软件设计(指令简析)ORGH伪指令,其功能是设定经汇编后的执行代码存储在单片机中的起始地址为H。END伪指令提示汇编器程序结束于此当汇编遇到END后就不会再继续进行。伪指令(pseudoopcode)汇编程序所提供的帮助汇编器进行汇编的指令并非单片机指令的一部分因此伪指令不占存储器空间只是协助程序的汇编工作。wwwplcworldcn单片机系统开发过程单片机系统开发过程msmsms……EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccDRVcc硬件设计:系统电路图明确系统功能:闪烁间隔mswwwplcworldcn单片机系统开发过程单片机系统开发过程软件设计:在汇编语言开发环境中编写汇编程序搭建硬件平台:在面包板、万用板或实验板上wwwplcworldcn单片机系统开发过程单片机系统开发过程下载线下载程序到单片机并调试wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管•明确系统功能系统启动后一支发光二极管闪烁次后熄灭当按下一个按钮开关后再闪烁次后熄灭。以后每次按下按钮开关发光二极管都会闪烁次。wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管•硬件设计(单片机外围器件)EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFCμFCVccDΩRVccSkΩRVcc外围器件:一个发光二极管、一个按钮开关wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管•搭建硬件平台在面包板或万用板上插入器件用导线完成电气连接普通IC插座带小扳手的活动型IC插座小扳手wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管软件设计ORGH设置起始地址START:标号MOVR,#循环闪烁次R为计数器LOOP:标号MOVP,#H向P口输出低电平点亮二极管CALLDELAY调用延时子程序MOVP,#FFH向P口输出高电平熄灭二极管CALLDELAY调用延时子程序DJNZR,LOOPR减如果不等于跳到LOOP标号处wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管软件设计JBP,$如果P为高电平则循环执行本行JMPSTART跳到START标号处重新开始执行DELAY:…………延时子程序(ms)RET返回主程序END汇编程序结束wwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管•软件设计(指令解析)MOVR,#DJNZR,LOOPJBP,$JMPSTARTwwwplcworldcn实例点拨实例点拨闪烁闪烁次的发光二极管次的发光二极管•下载程序到单片机并调试开发环境µVision•在µVision中把目标程序编辑好•生成单片机可执行的代码•通过下载线下载到单片机系统板中•然后运行该程序wwwplcworldcn器件介绍器件介绍.电容器晶体振荡器独石电容电解电容无源晶振有源晶振晶振的电路符号wwwplcworldcn第第章章一开始遇到的问题一开始遇到的问题欢迎访问欢迎访问电路飞翔网电路飞翔网http:http:wwwcircuitflycomwwwcircuitflycom获取更多信息获取更多信息•µVision软件的使用•开发的线索小结与软件仿真方法•单片机最简(小)系统分析•实例点拨流水灯wwwplcworldcnµµVisionVision软件的使用软件的使用①新建和保存工程建一个鸡蛋壳wwwplcworldcnµµVisionVision软件的使用软件的使用②往“蛋壳”中添加源程序文件asmwwwplcworldcnµµVisionVision软件的使用软件的使用③汇编程序wwwplcworldcnµµVisionVision软件的使用软件的使用④生成下载到单片机中的文件wwwplcworldcn⑤下载代码到单片机中端口设置器件选择µµVisionVision软件的使用软件的使用wwwplcworldcn⑤下载代码到单片机中下载操作按钮下载µµVisionVision软件的使用软件的使用wwwplcworldcn•µVision的仿真功能开发的线索小结与软件仿真方法开发的线索小结与软件仿真方法晶振频率设置观察P口的状态wwwplcworldcn完整的开发过程开发的线索小结与软件仿真方法开发的线索小结与软件仿真方法明确系统功能:P口上的发光二极管以ms为间隔闪烁硬件设计:单片机外围器件(发光二极管等)完成电路图设计搭建硬件平台:在面包板上插入单片机和外围器件并加入下载接软件设计:在µVision中书写汇编程序进行汇编修改语法错误软件仿真:在µVision设置系统选项进入软件仿真功能观察结果下载到单片机:如果软件仿真结果与设计相符则下载到单片机中wwwplcworldcn线索成本效率适用AMI下载线最低较低初学者µVision专用下载线较高较高开发人员编程器专用软件较高较高开发人员开发线索比较表开发的线索小结与软件仿真方法开发的线索小结与软件仿真方法wwwplcworldcn单片机最简(小)系统分析单片机最简(小)系统分析•ATS单片机最简系统只包含单片机、振荡器结构、复位电路和电源的系统。EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVcc复位电路电源直流~V振荡器结构wwwplcworldcn单片机最简(小)系统分析单片机最简(小)系统分析•复位电路EAVPPXTALPRXDPTXDPINTPINTXTALRSTYMHzpFpFC礔CVccRST管脚上的电平跳变两种常用的复位电路wwwplcworldcn单片机最简(小)系统分析单片机最简(小)系统分析•外部程序存储器访问控制端()如果接高电平Vcc单片机则执行本单片机内部程序存储器中的程序并在读取完ATS单片机内部程序存储器的FFFH后自动转向读取外部的程序存储器如果管脚接低电平则单片机访问的全部是外部程序存储器EAVPPEAVPPEAVPPwwwplcworldcn实例点拨实例点拨流水灯流水灯•开发步骤:明确系统功能→硬件设计→搭建硬件平台→软件设计→下载程序到单片机并调试wwwplcworldcn实例点拨实例点拨流水灯流水灯①明确系统功能支发光二极管排成一列从左至右再从右至左做单一灯的流动如此反复每一支发光二极管点亮时间为mswwwplcworldcn实例点拨实例点拨流水灯流水灯②硬件设计EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVcc支发光二极管wwwplcworldcn实例点拨实例点拨流水灯流水灯③搭建硬件平台在面包板或万用板上插器件并使用导线完成特定电气连接的过程。连接完成后需要仔细对照电路图进行检查最后连接电源务必确保正负极没有弄错。wwwplcworldcn实例点拨实例点拨流水灯流水灯④软件设计(赋值命令)p十六进制FEHFDHFCHFHEFHDFHBFHFHwwwplcworldcn实例点拨实例点拨流水灯流水灯④软件设计(RLC和RRC命令)CYACFRSRSOV无用位PPSW的位wwwplcworldcn实例点拨实例点拨流水灯流水灯④软件设计(主程序和子程序)主程序CALLDELAYRETDJNZR,LEFT主程序DELAY子程序执行过程wwwplcworldcn实例点拨实例点拨流水灯流水灯④软件设计(延时子程序)D:MOVR,#D:MOVR,#DJNZR,$DJNZR,D×=×()=wwwplcworldcn实例点拨实例点拨流水灯流水灯⑤下载程序到单片机并调试在µVision中进行编辑和汇编再进行软件仿真观察结果是否与设计相符成功后就可以通过下载线下载到硬件平台中。wwwplcworldcn第第章章单片机的单片机的““触角触角””IOIO口口欢迎访问欢迎访问电路飞翔网电路飞翔网http:http:wwwcircuitflycomwwwcircuitflycom获取更多信息获取更多信息•解读ATS的IO口•IO口作输入端口使用流水控制灯•七段数码管的控制秒表•小键盘的控制•实例点拨计时提醒器wwwplcworldcn解读解读ATSATS的的IOIO口口•IO口的整体印象洗衣机与单片机的IO控制排水阀注水阀电机重量传感器数码管指示灯电源(开关)启动(暂停)程序过程水位单片机系统示意图功能部件IO功能电源电源开关输入启动暂停启动暂停按钮输入过程指示指示灯输出时间显示七段数码管输出程序控制程序按钮输入水位控制水位按钮输入注水控制注水阀输出称衣物重量重量传感器输入排水控制排水阀输出波轮旋转电动机输出wwwplcworldcn解读解读ATSATS的的IOIO口口•IO口的整体印象(S的IO口)P口具有双重功能P和P口访问外部存储器P口具有双重功能wwwplcworldcn解读解读ATSATS的的IOIO口口•深入观察IO口的结构(P口结构)wwwplcworldcn解读解读ATSATS的的IOIO口口•深入观察IO口的结构(P口结构)wwwplcworldcn解读解读ATSATS的的IOIO口口•深入观察IO口的结构(P口结构)wwwplcworldcn解读解读ATSATS的的IOIO口口•深入观察IO口的结构(P口结构)wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•明确系统功能支发光二极管作为显示器件两个按钮开关A和B一开始支发光二极管为全亮状态当按下按钮A时支发光二极管做单一灯的从右向左流动当按下按钮B时支发光二极管做单一灯的从左向右流动。wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•硬件设计EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccILVVccIHVVccVccwwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•硬件设计(高低电平)表示符号参数最小值最大值单位输入低电平V输入高电平VATS单片机的逻辑电平描述VH(max)VVH(min)VVL(max)VVL(min)V高电平分隔区低电平wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯SASBPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTGNDATSVccVccSASBADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTGNDATSVcckORR•硬件设计(IO口作为输入口)(a)上拉电阻方案wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•硬件设计(IO口作为输入口)APAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKGNDATSSASB(b)简易方案wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•硬件设计(IO口作为输入口)UAADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTGNDATSVccUBSASB(c)缓冲器方案wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•硬件设计(系统电路图)SASBEAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccVcckORRVccORRDDwwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•搭建硬件平台•软件设计③等待按下按钮A或B④如果按下按钮A(或B)执行向左流动(或向右)①初始化②支发光二极管全亮程序设计思路wwwplcworldcnIOIO口作输入端口使用口作输入端口使用流水控制灯流水控制灯•软件设计(指令简析“JBP,WAITA”)……WAITA:JBP,WAITA如果按钮A没有按下循环执行本行以继续判断JMPLEFT……wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•七段数码管介绍数字亮段a,b,c,d,e,fb,ca,b,d,e,ga,b,c,d,gb,c,f,ga,c,d,f,ga,c,d,e,f,ga,b,ca,b,c,d,e,f,ga,b,c,d,f,gwwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•七段数码管介绍(解码器)解码器P七段数码管BCLTBIRBORBIDAedcbagfGNDVCCSNLSNfgedcdpbasegmentdisplayVccVccVccBCD码输入abcdefgdp共阳极解码器器件wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•七段数码管介绍(解码器)显示BCD码输入端亮段控制输出端DCBAabcdefgwwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•明确系统功能两位七段数码管在开机时显示“”第次按下按钮开关后秒表开始计时第次按下后计时停止第次按下后两个数码管清并回到一开始的计时状态。wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•硬件设计(系统电路图)SEAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccVcckORBCLTBIRBORBIDAedcbagfGNDVCCUSNLSNfgedcdpbasegmentdisplayVccVccVccabcdefgdpBCLTBIRBORBIDAedcbagfGNDVCCUSNLSNfgedcdpbasegmentdisplayVccVccVccabcdefgdpR~ROwwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•软件设计前奏(解决开关抖动)按下开关时手指的抖动输出端的电平变化解决开关抖动的办法:硬件的方法软件的方法tABVccwwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•软件设计前奏(硬件的方法解决开关抖动)SVcckΩRkΩRμFC至单片机IO口门控滤波电路wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•软件设计前奏(硬件的方法解决开关抖动)振荡器滤波电路wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•软件设计前奏(软件的方法解决开关抖动)JBP,$如果P为高电平就重复执行本行CALLFILTER调消除开关抖动的子程序JNBP,$如果P为低电平就重复执行本行注释:“CALLFILTER”调用消除开关抖动的延时子程序wwwplcworldcn七段数码管的控制七段数码管的控制秒表秒表•软件设计启动时显示和等待按钮按下秒表计时显示和秒延时处理第次、第次按下按钮的处理延时程序wwwplcworldcn小键盘的控制小键盘的控制•上拉电阻(避免与Vcc直连开关断路无电流)EAVPPXTALADPADPADPADPADPADPADPADPAPAPAPAPAPAPAPAPPSENALEPROGPWRPRDPPPPPPMOSIPMISOPSCKPRXDPTXDPINTPINTPTPTXTALRSTGNDVccUATSVccVccYMHzpFCpFC礔CVccBCLTBIRBORBIDAedcbagfGNDVCCUSNLSNfgedcdpbasegmentdisplayVccVccVccabcdefgdpR~ROVccS~SR~RkOwwwplcworldcn实例点拨实例点拨计时提醒器计时提醒器•明确系统功能开机时七段数码管显示“”等待输入计时时间输入有误按“#”键取消重新输入,按“*”键则确认计时提醒器开始工作计时完时蜂鸣器发出“嘀、嘀……”的提示音在计时过程中如果按下“#”键则取消计时系统回到开机时的状态。wwwplcworldcn实例点拨实例点拨计时提醒器计时提醒器•硬件设计个按键两位七段数码管蜂鸣器和单片机最简系统QkORkORVccBPBECPATS三极管蜂鸣器输入端蜂鸣器及其驱动电路wwwplcworldcn实例点拨实例点拨计时提醒器计时提醒器•硬件设计BCLTBIRBORBIDAedcbagfGNDVCCUSNLSNfgedcdpbasegmentdisplayVccVccVccabcdefgdpBCLTBIRBORBIDAedc

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

51单片机应用从零开始

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利