出租车计价器(单片机c语言)
基于C语言的出租车计价器程序设计

目录1 前言 (3)2 系统设计方案 (4)2.1 系统的设计需求 (4)2.2 系统的工作原理 (4)3 系统硬件设计 (5)3.1 单片机介绍 (5)3.2 硬件组成 (8)4 系统软件设计 (12)5 仿真调试 (14)6 结论 (16)7 参考文献 (178)8 心得体会及致谢 (20)附录A 设计总图 (224)附录B 源程序 (235)1 前言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注[1]。
相对于公共汽车拥挤与缓慢以及私家车高昂的费用,出租车无疑是一种低价高质的出行交通工具。
近年来越来越多的人为了出行方便舒适愿意选择使用出租车,出租车行业得以快速发展[2]。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器的技术在不断进步和提高[3]。
最初的计价器计费模式较为单一,不便于在不同的运营环境下选取不同的计费模式。
考虑到出租车行驶可能会出现从市区行驶到郊区或者行驶到偏僻地区,郊区或偏僻区打车的人少的现象,司机空车行驶返回成本较高,这时需要乘客为空车返回的路程承担一定的费用,这就需要区分单程/往返不同计价模式。
“单程”模式是指目的地在郊区或者比较偏僻的地方,到达目的地后打车的人比较少,需要乘客乘客承担一定的空车返回的费用;“往返”模式是指目的地在市区,到达目的地后还会有乘客乘车返回,这种情况下司机不需要空车返回,乘客不需要承担回程费用。
考虑到夜晚时出租车的灯光需要消耗能源以及司机夜间服务比白天较为辛苦,所以一般夜晚出租车的价格需要比白天高一点。
早期的出租车计价器均采用模拟电路和数字电路设计。
计价器整体电路的规模较大,需要器件多,容易出故障,难调试。
和模拟电路和数字电路设计相比而言,基于单片机进行设计的计价器,用较少的硬件和适当的软件相互配合就可以很容易的实现设计需求,硬件电路简单,稳定性好,灵活性强[4],通过软件编程就可以实现计费模式的切换。
c语言出租车计费

c语言出租车计费c语言出租车计费已知某城市普通出租车收费标准为:起步里程为3公里,起步费为8元,10公里以内超过起步里程的部分,每公里加收2元,超过10公里以上的部分加收50%的回空补贴费,即每公里3元。
出租车营运过程中,因堵车和乘客要求临时停车等客的,按每5分钟加收2元计算,不足5分钟的不计费。
从键盘任意输入行驶里程(精确到0.1公里)和等待时间(精确到分钟),请编程计算并输出乘客应支付的车费,对结果进行四舍五入,精确到元。
输入提示信息:"Input distance and time:"输入格式:用逗号分隔的两个数字,第一个表示距离、第二个表示时间:"%f,%d"输出格式:"fee = %.0f\n" (注意:等号的两边各有一个空格)#includeint main(void){int start_money = 8, less_than_10_km_per_money = 2, beyond_10_km_extra_money = 1, wait_5_min_money = 2,real_wait_time;float start_distense = 3, real_distense ,real_money=0;printf("Input distance and time(eg.3.5,15):");scanf("%f,%d",ℜ_distense,ℜ_wait_time);real_money = start_money;real_money += real_distense > start_distense ? (real_distense - start_distense) * less_than_10_km_per_money : 0 ;real_money += real_distense > 10 ? (real_distense - 10) * beyond_10_km_extra_money : 0 ;real_money += real_wait_time / 5 > 0 ? real_wait_time / 5 *wait_5_min_money : 0 ;real_money = (int)(real_money + 0.5);printf("fee = %.0f\n",real_money);return 0;}。
基于单片机AT89C51的出租车计价器的设计ppt课件

分主程序、掉电
IO端口,及其控制
存储子程序、显
的灵活性ห้องสมุดไป่ตู้实现基
示子程序、键盘
+ 本的里程计价功能
控制子程序、里
和价格调节、显示
程计数子程序、
= 出租车 计价器
功能。主芯片采用
延时子程序六大
AT89C51,加上相
模块,采用C语言
应的外围电路。
实现。
9
硬件设计部分
10
时钟电路 键盘控制 复位电路
AT89C51
基于单片机的出租车计价器的设计
指导老师:胡 庆 学生姓名:钟华民 班 级:电信1班 学 号:200810312109
1
设计的背景 功能设定 设计方案 硬件设计部分 软件设计部分 测试、仿真
2
设计的背景
3
4
很一重个要 5
功能设定
6
7
设计方案
8
硬
软
件
件
采用单片机控制,
软件设计主要可
利用单片机丰富的
显示电路 掉电存储 里程模拟
电源
11
时钟电路 键盘控制 复位电路
AT89C51
显示电路 掉电存储 里程模拟
12
软件设计部分
13
主程序 显示子程序 里程计数子程序 掉电存储子程序 键盘控制子程序(中断) 延时子程序
14
测试、仿真
15
16
17
出租车计价器(单片机c语言)

