毕业设计论文自行车里程速度计的设计

上传人:沈*** 文档编号:67722885 上传时间:2022-03-31 格式:DOC 页数:27 大小:1.25MB
收藏 版权申诉 举报 下载
毕业设计论文自行车里程速度计的设计_第1页
第1页 / 共27页
毕业设计论文自行车里程速度计的设计_第2页
第2页 / 共27页
毕业设计论文自行车里程速度计的设计_第3页
第3页 / 共27页
资源描述:

《毕业设计论文自行车里程速度计的设计》由会员分享,可在线阅读,更多相关《毕业设计论文自行车里程速度计的设计(27页珍藏版)》请在装配图网上搜索。

1、目 录内容摘要1关键词11.概述12.硬件设计22.1单片机AT89S5122.1.1单片机AT89S51简介22.1.2单片机AT89S51引脚22.2芯片24C0242.3霍尔开关44E52.4液晶1602 52.5系统硬件电路72.5.1系统原理图7 2.5.2单片机和复位晶振电路82.5.3液晶1602电路 92.5.4 ISP下载口102.5.5 AT24C02芯片112.5.6 电源电路、排插、排阻等其他电路112.5.7 电路PCB图133.程序设计 133.1头文件、管脚定义和函数声明133.2中断143.3函数主体153.3.1 Main函数15 3.3.2 LCD1602

2、17 3.3.3 AT24C02 173.4硬件应用层驱动184 系统调试 214.1 系统实物图 214.2 程序的下载与调试 214.2.1AT89S52 ISP 功能简介 21 4.2.2 烧写程序234.2.3 软件的调试245 总结 24参考文献 25Abstract 25Keywords 26自行车里程、速度计的设计【内容摘要】随着人们生活水平的日益提高,自行车除了作为代步工具之外,又渐渐的多了很多附加价值,成为了人们一种娱乐、休闲和锻炼的手段之一。在不断提倡低碳环保的趋势下,自行车出行的优越性越来越突出,自行车里程/速度计能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里

3、程等物理量。本论文主要阐述一种基于霍尔元件的自行车里程/速度计的设计。以 AT89C51 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LCD1602实时显示。文章详细介绍了自行车里程/速度计的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,符合设计要求。【关键词】里程/速度;霍尔元件;单片机1.概述单片微型计算机简称单片机,是典型的嵌

4、入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,18551938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效

5、应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。以AT89S51单片机为核心设计自行车里程、速度计。本设计可以实时现实自行车当前的速度和已经行走过的里程,采用霍尔元件44E采集数据,24C02芯片存储数据做到掉电时保存数据,上电后恢复里程信息,1602液晶完成显示功能。2.硬件设计2.1单片机AT89S512.1.1单片机AT89S51简介图 1 AT89S51单片机AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写

6、1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。2.1.2单片机AT89S51引脚VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0

7、外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在

8、给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输

9、入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PRO

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

11、储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2芯片24C02串行E2PROM是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。随着世界

12、上各公司对该器件的开发,市场上推出了许多牌号的24C02器件,甚至还有一些冒牌的24C02器件,这样就使批量生产的单片机控制系统的质量出现时好时坏的问题。笔者经过大量的设计实践和试验摸索找出了24C02在应用中之所以出现数据被冲掉的原因,并总结了一套保护24C02数据安全的软硬件设计方法。图 2 24C02芯片2.3霍尔开关44E霍尔传感器(简称霍尔开关)44E/OH44E 霍尔传感器霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数

13、字电压讯号。开关型霍尔传感器(简称霍尔开关)是一种新型的集成电路无触点开关,其外形尺寸和内部结构如图25所示。其中A是恒压源;B是霍尔电势发生器(霍尔片);C是差分放大器;D是施密特触发器;E是集电极开路(OC门)输出。图中从左到右是霍尔开关的三个引出端,分别为电源U+,接地GND和输出OUT。其工作原理为:在第一和第二端输入电压Uc,经稳压器稳压后加在霍尔片的两端。由霍尔效应原理知:当霍尔片处在磁场中时,霍尔电势发生器就会有一个霍尔电压UH输出,该UH经放大器放大后,送至施密特触发器整形,当施加的磁场达到该器件的工作点时,施密特电路翻转,使OC门开关。2.4液晶1602图 3 LCD1602

