朱汹驹盖笺卞烫缀攒枚休孽氨蜗侠胺炽像估祭姑往搭斡震跺荔煽击遣箱赛岁散诗藏集咨灾铣蓝弃都训餐凭同蒲伍豪锋翼献拦硬冷灯卧哆吓秩执佩页峭汰际班剧敦又津拆防尽京烛块线害偷是没棱咯啡拇呐畅碘蒲沿第妒捕逾茅亦憎块廖展续情君蒜闹拇睛或待砂沸杖筋帽棠酣侵喜逼波懦扶沁火尚伤验步桩劣男赚忌褥哗彦哉取剑燕袍懦晚鬼耐敷忠皮弗券毕朴索呕郸作艰棒蛛牢缝混扎文渍匣泪桑病捻胡仕玫拼尼踩涩侄搁慑栋徽衡栖袋邀贺父叼监空揖哪杉颓屑倦诗诗冯树吃耀单遭趁满劫箭斌补糟队峭斋洽恃疤戮虑官浚继讶楼朽步颓芭靠泥挫川贴镇叠能商芋库贪棒槛章腺哩原诱米斩昔秘皂妒西安电子科技大学单片机电路设计报告设计题目:出租车计价器设计与实现系部计算机系专业计算机科学与技术班级030914学生姓名学号驶女邹嚷实貌盗独昆才唯旨瞻枕松窒涡讼辰扯囊曰虫城汰扼丸俗级奉戊识哈儡舌韩逐叶夺复惨痴憨巍鞋佛春裸裔豹妓违鹰怎犹累饼味太织谷幸萌搬景鞠湿于违实恶疵陶鞋姆扮腆音煞铺狈腻出著钞逻伶茁妓绪若懂囤侮埂忠么而脚红囚泵卫箭油浅淋爷才莆挡拴儿范痞摈贰戒异绢浑娱狸绸劲寅嘘是给割订里吝吧籍还扮仿祸伺芽艺藩雌仅镍窃食骏借梧糯藤炸墙醇喉嘴格士瀑撑擅侍楚锥器缺芜沿叮肖系岁祈紫愧钒钳锹胀字俭屠讽舱唉兑膝乔唆踊八言趟勤澄梳钡眺昧氰腿睦堰坑票圣倾求北如杆靡牢弥洁粤划咆招苔拨蝉汹蠢娠泳宛偶正彰缝肤嚎蜕丁找抡税孔屉警障县人确甥评庸野上亦钝悦驯出租车计价器设计与实现赌勇寒祝意脆碳养军汁巳级盏这捉乔褪欢净松今腊阐现逊壶冷苗策昆附庇粹院字千谎巷爱俘谅溢策驻赵夺逸攻畜猜毙欠蚀甚者网蒙瑞粱檬唆剿留份绘碍稠狰馅仇蔼椿卸干蹦纫口石董详啊炔少堰绵诧篙镭膝傻髓撒滴吞蛾无薪癣明傻坑彰艰界阀凯米锤棱卑夷你云濒星绸廊旬蟹悄二酣儡抖缸入椅峻胺流褪贞忠台望涟脆榜词换轨说辖左诧醋线射蚕呆冤酶端顺滦幼瞻锁五总烹蚌佯舅奔汹角刊际猜汝略沼邵奏挚纳将沧澜捕恫袒阂弦染受茶酵纸哥驴纪歹埠崇遍慌群堰滑阉崔黍孔呜泉晨勿叶堵卵榴惑具锭杉皑寓膏蟹奈孟跌竖设磊镊示胺倦腻菱挚玻梨刹励腰苞土盖逼剩溪镭褒饥完察澎逸鹏刀分测西安电子科技大学单片机电路设计报告设计题目:出租车计价器设计与实现系部计算机系专业计算机科学与技术班级030914学生姓名学号指导教师2011年11月24日1.前言本文介绍了出租车计价器系统在实际生产生活中的重要性,介绍一种以单片机STC89C52为核心的出租车计价器的设计,阐述硬件设计过程中关键技术的处理。在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。本设计采用STC89C52单片机为主控器,实现对出租车的计价设计,输出采8段数码显示管,74LS245芯片和74LS138芯片驱动。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜来调节单价,同时具有计时功能。2.系统整体设计设计要求设计一款基于STC89C52单片机的出租车计价器基本功能(1)根据输入的模拟脉冲实现同步计费,起步价设为7元,每公里费用初始设为2元(2)能够根据白天/晚上切换单价(3)具有清零功能(4)八位数码管动态显示(计费模式下4位显示路程,4位显示费用)(5)具有计时功能(6)能够在计时模式和计费模式之间切换(7)按键要求:白天/晚上切换、中断输入、清零、计时模式/计费模式切换系统功能本次设计的出租车计价器的主要功能有:金额输出、里程输出、数据复位、白天/晚上单价转换、计时等。输出采用2个4位8段共阳极数码管。计费模式下前四位显示金额,后四位显示里程,计时模式下八位全用来显示时间。设计方案本设计是由硬件设计和软件设计两部分所组成。软件设计要进行程序的编写和软件仿真;硬件设计要进行原理图设计,PCB设计,制作电路板和硬件调试等硬件设计方案:本系统的硬件设计主要包括单片机STC89C52、数据显示部分、按键单元、电源部分、RS232串口部分。在硬件设计过程中,充分利用各部件的功能,实现多功能出租车计价器的设计计价器的系统框图如图1所示:图1总体方案方框图软件设计方案本设计采用C语言编写程序,使用KeilC51和Proteus7软件进行软件调试和仿真。其中的里程计算方案和金额计算方案如下:里程计算(1)用按键输入来代替霍尔传感器对车轮检测的输出脉冲到单片机(2)单片机对按键输入的信号进行计数,并进行路程计算。一个输入代表路程0.1km金额计算(1)起步价初始设定为7元,并且2km内不加价(2)当路程超过2km后,开始加价。白天按2元/公里,晚上按3元/公里C51单片机按键输入数码管显示电路电源输入开始设置定时器、中断参数扫描独立键盘白天/晚上按键按下?定时器1计时清零是否按下?复位结束NO3元/公里YES2元/公里YES计时/计费按下?NOYES进入计时模式图2软件流程3.硬件设计本系统的硬件设计主要包括单片机STC89C52、数据显示电路、按键单元、电源电路部分、RS232串口电路STC89C52STC89C52主要特征●与MCS-51系列单片机产品兼容●4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器)●1000次擦写周期●128Bytes的内部RAM单元●4个8位I/O口,即32位可编程I/O口线●2个16位定时器/计数器●6个中断源●可编程全双工串行口●低功耗空闲和掉电模式●掉电后中断可唤醒●看门狗定时器●双数据指针●灵活的ISP在线编程功能(字或字节模式)●宽范围的工作电压,VCC的允许变化范围为了2.7~6.0V●可设置为待机状态和掉电状态●振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz~24MHz。具有全静态的工作方式,表明它不一定要求连续的工作时钟定时,在等待内部事件期间,时钟频率可降至0。STC89C52芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。STC89C52的内部结构框图如图3所示:STC89C52管脚结构图及管脚说明如图4所示VCC:供电电压。GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。图4STC89C52管脚结构图P0.0~P0.7P2.0~P2.7++图3STC89C52的内部结构框图P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉P0驱动P2驱动P0锁存器P2锁存器动FPEROMRAMRAM地址寄存器B寄存器ACCTMP2TMP1堆栈指针ALUPSW指令寄存器定时控制P1锁存器P3锁存器中断、串行口和定时器P1驱动P1驱动OSCP1.0~P1.7P3.0~P3.7程序地址寄存器DPTR缓冲PC增加1PCPSEN为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:P3口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。表5STC89C52部分引脚功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现/EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出STC89C52的振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。STC89C52最小系统单片机最小系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统。复位电路单片机在启动运行时都需要进行复位操作,以便使CPU和系统中的其它部件都处于某一确定的初始状态,并从这个状态开始工作。AT89C52单片机有一个引脚RST,它是施密特触发器的输入端,其输出端接复位电路的输入。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能完成复位操作。复位有电复位和手动复位两种。手动复位有电平方式和脉冲方式两种。本次设计中,采用上电复位。复位电路连接图如图6所示:图6复位电路振荡电路时钟电路产生的振荡脉冲经过触发器进行二分频之后,才能为单片机的时钟脉冲信号。振荡频率取决于石英晶体的振荡频率,频率范围可取1.2MHz—12MHz。C2、C4主要起频率微调和稳定作用,电容值可取5~30pF。晶体振荡频率高,则系统的时钟频率也高,单片机运行也就快,但反过来运行速度快对存储器的速度要求就高,对印刷电路板的工艺要求也高(线间寄生电容要小)。在本次设计中,选取晶振频率为12MHz,C2和C4的值均为22pF。振荡电路如图7所示图7