资源描述
目录一、单片机介绍1二、单片机历史2三、单片机的应用领域31. 在智能仪器仪表上的应用32. 在工业控制中的应用43. 在家用电器中的应用44. 在计算机网络和通信领域中的应用4单片机在汽车设备领域中的应用4四、单片机应用的六大部分41总线:42数据、地址、指令:43. P0口、P2口和P3的第二功能用法:54程序的执行过程:55. 堆栈:5单片机的开发过程:5五、实验的硬件设计6六、实验的软件设计10七、结束语和致谢12、单片机介绍单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU勺专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。构。“创新模式”获得成功。在开创嵌入式系统独立发)阶段,主要的技术发展方向求的各种外围电路与接口电的领域都与对象系统相关,电子技术厂家。从这一角度因素。在发展MCI方面,最著几乎很难找到哪个领域没有仪表的控制,计算机的网络和数据处理,广泛使用的各录像机、摄像机、全自动洗这些都离不开单片机。更不器械了。因此,单片机的学化控制的科学家、工程师。医用设备、航空航天、专用分如下几个范畴:、扩展灵活、微型化和使用同类型的传感器,可实现诸度、厚度、角度、长度、硬控制使得仪器仪表数字化、电路更加强大。例如精密的、单片机历史单片机诞生于20世纪70年代末,经历了SCMMCUSoC三大阶段。SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结奠定了SCM与通用计算机完全不同的发展道路展道路上,Intel公司功不可没。MCI微控制器(MicroControllerUnit是:不断扩展满足嵌入式应用时,对象系统要路,突显其对象的智能化控制能力。它所涉及因此,发展MCU的重任不可避免地落在电气、来看,Intel逐渐淡出MCU勺发展也有其客观名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时不要忘记Intel和Philips的历史功绩。单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了Soc化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。三、单片机的应用领域1. 目前单片机渗透到我们生活的各个领域,单片机的踪迹。导弹的导航装置,飞机上各种通讯与数据传输,工业自动化过程的实时控制种智能IC卡,民用豪华轿车的安全保障系统,衣机的控制,以及程控玩具、电子宠物等等,用说自动控制领域的机器人、智能仪表、医疗习、开发与应用将造就一批计算机应用与智能单片机广泛应用于仪器仪表、家用电器、设备的智能化管理及过程控制等领域,大致可在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强方便等优点,广泛应用于仪器仪表中,结合不如电压、功率、频率、湿度、温度、流量、速度、元素、压力等物理量的测量。采用单片机智能化、微型化,且功能比起采用电子或数字测量设备(功率计,示波器,各种分析仪)。2. 在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3. 在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备五花八门,无所不在。4. 在计算机网络和通信领域中的应用5. 现代的单片机普遍具备通信接口,可以很信,为在计算机网络和通信设备间的应用提供通信设备基本上都实现了单片机智能控制,从换机、楼宇自动通信呼叫系统、列车无线通信的移动电话,集群移动通信,无线电对讲机等单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例基于CAN总线的汽车发动机智能电子控制器,统,制动系统等等。此外,单片机在工商,金融,科研、教育着十分广泛的用途。四、单片机应用的六大部分1总线:方便地与计算机进行数据通了极好的物质条件,现在的手机,电话机、小型程控交、再到日常工作中随处可见如汽车中的发动机控制器,GPS导航系统,abs防抱死系,国防航空航天等领域都有线连接而成的,在模拟电路般是串行关系,各器件之间是以微处理器为核心,各器须相互协调,所以需要的连我们知道,一个电路总是由元器件通过电中,连线并不成为一个问题,因为各器件间一的连线并不很多,但计算机电路却不一样,它件都要与微处理器相连,各器件之间的工作必线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使能有一个器件发送数据(可以有多个器件同时被称为数据总线,器件所有的控制线被称为控外部存储器及其它器件中有存储单元,这些存使用,分配地址当然也是以电信号的形式给出所以,用于地址分配的线也较多,这些线被称2数据、地址、指令:器件分时工作,任何时候只接收)。器件的数据线也就制总线。在单片机内部或者储单元要被分配地址,才能的,由于存储单元比较多,为地址总线。都是一样的数字,或者,地址、指令也都是数据。,它与我们常用的指令助记将这三者放在一起,是因为这三者的本质说都是一串0和1组成的序列。换言之指令:由单片机芯片的设计者规定的一种数字的开发者更改。地址:是寻的依据,内部单元的地址值元可以由单片机开发者自行符有着严格的一一对应关系,不可以由单片机找单片机内部、外部的存储单元、输入输出口已由芯片设计者规定好,不可更改,外部的单决定,但有一些地址单元是一定要有的。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞会把数据当成指令来执行了。3. P0口、P2口和P3的第二功能用法:初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WRRD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要微处理机执行到MOVX旨令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上不能作为通用I/O口使用也并不是不能而是(使用者)不会将其作为通用I/O口使用。你完全可以在指令中安排一条SETBP3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。4. 程序的执行过程:5. 单片机在通电复位后8051内的程序计数器(PC中的值为0000,所以程序总是从0000单元开始执行,也就是说:在系统的RO加一定要存在0000这个单元,并且在0000单元中存放的一定是一条指令堆栈:堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的先进后出,后进先出,并且堆栈有特殊的数据传输指令,即PUSH和POP,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOVSP#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用只是一般情况下编程者不会把它当成普通内存用了。6. 单片机的开发过程:这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假工作。在编写软件之前,首地址在设计阶段已被直接或后,其地址也就被确定了,确定了。然后用文本编辑器编译,查错,直到没有语法设已设计并制作好硬件,下面就是编写软件的先要确定一些常数、地址,事实上这些常数、间接地确定下来了。如当某器件的连线设计好当器件的功能被确定下来后,其控制字也就被编写软件,编写好后,用编译器对源程序文件错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。五、实验的硬件设计1单片机的引脚功能以8051单片机为例讲解单片机的引脚及相关功能P1.0-P1J-P1.2-P1.3-P1.4-PL5-P1.6-P1J-RST/Vm一RXD.P3.0-TXD.P3.1-INTOP32-INT1.P33-T0M4_ri.P3.5-W.P3.6-RD.P37-XTAL2-XTAL1-抵一01234567890-ZLT/00亠二一一ii二115530708887654321098765432133333333222222222気-P0.0-P0.1-P0.2-P03-P0.4-P0.5-P0.6-P07EA/咯-ALE/PRQG-PSEN-P2.7-P2.6-P2.5P2.4-P2.3-P22-P2A-P2.0单片机引脚图40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。1. 电源:VCC-芯片电源,接+5V;VSS-接地端;注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。2. 时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。3. 控制线:控制线共有4根,ALE/PROG地址锁存允许/片内EPROMS程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG能:片内有EPROM勺芯片,在EPRO编程期间,此引脚输入编程脉冲。PSEN夕卜ROMS选通信号。RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。4. I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)5. P3口第二功能P30RXD串行输入口P31TXD串行输出口P32INT0外部中断0(低电平有效)P33INT1外部中断1(低电平有效)P34T0定时计数器0P35T1定时计数器1P36WR外部数据存储器写选通(低电平有效)P37RD外部数据存储器读选通(低电平有效)2基于单片机的LED点阵显示显示要求:利用单片机在8X8LED点阵显示汉字“王”点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件。当单片机输出的控制信号,使得点阵中的LED有些发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。由微机控制点阵LED大屏幕广告宣传牌随处可见。本课程设计要有一个共阳极8X8的点阵LED显示器,其点阵结构如图所示。该点阵对外引出8条行线,8条列线。若使某一个LED发光,只要将与其LED连接的行线加高电平,列线加低电平;若使某一列LED发光,只要将8根线全加高电平,此列线加低电平;若使某一列LED部分发光,只要将需发光的行线加高电平,此列线加低电平。本设计的点阵LED及驱动电路如下一页图所示(与单片机之间由实验者自连)。单片机P2口(实验时可自定)输出的数据通过行驱动器(7407)加至点阵的8条行线上,单片机P1口(实验时可自定)输出的数据通过列驱动器(ULN2003A反相后加至点阵的8条列线上。若要使该点阵显示某一信息,根据“卫”的只要通过P2口、P1口输出特定的数据,控制点阵LED逐行或逐列循环发光即可。例如欲显示汉字“王”,采用逐列循环发光。首先由“王”点阵轮廓。确定点阵代码。点阵代码,确定逐列循环发光的时序如下: P2口输出02H;P1口输出00H;第7列的0个LED发光。 P2口输出82H;P1口输出40H;第6列的3个LED发光。 P2口输出82H;P1口输出20H;第5列的3个LED发光。 P2口输出0FEHP1口输出10H;第4列的5个LED发光P2口输出82H;P1口输出08H;第3列的3个LED发光。 P2口输出92H;P1口输出04H;第2列的3个LED发光。 P2口输出0FAHP1口输出02H;第1列的0个LED发光P2口输出02H;P1口输出01H;第0列的0个LED发光。步骤之间可插入1ms左右的延时。重复进行,即可在LED上稳定地显示出“卫”。这里P2口先后输出的8字节数据:02H,82H,82H,0FEH,82H,92H,0FAH,02H,为“卫”的点代码。3.电路原理图U17:8T.Er7VCCcRlK22R4QF:7Rfi四广F=CR5CRTCK810rrT314n16ooPi0POO/AFCpi1FOl/ADlPl.2P02MBPl3PO.3/AD3Pl4PO4/AE4Pl5POS/ADSPlAWANPl7FO7/AD7ALEpzomxE*P27/AJSirrxpP2/A14P32/INT0FJ3/1NT1P24JA12PJ4/TOP2.3A11P3.3JT1F27/AlOP16/WFP2I/A9PJ?/FDRjO/AysxS373334333230診282i2624左222)外部连接图六、实验的软件设计1、软件的编写ORG0HSTART:MOVDPTR,#DATA指向点阵代码首址MOVR2,#80H;80H使第7列(最左一列)阴极为低电平CLRCDISP:MOVA,#0MOVCA,A+DPTR列点阵代码MOVP2,A;加至阳极MOVP1,R2;使一列阴极为低电平CALLDELAY;延时INCDPTR;指向下一列代码MOVA,R2;R2右移一位,为下一列阴极输出低电平作准备RRCAMOVR2,AJNCDISP;8列未完,转AJMPSTARTDELAY:MOVR1,#0;延时子程序DELY0:DJNZR1,DELY0RETDATA1:DB00H,54H,54H,7CH,54H,54H,00H,00H;王的点阵代码END2、软件流程图初始化调用显示姑3、注意事项a)各个器件按照在图中的位置定位好b)管脚放置要正确c)电源线,接地线要分清d)在调试过程中要找对接口e)编程时注意所用显示平是8X8,64个高亮度发光管f)箱子上电源不能短路g)导线不需太长,接触一定要良好h)连线尽量要横平竖直,正确接线,无多线、少线、错线、短路和断路现象i)焊接一定不能有虚焊j)显示屏连线是要认清管脚七、结束语和致谢随着毕业日子的到来,毕业设计也接近了尾声。经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在此要感谢我的指导老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。参考文献胡连柱,姜宝山简析单片机软硬件的抗干扰设计技术,安徽电子信息职业技术学院学报,2005,01.徐明龙,王赤虎.利用单片机实现的模拟信号和数字信号单线混合传输,电子设计应用,2004,1.6 徐梅.单片机系统常用抗干扰措施,高校实验室工作研究,2006,4林丽君,黎小桃单片机原理及其应用,江西高校出版社,2008,2董晓红单片机原理及接口技术,西安:西安电子科技大学出版社,2006THDPJ-1/2/3/4型单片机开发综合实验指导书,浙江天煌科技实业有限公司吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用,北京:清华大学出版社,2002
展开阅读全文