分类号编号毕业设计题目:基于单片机的出租车计价器的设计——电子设计系别信息工程学院专业电子信息工程姓名学号2010年6月1 日学院毕业设计任务书设计题目:基于单片机的出租车计价器的设计——硬件部分专业:电子信息工程班级学号:姓名:指导教师:设计期限:2011年3月1日开始2011年6月1日结束院、系:北京信息工程学院2011年3 月1 日一、设计目的通过毕业设计使学生了解和掌握单片机应用技术;了解和掌握C语言的程序设计同硬件电路的结合;熟练运用proteus,keilC等软件的操作;了解和掌握单片机硬件电路的焊接和调试;了解和掌握掉电存储芯片AT24C02、霍尔传感器A44E、数码管、驱动芯片74LS245等外部接口芯片器件的应用。
二、主要设计内容实现出租车行驶里程和总金额的显示,预设起步价和起步公里数;实现清零、复位和掉电保护功能;实现对单价的调整。
三、重点研究问题(1)按下启动按键,显示起步里程与起步价。
(2)按模拟传感器信号的按键,显示行驶里程与总金额。
(3)按键控制清零、复位、掉电保护、调整预设单价。
(4)在软件中实现起步价,单价。
四、主要技术指标(1)数码管显示起步里程、单价,总里程、总金额。
(2)用按键控制清零、复位、掉电保护、调整预设单价。
五、设计成果要求(1)源程序通过编译、运行(2)软件烧录单片机硬件进行调试,运行(3)实现所述功能(4)电路板焊接、检测(5)最终提交软硬件、设计说明书、外文翻译、毕业设计说明书等六、其它参考文献:[1] 谭浩强.C程序设计(第二版).清华大学出版社.2003[2]潘永雄.新编单片机原理与应用.西安电子科技大学出版社.2003设计开题报告2011年3 月15日摘要现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
C语言出租车计价器课程设计报告书

出租车计价器课程设计目录前言1、系统工作原理1.1 功能说明1.2 基本原理2、硬件设计2.1 单片机最小系统单元2.2 A44E霍尔传感器检测单元2.3 AT24C01存储单元2.4 键盘调整单元2.5 显示单元3、软件设计3.1 系统主程序3.2 中断程序3.2.1 里程计数中断程序3.2.2 中途等待中断程序3.3 计算程序3.4 显示程序3.5 键盘程序4、总结参考文献附录A 系统原理图附录B 系统源程序前言随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。
第一章系统工作原理1.1 功能说明出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。
从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。
过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。
同时,白天和夜晚价格不同,可以进行切换。
白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。
(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟)1.2 基本原理计数器系统主要由五部分组成:A44E霍尔传感器、AT89S52单片机、独立键盘、EEPROM AT24C01和显示数码管。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、设计目标:设计一个基于单片机的出租车计价器,能够准确计算乘客的乘车距离和费用,并能显示当前的计价信息。
二、设计原理:1. 距离测量:使用速度传感器和车轮直径来测量出租车行驶的距离。
2. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算。
3. 显示:使用LCD显示屏显示当前的计价信息和距离。
三、硬件设计:1. 单片机:选择合适的单片机,如ATmega8,作为主控制器。
2. 速度传感器:选择合适的速度传感器,如霍尔传感器,用于测量车轮转速。
3. LCD显示屏:选择合适的LCD显示屏,如16x2字符LCD,用于显示计价信息和距离。
4. 按键开关:设计合适的按键开关,用于启动计价器和调整设置。
四、软件设计:1. 初始化设置:在计价器启动时,进行LCD显示屏和速度传感器的初始化设置。
2. 距离测量:通过速度传感器读取车轮转速,根据车轮直径计算出租车行驶的距离。
3. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算,并将计算结果显示在LCD上。
4. 设置调整:设计按键开关用于调整计价规则和费率设置。
5. 实时显示:将计价信息和距离实时显示在LCD上,方便乘客查看。
五、测试和验证:进行功能测试和实地验证,确保计价器的准确性和稳定性。
包括距离测量的准确性、费用计算的准确性以及LCD显示的正确性。
六、优化和改进:根据测试结果和用户反馈,对计价器进行优化和改进,提高其性能和用户体验。
总结:基于单片机的出租车计价器是一个实用的设计,能够帮助出租车司机和乘客准确计算乘车距离和费用。
通过合理的硬件设计和软件编程,可以实现距离测量、费用计算和实时显示等功能。
在实际使用中,需要进行充分的测试和验证,以确保计价器的准确性和稳定性。
通过不断优化和改进,可以提高计价器的性能和用户体验,满足用户的需求。
基于单片机出租车计价器课题设计(c语言编写)

