• 515.21 KB
  • 2022-04-22 13:35:19 发布

健身自行车漫游系统交互控制数据采集研究毕业论文.doc

  • 49页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'健身自行车漫游系统交互控制数据采集研究毕业论文目录1引言12器件介绍22.151单片机(AT89C52)22.1.1功能特性22.1.2引脚22.1.3数据存储52.1.4主要功能特点和优越性52.1.5中断系统62.1.6时钟电路62.1.7片上资源72.1.8数据查询92.2温湿度传感器(DHT11)102.2.1技术参数112.2.2应用信息112.2.3串行接口(单线双向)122.31602显示屏132.3.1液晶显示简介142.3.2管脚功能142.3.3特性152.3.41602LCD的指令说明及时序162.3.51602LCD的RAM地址映射及标准字库表163电路设计183.1主控制电路及测温控制电路设计1849 3.2晶振电路193.3复位电路203.4显示电路233.5传感器电路244软件设计254.1流程图254.2程序254.2.1主程序254.2.2读取程序264.2.31602子程序274.2.4延时程序294.3运行程序30结论32致谢33参考文献34附录35附录A英文原文35附录B中文翻译431、引言虚拟现实交互技术是一门新兴的综合信息技术,它使用以计算机技术为核心的现代高科技,生成逼真的视、听、触觉一体化的特定范围的虚拟环境,用户借助必要的设备以自然的方式与虚拟环境中的对象进行交互作用、相互影响,从而产生与亲临等同的真实环境的感受和体验形成这种虚拟的真实世界,首先,需要生成虚拟实体,主要是针对用户的生理感觉而言;其次,用户通过人生理的自然技能同这个环境进行交互;最后,利用传感器完成人和虚拟环境的交互,本实验是健身自行车来完成交互,.健身自行车是主要用于健身类的自行车,自行车健身已经成为一种时尚。49 但是随着人们生活水平的日益提高人们对健身自行车的要求也越来越高,简单的健身需求已经不能满足人们的需求了,人们开始希望能够在健身的同时身心愉快,这就给健身自行车漫游交互系统提供了市场2器件介绍2.151单片机(AT89C52)51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。本实验使用的是当前常用的51系列单片机ATMEL的89C52,AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。2.1.1功能特性1、兼容MCS51指令系统2、8kB可反复擦写(大于1000次)FlashROM;3、32个双向I/O口;4、256x8bit内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。49 2.1.2引脚AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P249 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。49 XTAL2:振荡器反相放大器的输出端。2.1.3数据存储AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。间接寻址指令访问高128字节RAM,堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。定时器0和定时器1:AT89C52的定时器0和定时器1的工作方式与AT89C51相同。2.1.4主要功能特点和优越性(1)4kBytesFlash片内程序存储器;(2)128bytes的随机存取数据存储器(RAM);(3)32个外部双向输入/输出(I/O)口;(4)5个中断优先级、2层中断嵌套中断;(5)6个中断源;(6)2个16位可编程定时器/计数器;(7)2个全双工串行通信口;(8)看门狗(WDT)电路;(9)片内振荡器和时钟电路;(10)与MCS-51兼容;(11)全静态工作:0Hz-33MHz;(12)三级程序存储器保密锁定;(13)可编程串行通道;(14)低功耗的闲置和掉电模式。49 2.1.5中断系统程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理内部事件的中断服务程序中去;完成中断服务的程序后,CPU继续原来被打断的程序,这样的过程称为中断过程。能产生中断的外部和内部事件。AT89S51有5个中断源:(1)INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。(2)INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。(3)T0:定时器/计数器0溢出中断请求。(4)TI:定时器/计数器1溢出中断请求。(5)TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。每一个中断源都对应一个中断请求标志位,它们设置在特殊功能寄存器TCON和SCON中。当这些中断源请求中断时,相应的标志分别有TCON和SCON中的相应位来锁存。中断系统有以下4个特殊功能寄存器(1)定时器控制寄存器TCON(用6位);(2)串行口控制寄存器SCON(用2位);(3)中断允许寄存器IE;(4)中断优先级寄存器IP。其中,TCON和SCON只有一部分用于中断控制。通过对以上各特殊功能寄存器的各位进行置位或复位等操作,可实现各种中断控制功能。2.1.6时钟电路时钟电路可以简单定义如下:1.就是产生象时钟一样准确的振荡电路;2.任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。时钟电路应用十分广泛,如电脑的时钟电路、电子表的时钟电路以及MP3、MP4的时钟电路。时钟电路用于产生单片机的基本时钟信号,是用来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟,如果运行时钟为0的话,单片机就不工作,当然超出单片机的工作频率的时钟也会导致单片机不工作。49 时钟电路是微型计算机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。MCS-51的时钟信号可以由两种方式:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。如果没有时钟电路来产生时钟驱动单片机,单片机是无法工作的[12]。AT89S51的时钟信号可由内部振荡器产生,也可由外部电路直接提供。内部振荡器的输入和输出脚分别为XTAL1和XATL2,由XTAL2给单片机内部电路提供时钟信号。当时钟信号由外部电路提供时,外部时钟引入XTAL2,而XTAL1脚接地。2.1.7片上资源定时器2的基本特性:定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。定时器2的捕捉方式:在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。如果EXEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。49 定时器2的自动重装载方式:当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN位(允许向下计数)来选择的。复位时,DCEN位置“0”,定时器2默认设置为向上计数。当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置【4】。若EXEN2=1,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。定时器2的中断入口地址是:002BH——0032H。当DCEN=1时,允许定时器2向上或向下计数,如图6所示。这种方式下,T2EX引脚控制计数器方向。T2EX引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L重装载到TH2和TL2中。T2EX引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2中的数值等于RCAP2H和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH数值重新装入定时寄存器中。当定时/计数器2向上溢出或向下溢出时,置位EXF2位。定时器2的波特率发生器:当T2CON中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能。若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。波特率的计算公式如公式(1-1)所示:方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]}(1-1)49 式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。定时器2作为波特率发生器使用的电路如图7所示。T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断。但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2和TL2中。所以,当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。需要注意的是,当定时器2工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。定时器2的可编程时钟输出:定时器2可通过编程从P1.0输出一个占空比为50%的时钟信号,如。P1.0引脚除了是一个标准的I/O口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz时,输出时钟频率范围为61Hz—4MHz。当设置定时/计数器2为时钟发生器时,C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下:输出时钟频率=振荡器频率/{4*[65536-(RCP2H,RCP2L)]}在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。2.1.8数据查询AT89C52单片机用DataPalling表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,DataPalling可能随时有效。Ready/Busy:字节编程的进度可通过“RDY/BSY输出信号监测,编程期间,ALE49 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4变为高电平表示准备就绪状态。程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合(表6)并保持ALE/PROG引脚10mS的低电平脉冲宽度即可将PEROM阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。读片内签名字节:AT89C52单片机内有3个签名字节,地址为030H、031H和032H。用于声明该器件的厂商、型号和编程电压。读AT89C52签名字节需将P3.6和P3.7置逻辑低电平,读签名字节的过程和单元030H、031H及032H的正常校验相仿,只返回值意义如下:(030H)=1EH声明产品由ATMEL公司制造。(031H)=52H声明为AT89C52单片机。(032H)=FFH声明为12V编程电压。(032H)=05H声明为5V编程电压。2.2温湿度传感器(DHT11)温湿度是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,由于温度与湿度不管是从物理量本身还是在实际人们的生活中都有着密切的关系,所以温湿度一体的传感器就会相应产生。DHT11数字温湿度传感器49 是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。四条引角中有两条是电源引脚,有两条是输出数据的引脚,你只需要给他供上额定电压,然后再他的输出引脚采集信号就可以了,输出信号如果是模拟量的话,通过A/D芯片,将模拟量转换为数字信号,然后传送给单片机。DHT11是数字传感器,所以不需要进行模数的转换。2.2.1技术参数湿度分辨率:16Bit重复性:±1%RH精度:25°C±5%RH互换性:可完全互换响应时间:1/e(63%)25°C6s1m/s空气6s迟滞:<±0.3%RH长期稳定性:<±0.5%RH/yr温度分辨率:16Bit重复性:±0.2°C量程范围:25°C±2°C响应时间:1/e(63%)10s电气特征供电:DC3.5-5.5V供电电流:测量0.3mA待机60μA采样周期:次大于2秒2.2.2应用信息1工作与贮存条件49 超出建议的工作范围可能导致高达3%RH的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。要加速恢复进程。在非正常工作条件下长时间使用会加速产品的老化过程。2暴露在化学物质中电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。在一个纯净的环境中,污染物质会缓慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻底损坏。3恢复处理置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。在50-60℃和<10%RH的湿度条件下保持2小时(烘干);随后在20-30℃和>70%RH的湿度条件下保持5小时以上。4温度影响气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙。5光线长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。6配线注意事项DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。焊接信息手动焊接,在最高260℃的温度条件下接触时间须少于10秒。注意事项(1)避免结露情况下使用。(2)长期保存条件:温度10-40℃,湿度60%以下2.2.3串行接口(单线双向)DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。49 数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。总线空闲状态为高电平的时候主机把总线拉低等待DHT11响应,DHT11能检测到起始信号,主机必须把总线拉低,至少大于18ms。DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束,然后发送80us的低电平响应信号,要读取DHT11的响应信号,必须等待开始信号的结束,并延时等待20-40us后才能够接受,主机发送开始信号后,这时候就可输出高电平或切换到输入模式,接着总线由上拉电阻拉高。DHT11发送响应信号的时候总线为低电平,DHT11把总线拉高80us之前,必须等到响应信号发送,准备发送数据时,每一bit数据都以50us低电平时隙开始,数据位是0或1是由高电平的长或短来决定。假如响应信号的读取为高电平,但是DHT11无响应响应,这时候说明路线可能连接不正常,当最后一bit数据传送结束后,DHT11把总线拉低50us,接着总线由上拉电阻拉高进入空闲状态。2.31602显示屏在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。49 2.3.1液晶显示简介线段的显示:点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理【5】。字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。2.3.2管脚功能1602LCD采用标准的14脚(无背光)或16脚(带背光)接口。第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。49 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。2.3.3特性1.3.3V或5V工作电压,对比度可调2.内含复位电路3.提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能4.有80字节显示数据存储器DDRAM5.内建有192个5X7点阵的字型的字符发生器CGROM6.8个可由用户自定义的5X7的字符发生器CGRAM49 2.3.41602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令。1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。2.3.51602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符【6】,图2.1是1602的内部显示地址。49 图2.1LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。49 3电路设计单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能,硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后将各个模块搭接在一起,这种设计方法可以降低系统的复杂性,本系统主要硬件设计包括电源电路、晶振电路、LCD显示电路以及温湿度传感器电路3.1主控制电路及测温控制电路设计此系统的中枢为AT89C52单片机,其他电路军事围绕它所设计的,数字温度传感器DHT11的DATA口连接单片机的P2.0口。显示电路就是把LCD1602显示屏和单片机P0口分别连接在一起,为了增加单片机的输出能了,增加单片机的输出电流,故将排阻与单片机的P0口分别连接在一起。本系统采用手动复位和手动复位结合,充电之后RST被拉至高电平,单片机进入工作状态。AT89C52单片机中有一个用于构成内部正当其放大器,引脚XTAL1和XTAL2分别是放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器构成自激振荡器,他们与电容C1,C2接在放大器的反馈电路中构成并联振荡电路,虽然电容没有一个严格要求,但是电容的大小会轻微影响振荡频率的高低、温度稳定性以及震荡工作的稳定性。具体的原理如图3.1所示49 图3.1原理图3.2晶振电路石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。49 单片机系统都有晶振,在单片机系统中晶振的作用非常大,全称叫做晶体振荡器,它结合单片机内部电路产生所需时钟频率,单片机晶振提供的时钟频率越高,那么单片机的运行速度就会越快,单片机的一切指令执行都是建立在单片机晶振所提供的时钟频率。在通常的工作条件下,普通的晶振频率的绝对精度可以达到百万分之五十,高级晶振精度更高,有些晶振还可以由外加的电压在一定范围内调整频率,称为压榨振荡器,在共振的状态下晶振用一种能把电能和机械能相互转化的晶体工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供及本周的时钟信号,通常一个系统共用一个晶振,以便于各部分保持同步,有些通讯系统的基频和射频使用不同的晶振,而是通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率,可以用于同一个晶振项链的不同锁相环来提供的。本实验晶振电路如图3.2所示。图3.2晶振电路图3.3复位电路复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,当你进行完了一个题目的计算后肯定是要清零的是吧!或者你输入错误,计算失误时都要进行清零操作。以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。篡位电路都是比较简单的大都是只有电阻和电容组合就可以办到了。再复杂点就有三极管等等配合程序来进行了。为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位49 。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。目前为止,单片机复位电路主要有四种类型【2】:1微分型复位电路:2积分型复位电路:3比较器型复位电路:比较器型复位电路的基本原理。上电复位时,由于组成了一个RC低通网络,所以比较器的正相输入端的电压比负相端输入电压延迟一定时间.而比较器的负相端网络的时间常数远远小于正相端RC网络的时间常数,因此在正端电压还没有超过负端电压时,比较器输出低电平,经反相器后产生高电平.复位脉冲的宽度主要取决于正常电压上升的速度.由于负端电压放电回路时间常数较大,因此对电源电压的波动不敏感.但是容易产生以下二种不利现象:(1)电源二次开关间隔太短时,复位不可靠:(2)当电源电压中有浪涌现象时,可能在浪涌消失后不能产生复位脉冲。为此,将改进比较器重定电路,如图9所示.这个改进电路可以消除第一种现象,并减少第二种现象的产生.为了彻底消除这二种现象,可以利用数字逻辑的方法和比较器配合,设计的比较器重定电路。此电路稍加改进即可作为上电复位和看门狗复位电路共同复位的电路,大大提高了复位的可靠性。4看门狗型复位电路.看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态.此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处.一般设计,将此段程序放在定时器中断服务子程序中.然而,有时这种设计仍然会引起程序走飞或工作不正常.原因主要是:当程序"走飞"发生时定时器初始化以及开中断之后的话,这种"走飞"情况就有可能不能由Watchdog复位电路校正回来.因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位.为此提出定时器加预设的设计方法.即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句.在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替.这样,当程序走飞后,其进入陷阱的可能性将大大增加.而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位.当然这种技术用于实时性较强的控制或处理软件中有一定的困难。49 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。2、上电复位AT89C51的上电复位电路,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。3、积分型上电复位常用的上电或开关复位电路所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。本次设同时采用的是手动按钮复位,而51单片机都是高电平复位,当RST引脚上出现了两个周期以上的高电平就会出发内部复位,复位电路如图3.3所示49 图3.3复位电路图3.4显示电路在日常生活中,我们对液晶显示器并不陌生,它已作为很多电子产品的通过器件,比方在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。显示模块选用1602字符型液晶模块,它是目前工控系统中使用最广泛的液晶屏之一,由于它显示的质量高,1602字符型液晶模块是点阵型液晶,驱动方便,经过编程后显示内容多样化显示电路如图3.4所示图3.4显示电路图49 3.5传感器电路DHT11传感器是数字型温湿度传感器,可直接以数字的方式传输所采集的当前环境温湿度,DHT11传感器采用的是单总线通信,因此只需将单片机的一个I/O端口与DHT11的通信借口连接就可以实现数据的采集和传送,相对于其他电路来说比较简单【1】。电路如图3.5所示图3.5传感器电路49 4软件设计4.1流程图温湿度读取程序流程图如图4.1所示:开始1602初始化读取温湿度值数据转换1602显示图4.1温湿度读取程序流程图4.2程序4.2.1主程序voidmain(){lcd_init();delay(1000);lcd_string(1,4,"Temp:");lcd_string(2,5,"Hum:");49 while(1){flag=Get_data();Data_manage(Character,Data);Data_manage1(Character1,Data);if(flag==1){lcd_string(1,9,Character);lcd_string(2,9,Character1);delay(1000);}}}4.2.2读取程序voidRead(uchar*Data)/*读取DHT11数据*/{ucharx,m,n,Time_out;for(n=0;n<5;n++){for(m=0;m<8;m++){while(!dp);/*每一bit数据都以50us低电平时隙开始,这里直接等待DHT11把数据线拉到高电平【3】*/delay_10us();/*高电平的长短决定了数据是0或是1,数据0的高电平时间是26us-28us,这里取30us*/delay_10us();delay_10us();x=0;/*先把数据x置0*/if(dp)/*如果高电平时间大于30us,则把数据x置1*/49 x=1;Time_out=2;while(dp&&Time_out++);/*等待下一数据位的触发低电平,当有不确定原因造成DHT11无法把数据线拉低时,在这里程序会死机*/if(Time_out==1)/*于是加入超时检测变量,当Time_out加了一圈(原先定义的是8bit无符号变量),得到值1,此时得*/break;/*到超时判断,退出循环*/*Data<<=1;/*DHT11数据是从高位开始传的,于是用左移,进行数据处理*/if(x)*Data|=0x01;/*根据前面高电平时间长短得到的x值,赋给读取数据的最低位*/}Data++;}}4.2.31602子程序bitbusy()//读状态函数,读出函数是否处在忙状态{bitbusy_flog=0;rs=0;rw=1;en=1;delay_10us();busy_flog=(bit)(P0&0x80);en=0;returnbusy_flog;}voidwcmd(uchardel)//1602命令函数{while(busy());49 rs=0;rw=0;en=0;delay_10us();P0=del;delay_10us();en=1;delay_10us();en=0;}voidwdate(uchardel)//1602写数据函数{while(busy());rs=1;rw=0;en=0;delay_10us();P0=del;delay_10us();en=1;delay_10us();en=0;}voidlcd_init()//1602初始化{wcmd(0x38);wcmd(0x0c);wcmd(0x06);wcmd(0x01);}49 voidlcd_char(ucharhang,ucharlie,chardate)//行,列,需要输入1602的数据(字符){uchara;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie-1;wcmd(a);wdate(date);}voidlcd_string(ucharhang,ucharlie,uchar*p)//行,列,需要输入1602的数据(字符串){uchara,b=0;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie-1;while(1){wcmd(a++);b++;if((*p=="")||(b==16))break;wdate(*p);p++;}}4.2.4延时程序voiddelay(uinti)/*延时i/10ms*/{uchary;49 for(;i>0;i--)for(y=0;y<28;y++);}4.3运行程序将写好的程序烧到单片机中,然后将焊接好的电路板上电,上电之前的电路板如图4.2所示,图中包括单片机AT89C52,温湿度传感器DHT11,LCD1602显示屏等。图4-1电路板上电后LCD1602显示温度湿度如图4.3所示,图中显示的温度27度,湿度36%。49 图4.31602显示图49 结论本文设计的是健身自行车漫游系统交互控制数据采集系统。通过高性价比的单片机对数字温湿度传感器进行控制,通过DHT11数字温湿度传感器实现对温湿度数据的采集,并对数据进行处理,LCD1602显示屏显示即时温、湿度值。首先,介绍了设计核心组成部分AT89C52单片机的基本构成和原理,简要的说明了单片机的中断电路、复位电路和时钟电路的原理和本实验所采用的中断电路、复位电路、时钟电路的类型,并且交代了其各个引脚的作用。然后介绍了本次设计的传感器:DHT11温湿度传感器。给出了其技术参数,以及应用时注意的一些事项和其引脚的连接,然后介绍了显示屏LCD1602的各个引脚和指令说明,为下面编程做准备。介绍完几个主要模块后,给出了总体的原理图和流程图,以便于程序的设计。最后程序检查正常,焊接成品,硬件运行正常,满足了初步设计要求,达到了健身自行车漫游系统交互控制数据采集的目的,由于研究时间和条件的不足,健身自行车漫游交互系统还有许多地方需要深入的研究。49 致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的导师,邓欣伟老师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意!同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。49 参考文献[1]陈汝全.实用微机与单片机控制技术[M].电子科技大学出版社.2005:24[2]王剑,朱涛,李冬.protel99se电路仿真在电子实验教学中的应用[J].2010,(5):19-22[3]张冬林,李鑫,戴梅.基于DHT11的低成本蚕室温湿度自动控制系统设计[J].现代农业科技,2010,(18):25-27[4]薛玲,孙曼,张志会,夏莉丽,魏希文.基于单片机AT89S51的温湿度控制仪[J].2010,(7):6-9[5]吴汉清.常用的典型单片机资料[J].无线电,2007,(11):12-15[6]刘宝元,张玉虹,姜旭,段存丽.基于单片机的温湿度监控系统设计[J].国外电子测量技术,2009,(12):1649 附录附录A英文原文Single-chipSCMisalsoknownasmicro-controller(MicrocontrollerUnit),commonlyusedlettersoftheacronymMCUthatitwasfirstusedinindustrialcontrol.OnlyasinglechipbytheCPUchipdevelopedfromadedicatedprocessor.ThefirstdesignisbyalargenumberofperipheralsandCPUonachipinthecomputersystem,smaller,moreeasilyintegratedintoacomplexanddemandingonthevolumecontroldevicewhich.INTEL"sZ80isthefirstdesignedinaccordancewiththisideaprocessor,thenonthedevelopmentofmicrocontrolleranddedicatedprocessorshavepartedways.Are8-bitmicrocontrollerearlyor4bits.OneofthemostsuccessfulistheINTEL8031,forasimple,reliableandgoodperformancewasalotofpraise.Thendevelopedin8031outofMCS51MCUSystems.SCMsystemsbasedonthissystemuntilnowisstillwidelyused.Withtheincreasedrequirementsofindustrialcontrolfield,begana16-bitmicrocontroller,becausethecostisnotsatisfactorybuthavenotbeenverywidelyused.After90yearswiththegreatdevelopmentofconsumerelectronics,microcontrollertechnologyhasbeenahugeincrease.WithINTELi960series,especiallythelaterseriesofwidelyusedARM,32-bitmicrocontrollerquicklyreplacehigh-end16-bitMCUstatusandenterthemainstreammarket.Thetraditional8-bitmicrocontrollerperformancehavebeentherapidincreasecapacityincreasecomparedto80thenumberoftimes.Currently,high-end32-bitmicrocontrollerclockedover300MHz,theperformancecatchingthemid-90"sdedicatedprocessor,whiletheaveragemodelpricesfalltooneU.S.dollars,themosthigh-end[1]modelonly10dollars.ModernSCMsystemsarenolongeronlyinthedevelopmentanduseofbaremetalenvironment,alargenumberofproprietaryembeddedoperatingsystemiswidelyusedinthefullrangeofSCM.Thehandheldcomputersandcellphonesasthecoreprocessingofhigh-endmicrocontrollercanevenuseadedicatedWindowsandLinuxoperatingsystems.SCMismoresuitablethanthespecificprocessorusedinembeddedsystems,soitwasuptotheapplication.InfactthenumberofSCMistheworld"slargestcomputer.Modernhumanlifeusedinalmosteverypieceofelectronicandmechanicalproductswillbeintegratedsingle49 chip.Phone,telephone,calculator,homeappliances,electronictoys,handheldcomputersandcomputeraccessoriessuchasamousewitha1-2inboththeDepartmentofSCM.PersonalcomputerwillhavealargenumberofSCMinthework.Generalcarwithmorethan40SCM,complexindustrialcontrolsystemsmayevenhavehundredsofSCMinthesametimework!SCMisnotonlyfarexceedsthenumberofPCandothercomputingthesum,orevenmorethanthenumberofhumanbeingsSinglechip,alsoknownassingle-chipmicrocontroller,itisnotcompleteacertainlogicchips,buttoacomputersystemintegratedintoachip.Equivalenttoamicro-computer,andcomputerthanjustthelackofamicrocontrollerI/Odevices.Generaltalk:achipbecomesacomputer.Itssmallsize,lightweight,cheap,forthestudy,applicationanddevelopmentoffacilitiesprovided.Atthesametime,learningtousetheMCUistounderstandtheprincipleandstructureofthecomputerthebestchoice.SCMandthecomputerfunctionsinternallywithsimilarmodules,suchasCPU,memory,parallelbus,thesameeffectaswell,andharddiskmemorydevices,anddifferentisitsperformanceofthesecomponentswererelativelyweakmanyofourhomecomputer,butthepriceislow,usuallynotmorethan10yuanyoucandowithit......somecontrolforaclassisnotverycomplicatedelectricalworkisenoughof.Weareusingautomaticdrumwashingmachine,smokehood,VCDandsoonapplianceswhichcouldseeitsshadow!......ItisprimarilyasacontrolsectionofthecorecomponentsItisanonlinereal-timecontrolcomputer,control-lineisthatthesceneisneededisastrongeranti-jammingability,lowcost,andthisis,andoff-linecomputer(suchashomePC),themaindifference.SinglechipMCUisthroughrunning,andcanbemodified.Throughdifferentprocedurestoachievedifferentfunctions,inparticularspecialuniquefeatures,thisisanotherdevicemucheffortneedstobedone,somegreateffortsareverydifficulttodo.Anotverycomplexfunctionsifthe50"swiththeUnitedStatesdeveloped74series,orthe60"sCD4000seriesofthesepurehardwarebuttoned,thenthecircuitmustbealargePCBboard!ButiftheUnitedStatesifthe70"swithaseriesofsuccessfulSCMmarket,theresultwillbeadrasticchange!Justbecauseyouarepreparedbymicrocomputerprogramscanachievehighintelligence,highefficiency49 andhighreliability!Asthemicrocontrolleronthecost-sensitive,sonowthedominantsoftwareorthelowestlevelassemblylanguage,whichisthelowestlevelinadditiontomorethanbinarymachinecodelanguage,andassolowwhyistheuse?Manyhigh-levellanguagehasreachedthelevelofvisualprogrammingWhyisnotit?ThereasonissimplythatthereisnohomecomputerasasinglechipCPU,notashardasamassstoragedevice.Avisualizationofsmallhigh-levellanguageprogramwhichevenifonlyonebutton,willreachtensofKofsize!ForthehomePC"sharddriveintermsofnothing,butintermsoftheMCUisnotacceptable.SCMintheutilizationofhardwareresourcestobeveryhighforthejobsoalthoughtheoriginalisstillinthecompilationofalotofuse.Thesametoken,ifthegiantcomputeroperatingsystemandapplicationsrunuptogethomePC,homePC,alsocannotaffordto.Canbesaidthatthetwentiethcenturyacrossthethree"power"era,thatis,theageofelectricity,theelectronicageandhasenteredintothecomputerage.However,thiscomputer,usuallyreferstothepersonalcomputer,referredtoasPC.Itconsistsofthehost,keyboard,monitorandothercomponents.Anothertypeofcomputer,mostpeopledonotknowhow.Thiscomputeristogiveallkindsofintelligentmachinessinglechip(alsoknownasmicro-controller).Asthenamesuggests,thiscomputersystemtookonlyaminimalintegratedcircuit,canbeasimpleoperationandcontrol.Becauseitissmall,usuallyhiddeninthechargedmechanical"stomach"in.Itisinthedevice,likethehumanbrainplaysarole,itgoeswrong,thewholeplantwasparalyzed.Now,thismicrocontrollerhasaverybroadfieldofuse,suchassmartmeters,real-timeindustrialcontrol,communicationsequipment,navigationsystems,andhouseholdappliances.OnceallkindsofproductswereusingSCM,canservetoupgradetheeffectivenessofproducts,oftenintheproductnameprecededbytheadjective-"intelligent,"suchasintelligentwashingmachines.Nowsometechnicalpersonneloffactoriesorotheramateurelectronicsdeveloperstoengageinoutofcertainproducts,notthecircuitistoocomplicated,thatfunctionistoosimpleandcaneasilybecopied.Thereasonmaybestuckintheproductdidnotuseamicrocontrollerorotherprogrammablelogicdevice.SCMhistorySCMwasborninthelate20thcentury,70,experiencedSCM,MCU,SOCthreestages.Firstmodel49 1.SCMthesinglechipmicrocomputer(SingleChipMicrocomputer)stage,mainlyseekingthebestofthebestsingleformofembeddedsystemsarchitecture."Innovationmodel"success,layingtheSCMandgeneralcomputercompletelydifferentpathofdevelopment.Intheopenroadofindependentdevelopmentofembeddedsystems,IntelCorporationcontributed.2.MCUthemicro-controller(MicroControllerUnit)stage,themaindirectionoftechnologydevelopment:expandingtomeettheembeddedapplications,thetargetsystemrequirementsforthevariousperipheralcircuitsandinterfacecircuits,highlighttheobjectofintelligentcontrol.Itinvolvestheareasassociatedwiththeobjectsystem,therefore,thedevelopmentofMCU"sresponsibilityinevitablyfallsonelectrical,electronicsmanufacturers.Fromthispointofview,IntelfadedMCUdevelopmenthasitsobjectivefactors.InthedevelopmentofMCU,themostfamousmanufacturersasthenumberofPhilipsCorporation.Philipscompanyinembeddedapplications,itsgreatadvantage,theMCS-51single-chipmicro-computerfromtherapiddevelopmentofthemicro-controller.Therefore,whenwelookbackatthepathofdevelopmentofembeddedsystems,donotforgetIntelandPhilipsinHistory.EmbeddedSystemsEmbeddedsystemmicrocontrollerisanindependentdevelopmentpath,theMCUimportantfactorinthedevelopmentstage,isseekingapplicationstomaximizethesolutiononthechip;Therefore,thedevelopmentofdedicatedsinglechipSOCtrendofthenaturalform.Asthemicroelectronics,ICdesign,EDAtoolsdevelopment,applicationsystembasedonMCUSOCdesignhavegreaterdevelopment.Therefore,theunderstandingofthemicrocontrollerchipmicrocomputercanbe,extendedtothesingle-chipmicro-controllerapplications.MCUapplicationsSCMnowpermeateallareasofourlives,whichisalmostdifficulttofindtracesofthefieldwithoutSCM.Missilenavigationequipment,aircraft,alltypesofinstrumentcontrol,computernetworkcommunicationsanddatatransmission,industrialautomation,real-timeprocesscontrolanddataprocessing,extensiveuseofvarioussmartICcard,civilianluxurycarsecuritysystem,videorecorder,camera,fullyautomaticwashingmachinecontrol,andprogram-controlledtoys,electronicpet,etc.,whichareinseparablefromthemicrocontroller.49 Nottomentiontheareaofrobotcontrol,intelligentinstruments,medicalequipmentwas.Therefore,theMCUlearning,developmentandapplicationofthelargenumberofcomputerapplicationsandintelligentcontrolofthescientists,engineers.SCMiswidelyusedininstrumentsandmeters,householdappliances,medicalequipment,aerospace,specializedequipment,intelligentmanagementandprocesscontrolfields,roughlydividedintothefollowingseveralareas:1.IntheapplicationofIntelligentInstrumentsSCMhasasmallsize,lowpowerconsumption,controllingfunction,expansionflexibility,theadvantagesofminiaturizationandeaseofuse,widelyusedinstrument,combiningdifferenttypesofsensorscanberealizedZhuruvoltage,power,frequency,humidity,temperature,flow,speed,thickness,angle,length,hardness,elemental,physicalpressuremeasurement.SCMmakesuseofdigitalinstruments,intelligence,miniaturization,andfunctionalitythanelectronicordigitalcircuitsmorepowerful.Suchasprecisionmeasuringequipment(powermeter,oscilloscope,variousanalyticalinstrument).2.IntheindustrialcontrolapplicationWiththeMCUcanconstituteavarietyofcontrolsystems,dataacquisitionsystem.Suchasfactoryassemblylineofintelligentcontrol3.InHouseholdAppliancescanbesaidthattheappliancesarebasicallyusingSCM,praisefromtheelectricrice,washingmachines,refrigerators,airconditioners,colorTV,andotheraudiovideoequipment,totheelectronicweighingequipment,varied,andomnipresent.4.InthefieldofcomputernetworksandcommunicationsapplicationsMCUgeneralwithmoderncommunicationinterface,canbeeasywiththecomputerdatacommunication,networkingandcommunicationsincomputerapplicationsbetweendeviceshadexcellentmaterialconditions,arebasicallyallcommunicationequipmenttoachieveacontrolledbyMCUfrommobilephone,telephone,mini-program-controlledswitchboards,buildingautomatedcommunicationscallsystem,trainradiocommunication,tothedailyworkcanbeseeneverywhereinthemobilephones,trunkedmobileradio,walkie-talkies,etc..5.MicrocomputerinthefieldofmedicaldeviceapplicationsSCMintheuseofmedicaldevicesisalsoquiteextensive,suchasmedicalrespirator,the49 variousanalyzers,monitors,ultrasounddiagnosticequipmentandhospitalbeds,etc.callsystem.6.InavarietyofmajorappliancesinthemodularapplicationsDesignedtoachievesomespecialsinglespecificfunctiontobemodularinavarietyofcircuitapplications,withoutrequiringtheuseofpersonneltounderstanditsinternalstructure.Ifmusicintegratedsinglechip,seeminglysimplefunction,miniatureelectronicchipinthenet(theprincipleisdifferentfromthetapemachine),youneedacomputersimilartotheprincipleofthecomplex.Suchas:musicsignaltodigitalformstoredinmemory(likeROM),readbythemicrocontroller,analogmusicintoelectricalsignals(similartothesoundcard).Inlargecircuits,modularapplicationsthatgreatlyreducethevolume,simplifiesthecircuitandreducethedamage,errorrate,butalsoeasytoreplace.7.MicrocontrollerintheapplicationfieldofautomotiveequipmentSCMinautomotiveelectronicsiswidelyused,suchasavehicleenginecontroller,CANbus-basedIntelligentElectronicControlEngine,GPSnavigationsystem,absanti-lockbrakingsystem,brakesystem,etc..Inaddition,theMCUinbusiness,finance,research,education,nationaldefense,aerospaceandotherfieldshasaverywiderangeofapplications.ApplicationofsiximportantpartoflearningMCUlearninganimportantpartofthesixapplications1,Bus:Weknowthatacircuitisalwaysmadebythedevicesconnectedbywires,inanalogcircuits,theconnectiondoesnotbecomeaproblembecausethedeviceisaserialrelationshipbetweenthegeneral,thedeviceisnotmuchconnectionbetweenthe,butthecomputerisnotthesamecircuit,itisamicroprocessorcore,thedevicemustbeconnectedwiththemicroprocessor,thedevicemustbecoordinationbetween,sotheyneedtoconnectonalot,asifstillanalogcircuitlikethemicroprocessoranddevicesintheconnectionbetweentheindividual,thenumberoflineswillbealittlemoresurprising,thereforetheintroductionofthemicroprocessorbusZhongEachdeviceGongtongaccessconnections,alldevices8Shujulineallreceivedeightpubliconline,thatistheequivalentofalldevicestogetherinparallel,butonlythisdoesnotwork,iftherearetwodevicessenddataatthesametime,a0,a1,then,whetherthereceiver49 receivedwhatisit?Thissituationisnotallowed,sotobecontrolledbycontrollingtheline,time-sharingthedevicetoworkatanytimeonlyonedevicetosenddata(whichcanhavemultipledevicestoreceiveboth).Device"sdataconnectionisknownasthedatabus,thedeviceiscalledlineofcontrolallthecontrolbus.Internalorexternalmemoryinthemicrocontrollerandotherdeviceshavememorycells,thememorycelltobeassignedaddresses,youcanuse,distribution,ofcourse,toaddressgivenintheformofelectricalsignals,andasmorememorycells,so,fortheaddressallocationThelineisalsomoreoftheselinesiscalledtheaddressbus.Second,data,address,commandThereasonwhythesethreetogetherbecauseofthenatureofthesethreearethesame-thenumber,orareastringof"0"and"1"formthesequence.Inotherwords,addresses,instructionsarealsodata.Instruction:fromsinglechipdesignerprovidesanumberofcommonlyusedinstructionswithmnemonicwehaveastrictcorrespondencebetweenthedevelopercannotbechangedbytheMCU.Address:thesearchforMCUinternal,externalstorageunits,inputandoutputportbasedontheaddressoftheinternalunitvalueprovidedbythechipdesignerisgood,cannotbechanged,theexternalunitcanbesinglechipdeveloperstodecide,butthereareanumberofaddressunitsisamust(seeproceduresfortheimplementationoftheprocess).Third,P0port,P2andP3ofthesecondfunctionIuse:BeginnersoftenontheP0port,P2andP3portIusethesecondfunctionpuzzledthatthesecondfunctionandhaveaswitchbetweentheoriginalfunctionoftheprocess,orhaveadirective,infact,theportThesecondfeatureisautomatic,donotneedinstructionstoconvert.SuchasP3.6,P3.7respectivelyWR,RDsignal,whenthemicrochipprocessingmachinesexternalRAMorexternalI/Oport,theyareusedasasecondfunction,notasageneral-purposeI/Oportused,solongasaAmicroprocessorimplementationoftheMOVXinstruction,therewillbeacorrespondingsignalsentfromtheP3.6orP3.7,noprioruseofcommands.Infact"notasageneral-purposeI/Oportuse"isalsonota"no"but(user)"not"asageneral-purposeI/Oporttouse.YoucanarrangetheorderofaSETBP3.7"sinstructions,andwhentheMCUexecutiontotheinstruction,thealsomakeP3.7intoahigh,butuserswillnotdosobecausethisisusuallywillcausethesystemtocollapse.Fourth,theprogram"simplementation:49 Reductioninpowerafterthe8051microcontrollerwithintheprogramcounter(PC)inthevalueof0000",theprocessisalwaysfromthe0000"unitsstarted,thatis:thesystemmustexistinROM0000"thisunit,andin0000"unitmustbestoredinasingleinstruction.5,thestack:Stackisaregion,isusedtostoredata,thereisnospecialabouttheregionitselfisapartofinternalRAM,specialaccesstoitsdatastorageandthewaythattheso-called"advancedpostoutbackwardfirstout",andthestackhasaspecialdatatransmissioninstructionsthat"PUSH"and"POP",hasaspecialexpertiseinitsservicesunit,thatis,thestackpointerSP,wheneveraPUSHinstructionexecution,SPon(intheBasedontheoriginalvalue)automaticallyadd1,whenevertheimplementationofaPOPinstruction,SPwill(onthebasisoftheoriginalvalue)automaticallyby1.AstheSPvaluescanbechangedwiththeinstructions,solongasthebeginningoftheprocesstochangethevalueoftheSP,youcansetthestackmemoryunitrequired,suchastheprogrambegins,withanMOVSP,#5FHinstructionsWhensetonthestackstartingfromthememoryunit60Hunit.Thereisalwaysthebeginningofthegeneralprocedurewithsuchadirectivetosetthestackpointer,becauseboot,SPinitialvalueof07H,08HThisunitfromthebeginningtostacknext,and08Hto1FH8031isthesecondintheregion,threeorfourworkingregisterarea,oftenused,thiswillleadtoconfusionofdata.Differentauthorswhenwritingprograms,initializethestackisnotexactlythesamedirective,whichistheauthor"shabit.Whensetupthestackzone,doesnotmeanthattheregionbecomeaspecialmemory,itcanstillusethesamememoryregionasnormal,butgenerallytheprogrammerdoesnotregarditasanordinarymemoryused.49 附录B中文翻译单片机单片机也被称为微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。49 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机芯片 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表49 、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机历史单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。起初模型1.SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。2.MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。嵌入式系统单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机49 、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。49 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7.单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。学习应用六大重要部分单片机学习应用的六大重要部分一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。三、P0口、P2口和P3的第二功能用法:49 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETBP3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。四、程序的执行过程:单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。五、堆栈:堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOVSP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。49'