14、 正面图 4 LCD1602 反面1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚说明:1602LCD采用标准的16脚(带背光)接口编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极 图5 读操作时序图6 写操作时序图7 LCD1602内部显示地址2.5系统硬

15、件电路2.5.1系统原理图图8 系统原理图2.5.2单片机和复位晶振电路使用的4MHZ的晶振,与两个电容组成晶振电路。一个10K欧电阻和10u电容连接9脚组成复位电路。EA/VPP接高电平,PSEN和ALE/PROG放空。图9 主控单元2.5.3液晶1602电路液晶1602也是标准的解法。由于1602内部有相应的电阻,R5可以去掉,也可以使用较小的电阻,背光灯都能正常发光。根据以往使用1602液晶的经验,电阻R2可以使用2.2千欧的电阻,解析度恰好合适,故没有使用可调电阻。图10 液晶1602插口连接电路2.5.4 ISP下载口考虑到串口并口的方式不方便,所以使用USBISP下载线,方便下载程

16、序,而且不需要从电路板上拔下器件。采用ISP下载,也方便已经编程的器件可以用ISP的方式擦除或再编写。下载口采用标准接法,3脚放空。图11 下载口电路2.5.5 AT24C02芯片由于AT24C02是之后加的,使用杜邦线连接,而且单片机各个引脚都加了排阻,所以AT24C02芯片的7脚和8脚都没有加电阻,能正常工作。图12 AT24C02电路2.5.6 电源电路、排插、排阻等其他电路电源部分,包括开关和指示灯等,留有排针备用。图13 电源电路单片机每个口都加了排针和排阻方便使用。图14 排针排阻按键,接到单片机P3.3口,为清除AT24C02使用。图15 按键电路2.5.7 电路PCB图使用单面

17、板,顶层电路使用跳线连接。图16 系统PCB封装3 程序设计3.1头文件、管脚定义和函数声明由于没有设置按键,所以把自行车的周长设置为1.98m,预设在程序里。#include REG2051.H #include INTRINS.H #define uchar unsigned char #define uint unsigned int #define girth 39600 #define girth_h 1 #define girth_l 98 管脚定义#define LCM0802B_IO P1 sbit LCM0802B_RS = P37; sbit LCM0802B_RW = P

18、36; sbit LCM0802B_EN = P35; sbit KEY = P33; sbit SIGN = P32; sbit AT24C02_SDA = P31; sbit AT24C02_SCL = P30; 液晶的驱动和函数的定义,包括读和写 void LCM_RD_BUSY(void); void LCM_WR_CMD(uchar); void LCM_WR_DAT(uchar); void LCM_WR(uchar,uchar); 芯片24C02的驱动和函数,包括启动、挺迟、时钟和读写void AT24C02_START(void); void AT24C02_STOP(void

19、); void AT24C02_CK(void); void AT24C02_WR_byte(uchar); uchar AT24C02_RD_byte(void); uchar AT24C02_RD(uchar); void AT24C02_WR(uchar,uchar); 函数定义和初始化 void _init(void); void AT24C02_WRAMD(void); void _nus(uchar); void _nms(uchar); void dis_dis(void); 使用到的变量定义 uchar d_var4=0,0,0,0; uint timej; uint int_

20、tp; bit flg_cal; bit sf; uint sj; bit sen; 3.2中断定时函数,其周期为500us超过3.5秒无中断相应,默认判断当前速度为0,最小速度为2.04km/hvoid T0_SEV(void) interrupt 1 using 1 TR0 = 0; ET0 = 0; TH0 = 0xff; TL0 = 0x5a; timej+; if(timej = 7000) int_tp = timej; timej = 0; flg_cal = 1; if(sj0) sj-; ET0 = 1; TR0 = 1; 外部中断的函数 void Int0_SEV(void

21、) interrupt 0 using 0 EX0 = 0; int_tp = timej; timej = 0; flg_cal = 1; EX0 = 1; 3.3函数主体3.3.1 Main函数 void main() _init(); while(1) if(!KEY) _nms(2); if(!KEY) uchar key_tp = 200; EA = 0; timej = 0; do key_tp-; _nms(3); while(!KEY&key_tp0); EA = 1; if(key_tp=0) d_var0 = 0; d_var1 = 0; d_var2 = 0; d_var

