




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(此文档为word格式,下载后您可任意编辑修改!)安阳师范学院本科学生毕业设计报告自行车里程表电路设计作 者陈乐乐系(院)物理与电气工程学院专 业一电气工程及其自动化年级2009 级学号091103057指导老师刘永顺日期2013.5.7诚信承诺书郑重承诺:所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成 果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究 成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。与作 者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名:日期:导师签名:日期:院长签名
2、:日期:论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交 论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用 影印、缩印或其他复制手段保存论文。保密论文在解密后遵守此规定。作者签名:导师签名:日期:2自行车里程表电路设计陈乐乐(安阳师范学院 物理与电气工程学院 河南 安阳455000 )摘要:介绍了自行车里程表研究的意义,提出了自行车里程表的设计方案,详细阐述了采 用STC89C52、霍尔传感器、LED数码管等设计制作自行车里程表的过程。关键词:里程表;单片机;霍尔传感器;LED数码管1引言自行车由于本身低碳环保及方便等优点
3、,成为居民喜爱的交通、健身工具。在这个背 景下,自行车里程表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自 行车里程表有一定的实用价值,它能计算出里程数 ,使运动者运动适量,达到健康运动与代 步的最佳效果。现在汽车上都装载有里程表,但是由于成本昂贵,不太适合应用在自行车 上。本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点,并且可进行 扩充。2设计要求(1)以单片机为控制核心,采用霍尔传感器检测自行车轮胎的运转情况,通过抗干 扰处理和计算后,由数码管显示自行车的里程;(2)总里程 999.9Km(3)可扩展显示自行车速度。3方案论证3.1方案1(1)利用霍尔传感器产
4、生里程数的脉冲信号;(2)利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数;(3)对数据进行处理,用LED显示里程数。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车里程显示功能。整个设计过程包括硬件电路的搭建,软件的编 程,系统的调试,调试通过后,固化程序,脱离开发系统运行。3.2方案2总体思路与方案1 一致,依然利用单片机自带的计数器对霍尔传感器产生里程数的脉 冲信号进行计数,但是数据显示模块采用 LCD显示,更能清晰的显示里程数。3.3方案比较本设计采用方案1,数码管低功耗,容易控制,占用 CPU资源少,价格比较便宜,比 较实用。4硬件设计4.1框图本系统是由
5、数据采集,单片机控制系统,数据存储 3部分构成。其中数据的采集是由 霍尔传感器来完成的,它的输出是矩形脉冲,经过RC滤波后就向单片机系统提供转速信号。其中关键的处理由单片机系统来完成,单片机将对INTO脚的接收的信号进行计数,信号由显示部分送 LED进行显示,显示当前的行驶里程情况。在本次行驶过后数据存入 EEPRO中,以便下次行驶时在其基础上继续计数送出显示总共的里程数,到记忆的目的。 以上所述就是整个系统的总体设计思想。利用霍尔元件对里程进行测量,将霍尔元件安装在车前叉的一侧,在车圈侧面贴一个 磁片,当磁片经过霍尔兀件时,霍尔兀件输出端的电压发生变化产生脉冲,单片机根据脉 冲数来计算里程。
6、该设计能实时地将所测的累计里程数显示出来,信号送入单片机前应对 其进行放大整形,然后通过单片机计算出里程,再将所得的数据存储到数据存储器,并由 LED显示模块交替显示所测里程。本设计的里程数的算法是一种大概的算法(假设在一定 时间内自行车是匀速行进)。原理框图如图1所示。4.2电路原理图和电路原理本设计所用的霍尔传感器是一块集成芯片,它结合了采样和放大功能于一体。首先我 们把磁钢放在自行车的转轴上,而霍尔元件就放在与其水平的转轴上,当我们完成安装后, 转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这 种变化将会导致霍尔电压变化从而产生一个方波,再通过其内部的整形和
7、放大,产生出一 个适合外部电路的脉冲电压。假定轮圈的周长为L,在轮圈上安装1个磁铁,则测得的里程值最大误差为L。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号, 并从引脚P3.2 口中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断, 每次中断代表车轮转动一圈,中断数 n轮圈的周长L的乘积即为里程值。电路原理如图 2 所示。888卞ttH: _.r.fzafrEnlssHH| 1 1 1 l lH 1H 1H 1TNIgw门:11111图2电路原理图5软件设计5.1软件编程实现5.1.1系统软件框图本系统软件采用模块化设计方法,整个系统由初始化模块、里程计算模块、数据转
8、BCD 码模块、里程显示模块、数据存储、读取模块、定时器中断服务模块以及其他功能模块组 成,如图3所示。5.1.2总体程序设计自行车里程表的软件设计包括上电初始化程序、中断子程序、里程调用子程序、LED显示子程序、延时子程序等部分,下面将分析其主要部分。在主程序模块中,需要完成对各接口芯片的初始化、自行车里程的初始化、中断向量 的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动清除标志寄 存器、里程寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别 完成启动、清除、计程等不同的操作。P1.1 口用于显示里程状态,P1.7 口用于设置轮圈的大小,低电平有效。中
9、断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲,将根据里程寄存 器中的内容计算出行驶里程数。中断1用于控制定时器T1的启停,当输入为0时关闭定时器。 此控制信号是将轮子圈数的计数经二分频后形成,其程序流程如图4所示。图4主程序流程图5.2中断子程序的设计定时中断是为满足定时或计数的需要而设置的。为此在单片机内部有两个定时计数 器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出 时,即表明计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作 为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯 片上设
10、置引入端。定时计数器控制寄存器TCO是8位寄存器,地址为88H,可以位寻址。其高4位用于定 时计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。本设计采用 定时中断,对自行车的里程进行计数。5.3里程计算子程序的设计外中断0服务程序用于对单片机P3.2 口输入的圈脉冲进行计数,为十六进制计数器。 60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转 一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算 出里程数。5.4显示子程序的设计本次设计采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-Che n
11、 Lele(School of Physics and Electical Engin eeri ng,A nyang Normal Uni versity,A nyan g,He nan455000)Abstract: The significanee of bicycle odometer is introduced, put forward the design of bicycle odometer, detailed elaborated the STC89C52, and product ion process of bicycle odometer.Key words: spee
12、dometer; single chip microcomputer; ;hall sensor; LED digital tube序号名称型号数量1单片机STC89C521个2驱动器74LS2441个3D触发器74LS741个4排阻1 K-J1个5霍尔元件A44E1个6发光二极管LED1个7晶振12MHz1个8共阴极四位数码管SMA4205641个33PF2个9电容10F1个10K11个10电阻100门1个2 K-11个11微动开关1个12电路板1块13导线若干附录2 PCB图附录3程序;中断初始化J J J J J J J J J J JORG0000H;程序执行开始地址LJMPSTART
13、;跳至STARTORG0003H;外中断0中断程序入口LJMPINTEX0;跳至INTEX0中断服务程序RETI;中断返回ORG0013H;外中断1中断入口LJMPINTEX1;跳至INTEX1中断服务程序ORG001BH;定时器T1中断程序入口LJMPINTT1;跳至INTT1中断服务程序ORG0023H;串口中断入口地址RETI;中断返回KEY:CLEAR2:MOV 21H,#19HSETB TR1;28寸自行车周长值;开定时器T1J J J J J J J J J J J J J J J J J J J J;上电初始化程序CLEARMEN:MOVSETBTMOD,#90HPX0;T1为1
14、6位外部控制定时器;外中断0优先级为1SETBIT0;外中断0用边沿触发SETBIT1;外中断1用边沿触发CLRA;清AMOV20H,A;清内存中特定单元MOV6CH,AJMOV6DH,AJMOV70H,AJMOV71H,AJMOV72H,AJMOV73H,AJMOV60H,AJMOV61H,AJMOV62H,AJMOV63H,A;清内存中特定单元DECA;A 为#0FFHMOV68H,A;内存置数据#0FFHMOV69H,A;内存置数据#0FFHMOV6AH,A;内存置数据#0FFHMOV6BH,A;内存置数据#0FFHMOVP1, A;P1 口置 1CLEAR1:JBP1.2,KEY1;根
15、据 P1.2,P1.3,P1.6,P1.7设置状态;在21H地址单元赋自行车周长值SETB SETB SETB SETB LCALL RETEAEXOET1P3.1VIICREAD;开中断允许;开外中断0;开定时中断T1;关报警器;将EEPROM中原里程数据调入内存;子程序返回J J J J J J;STARTJ J J J J JSTART:MOVSP,#75H;堆栈在75H开始LCALL CLEARMEN;上电初始化START1:JBP3.0QISPLAYS;P3.0=1,显示里程LCALLDISPLAYV;显示速度START2:SJMPSTART1;转START1循环J J J J J
16、J J J J J J J J J J J J J J J J J J J J J J1 ;里程计数程序,1J J J J J J J J J J J J J J J J J 用外中断0实现,计数用160H-62H内存单元。J J J J J J J J J J J J J J J J J J J J J J J J J J J1INTEXO:1J J J J J J J J J J J J J J J J JPUSHJ J J J J J J JACC;累加器堆栈保护PUSHPSW;状态字堆栈保护INC60H;圈加1CLRA;清ACJNEA,60H,INTEX0OUT;计数没溢出转 INTE
17、X0OUTINC61H;溢出进位(61H加1)CJNEA,61H,INTEX0OUT;计数没溢出转 INTEX0OUTINC62H;溢出进位(62H加1)INTEXOOUT:LCALLVIICWRITE;里程数据存入EEPROMSETBEX1;开外中断1POPPSW;状态字恢复POPACC;累加器恢复RETI;中断返回J J J J J J J J J J J J J J J J J J J J J J J;T1计数器中断服务程序INTT1:PUSHACC;累加器堆栈保护PUSHPSW;状态字堆栈保护INC6CH;6CH计时单元加1MOVA,6CH;移入AJNZINTT11;不等于0转INTT
18、11INC6DH;进位,6DH单元加1MOVA,6DH;移入AJNZINTT11;不等于0转INTT11SETB00H;计时器溢出,置溢出标志INTT11:POPPSW;恢复堆栈POPACCJRETI;中断返回VIICWRITE:ACALLWMOV9MOVSLA,#SLAWMOVNUMBYT,#09HLCALLWRNBYTRETWMOV9:MOV5FH,#50HMOVR0,#MTDMOVR1,#5FHMOVR2,#09HWMOV:MOVA,R1MOVR0,AINCR0INCR1DJNZR2,WMOVRET;里程显示控制程序DISPLAYS:SETBP1.0CLRP1.1SETBP3.7LCAL
19、LSSSLCALLDISPLAYLJMPSTART1;归一化EEPROM存入程序(12M时钟);点亮LED1 (显示里程状态);关闭速度指示灯;显示小数点(最小显示为0.1公里);将圈数转为公里数;显示公里数据;跳回 START1存入数在50H起单元J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J;归一化EEPROM读出程序(12M时钟),读出数放入 60H-67H单元VIICREAD:MOVMTD,#50HMOVSL
20、A,#SLAWMOVNUMBYT,#01HLCALLWRNBYTMOVSLA,#SLARMOVNUMBYT,#08HLCALLRDNBYTACALLRMOV8RETRMOV8:MOVR0,#MRDMOVR1,#60HMOVR2,#08HRMOV:MOVA,R0MOVR1,AINCR0INCR1DJNZR2,RMOVRETSSS:MOVR2,61HMOVR3,60HMOVR6,#00HMOVR7,21HMOVA,R3MOVB,R7MULABXCHA,R7MOVR5,BMOVB,R2MULAB;显示程序,显示BCD码在70H-73H单元内,采用共阴LED数码管J J J J J J J J J J
21、 J J J J J J J J J J J J JDISPLAY:J J J J J J J J J J J J J J J J J J J J J JMOVMOVJ J J J J J J J J J J JR1,#70HR2,#0FEH;显示单元首址;扫描字PLAY:MOVA,R2;扫描字入AMOVP2,A;放到端口MOVA,R1;取显示数据ANLA,#0FH;去掉高四位(为0)MOVDPTR,#TAB;取段码表首址MOVCA,A+DPTR;查显示数据对应段码MOVP0,A;段码输出LCALLDL1MS;点亮1毫秒INCR1;指向下一显示数据地址MOVA,R2;取扫描字JNBACC.3,
22、ENDOUT;已扫描到第四位,转ENDOUT退出RLA;循环左移MOVR2,A;放回R2AJMPPLAY;转PLAY循环ENDOUT:SETBP2.0;关扫描SETBP2.1;关扫描SETBP2.2;关扫描SETBP2.3;关扫描RET;扫描结束;共阴段码表(可显示0-F)TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDB00H;里程处理程序,将自行车圈数据换算成公里数ADDA,R5MOVR4,ACLRAADDCA,BMOVR5,AMOVA,R6MOVB,R3MULABADDA,R4XCHA,R6XC
23、HA,BADDCA,R5MOVR5,AMOVFO,CMOVA,R2MULABADDA,R5MOVR5,ACLRAMOVACC.0,CMOVC,F0ADDCA,BMOVR4,AMOV19H,#64H;除数最高位赋值MOV18H,#00H;除数赋值MOV17H,#00H;除数赋值MOV16H,#00H;除数赋值MOV11H,#00H;被除数赋值MOV12H,R4;被除数赋值MOV13H,R5;被除数赋值MOV14H,R6;被除数赋值MOV15H,R7;被除数赋值LCALLDIVST;调除法程序LCALLBCDST;调二进制转BCD码程序MOVA,25H;结果处理,将25H数移入AANLA,#0FH;将高四位置为0MOV70H,A;放入70H单元MOVA,25H;25H数移入ASWAPA;高低四位交换ANLA,#0FH;将高四位置为0MOV71H,A;放入71H单元MOVA,24H;24H数移入AANLA,#0FH;将高四位置为0MOV72H,A;放入72H单元MOVA,24H;24H数移入ASWAPA;高低四位交换ANLA,#0FH;将高四位置为0MOV73H,A;放入73H单元RET;子程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地铁竖井罩棚施工方案
- 景观树基础施工方案
- 海安工装拆除施工方案
- 水中微型桩施工方案
- 悬浮楼梯施工方案
- 寿光路牙石施工方案
- 工艺灯安装施工方案
- 二零二五年度劳动合同期限与绩效考核结果关联合同
- 二零二五年度合同解除后债务重组协议
- 二零二五年度咖啡连锁店加盟经营合同
- 《住院患者身体约束的护理》团体标准解读课件
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
- 2024年黑龙江建筑职业技术学院单招职业适应性测试题库全面
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- GB/T 28799.2-2020冷热水用耐热聚乙烯(PE-RT)管道系统第2部分:管材
- 10000中国普通人名大全
- 公路工程竣工验收鉴定书
- 项目章程模板范文
- 耳尖放血疗法治疗高血压病技术
- 泰山产业领军人才工程系统
- 轮扣架支模体系材料量计算
评论
0/150
提交评论