ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:494.99KB ,
资源ID:6147971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6147971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(里程计数器课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

里程计数器课程设计报告.docx

1、里程计数器课程设计报告XX文理学院课程设计报告课程名称: 里程计数器课程设计 专业班级: 建筑电气与智能化12101班 学生XX: 曾计生 指导教师: 李建英 完成时间: 2015年 6 月 18 日 报告成绩:评阅意见: 评阅教师 日期 XX文理学院制里程计数器一、设计任务及要求汽车里程计数器由三个部分组成:一、车辆跑动信号的采集:当车辆跑动时,转轴带动一小磁体转动,车轮和该小磁体的转动比是一定的,这里可以利用磁感应传感器来接收小磁体的信号,小磁体转动一周与磁感应传感器正对一次,传感器输出口就会产生一个大约20ms的低脉冲,使用单片机来检测传感器信号。本次设计中采用按键来模拟传感器信号,检测

2、按键按下的次数就可采集车辆的跑动信号。二、对车辆行驶的里程进行计数并利用I2C协议将数据及时保存到E2PROM中,设计中使用单片机内部的基本RAM单元来存储计数值。三、显示车辆行驶的距离,假设按键按下10次为1公里,利用6位数码管显示里程数。二、设计的作用与目的1 进一步熟悉和掌握单片机的结构及工作原理。2.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。3 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。4 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。5.学习程设计的相关

3、内容,为以后的毕业设计打下基础三、设备及软件PC机 keil uVison4软件 proteus软件四、系统设计方案1.系统设计方案 采用AT89C51芯片,用霍尔元件2将车轮的转速转换成电脉冲,经过处理后送入单片机。里程及速度的测量,是经过AT89C51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED显示器显示出来。图1单片机控制方案2.系统工作原理各单元的工作原理如下:1. 利用霍尔传感器产生里程数的脉冲信号。霍尔传感器是最具代表的磁传感器,当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并输入到单片机引脚12即P3.2外部中断0端,传感

4、器每获取一个脉冲信号即对系统提供一次计数中断2. 对脉冲信号进行计数。 实现:利用单片机自带的计数器T0对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用LED显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:采用单片机作控制,显示电路可显示里程五、 系统硬件设计1.单片机最小系统1及说明 单片机最小系统是单片机应用的最基电路,由芯片AT89C51、电源、时钟电路和复位电路组成。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。其应用广泛,生活中很多地方都有它的应用,像电子钟、出租车计价器、交通灯等。其管脚说明如

5、下:VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口

6、: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”后,它们被内

7、部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高

8、电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PS

9、EN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.里程信号的采集 里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图3所示。图3 传感器测距示意

10、图霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E,该传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,工作电压X围宽,使用非常方便。A44E的外形如图4所示。1-VCC 2-GND 3-OUT图4 A44E外形图3.显示单元电路设计由于设计要求有里程数据显示输出,所以采用6位8段LED数码管的分屏显示。显示电路由8路同相三态双向总线收发器74LS245和6位8段LED数码管组成。74LS245用于连接51单片机和LED数码管,51单片机的P0.0P0.7先接LED驱动74LS245再接数码管的AG和dp,当位P0.0为1时,对应A段点亮,以次类推。而51单片机的P

11、2.0P2.5直接与数码管相连,其6个输出口分别接到6个数码管,这样就可以进行控制6个数码管的显示。如图5所示图5 显示电路图6 8子形LED数码管常用的LED数码管有的共阴和共阳两种,本次用于显示的是8位8段共阴LED显示管六 系统软件设计1.系统主程序设计 在主程序模块中,需要完成对各接口芯片的初始化、里程计数的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程数据寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动和计程等不同的操作。主程序流程图如图7所示。当检测到传感器输入信号时,就启动计数,当计数到满后

12、,向单片机申请中断,并把圈数存扫里程寄存器中,单片机将根据里程寄存器中的内容计算行驶里程公里数,再存到相应的寄存器。数据存到寄存器中后送显示电路显示出来。 中断图7 主程序流程图2.中断服务程序当检测到里程信号输入时,计数器就开始计数,当记到10时,相当于1公里,计数器就申请中断,进行中断服务程序,送数据到相应的数据寄存单元,并进行计算。 其程序流程如图8所示。NY 图 8 中断服务程序3.显示子程序 里程数据送到相应的寄存器后,就会进行显示。本次课程设计采用动态扫描显示。数码管显示里程数程序流程图如图9。图9 显示子程序七、系统仿真调试与分析根据系统设计方案,本系统的调试共分为三大部分:硬件

13、调试,软件调试和软硬件联调。由于条件的限制。整体电路采用protues软件进行仿真,先点击开始仿真键,一开始显示为0,随着脉冲的输入,显示的数会增大,由于车轮的周长存在RAM中,单片机复位后显示为0。单片机如果仿真结果不是这样,应停止仿真进行电路检查,由于本电路图比较简单,出错可能性小,我们可从连线上找,也可分析它的电平是否正确,改正后在进行仿真直到结果跟设计的相符合。调试工具:proteus仿真软件3Keil程序仿真软件 1.进行程序编译,修改直到无误2.开始进行仿真时,显示里程数为0.3.当里程信号的输入10次,即1公里,显示1公里4.随着信号的输入,显示的里程变数大八、设计中的问题及解决

14、方法 本次课程设计设计是基于单片机,主要用到很多单片机的知识,由于涉及知识多,单片机课上半学期已结束,很多东西已忘记,于是把单片机教材浏览了一遍,把忘了的知识重新记起来。 在电路的选择上开始设计时遇到很多问题,单片机有很多新型号,比如AT89C52,AT89S52等,由于电路简单,选择AT89C51就可。在显示电路上,串行比并行需要的单片机口少得多,本次设计电路简单,选用并行比较简单。 课程设计用到两个软件,Keil uVision 和proteus,但这两个软件是比较专用的软件,不易安装好,通过在网上查找和同学的帮助,最终把他们装好。proteus软件是第一次用,因此很多东西都不知道,一开始

15、画电路图连元器件都找不到,通过单片机原理及课程设计一书的介绍和从网上找到的元器件关键字对照表及自己慢慢的摸索,最后把电路图画好。Proteus仿真时,为了源程序的正确性,先把程序放在Keil uVision 中检验,修改,在生成hex文件仿真 仿真时一开始得不到预料的结果,通过检查修改源程序和电路图最终仿真出了预想的结果九、设计心得 本次课程设计时间两周,在这两周里,我学到了很多东西。 课程设计用到的知识主要是单片机方面的,在课程设计的过程中,我对单片机知识理解加深了,以前不懂的很多东西,通过向同学老师请教,也慢慢的搞懂了。在过两周就是期末考试了,对于单片机的复习可以说是一举两得。 课程设计用

16、到两个软件:Keil uVision和proteus,Keil uVision在以前的的单片机实验中就有用到,这次再用,感觉还好,对其的基本功能与操作更熟悉了,proteus是第一次用,一开始感到很难,慢慢熟悉后用起来也就比较顺手。现在想起来觉得其实就是一些简单的东西,但是了解了proteus的基本操作,还是感到学到了东西。 课程设计虽然只有两周,但我觉得它的意义是重大的,它让我们学到了知识,学会应用知识之间的联系、整合知识。课程设计还可为以后的毕业设计打基础,如果能顺利的搞好课程设计,就能为我们搞好毕业加码。十、参考文献1曾屹.单片机原理与应用 .XX:中南大学,20092X一斌 余建坤 单

17、片机原理及课程设计 XX:中南大学,20093江世明 传感技术与应用 第二版 XX:中南大学,20093 王晓君等. MCS-51及兼容单片机原理与选型 :电子工业4 X淑清等. 单片微型计算机接口技术及其应用 :国防工业附录:附录A:电路图附录B:源程序 VSDA EQU P1.5 VSCL EQU P1.4 SLA EQU 50H NUMBYT EQU 51H MTD EQU 30H MRD EQU 40H SLAW EQU 0A0H SLAR EQU 0A1H DPHH EQU 62H TH1H EQU 6CH TH1HH EQU 6DH ORG 0000H LJMP START ORG

18、 0003H LJMP INTEX0 ORG 000BH RETI ORG 0013H LJMP INTEX1 ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETICLEARMEN: MOV TMOD,#90H MOV SP,#75H SETB PX0 SETB IT0 SETB IT1 CLR A MOV 20H,A MOV 6CH,A MOV 6DH,A MOV 70H,A MOV 71H,A MOV 72H,A MOV 73H,A MOV 60H,A MOV 61H,A MOV 62H,A MOV 63H,A DEC A MOV 68H,A

19、 MOV 69H,A MOV 6AH,A MOV 6BH,A MOV P1,ACLEAR1: P1.2,KEY1 MOV 21H,#0FH LJMP CLEAR2KEY1: P1.3,KEY2 MOV 21H,#12H LJMP CLEAR2KEY2: P1.6,KEY3 MOV 21H,#14H LJMP CLEAR2KEY3: P1.7,ERR MOV 21H,#19HCLEAR2: SETB TR1 SETB EA SETB EX0 SETB ET1 SETB P3.1 LCALL VIICREAD RETERR: CPL P3.1 LCALL DL5S LJMP CLEAR1START

20、: LCALL CLEARMENSTART1: P3.0,DISPLAYS LCALL DISPLAYVSTART2: SJMP START1INTEX0: PUSH ACC PUSH PSW INC 60H CLR A CJNE A,60H,INTEX0OUT INC 61H CJNE A,61H,INTEX0OUT INC 62HINTEX0OUT:LCALL VIICWRITE SETB EX1 POP PSW POP ACC RETIINTEX1: PUSH ACC PUSH PSW CLR EX1 JNB 00H,INTEX11 MOV TL1,#0FFH MOV TH1,#0FFH

21、 MOV 6CH,#0FFH MOV 6DH,#0FFHINTEX11: MOV 68H,TL1 MOV 69H,TH1 MOV 6AH,6CH MOV 6BH,6DH CLR A MOV TL1,A MOV TH1,A MOV 6CH,A MOV 6DH,A CLR 00H POP PSW POP ACC RETIINTT1: PUSH ACC PUSH PSW INC 6CH MOV A,6CH JNZ INTT11 INC 6DH MOV A,6DH JNZ INTT11 SETB 00HINTT11: POP PSW POP ACC RETIDISPLAYS:SETB P1.0 CLR

22、 P1.1 SETB P3.7 LCALL SSS LCALL DISPLAY LJMP START1DISPLAYV:CLR P1.0 SETB P1.1 CLR P3.7 LCALL VVV MOV A,71H SUBB A,#04H JNC WARING SETB P3.1V1: LCALL DISPLAY RETWARING: CLR P3.1 AJMP V1VIICWRITE:ACALL WMOV9 MOV SLA,#SLAW MOV NUMBYT,#09H LCALL WRNBYT RETWMOV9: MOV 5FH,#50H MOV R0,#MTD MOV R1,#5FH MOV

23、 R2,#09HWMOV: MOV A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,WMOV RETDISPLAY: MOV R1,#70H MOV R2,#0FEHPLAY: MOV A,R2 MOV P2,A MOV A,R1 ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R2 JNB ACC.3,ENDOUT RL A MOV R2,A AJMP PLAYENDOUT: SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3 RETTAB:

24、DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DB 00HSSS: MOV 19H,#64H MOV 18H,#00H MOV 17H,#00H MOV 16H,#00H MOV 11H,#00H MOV 12H,#00H MOV 13H,62H MOV 14H,61H MOV 15H,60H LCALL DIVST LCALL BCDST MOV A,25H ANL A,#0FH MOV 70H,A MOV A,25H SWAP A ANL A,#0FH MOV 71H,A MOV A,24H AN

25、L A,#0FH MOV 72H,A MOV A,24H SWAP A ANL A,#0FH MOV 73H,A RETVVV: MOV 18H,68H MOV 17H,69H MOV 16H,6AH MOV 11H,#00H MOV 12H,#00H MOV 13H,#36H MOV 14H,#0EEH MOV 15H,#80H LCALL DIVST MOV 14H,#00H LCALL BCDST MOV A,25H ANL A,#0FH MOV 70H,A MOV A,25H SWAP A ANL A,#0FH MOV 71H,A MOV 72H,#00H MOV 73H,#00H R

26、ETDL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RETDL5S: MOV R5,#0FFHDL3: LCALL DL1MS DJNZ R5,DL3 RETDIVST: CLR C MOV A,13H SUBB A,18H MOV A,12H SUBB A,17H MOV A,11H SUBB A,16H JNC LOOP4 MOV B,#10HNDIV1: CLR C MOV A,15H RLC A MOV 15H,A MOV A,14H RLC A MOV 14H,A MOV A,13H RLC A MOV 1

27、3H,A MOV A,12H RLC A MOV 12H,A MOV A,11H RLC A MOV 11H,A MOV F0,C CLR C MOV A,13H SUBB A,18H MOV 1AH,A MOV A,12H SUBB A,17H MOV 19H,A MOV A,11H SUBB A,16H F0,NDIV2 JC NDIV3NDIV2: MOV 11H,A MOV A,19H MOV 12H,A MOV A,1AH MOV 13H,A INC 15HNDIV3: DJNZ B,NDIV1 CLR F0DIVEND: RETLOOP4: SETB F0 SJMP DIVENDBCDST: MOV R7,#10H CLR C MOV 25H,#00H MOV 24H,#00HKKK: MOV A,15H RLC A MOV 15H,A MOV A,14H RLC A MOV 14H,A MOV A,25H ADDC A,25H DA A MOV 25H,A MOV A,24H ADDC A,24H DA A MOV 24H,A DJNZ R7,KKK RET END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1