单片机系统课程设计报告完成日期:2010年12月28日系:电子信息工程系专业:通信工程班级:071班设计题目:出租车计价器学生姓名:谢明七王勉指导教师:董玉华、许爽目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (3)2.1任务分析 (3)2.2系统设计 (4)三系统硬件设计 (6)3.1电源电路 (6)3.2单片机的最小系统 (7)3.3 DS1302时钟电路 (8)3.4显示电路的设计 (9)3.5按键控制的设计 (10)3.7复位电路 (12)四、系统软件设计 (13)4.1主程序设计 (13)4.2 子程序设计 (14)4.2.1 DS1302子程序 (14)4.2.1 DS1302子程序流程图 (14)4.2.2 显示子程序 (16)4.2.2 显示子程序流程图 (18)4.3 修改时间子程序 (19)五、调试及性能分析 (20)5.1调试步骤 (20)5.1.1硬件调试 (20)5.1.2软件调试: (20)5.2性能分析 (20)六、心得体会 (22)七、参考文献 (23)八、附录 (24)附录1、程序清单 (24)附录2 系统硬件电路图 (34)一、设计任务和性能指标1.1设计任务出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中等待来调节营运参数、计量数据查询等。
要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。
1.2性能指标1.不同情况具有不同收费标准:白天、晚上、途中等待(>10min开始收费);2.数据输出:单价输出、路程输出、总金额输出;3.按键:启动计时开关、数据显示切换、白天/晚上切换、复位;4.能手动进行修改单价,但单价设定需密码进入。
单片机课程设计(999999显示与出租车计费器,包含汇编与C语言)