22、3 = 0; _nus(20); dis_dis(); sj = 3000; sf = 1; LCM_WR(0x80,0x06); AT24C02_WRAMD(); while(!KEY) while(!KEY); _nms(2); if(flg_cal) if(int_tp = 7000) LCM_WR(0x81,0x20); LCM_WR(0x82,0x30); LCM_WR(0x84,0x30); else sen = 1; if(int_tp143) int_tp = girth/int_tp; int_tp = (int_tp*18)/5; LCM_WR(0x84,(int_tp%1

23、0)+0x30); int_tp = int_tp/10; LCM_WR(0x82,(int_tp%10)+0x30); if(int_tp99) d_var3-=100; d_var2+; d_var2 += girth_h; if(d_var299) d_var2-=100; if(d_var1=99) d_var1=0; if(d_var0=99) d_var0=0; else d_var0+; else d_var1+; dis_dis(); int_tp = 0; flg_cal = 0; if(sj = 0) sj = 3000; if(sen) sen = 0; LCM_WR(0

24、x80,0x06); sf = 1; AT24C02_WRAMD(); if(sf & sj99 | d_var199 | d_var299 | d_var399) d_var0 = 0; d_var1 = 0; d_var2 = 0; d_var3 = 0; AT24C02_WRAMD(); KEY = 1; SIGN = 1; TMOD = 0x01; TH0 = 0xff; TL0 = 0x5a; ET0 = 1; TR0 = 0; PX0 = 1; IT0 = 1; EX0 = 0; timej = 0; int_tp = 0; flg_cal = 0; sf = 0; sj = 30

25、00; sen = 0; _nms(255); 初始化界面,清零,输出0.0、km/h、kmLCM_WR_CMD(0x01); LCM_WR(0x82,0x30); LCM_WR(0x83,0x2e); LCM_WR(0x84,0x30); LCM_WR(0x85,0x6b); LCM_WR(0x86,0x6d); LCM_WR(0x87,0x07); LCM_WR(0xc3,0x2e); LCM_WR(0xc6,0x6b); LCM_WR(0xc7,0x6d); dis_dis(); _nms(56); EX0 = 1; TR0 = 1; EA = 1; 3.4硬件应用层驱动void dis

26、_dis(void) if(d_var09) LCM_WR(0xc0,(d_var0/10)+0x30); LCM_WR(0xc1,(d_var0%10)+0x30); else LCM_WR(0xc0,0x20); if(d_var00) LCM_WR(0xc1,d_var0+0x30); else LCM_WR(0xc1,0x20); LCM_WR(0xc2,(d_var1/10)+0x30); LCM_WR(0xc4,(d_var1%10)+0x30); LCM_WR(0xc5,(d_var2/10)+0x30); 写入RAM数据 void AT24C02_WRAMD(void) uch

27、ar mem_wram; for(mem_wram=0;mem_wram0;us-) ; 大延时4.6ms void _nms(uchar ms) for(;ms0;ms-) _nus(255); 读 void LCM_RD_BUSY(void) uchar lcm_rdby = 0x00; LCM0802B_RS = 0; LCM0802B_RW = 1; LCM0802B_EN = 1; LCM0802B_IO = 0xff; do lcm_rdby = LCM0802B_IO; while(lcm_rdby&0x80); _nop_(); 写操作 void LCM_WR_CMD(ucha

28、r lcm_cmd) LCM_RD_BUSY(); LCM0802B_RS = 0; LCM0802B_RW = 0; LCM0802B_EN = 1; LCM0802B_IO = lcm_cmd; _nop_(); LCM0802B_EN = 0; _nop_(); 写数据 void LCM_WR_DAT(uchar lcm_wrdat) LCM_RD_BUSY(); LCM0802B_RS = 1; LCM0802B_RW = 0; LCM0802B_EN = 1; LCM0802B_IO = lcm_wrdat; _nop_(); LCM0802B_EN = 0; _nop_(); vo

