• 487.58 KB
  • 2022-04-22 13:36:05 发布

出租车计费器系统设计及工作原理毕业论文.doc

  • 39页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'哈尔滨工业大学华德应用技术学院毕业设计(论文)出租车计费器系统设计及工作原理毕业论文目录摘要IABSTRACTII第1章绪论41.1课题背景21.2目的意义21.3设计任务与技术要求2本章小结2第2章方案的选择与选件32.1方案选择32.2方案的确定42.3电路元件检测4本章小结5第3章单元电路设计63.1单片机系统63.1.1按键电路73.1.2时钟电路设计73.1.3复位电路设计83.1.4驱动电路83.1.5显示电路93.1.6单片机在电路中应用10I 哈尔滨工业大学华德应用技术学院毕业设计(论文)本章小结11第4章软件程序设计124.1程序流程图124.2程序设计13本章小结22第5章整机的工作原理235.1工作原理235.2整机原理图235.3硬件检测24本章小结24结论25致谢26参考文献27附录1译文28附录2英文参考资料28附录3元器件表34I哈尔滨工业大学华德应用技术学院毕业设计(论文)第1章绪论1.1课题背景随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如9元)增加。当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。1.2目的意义毕业设计是将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展。同时还培养设计能力和解决实际问题能力,进行基本技能的训练,2 哈尔滨工业大学华德应用技术学院毕业设计(论文)进一步熟练proteus,keilC等软件的操作。本设计的目的是在学习51系列单片机的基础上,设计出符合要求的电路,从而实现设计产品的计价功能。1.3设计任务与技术要求利用AT89S51单片机,设计简单的出租车计价器。其中主要的外围功能电路有:驱动电路,按键控制电路,时钟部分,数码管显示电路等。2哈尔滨工业大学华德应用技术学院毕业设计(论文)通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和里程数;数码管开始显示所走里程和所应付的金额,并逐渐增加;按下档位键,里程数加速提高,同时金额金额加速增长。按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清零按键,数码管全显示零,以备下次计价。本章小结本章主要介绍了出租车计费器的发展历史及设计的目的。出租车计费器是社会发展的必然产物。近年来,随着出租车的发展,出租车计费器应用的越来越广泛。运用单片机控制技术,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。在本章节中,还介绍了本次设计实现功能的基本方法。第2章方案的选择与选件2.1方案选择方案一:38 哈尔滨工业大学华德应用技术学院毕业设计(论文)采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。采用数字电路控制,采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。考虑到这种电路设计过于复杂,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现;性能不够稳定,电路也不实用。输入信号模块片选信号产生模块数据转换模块动态描述/译码/数码管显示模块数码管控制电路图2-1系统结构图方案二:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)按键控制89S51单片机复位电路掉电保护时钟电路显示模块显示总里程和总金额图2-2系统结构图2.2方案的确定通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:总价=起步价(小于3km)总价=起步价+1.2倍公里数(大于3km小于等于20km)总价+起步价+1.8里程数(大于20km)。AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。2.3电路元件检测在焊接电路前,首先要进行元器件的检测。检测主要是测出各个元器件的型号。对于数码管的检测在显示电路中已介绍。识别电阻时可根据各环的数量级和色码表,判断电阻的阻值。排阻是将多个电阻集中封装在一起,组合制成的。排阻具有装配方便、安装密度高等优点。常用排阻有A型和B型。A型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。B型排阻的引脚总是偶数的。它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。排阻的阻值读法如下:“103”表示:10kΩ,“510”表示:51Ω。以此类推。对于集成芯片的检测,就是根据它的管脚图,来识别各个引脚,以方便焊接。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)本章小结本章主要介绍这次毕业设计的方案选择,对两种方案的分析,最终确定以单片机为核心的方案,并对所选方案设计及原理给予分析。在下一章节当中,将对该课题中各单元电路的具体设计方案、元器件的选择作进一步论述。第3章单元电路设计3.1单片机系统AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。P0口有二个功能:1、外部扩展存储器时,当做数据/地址总线。2、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入输出时应在外部接上拉电阻。P1口只做I/O口使用:其内部有上拉电阻。 P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用。 2、做一般I/O口使用,其内部有上拉电阻。 P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)图3-1AT89S51引脚图图3-2AT89S51封装图设计中用到的单片机各管脚(图3-1)功能介绍如下:VCC:接+5V电源。VSS:接地。时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。RST:复位信号输入端,高电平有效。当在此引脚加两个机器周期,高电平时,就可以完成复位操作。P1.0:接启动/停止按键,控制计价。P1.1:接功能键。P1.3:接清零键。P0口:接数码管段选端,P2口接驱动芯片。P3.4(T0):接模拟开关按键,替代了出租车计价器中的霍尔传感器。P3.1、P3.0口:接掉电保护电路。3.1.1按键电路按键控制电路中,单片机的P1.0管脚接启动/停止/加速等按键,通过软件编程,当按下按键计数器开始工作,开始计价;当弹起按键时,计数器停止工作,停止计价,启动/停止按键带自锁功能。按下启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,调用计价子程序开始计价。清零按键接单片机的P1.3管脚,按下清零按键,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码(0x3f),以达到清零的目的,方便下次计价。另外加速功能键,在程序运行过程中按下,会体现出一个加速的效果,一共有四个档位。如图3-3所示。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)图3-3按键电路3.1.2时钟电路设计MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低。在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。如图3-4所示。图3-4时钟电路3.1.3复位电路设计单片机的复位是由外部的复位电路实现的,38 哈尔滨工业大学华德应用技术学院毕业设计(论文)复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位(图3-5)。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。图3-5复位电路3.1.4驱动电路74LS245是我们常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S)。图3-6驱动芯片管脚图74LS245主要电器特性的典型值如下:引出端符号:AA总线端BB总线端/G三态允许端(低电平有效)DIR方向控制端38 哈尔滨工业大学华德应用技术学院毕业设计(论文)功能表如表3-1所示:表3-1功能表3.1.5显示电路多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器(图3-7)。在显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)图3-7LED数码管3.1.6单片机在电路中应用单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。在本次硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。设计电路时,我采用一个模拟开关来代替车的起步.停止和加速的情况。模拟开关一端接在P1口,另一端接地,通过来回高低电平的变化,每按一次,分别对应着加速和暂停等四个功能。通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。为了焊接方便,我们选用了集成在一起的数码管。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)本章小结本章主要围绕单片机进行解析,分别介绍了单片机的管脚排列和功能。对其外围电路的组成进行了详细分析。对按键电路,时钟电路,复位电路和显示电路进行了仔细的分析。并展示了各个电路的电路图。第4章软件程序设计4.1程序流程图38 哈尔滨工业大学华德应用技术学院毕业设计(论文)启动Y挡暂停停止判断键值x>=3或x<3Z<20或Z>=20输出金额ZZ=6Z=6+1.2xZ=6+1.8x开始结束Y=1或2或3或4x=x+0.01x=x+0.1x=x+1x=x+10输出公里xY挡暂停停止4.2程序设计DANGEQU30HNUMEQUR1NUM0EQUR2PEOPLEEQU17HPEOPLE0EQU18HPEOPLE1EQU09HPEOPLE2EQU0AH38 哈尔滨工业大学华德应用技术学院毕业设计(论文)ORG0000HLJMPMAINORG000BHAJMPT_0ORG0030HMAIN:ACALLSTATRLP:ACALLJUDGEACALLZHUANHUANACALLXIANJMPLPSTATR:MOVSP,#60HMOVDPTR,#TABMOVR7,#2MOVDANG,#0MOVNUM,#0MOVNUM0,#0MOVPEOPLE,#0MOVPEOPLE0,#0MOVPEOPLE1,#0MOVPEOPLE2,#0MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBEASETBET0CLRTR0RETJUDGE:MOVR0,P1CJNER0,#0FFH,renyjmprent1reny:acalldelayMOVR0,P138 哈尔滨工业大学华德应用技术学院毕业设计(论文)CJNER0,#0FFH,renty1jmprent1renty1:BP1.0,SPUSETBTR0SPU:JBP1.1,HUANCLRTR0HUAN:JBP1.2,RENT0INCDANGXCHA,DANGCJNEA,#4,XIAXIA:XCHA,DANGJCXIA1MOVDANG,#0XIA1:RENT0:JBP1.3,RENT1CLRTR0MOVDANG,#0MOVNUM,#0MOVNUM0,#0MOVPEOPLE,#0MOVPEOPLE0,#0MOVPEOPLE1,#0MOVPEOPLE2,#0RENT1:MOVR0,P1acallxianCJNER0,#0FFH,RENT1RETXIAN:MOVA,NUMACALLCHULIMOVP2,#0MOVP0,#0feHMOVP2,A38 哈尔滨工业大学华德应用技术学院毕业设计(论文)ACALLDELAYMOVP2,#0MOVA,BORLA,#80HMOVp0,#0fdHMOVP2,AACALLDELAYMOVA,NUM0ACALLCHULIMOVP2,#0MOVP0,#0fbHMOVP2,AACALLDELAYMOVP2,#0MOVp0,#0f7HMOVP2,BACALLDELAYMOVA,PEOPLEMOVCA,@A+DPTRMOVP3,#0MOVP0,#0EFHMOVP3,AACALLDELAYMOVP3,#0MOVA,PEOPLE0MOVCA,@A+DPTRORLA,#80HMOVp0,#0DFH38 哈尔滨工业大学华德应用技术学院毕业设计(论文)MOVP3,AACALLDELAYMOVA,PEOPLE1MOVCA,@A+DPTRMOVP3,#0MOVP0,#0BFHMOVP3,AACALLDELAYMOVA,PEOPLE2MOVCA,@A+DPTRMOVP3,#0MOVp0,#7FHMOVP3,AACALLDELAYRETCHULI:MOVB,#10DIVABXCHA,BMOVCA,@A+DPTRXCHA,BMOVCA,@A+DPTRRETT_0:PUSH0E0HMOVTH0,#3CHMOVTL0,#0B0HDJNZR7,CHU1MOVR7,#20MOVA,DANGCJNEA,#0,DANG138 哈尔滨工业大学华德应用技术学院毕业设计(论文)MOVA,NUM0INCACJNEA,#100,KANCKANC:MOVNUM0,AJCCHU1MOVNUM0,#0MOVA,NUMINCACJNEA,#100,ZAIHUICLRAZAIHUI:MOVNUM,AAJMPCHU0DANG1:CJNEA,#1,DANG2MOVA,NUM0ADDA,#10CJNEA,#100,KANC1KANC1:MOVNUM0,AJCCHU0CLRCSUBBA,#100MOVNUM0,AMOVA,NUMINCACJNEA,#100,ZAIHUI1CLRAZAIHUI1:MOVNUM,ACHU1:AJMPCHU038 哈尔滨工业大学华德应用技术学院毕业设计(论文)DANG2:CJNEA,#2,DANG3MOVA,NUMINCACJNEA,#100,ZAIHUI2CLRAZAIHUI2:MOVNUM,ACHU0:AJMPCHUDANG3:CJNEA,#3,CHUMOVA,NUMADDA,#10CJNEA,#100,ZAIHUI3ZAIHUI3:JCZAIHUI4CLRAZAIHUI4:MOVNUM,ACHU:POP0E0HRETIDELAY:MOVR5,#10LP1:MOVR6,#250DJNZR6,$DJNZR5,LP1RETZHUANHUAN:MOVA,NUMCJNEA,#3,KANSANKANSAN:JNCKANPEOPLE38 哈尔滨工业大学华德应用技术学院毕业设计(论文)MOVPEOPLE0,#6JMPZUIHOUKANPEOPLE:MOVA,PEOPLECJNEA,#2,HOUHOU:JNCJIESHUMOV15H,#2ACALLFENJIEJMPZUIHOUJIESHU:MOV15H,#8ACALLFENJIEZUIHOU:RETFENJIE:MOVA,NUMCLRCSUBBA,#3MOVB,#10DIVABMOVPEOPLE,AMOVPEOPLE0,BMOVA,NUM0MOVB,#10DIVABMOVPEOPLE1,AMOVPEOPLE2,BMOVA,PEOPLE2MOVB,15HMULABMOVB,#10DIVABMOV10H,B38 哈尔滨工业大学华德应用技术学院毕业设计(论文)MOV16H,AMOVA,PEOPLE1MOVB,15HMULABADDA,16HMOVB,#10DIVABMOV11H,BMOV16H,AMOVA,PEOPLE0MOVB,15HMULABADDA,16HMOVB,#10DIVABMOV12H,BMOV16H,AMOVA,PEOPLEMOVB,15HMULABADDA,16HMOVB,#10DIVABMOV13H,BMOV16H,AMOVA,PEOPLE2ADDA,11HMOVB,#10DIVAB38 哈尔滨工业大学华德应用技术学院毕业设计(论文)ADDA,12HMOV12H,AMOVPEOPLE2,BMOVA,PEOPLE1ADDA,12HMOVB,#10DIVABADDA,13HMOV13H,AMOVPEOPLE1,BMOVA,PEOPLE0ADDCA,13HADDA,#6MOVB,#10DIVABADDA,16HMOV16H,AMOVPEOPLE0,BMOVA,PEOPLEADDA,16HMOVB,#10DIVABMOVPEOPLE,BRETTAB:DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,3FhEND本章小结38 哈尔滨工业大学华德应用技术学院毕业设计(论文)本章我们只展示程序了程序和程序流程图,根据程序流程图我们可以很清晰看懂程序的实现思路。第5章整机的工作原理5.1工作原理出租车计费器的实现主要依托于软件的编写,在电路中我们用四个开关代替了车在运行过程中得四个可能发生的情况,通过在单片机对软件的编写控制里程数与金额之间的关系,用74LS245芯片驱动数码管进行显示,从而实现出租车计费的功能。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)5.2整机原理图5.3硬件检测设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中。各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进行检测,然后进行调试。例如如果在设计中不加任何驱动,在仿真软件中仍然可以正常计价,但是在具体硬件焊接时,需要考虑电路的驱动能力。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。在本设计中采用了先焊接插槽的方法,这可以避免一些元件在焊接的过程中被烧坏。另外在焊接数码管时,要先排线,再焊接以免线路混乱。元件在选购时需要多备选元件,元件的型号较多,产品质量没有可靠保证,就避免不了我们买的元器件是损坏的,再加上焊接是在万能板上焊接的。就有可能发生虚焊,短路等情况的发生。所以,在焊接好每个元件后都要进行检测,以保证焊接无误。焊接好电路板,把相应的芯片插到对应的插槽中,再检一次,看芯片是否与插槽接触良好。驱动部分是检查74LS245与数码管和单片机接触的各个引脚,看是否焊接良好,另外要让芯片和插座有良好的接触。显示部分检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,则应该检查驱动电路。晶振部分使用示波器查看波形。如果出现看不到12MHZ的正弦波形的现象,说明此部分电路不正常。本章小结本章我们介绍了整机的工作原理,通过在前几章对电路中各个部分和器件进行的精心的筛选,在这章我们终于将一个整机电路拿了出来,并介绍了期工作原理。对于在做实物中所要注意的问题我们也列举了出来。在这里我要高呼我的出租车计费器终于实现了!!!结论在本次设计中,我采用AT89S51芯片为核心器件,设计出了简单的出租车计价器,能够实现显示总金额和总里程,按键控制清零,调价。题后,我便开始复习单片机方面的知识,也查阅、搜索了很多相关资料,进行总体设计与具体设计,同时也学习仿真软件Protues和编程软件KeiC。并用汇编语进行了编程,在设计开始,要形成流程图,它可以使设计有一定的逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编写、修改与调试,另外加上必要的注释,便于交流与理解。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)这次毕业设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。通过自身的努力以及相关图书资料的帮助,逐渐熟悉了KEIL、PROTEUS和C语言等软件的使用以及硬件焊接与检测过程中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题。所焊实物尚有许多不足,个别预期功能还不能很好的实现,主要原因是考虑问题不周全,电路设计经验少,实际动手能力不足。恳请各位老师批评指正,以使我在以后的学习和实践中加以改进和提高。致谢经过这学期的努力,本次毕业设计已经接近尾声。作为一个本科生的毕业设计,由于没有足够的经验,难免有诸多考虑不周的地方,好在有导师的指导和同学们的帮助,我才能按时完成任务。感谢我的指导老师,从课题的选择到设计的最终完成,老师都给予了我们细心的指导和不懈的支持。他严谨细致、一丝不苟的作风一直是我们学习中的榜样,并将继续影响我今后的学习和工作。在此向肖波老师致以诚挚的感谢。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)毕业设计培养了我们独立思考问题,分析问题与解决问题的能力,在设计中我明白了理论与实践有很大的区别,理论上可以实现的,但要做具体的实物,却要多方面考虑。在老师的指导下,使所遇到的问题逐步得到解决。感谢我的指导老师肖波老师,从课题的选择到项目的最终完成,老师都给予了我们细心的指导和不懈的支持。他严谨细致、一丝不苟的作风一直是我学习中的榜样,并将继续影响我今后的学习和工作。在此谨向老师致以诚挚的感谢。我的大学即将结束,今天的成绩也一直以来关心、教导我的父母、老师密不可分,在此祝愿他们身体健康、工作顺利、万事如意!我再次感谢学校和老师给了我这次实践锻炼的机会,以及很多同学对我的帮助,为此我将尽最大的努力,并以最好的心态来回报社会,服务祖国。参考文献[1]谭浩强.C程序设计(第二版).清华大学出版社,2003[2]胡泉、谢芳.C语言程序设计.华中科技大学出版社,2009[3]戴佳.51单片机C语言应用程序设计实例精讲.电子工业出版社,2007[4]张毅刚.单片机原理及应用.高等教育出版社,2004[5]马忠梅.单片机的C语言应用程序设计(第三版).北京航空航天大学出版社,2004[6]胡汉才.单片机原理及其接口技术.北京:清华大学出版社,1995[7]潘永雄.新编单片机原理与应用.西安电子科技大学出版社,200338 哈尔滨工业大学华德应用技术学院毕业设计(论文)[8]肖玲妮、袁增贵.Protel99SE印刷电路板设计教程.清华大学出版社,2003[9]戴梅萼史嘉权.微型计算机技术与应用.清华大学出版社,2003[10]何立民.单片机应用系统设计.北京:北京航空航天大学出版社,1990[11]陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,2004[12]王卫平.电子工艺技术基础.电子工业出版社,2004[13]单片机学习网.http://www.mcustudy.com/[14]电子电路网.http://down.cndzz.com/[15]张靖武.单片机原理应用与PROTEUS仿真.电子工业出版社,2009附录1译文AT89S51(4K字节闪存的8位微控制器)。AT89S51是一种低功耗,高性能CMOS8位微控制器与4K字节的系统内可编程闪存。该设备是采用Atmel的高密度非易失性内存技术和行业标准的80C51指令集和引脚兼容。片上Flash允许程序存储器在系统重新编程或由传统的非易失性存储器编程。通过结合一个多功能8位CPU与系统内一个单芯片上的可编程Flash,Atmel的AT89S51是一个功能强大的单片机,为许多嵌入式控制应用提供了高度灵活和成本效益的解决方案。.特点:MCS.-51产品兼容38 哈尔滨工业大学华德应用技术学院毕业设计(论文)在系统可编程(ISP)快闪记忆体的4K字节耐久性:1000写/擦除周期4.0V至5.5V工作电压范围全静态操作:0Hz至33MHz的三个级别的程序存储器锁定128×8位内部RAM32个可编程I/O线两个16位定时器/计数器6个中断源全双工UART串行通道低功耗空闲和掉电模式中断从掉电模式恢复看门狗定时器数据指针双断电标志快速编程时间灵活的ISP编程(字节和页模式)绿色(无铅/无卤化物)的包装选项AT89S51提供以下标准特性:4K字节的Flash,128字节RAM,32I/O线,看门狗定时器,两个数据指针,两个16位定时器/计数器,一个五向量两级中断结构,一个全双工串行口,片上振荡器,和时钟电路。此外,AT89S51的设计与操作下来到零频率的静态逻辑,支持两种软件可选的节电模式。空闲模式时CPU停止工作,同时允许的RAM,定时器/计数器,串口和中断系统继续运作。掉电模式保存RAM的内容,但冻结振荡器,禁用所有其他芯片功能,直到下一个外部中断或硬件复位。VCC:电源电压(42PDIP以外的所有软件包)。接地:接地(只连接逻辑核心和嵌入式程序存储器以外的所有42引脚PDIP封装,42引脚PDIPGND)。VDD:38 哈尔滨工业大学华德应用技术学院毕业设计(论文)42引脚PDIP只连接逻辑核心和嵌入式程序存储器的电源电压。PWRVDD:42引脚PDIP,唯一的I/O管脚驱动器连接的电源电压。在应用电路板上必须连接VDD和PWRVDD板电源电压。PWRGND:42引脚PDIP,唯一的I/O管脚驱动器连接接地。PWRGND和GND是通过共同的硅衬底上的弱连接,但无法通过任何金属连接。在应用电路板上必须连接GND和PWRGND板的接地。端口0:端口0是一个8位漏极开路双向I/O端口。作为一个输出端口,每个引脚可以吸收8个TTL输入。当1S写入端口0引脚,引脚可作为高阻抗输入。P0口也可以被配置为复用的低,在访问外部程序和数据存储器的地址/数据总线。在这种模式下,邮政署已内部上拉。端口0接收在Flash编程的代码字节和方案论证过程中输出代码字节。方案论证过程中需要外部的上拉。端口1:端口1是一个8位双向I/O端口内部上拉。端口1输出缓冲器可吸入/源出4个TTL输入。当“1”被写入P1口,他们拉到高内部上拉,可以用作输入。作为输入,低端口1引脚被外部拉低时将输出电流,由于内部上拉(LIP)。端口2:端口2是一个8位双向I/O端口内部上拉。端口2输出缓冲器可吸入/源出4个TTL输入。当1SP2口写入,他们拉到高内部上拉,可以用作输入。作为输入,低2端口引脚被外部拉低,将由于内部上拉电流源(LIP)。端口2排放在从外部程序存储器取和在访问外部数据存储器使用16位地址(MOVX@DPTR)的高位地址字节。在此应用程序,端口2使用发光1S时内部强上拉。在访问外部数据存储器,使用8位地址(MOVX@RI),2端口发出的P2特殊功能寄存器的内容。端口2也收到高地址位在Flash编程和校验和一些控制信号。端口3:端口3是一个8位双向I/O端口内部上拉。端口3输出缓冲器可吸入/源出4个TTL输入。当1S书面P3口,他们拉到高内部上拉,可以用作输入。由于低投入,3口被外部拉低的引脚会因为上拉电流源(LIP)。3口对Flash编程和验证接收一些控制信号。38 哈尔滨工业大学华德应用技术学院毕业设计(论文)端口3也提供各种特殊功能的AT89S51的功能,如下表所示。RST:复位输入。该引脚上出现两个机器周期高,而振荡器运行的设备复位。此引脚驱动器,看门狗超时后的98个振荡器周期的高。DISRTO位在SFRAUXR(地址:8EH)可用于禁用此功能。在默认状态位DISRTO,复位为高电平输出功能已启用。ALE/PROG:地址锁存使能(ALE)是一个输出脉冲锁存地址的低字节在访问外部存储器。此引脚也编程脉冲输入(PROG)在Flash编程。在正常运行时,ALE发出的1/6振荡器频率恒定的速率和可用于外部时钟或定时。但是请注意,那一个ALE脉冲被跳过在每次访问外部数据存储器。如果需要时,ALE操作可以禁用通过设置SFR的位置8EH0位。位设置,ALE是积极的,只有在执行MOVX或MOVC指令。否则,该引脚弱上拉。如果单片机是在外部执行模式下,设置的ALE禁止位,没有任何效果。.PSEN:程序存储使能(PSEN)是外部程序存储器的读选通。当AT89S51从外部程序存储器执行代码,PSEN是激活每个机器周期的两倍,除了两个PSEN的激活在每次访问外部数据存储器跳过。.EA/VPP:外部访问允许。为了使设备获取从开始OOOOH到FFFFH的外部程序存储器位置的代码,EA必须绑到GND。但是请注意,如果锁定位1编程,EA将在内部锁存复位。EA应绑在VCC为内部程序执行。此引脚也接收12伏的编程使能在Flash编程电压(VPP)。XTAL1:输入反相振荡放大器和内部时钟工作电路的输入。XTAL2:从反相振荡放大器的输出特殊功能寄存器:请注意,并非所有的地址都被占用,空置地址可能不会在芯片上。读访问这些地址,一般会返回随机数据,并写访问将有一个不确定的效果。用户软件不应写1秒,这些非上市地点,因为它们可能在未来的产品用于调用新功能。在这种情况下,新位的复位或无效值将始终为0。38 哈尔滨工业大学华德应用技术学院毕业设计(论文).中断寄存器:单独的中断允许位在IE寄存器。可以设置每个IP寄存器中的五个中断源的两个重点。双数据指针寄存器:为了方便访问内部和外部数据存储器,两个银行的16位数据指针寄存器:84H-85H.BitDPSDPO的SFRAUXR1的选择DPO和DPS=1=0在SFR的地址82H-83H和DP1选择DP1的。用户应该总是初始化DPS位适当的值,然后才能访问相应的数据指针。..关闭电源标志:电源关闭标志(POF)位于PCON中的第4位(PCON.4)。POF是在上电时设置为“1”,它可以设置在软件控制下休息,而不是由复位的影响。存储器组织:MCS-51系列器件具有一个独立的地址空间,程序和数据存储器。高达64K字节的外部程序和数据存储器可以得到解决。程序存储器:如果EA引脚连接到GND,所有程序读取外部存储器。AT89S51,如果EA接VCC,程序获取通过FFFHOOOOH内部存储器的地址,并获取到地址1000H是通过FFFFH的外部存储器。数据存储器:AT89S51实现128字节片上RAM。128字节是通过直接和间接寻址模式访问。堆栈操作是间接寻址的例子,使128个字节的数据RAM堆栈空间。看门狗定时器(一次性复位启用):WDT是打算作为中的CPU可能会受到软件搅得的情况下恢复方法。WDT由一个14位计数器和看门狗定时器复位(WDTRST)SFR。WDT是默认禁用退出复位。为了使WDT,用户必须写01EH和OE1H中的序列,以WDTRST寄存器(SFR地点OA6H)。当WDT被启用,它会递增每个机器周期,而振荡器运行。WDT超时周期是依赖于外部时钟频率。有没有办法禁用除了通过复位(硬件复位或WDT溢出复位)WDT。当WDT溢出时,将驱动器复位RST引脚输出高脉冲。定时器0和1:.38 哈尔滨工业大学华德应用技术学院毕业设计(论文)附录2英文参考资料AT89S51(8-bitMicrocontrollerwith4KBytesFlash).TheAT89S51isalow-power,high-performanceCMOS8-bitmicrocontrollerwith4KbytesofIn-SystemProgrammableFlashmemory.ThedeviceismanufacturedusingAtmel"shigh-densitynonvolatilememorytechnologyandiscompatiblewiththeindustry-standard80C51instructionsetandpinout.Theon-chipFlashallowstheprogrammemorytobereprogrammedin-systemorbyaconventionalnonvolatilememoryprogrammer.Bycombiningaversatile8-bitCPUwithIn-SystemProgrammableFlashonamonolithicchip,theAtmelAT89S51isapowerfulmicrocontrollerwhichprovidesahighly-flexibleandcost-effectivesolutiontomanyembeddedcontrolapplications.Features:CompatiblewithMCS.-51Products4KBytesofIn-SystemProgrammable(ISP)FlashMemoryEndurance:1000Write/EraseCycles4.0Vto5.5VOperatingRangeFullyStaticOperation:0Hzto33MHzThree-levelProgramMemoryLock128x8-bitInternalRAM32ProgrammableI/OLines38 哈尔滨工业大学华德应用技术学院毕业设计(论文)Two16-bitTimer/CountersSixInterruptSourcesFullDuplexUARTSerialChannelLow-powerIdleandPower-downModesInterruptRecoveryfromPower-downModeWatchdogTimerDualDataPointerPower-offFlagFastProgrammingTimeFlexibleISPProgramming(ByteandPageMode)Green(Pb/Halide-free)PackagingOptionTheAT89S51providesthefollowingstandardfeatures:4KbytesofFlash,128bytesofRAM,32I/Olines,Watchdogtimer,twodatapointers,two16-bittimer/counters,afive-vectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillator,andclockcircuitry.Inaddition,theAT89S51isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAM,timer/counters,serialport,andinterruptsystemtocontinuefunctioning.ThePower-downmodesavestheRAMcontentsbutfreezestheoscillator,disablingallotherchipfunctionsuntilthenextexternalinterruptorhardwarereset.VCC:Supplyvoltage(allpackagesexcept42-PDIP).GND:Ground(allpackagesexcept42-PDIP;for42-PDIPGNDconnectsonlythelogiccoreandtheembeddedprogrammemory).VDD:Supplyvoltageforthe42-PDIPwhichconnectsonlythelogiccoreandtheembeddedprogrammemory.PWRVDD:Supplyvoltageforthe42-PDIPwhichconnectsonlytheI/OPadDrivers.TheapplicationboardMUSTconnectbothVDDandPWRVDDtotheboardsupplyvoltage.38 哈尔滨工业大学华德应用技术学院毕业设计(论文)PWRGND:Groundforthe42-PDIPwhichconnectsonlytheI/OPadDrivers.PWRGNDandGNDareweaklyconnectedthroughthecommonsiliconsubstrate,butnotthroughanymetallink.TheapplicationboardMUSTconnectbothGNDandPWRGNDtotheboardground.Port0:Port0isan8-bitopendrainbi-directionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashigh-impedanceinputs.Port0canalsobeconfiguredtobethemultiplexedlow-orderaddress/databusduringaccessestoexternalprogramanddatamemory.Inthismode,POhasinternalpull-ups.Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesduringprogramverification.Externalpull-upsarerequiredduringprogramverification.Port1:Port1isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort1outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort1pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port1pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseoftheinternalpull-ups.Port2:Port2isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort2outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort2pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port2pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseoftheinternalpull-ups.Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryandduringaccessestoexternaldatamemorythatuses16-bitaddresses(MOVX@DPTR).Inthisapplication,Port2usesstronginternalpull-upswhenemitting1s.Duringaccessestoexternaldatamemorythatuse8-bitaddresses(MOVX@RI),Port2emitsthecontentsoftheP2SpecialFunctionRegister.38 哈尔滨工业大学华德应用技术学院毕业设计(论文)Port2alsoreceivesthehigh-orderaddressbitsandsomecontrolsignalsduringFlashprogrammingandverification.Port3:Port3isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort3outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort3pins,theyarepulledhighbytheinternalpull-upsandcanbeusedasinputs.Asinputs,Port3pinsthatareexternallybeingpulledlowwillsourcecurrent(lip)becauseofthepull-ups.Port3receivessomecontrolsignalsforFlashprogrammingandverification.Port3alsoservesthefunctionsofvariousspecialfeaturesoftheAT89S51,asshowninthefollowingtable.RST:Resetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.ThispindrivesHighfor98oscillatorperiodsaftertheWatchdogtimesout.TheDISRTObitinSFRAUXR(address8EH)canbeusedtodisablethisfeature.InthedefaultstateofbitDISRTO,theRESETHIGHoutfeatureisenabled.ALE/PROG:AddressLatchEnable(ALE)isanoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.Thispinisalsotheprogrampulseinput(PROG)duringFlashprogramming.Innormaloperation,ALEisemittedataconstantrateof1/6theoscillatorfrequencyandmaybeusedforexternaltimingorclockingpurposes.Note,however,thatoneALEpulseisskippedduringeachaccesstoexternaldatamemory.Ifdesired,ALEoperationcanbedisabledbysettingbit0ofSFRlocation8EH.Withthebitset,ALEisactiveonlyduringaMOVXorMOVCinstruction.Otherwise,thepinisweaklypulledhigh.SettingtheALE-disablebithasnoeffectifthemicrocontrollerisinexternalexecutionmode.PSEN:ProgramStoreEnable(PSEN)isthereadstrobetoexternalprogrammemory.WhentheAT89S51isexecutingcodefromexternalprogrammemory,PSENisactivatedtwiceeachmachinecycle,exceptthattwoPSENactivationsare38 哈尔滨工业大学华德应用技术学院毕业设计(论文)skippedduringeachaccesstoexternaldatamemory.EA/VPP:ExternalAccessEnable.EAmustbestrappedtoGNDinordertoenablethedevicetofetchcodefromexternalprogrammemorylocationsstartingatOOOOHuptoFFFFH.Note,however,thatiflockbit1isprogrammed,EAwillbeinternallylatchedonreset.EAshouldbestrappedtoVccforinternalprogramexecutions.Thispinalsoreceivesthe12-voltprogrammingenablevoltage(VPP)duringFlashprogramming.XTAL1:Inputtotheinvertingoscillatoramplifierandinputtotheinternalclockoperatingcircuit.XTAL2:OutputfromtheinvertingoscillatoramplifierSpecialFunctionRegisters:Notethatnotalloftheaddressesareoccupied,andunoccupiedaddressesmaynotbeimplementedonthechip.Readaccessestotheseaddresseswillingeneralreturnrandomdata,andwriteaccesseswillhaveanindeterminateeffect.Usersoftwareshouldnotwrite1stotheseunlistedlocations,sincetheymaybeusedinfutureproductstoinvokenewfeatures.Inthatcase,theresetorinactivevaluesofthenewbitswillalwaysbe0.InterruptRegisters:TheindividualinterruptenablebitsareintheIEregister.TwoprioritiescanbesetforeachofthefiveinterruptsourcesintheIPregister.DualDataPointerRegisters:Tofacilitateaccessingbothinternalandexternaldatamemory,twobanksof16-bitDataPointerRegistersareprovided:DPOatSFRaddresslocations82H-83HandDP1at84H-85H.BitDPS=0inSFRAUXR1selectsDPOandDPS=1selectsDP1.TheusershouldALWAYSinitializetheDPSbittotheappropriatevaluebeforeaccessingtherespectiveDataPointerRegister.PowerOffFlag:ThePowerOffFlag(POF)islocatedatbit4(PCON.4)inthePCONSFR.POFissetto"1”duringpowerup.Itcanbesetandrestundersoftwarecontrol38 哈尔滨工业大学华德应用技术学院毕业设计(论文)andisnotaffectedbyreset.MemoryOrganization:MCS-51deviceshaveaseparateaddressspaceforProgramandDataMemory.Upto64K byteseachofexternalProgramandDataMemorycanbeaddressed.ProgramMemory:IftheEApinisconnectedtoGND,allprogramfetchesaredirectedtoexternalmemory.OntheAT89S51,ifEAisconnectedtoVcc,programfetchestoaddressesOOOOHthroughFFFHaredirectedtointernalmemoryandfetchestoaddresses1000HthroughFFFFHaredirectedtoexternalmemory.DataMemory:TheAT89S51implements128bytesofon-chipRAM.The128bytesareaccessibleviadirectandindirectaddressingmodes.Stackoperationsareexamplesofindirectaddressing,sothe128bytesofdataRAMareavailableasstackspace.WatchdogTimer(One-timeEnabledwithReset-out):TheWDTisintendedasarecoverymethodinsituationswheretheCPUmaybesubjectedtosoftwareupsets.TheWDTconsistsofa14-bitcounterandtheWatchdogTimerReset(WDTRST)SFR.TheWDTisdefaultedtodisablefromexitingreset.ToenabletheWDT,ausermustwrite01EHandOE1HinsequencetotheWDTRSTregister(SFRlocationOA6H).WhentheWDTisenabled,itwillincrementeverymachinecyclewhiletheoscillatorisrunning.TheWDTtimeoutperiodisdependentontheexternalclockfrequency.ThereisnowaytodisabletheWDTexceptthroughreset(eitherhardwareresetorWDToverflowreset).WhenWDToverflows,itwilldriveanoutputRESETHIGHpulseattheRSTpin.Timer0and1:38 哈尔滨工业大学华德应用技术学院毕业设计(论文)附录3元器件表序号名称参数型号型号数量1单片机At89c5112驱动器74ls24513阻排50314电阻1K25数码管共阴极86开关压动57晶振12M18电容33PF29电容22UF110电路板138'