湖南工业大学课程设计资料袋电气与信息工程学院(系、部)2012~2013 学年第 2 学期课程名称单片机系统课程设计指导教师职称学生姓名甘显豪专业班级自动化1004 学号10401701305题目出租车计费系统成绩起止日期2012 年12月31日~2013 年1 月11 日目录清单湖南工业大学课程设计任务书电气与信息工程学院(系、部)自动化专业1004 班级课程名称:单片机系统课程设计设计题目:出租车计费系统完成期限:自2012 年12月31日至2013 年 1 月11 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日附件三(单片机应用系统)设计说明书(题目)出租车计费系统起止日期:2012 年12 月31 日至2013 年 1 月11日学生姓名甘显豪班级自动化1004学号10401701305成绩指导教师(签字)电气与信息工程学院2012年12 月31 日一、设计任务:1.1 外部脉冲自动计数,自动显示。
1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示)。
1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m 刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元)二、设计原理及思路1.设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
设计原理:这个用汇编和C语言都比较简单。
首先我确定用的是T0(TMOD=0x06)定时计数器,用查询计数模式,工作方式2(8位,可自动重新装初值),总中断不用开,赋初值255,来一个脉冲直接溢出,只要判断溢出标志位TF0是否为1即可,TF0为1则说明溢出,然后再用指令清0就OK了,然后给数码管显示加1(当然这里要先判断是否加到了255,若>255就显示清0)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要本电路以AT89S51单片机为中心,附加A44E霍尔传感器测距(本电路中用模拟开关替代),实现对出租车计价,采用AT24C02 实现在系统掉电的时候保存单价,输出采用8段数码显示管,显示行驶总里程和总金额。
模拟出租车计价器设计:进行里程显示,预设起步价和起步公里数;行程按全程收费,有复位功能和启动功能,启动后,开始计价。
我们采用单片机进行设计,可以用较少的硬件和适当的软件相互配合来实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,应用前景广阔。
关键字:出租车计价器; AT89S51单片机; A44E霍尔传感器; 断电保存; 8段数码显示管.目录第 1章绪论 (1)1.1 课题背景 (1)1.2 主要设计内容及基本要求 (1)第2章系统硬件设计 (2)2.1硬件设计说明 (2)2.2 AT89S51单片机简介 (2)2.3 硬件电路设计 (3)2.4 硬件组成 (3)2.4.1 驱动电路 (3)2.4.2 显示电路 (4)2.4.3 复位电路 (5)2.4.4 掉电保护电路 (5)2.4.5 时钟电路 (6)2.4.6 按键电路 (7)第3章系统调试 (8)3.1 单片机仿真软件在线调试—PROTEUS (8)3.2 电路元件检测 (8)3.3 硬件检测 (9)附录1程序源代码 (12)附录2电路仿真图 (18)总结 (19)第1章绪论1.1 课题背景我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如4元)增加。
当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。
1.2 主要设计内容及基本要求利用AT89S51单片机,设计简单的出租车计价器。
在出租车计价器的总体设计中,我主要负责出租车计价器硬件设计。
其中主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。
通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起步金额;按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程;数码管开始显示所走里程和所应付的金额,并逐渐增加;按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清零按键,数码管全显示零,以备下次计价。
方案二:设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。
利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。
系统结构图如下:1.1系统结构图通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。
本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1。
AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。
第2章系统硬件设计2.1硬件设计说明单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。
在这次设计中,我们用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。
设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。
在本次硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。
设计电路时,考虑到用里程(霍尔)传感器价格昂贵,且不便于试验检测,在设计中采用一个模拟开关来代替。
模拟开关一端接在P3.4口,另一端接地,通过来回高低电平的变化,每按两次,对应的里程数加一。
通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。
在显示方面,可以用液晶显示,也可以用数码管进行显示。
由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。
这样既节约了成本,又可以达到显示的目的。
同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。
为了焊接方便,我们选用了集成在一起的数码管。
2.2 AT89S51单片机简介AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes的随机存取数据存储器(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使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
图2.1 AT89S51引脚图图2.2 AT89S51封装图设计中用到的单片机各管脚(图2.1)功能介绍如下:VCC:接+5V电源。
VSS:接地。
时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。
它可以使单片机稳定可靠的运行。
RST:复位信号输入端,高电平有效。
当在此引脚加两个机器周期的高电平时,就可以完成复位操作。
P1.0:接启动/停止按键,控制计价。
P1.1:接功能键。
P1.3:接清零键。
P0口接数码管段选端,P2口接驱动芯片。
P3.4(T0):接模拟开关按键,替代了出租车计价器中的霍尔传感器。
P3.1、P3.0口接掉电保护电路。
2.3 硬件电路设计按下计价按键时,显示起步价和起步里程范围,这些在程序中设置;当等于或超过两公里后,按计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1进行计价。
本设计中,起步价为4元,起步里程为2公里,当然这些数据可以在程序中改写,以满足不同时期价格调整的需要。
下图是通过在Keil C中编译通过,并生成Hex文件,在PROTEUS中仿真通过的整体硬件原理图:图2.3硬件原理图2.4 硬件组成2.4.1 驱动电路74LS245是我们常用的芯片,用来驱动led或者其他的设备。
总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。
本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S)。
图2.4驱动芯片管脚图74LS245主要电器特性的典型值如下:引出端符号:A A总线端B B总线端/G 三态允许端(低电平有效)DIR 方向控制端功能表:表 2.5功能表利用74LS245来驱动数码管显示,单片机的P2.0到P2.5分别接A0到A5管脚,进行数据的传送,其中AB/BA接高电平,控制数据从A到B进行传送,B0到B5分别接数码管的位选端,驱动数码管依次显示。
P2.0到P2.5的数据通过A传送到B中的数据送到数码管,以达到显示数据信息的目的。
2.4.2 显示电路多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器(图2.6)。
在显示方面,我们选用了动态显示。
静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。
占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。
利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。
为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。
图2.6 LED数码管图2.7集成数码管LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。
再把多个这样的8字装在一起就成了多位的数码管了。
在本设计仿真中使用的是6个一组的共阴8段数码管(图2.7)。
找公共共阴和公共共阳的方法:首先我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。
共阴极数码管,阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,对应的段就显示。
2.4.3 复位电路单片机的复位是由外部的复位电路实现的, 复位电路通常采用上电自动复位和按钮复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的。
除了上电复位外还需要按键手动复位(图2.8)。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源VCC接通而实现的。
单片机的复位速度比外围I/O接口电路快为能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间。
图2.8复位电路2.4.4 掉电保护电路掉电保护电路中采用了存储芯片AT24C02。
AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。
图2.9 AT24C02引脚图上图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。
引脚功能介绍如下:A0(引脚1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3A2 A1 A0 R/W。
A1(引脚2):器件地址的A1位。
A2(引脚3):器件地址的A2位。
GND(引脚4):地线。
SDA(引脚5):数据总线引脚。
SCL(引脚6):时钟总线引脚。
TEST(引脚7):测试引脚。
Vcc(引脚8):电源线引脚。
本设计采用掉电存储电路图如下:图2.10掉电存储电路2.4.5 时钟电路MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。