29、id LCM_WR(uchar lcm_xy,uchar lcm_dat) EA = 0; LCM_WR_CMD(lcm_xy); LCM_WR_DAT(lcm_dat); EA = 1; 24c02启动 void AT24C02_START() AT24C02_SDA = 1; _nop_(); AT24C02_SCL = 1; _nop_(); AT24C02_SDA = 0; _nop_(); AT24C02_SCL = 0; _nop_(); 24c02停止 void AT24C02_STOP() AT24C02_SDA = 0; _nop_(); AT24C02_SCL = 1; _

30、nop_(); AT24C02_SDA = 1; _nop_(); void AT24C02_WR_byte(uchar mem_wrbt) uchar mem_wrtp,mem_wrbtp; mem_wrbtp = mem_wrbt; for (mem_wrtp=8;mem_wrtp0;mem_wrtp-) mem_wrbtp = mem_wrbtp0;mem_rdtp-) _nop_(); AT24C02_SCL = 1; _nop_(); if (AT24C02_SDA) mem_rdbit = 1; else mem_rdbit = 0; mem_rdbt=(mem_rdbt0) me

31、m_ck-; AT24C02_SCL = 0; _nop_(); uchar AT24C02_RD(uchar mem_rdaddr) uchar mem_rd; AT24C02_START(); AT24C02_WR_byte(0xa0); AT24C02_CK(); AT24C02_WR_byte(mem_rdaddr); AT24C02_CK(); AT24C02_START(); AT24C02_WR_byte(0xa1); AT24C02_CK(); mem_rd = AT24C02_RD_byte(); AT24C02_STOP(); _nms(4); return mem_rd;

32、 void AT24C02_WR(uchar mem_wraddr,uchar mem_wrinfo) EA = 0; AT24C02_START(); AT24C02_WR_byte(0xa0); AT24C02_CK(); AT24C02_WR_byte(mem_wraddr); AT24C02_CK(); AT24C02_WR_byte(mem_wrinfo); AT24C02_CK(); AT24C02_STOP(); EA=1; _nms(3); 4 系统调试4.1 系统实物图图17 系统实物图4.2 程序的下载与调试4.2.1AT89S52 ISP 功能简介一串行数据的输入与输出时

33、序数据在SCK 的上升沿输入到S52,SCK 的下降沿输出。另外必须保证串行时钟SCK 的周期至少大于6 个CPU 时钟(XTAL1 上的)周期。二串行编程算法1. 上电过程在VCC 和GND 间加上电源的同时RST 脚加高电平。之后至少要等待10ms。2发送串行编程使能命令如果通信失步则串行编程失败。如果同步则在编程时钟的第四个字节器件响应0X69,表示编程使能命令成功。不论响应正确与否,必需保证四字节的时钟周期。3写程序通过写指令可对程序存储器的每一字节进行编程。一个写指令使单片机进入自定时的编程模式,在5V 编程电压下典型编程时间少于1ms。4读程序任意位置的程序数据可通过读指令从引脚步

34、MISO/P1.6 读出,可用来校验写入的数据。5编程操作结束后将RST 引脚拉低,使器件进入正常工作模式。三编程指令表 6-2 AT89S52 ISP 下载命令指 令 格 式指 令字节1字节2字节3字节4编程使能1010 11000101 0011xxxx xxxx0110 1001(输出)器件擦除1010 1100100x xxxxxxxx xxxxxxxx xxxx读(字节模式)0010 0000xxxA12-A8A7-A0D7-D0写(字节模式)0100 0000xxxA12-A8A7-A0D7-D0写锁定位1010 11001110 00B1B2xxxx xxxxxxxx xxxx读

35、锁定位0010 0100XXXX XXXXxxxx xxxxxxLB3 LB2 LB1 xx读厂标0010 1000XXXA5-A0xxxx xxxx厂标字节读(页模式)0011 0000XXXA12-A8Byte 0Byte1-255写 (页模式)0101 0000XXXA12-A8Byte 0Byte1-255注:1. 锁定位与模式对应模式1(B1=0、B2=0):无锁定保护模式2(B1=0、B2=1):内部锁定位1(LB1)有效模式3(B1=1、B2=0):内部锁定位2(LB2)有效模式4(B1=1、B2=1):内部锁定位3(LB3)有效2.将Reset 拉高后SCK 至少保持64 个时

36、钟周期才可执行编程允许命令,在页读写中命令和地址后数据由0到255 的顺序传送,只有接收完这256 字节的数据后下一个指令才能就绪。图18下载线4.2.2 烧写程序确认硬件连接正确后,先安装驱动。图19 USBasp_Win驱动打开软件“AVR_fighter”。点击“读取”确认找到并识别到单片机后,装在十六进制文件,点击“芯片编程”将程序下载到单片机。图20 下载软件AVR_fighter4.2.3 软件的调试 软件的调试比较重要,也是错误最多的部分。在整个调试过程中,我采用先部分再整体的调试方法。在整个程序的编写和调试的过程中,我先调试LCD1602显示系统,确认能正常显示后再调试其他部分

37、。霍尔开关使用示波器观察,注意霍尔开关44E是开漏输出。在示波器上观察到,当磁铁靠近的时候,输出低电平。在程序调试过程中,发现需要用到24C02,所以使用杜邦线外接了一个24C02芯片。5 总结做这次毕业设计历时有两个月,主要工作可以分为以下四大块:设计原理图、画pcb图、调试实验板、调试程序。 在原理图的设计过程中,考虑得不够周到,有很多地方设计得不够合理。比如,最初设计时没有考虑到存储的问题,而是在编写程序时想到需要存储单元。庆幸的是,设计时VCC、GND和单片机各个口都留了排针来备用。由于本人选择的是手工单面板,所以器件都选择了直插的。为了使铜板的面积减小,使得PCB图的绘制成了一个复杂

38、的过程,花了很长时间去安排各个元件的位置,其间放弃了四到五次,全部删掉,再重新导入重画。最后基本能合理安排各个元件,但还是不可避免的使用了5根跳线。同时,还有很多地方是值得改进的,比如LCD1602的位置,可以反过来,用它挡住单片机,从而使板的面积减小。程序设计的过程还算比较顺利,除了加AT24C02以外,都是一些细节上的问题。虽然功能可以实现,但回头观察发现很多地方都写得过于啰嗦,还需要修改和删减。调试过程遇到的困难主要集中在霍尔开关。由于没有找到44E的资料,只能自己摸索,尝试了很久都没有输出,之后偶然发现应该选用开漏输出,终于在示波器上看到了波形。回顾这次设计过程和结果,有如下几点值得改

39、进:1. 设计PCB时把AT24C02加进去2. 使用电池盒才能更符合实际3. 磁铁应用合适的磁钢以便放到钢丝上4. 可以考虑加入按键,从而能设置轮子的周长或者半径,以适合不同自行车总的来说,通过本次设计,我有很大的收获,在设计过程中,一定要注意每个工作步骤的检查,才能确保设计成功。设计中免不了遇到一些棘手的问题,这要求保持沉着冷静,联系书本理论知识积极地思考,实在解决不了可以请教同学或指导老师。最后在老师以及同学的帮助下实现了整个系统设计与最后调试,相关指标达到期望的要求,很好地完成了本次设计任务。参考文献1徐爱钧,彭秀华 主编,Keil Cx51 V7.0单片机高级语言编程与Vision2

40、应用实践M. 电子工业出版社,2004.6.2PLC程序设计法,广西师范大学物电系选编3常斗南 主编,可编程控制器 机械工业出版社 1998.74刘瑞新 编著,单片机原理及应用教程M. 机械工业出版社,20047.5彭伟 编著,单片机C语言程序设计实训100例 电子工业出版社2009年06月【Abstract】With the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes one of

41、 choices of entertainments and exercising. The bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89C51 as kernel, using A44E

42、Hall element to measure revolution, the measure and statistic are achieved. The range information are saved by AT24C02 when the power is off, the bicycle speed can be displayed on LCD1602. In this article, the hardware circuit and software design of bicycle mileage/speed instrument are introduced in

43、 detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language, and the program is designed in the mode of modules. The system has simple hardware, common sub-program and meets the demand of design.【Keywords】 Mileage / speed; Hall element; Single Chip Microcomputer

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!