欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    毕业设计(论文)-基于单片机的自行车码表设计.doc

    • 资源ID:3284007       资源大小:529.02KB        全文页数:44页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于单片机的自行车码表设计.doc

    基于单片机的自行车码表设计基于单片机的自行车码表设计摘 要 随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。自行车码表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自行车里程表有一定的实用价值。它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动。 本设计以AT89C51单片机为主控制芯片,128*64 LCD为显示终端显示自行车时速、里程等信息及系统设置等,统设置菜单能够人工设置设备安装信息以提高测量精度,提供时速、里程、平均速度、时间等信息,时还附加一报警功能,当行驶到预设里程和速度时,系统会自动报警,提醒已经达到预设运动量。 本设计主要包括自行车轮脉冲采集、键盘输入和数据显示等部分,主程序用C语言编写,完成各项功能及数据的处理,通过Keil C来完成程序的编写和下载,通过单片机实验开发板具体实现自行车码表各项功能。关键词 ST1101 AT89C51 LCD ZLG7290 报警THE DESIGN OF BASING ON MCU BICYCLE STOPWATCHABSTRACT With the improvement of life level, bike is not only the transport tool but also its auxiliary function become more and more import. Therefore, people hope that the function of amusement, leisure and exercise of bike become more and more; and bring more health and happy. As one import auxiliary function of bike stopwatch develops quickly. The design of stopwatch is scientific, reasonable and beautiful; and it also has its practical value. Stopwatch can calculate speed and distance, reflects true exercise state; based on this exerciser can adjusts exercise strength so that it can reach the best effect of healthy exercise. This project takes AT89C51 MCU as main control chip and takes 128*64 LCD as terminal display which displays speed per hour, distance and system set. In the system set menu people can set install information to improve measure precision. Besides, it appends alerting function. When reach the distance and speed set in advance, the system will alert automatically to remind exerciser that he has reached exercise strength set in advance. This project mainly includes bicycle wheel pulse acquisition, keyboard input and data shows. The main program is compiled by C language which is to do initialization and keyboard dealing; the compiler and download of program are done by Keil C, and the various functions of the bicycle are realized concretely by the SCM experiment development board.KEY WORDS ST1101 AT89C51 LCD ZLG7290 alert40基于单片机的自行车码表设计目 录摘要IABSTRACTII前言11 绪论21.1 开发背景及意义21.1.1 课题背景21.1.2 课题的意义21.2 Keil C 介绍21.3 设计内容32 系统方案论证与分析42.1 系统方案42.1.1 系统概述42.1.2 系统原理42.2 采集信息部分以及传感器的选择52.3 主控芯片选择62.4 数据处理并显示模块62.4.1 多位LED数码管显示62.4.2 128*64 LCD显示72.5 键盘部分及所需芯片选择82.5.1 键盘设计方案82.5.2 ZLG7290芯片特点93 系统硬件设计103.1 系统设计图103.2 AT89C51主控芯片113.3 脉冲发生源133.3.1 轮脉冲检测133.3.2 信号预处理电路133.3.3 E2PROM AT24C02 的应用143.4 显示模块153.4.1 显示资料RAM(DDRAM)163.4.2 绘图RAM(GDRAM)163.5 键盘及ZLG7290芯片173.5.1 芯片引脚及说明173.5.2 引脚功能184 系统软件设计194.1 软件系统设计194.2 液晶显示204.2.1 液晶显示程序流程204.2.2 显示器具体指令214.3 键盘输入部分24致 谢26参考文献27附 录28前言 随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。 码表主要针对那些业余爱好者,他们运动一般会选择晴朗凉爽的天气进行运动,所以温度和风速对运动员几乎没影响,只要能精确的测量速度和里程以及时间即可。并能在运动员达到预期运动量后能准确提醒运动员已达到预期要求。 本设计以AT89C51单片机为主控芯片,把霍尔传感器传来的脉冲信号进行处理,预算,精确的计算出行驶的速度和里程,然后在传送给LCD显示器,从LCD上显示出运动的一系列数据,而且还可以通过显示器进行人机对话,可以通过显示器和键盘进行一些参数的设置,比如像将要安装的自行车的轮圈的半径设置,以及预设运动量的和时间的设置。这些都需要通过显示器进行设置,其中的时间是用芯片内自带的计数器进行计数的。 本设计是以AT系列单片机为主控制芯片,采用霍尔元件检测小车行驶速度。程序用C语言编写,由主程序、外部中断服务程序、定时器中断服务程序、延时子程序等模块组成。主程序主要完成程序的初始化和键盘处理,外部中断服务程序由测量、计算、读数等部分组成。1 绪论1.1 开发背景及意义1.1.1 课题背景 随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果. 码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动,也便于收集骑行数据供自己或队友们进行参考和对比。 自行车码表一般由安装于前车圈钢条上的感应磁铁、前叉上的感应器、顺着前叉蜿蜒而上的连接线、置于握把上面的码表座和座上面的码表。码表的工作原理是:车圈旋转时感应器捕捉到感应磁铁带来的信息,通过连接线传输至码表,码表对此进行处理后计算出时速、里程等信息并显示。它能够让我们比较精确的知道自己的当前速度、骑行时间、单次里程、总里程、平均速度、最高速度等。1.1.2 课题的意义本设计就是针对普通运动员在运动中不能很好的把握自己达到了多大的速度,行驶了多远的距离而设计的。以往的码表只能进行测量速度,里程,时间,温度等数据,虽然能实现很多的功能,但是其中的一些功能不适合自行车业余爱好者,浪费资源,而且性价比也低,而且也不能很好的把握当前运动量,从而不能很好的实现娱乐和锻炼的效果。而本设计却能实现娱乐和锻炼的双重效果,而且相对业余爱好者性价比更高。1.2 Keil C 介绍 Keil C51 µVision3集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。 Keil C51集成开发环境的主要功能有以下几点: (1) µVision3是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中。 (2) C51国际准化C交叉编译器,从C源代码产生可重定位的目标模块。 (3) A51宏汇编器,从80C51汇编源代码产生可重定位的目标模块。 (4) BL51链接器/定位器,组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块。 (5) LIB51库管理器,从目标模块生成连接器可以使用的库文件。 (6) OH51目标文件至HEX格式的转换,从绝对目标模块生成Hex文件。 (7) RTX-51实时操作系统,简化了复杂的实时应用软件项目的设计。 此软件可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平。支持在线仿真,纯软件信仿真,多种调试方式(单步、全速等),其应用相对简单,很容易就可以掌握该软件的基本操作用法,可以用C语言和汇编两种语言进行编程,还可混编,支持C语言的编程对初学者提供了很大方便,在调试过程中,可通过相关工具,直接查看变量的即时结果,目标代码的生成也容易。1.3 设计内容1. 以AT89C51单片机为主控制芯片。2. 以128*64 LCD为显示终端显示自行车时速、里程等信息及系统设置等系统设置菜单。3. 能够人工设置设备安装信息以提高测量精度,提供时速、里程、平均速度、时间等信息。4. 能够预设运动量(比如预设速度,里程),实现报警功能。2 系统方案论证与分析2.1 系统方案2.1.1 系统概述 系统总体设计框图如图2-1所示。本系统由信号预处理电路、单片机AT89C51、128*64LCD显示模块、键盘控制和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LCD模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。键盘控制信号放大器数字存储电路单片机LCD显示整形电路图2-1 系统总体设计框图2.1.2 系统原理 该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LCD 显示模块显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。本设计的速度和里程值采用8 位显示,并包含两个小数位。2.2 采集信息部分以及传感器的选择 信息采集部分可以选用的传感器种类很多,例如磁感应传感器,光电感应传感器,金属传感器等,而考虑到实际可操作性以及设计要求方面,本设计选用的传感器为光电传感器。 霍尔传感器由永久磁铁和开关型霍尔集成电路组成。霍尔集成电路由霍尔元件、放大器、整形电路及集电极开路输出等部分组成,其功能是把磁信号转换成电信号,霍尔元件为磁敏元件,当垂直于霍尔元件的磁场强度发生变化时,其两端的电压就会发生变化,经放大和整形即可输出脉冲电信号。ST1101采用高输出的红外光电二极管与高灵敏度光敏晶体管组成,其特点是性能可靠,体积小,结构简单,广泛应用于码表,其主要参数如表2-1所示。表2-1 主要参数输入正向电流IF50mA反向电压Vr6v耗散功率P75mW输出集-射电压Vceo25V射-集电压Veco6V集电极功耗Pc50mW2.3 主控芯片选择码表主要以单片机为主控芯片,而能实现其功能的芯片却有很多,本设计选用的是AT89C51。AT89C51是一个低电压,高性能CMOS 8位单片机,带有4K字节的可反复擦写的程序存储器(PENROM)和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。2.4 数据处理并显示模块2.4.1 多位LED数码管显示 一、数码管动态显示有多位LED数码管显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由FPGA的一个8位的I/O口控制,而每一位LED数码管的公共阴极或者公共阳极分别由FPGA的其它的I/O口线控制。对于8位的LED数码管显示,可用采用程序控制的方法,通过不断的移位发送选中要显示的数码管。可见在整个显示模块中至少要9根I/O口线。因为是动态显示,所以需要定时刷新LED数码管。为了稳定的显示,在多位LED数码管显示时需要有很高的数据刷新频率,否则会导致显示效果有些闪烁。二、数码管静态显示在多位LED数码管显示时,为了能够显示效果较好,简化电路,把每一位LED数码管的公共阴极或公共阳极通过串行限流电阻后接地或者接+5V,而每位LED数码管的段选线(a、b、c、d、e、f、h)与一片74LS164的4位并行输出口相连接。因为FPGA是并行工作的,故此时FPGA同时发送36个数据用于锁定9个显示的数码管。这样不用通过不断地刷新来改变显示数据,也没有延时,数码管也不会因为频率低而闪烁,只有FPGA发送的数据改变时数码管才发生相应改变。2.4.2 128*64 LCD显示一、128*64LCD串口方式显示当PSB脚接低电位时,模块将进入串行模式。从一个完整的串行传输流程来看,一开始先传输起始字节,它需先接收到五个连续的1(同步位字符串),在起始字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八位则为0。在接收到同步位及RW和RS资料的起始字节后,每一个八位的指令将被分为两个字节接收到:高4位(DB7DB4)的指令资料将会被放在第一个字节的LSB(最低有效位)部分,而低4位(DB3DB0)的指令资料则会被放在第二个字节的LSB部分,至于相关的另四位则都为0。二、128*64LCD并口方式显示当PSB脚(OCMJ4X16A/B)接高电位时,模块将进入并行模式,在并列模式下可由指令DL FLAG 来选择8位或4位接口,主控制系统将配合(RS , RW , E , DB0DB7)来达成传输动作。从一个完整的流程来看,当下设定地址指令后(CGRAM,DDRAM)若要读取数据时需先DUMMY READ一次,才会读取到正确数据,第二次读取时则不需DUMMY READ ,除非再进行下设定地址指令才需再次DUMMY READ。在4位传输模式中,每一个八位的指令或数据都将被分为两个字节动作:较高4位(DB7DB4)的资料将会被放在第一个字节的(DB7DB4)部分,而较低4位(DB3DB0)的资料则会被放在第二个字节的(DB7DB4)部分,至于相关的另四位则在4位传输模式中DB3DB0接口未使用。鉴于串口口传输方式可以大大地减少系统的I/O口使用量,并且可以提高系统的准确性,故采用串口传输方式。本设计采用的是128*64LCD液晶显示。主要参数:(1)工作电压(VDD):4.55.5V;(2)逻辑电平:2.75.5V;(3)LCD驱动电压(Vo):07V;(4)工作温度(Ta):055(常温)/-2075(宽温);(5)保存温度(Tstg):-1065(常温)/-3085(宽温)。2.5 键盘部分及所需芯片选择2.5.1 键盘设计方案键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况。非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构。首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。键盘是单片机系统设计中一种主要的信息输入接口,合理的设计,不仅可以节省系统的设计成本,更可使仪器设备的操作变得更为简单、方便,很大程度上提高系统综合性能。本设计中,码表要设置很多参数,所以需要输入很多数据,所以本设计中的键盘部分是选用的ZLG7290 I2接口键盘。键盘只需要12个,分别为09十个数和小数点以及确认键。2.5.2 ZLG7290芯片特点 选用的ZLG7290具有以下特点:(1) I2C串行接口,提供键盘中断信号,方便与处理器接口;(2) 可驱动8位共阴数码管或64只独立LED和64个按键;(3) 可控扫描位数可控任一数码管闪烁;(4) 提供数据译码和循环,移位,段寻址等控制;(5) 8个功能键,可检测任一键的连击次数;(6) 无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;(7) 提供工业级器件,多种封装形式PDIP24,SO24。 3 系统硬件设计3.1 系统设计图图3-1 系统电路图128*64LCD显示器ZLG7920芯片AT89C51主控芯片喇叭传感器键盘AT24C02图3-2 系统框图系统电路图如图3-1所示,系统框图如图3-2所示。本设计采用的是128*64液晶显示器,以ZLG7290作为控制芯片的键盘,以AT89C51作为系统的主控芯片。3.2 AT89C51主控芯片AT89C51通用寄存器如下:ACC:最重要的暂存器,运算资料转移都通过ACC。PC:程序计数器,记载着程序下一个待执指令位址。B暂存器:用于乘法,除法指令的辅助暂存器。PSW程序状态字组:记录程序运作时,CPU各种状态。SP堆栈指示器:重置(RESET)時,堆栈指示器设为07H。DPTR数据指针暂存器:16位元暂存器,由DPH、DPL两个8位元暂存器阻成。工作寄存器:共有 RB0、RB1、RB2、RB3四组工作寄存器。每个寄存器组有8个8位寄存器,分別为R0、R1、R2、R3、R4、R5、R6、R7。AT89C51最小系统电路图如图3-3所示。图3-3 最小系统电路图数据存储结构如表3-1所示:表3-1 系统结构存储结构FFH-80H8051特殊功能暂存器(SFR)或是8052的间接定址资料区7FH-30H使用者的一般资料存放区(亦可透过SP设定,存放堆叠资料)20H-2FH可位元定址区(20.0-20.7.2F.0.-2F.7)10H-1FH暂存器库 RB3(R0-R7)10H-17H暂存器库 RB2(R0-R7)08H-0FH暂存器库 RB1(R0-R7)00H-07H暂存器库 RB0(R0-R7)3.3 脉冲发生源3.3.1 轮脉冲检测本设计采用了ST1101红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从而形成一个脉冲。该系统在自行车后轮的轴处保持着与轮子旋转切面平行的方向延伸附加一个铝盘,在这个铝盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当铝盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。把这些脉冲通过一系列的波形整形成单片机可以识别的TTL电平,即可算出轮子即时的转速。铝盘的圆孔的个数决定了测量的精度,个数越多,精度越高。这样就可以在单位时间内尽可能多地得到脉冲数从而避免了因为两个过孔之间的距离过大,而车子正好在过孔之间或者是在下个过孔之前停止了,造成较大的误差。本设计在铝盘过孔的设计上采用11个过孔,从而留下了10个同等的间距这样在以后的软件设计中能够较为方便的计算出速度里程。脉冲发生源的硬件结构图如图3-4所示。图3-4 脉冲发生源硬件结构图(左为正视图,右为侧视图)3.3.2 信号预处理电路如图3-5所示,系统的信号预处理电路由二级电路构成,第一级是由开关三极管组成的零偏置放大器,采用开关三极管可以保证放大器具有良好的高频响应。当输入信号为零或负电压时,三极管截止,电路输出高电平;而当输入信号为正电压时,三极管导通,此时输出电压随着输入电压的上升而下降,这使得速度里程表既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。由于放大器的放大功能降低了对待测信号的幅度要求,因此,系统能对任意大于0.5V 的正弦波和脉冲信号进行测量。预处理电路的第二级采用带施密特触发器的反相器DM74LS14 来把放大器生成的单相脉冲转换成与COMS 电平相兼容的方波信号(如图3-6所示),同时将输出信号加到单片机的P3.4口上。利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于VT+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。从传感器得到的矩形脉冲经传输后往往发生波形畸变。当传输线上的电容较大时,波形的上升沿将明显变坏;当传输线较长,而且接受端的阻抗与传输线的阻抗不匹配时,在波形的上升沿和下降沿将产生振荡现象;当其他脉冲信号通过导线间的分布电容或公共电源线叠加到矩形脉冲信号时,信号上将出现附加的噪声。无论出现上述的那一种情况,都可以通过用施密特反相触发器整形而得到比较理想的矩形脉冲波形。只要施密特触发器的VT+ 和VT- 设置得合适,均能受到满意的整形效果。图3-5 信号预处理电路图图 图3-6 信号处理波形图3.3.3 E2PROM AT24C02 的应用AT24C02是CMOS 2048位串行E2PROM,在内部组织成256 ×8位。AT24C02的特点是具有允许在简单的二线总线上工作的串行接口和软件协议。如图3-7所示,在本设计中用芯片AT24C02的SDA端与单片机的P3.7 口相连,SCL端与单片机的P3.5口相连。因为在这个I2C总线上只有一个器件,所以把AT24C02的地址设为000,即把A0、A1、A2都接地。单片机计算出来的里程数据通过SDA、SCL向AT24C02资料传输与接口时序。当存储数据时,单片机首先向AT24C02发送写信号,当确认后从单片机内部的数据储存单元提取数据然后向AT24C02的内部地址传送数据。当显示里程时,单片机首先向AT24C02发送读信号,然后确认后,单片机从AT24C02内部的地址向单片机的读出单元字节读出数据,供显示所用。图3-7 AT24C02与单片机的接口电路图3.4 显示模块 显示器电路原理图如图3-8所示。图3-8 显示器电路原理图3.4.1 显示资料RAM(DDRAM) 显示数据RAM 提供64*2 个字节的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM,HCGROM 与CGRAM 的字型;本系列模块可以显示三种字型, 分别是半宽的HCGROM 字型、 CGRAM 字型及中文CGROM 字型, 三种字型的选择, 由在DDRAM 中写入的编码选择,在0000H0006H 的编码中将选择CGRAM 的自定字型,02H7FH 的编码中将选择半宽英数字的字型,至于A1 以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码BIG5(A140D75F) GB(A1A0F7FF)。详细各种字型编码如下:一、显示半宽字型:将8位资料写入DDRAM中,范围为02H7FH的编码。二、显示CGRAM字型:将16位资料写入DDRAM中,总共有0000H,0002H,0004H,0006H 四种编码。 三、显示中文字形:将16位资料写入DDRAM中,范围为A140HD75FH的编码(BIG5),A1A0HF7FFH的编码(GB)。将16位资料写入DDRAM方式为透过连续写入两个字节的资料来完成,先写入高字节(D15D8)再写入低字节(D7D0)。3.4.2 绘图RAM(GDRAM)绘图显示RAM 提供64*32个字节的记忆空间(由扩充指令设定绘图RAM地址),最多可以控制256x64点的二维绘图缓冲空间, 在更改绘图RAM时,由扩充指令设定GDRAM地址先设垂直地址再设水平地址(连续写入两个字节的数据来完成垂直与水平的坐标地址),再写入两个8位的资料到绘图RAM,而地址计数器(AC)会自动加一。整个写入绘图RAM的步骤如下:一、先将垂直的字节坐标(Y)写入绘图RAM地址;二、再将水平的字节坐标(X)写入绘图RAM地址;三、将D15D8写入到RAM中(写入第一个Bytes);四、将D7D0写入到RAM中(写入第二个Bytes)。3.5 键盘及ZLG7290芯片3.5.1 芯片引脚及说明 采用24引脚封装引脚图3-9所示,引脚说明如表3-2所示。图3-9 ZLG7290芯片管脚图表3-2 ZLG7290芯片管脚说明引脚号引脚名称引脚属性引脚描述13,12,21,22,3 6Dig7 Dig0输入/输出LED显示位驱动及键盘扫描线10 7,2,1,24,23SegH SegA输入/输出LED显示位驱动及键盘扫描线20SDA输入/输出I2C总线接口数据/地址线19SCL输入/输出I2C总线接口时钟线14/INT输出中断输出端,低电平有效15、RES输入复位输入端,低电平有效17OSC1输入连接晶体以产生内部时钟18OSC2输出16VCC电源电源正(3.35 .5V)11GND电源电源地3.5.2 引脚功能ZLG7290可采样64个按键或传感器,检测每个按键的连击次数。其基本功能如下:一、键盘去抖动处理 当键被按下和放开时,可能会出现电平状态反复变化,键盘抖动。若不作处理会引起按键盘命令错误,所以要进行去抖动处理,读取稳定的键盘状态为准。 二、双键互锁处理 当有两个以上按键被同时按下时,ZLG7290只采样优先级高的按键(优先顺序为S1>S2>>S64,如同时按下S2和S18时采样到S2)。三、连击键处理 当某个按键按下时,输出一次键值后,如果该按键还未释放,该键值连续有效,就像连续压按该键一样,这种功能称为连击连击。四、功能键处理 功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能。如图3-10为键盘电路原理图:图3-10 键盘原理图从上图可以看出本设计共选用了12个键盘,从上到下,从左到右分别为1到9,0,小数点,和设置键。4 系统软件设计4.1 软件系统设计开始初始化数据读出里程显示频率测量速度里程计算是报警报警是否否速度显示速度显示模块图4-1 系统流程图系统流程图如图4-1所示。待测信号经预处理电路后加至单片机的P3.4(T0)引脚可为单片机测量信号频率提供有效的输入信号。单片机通过检测P3.4引脚电平来决定是否启动测量频率程序。当该引脚为高电平时,系统处于等待状态,要一直到该引脚出现低电平时才开始测频率。我们可从硬件的铝盘上知道两个过孔之间在圆周上的距离。而这个距离M正好为计算速度和距离起到了基本的数据储备作用。同时可以从TL0寄存器知道在两秒内单片机检测到的N个脉冲。而M×N所得到的正是这两秒内铝盘在圆周上所走得距离S。(此时假设在这个两秒内车子是匀速前进的),距离S除以2秒的时间,就可以大概的算出这2秒内铝盘的线速度。再根据铝盘与自行车的轮子保持着一样的角速度,得到铝盘的线速度与轮子线速度的关系,从而算出自行车在这2秒的平均速度。至于里程的计算,根据速度计算的相加即可得到目前的总里程数。通过单片机计算出来的速度和里程的数据,输出给显示模块。总里程数的显示是设定出现在自行车开动,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。而速度的显示则是在计算出速度里程后立刻显示出来,体现实时性。4.2 液晶显示4.2.1 液晶显示程序流程液晶显示是本设计中比较重要的部分,因为设计的最终没目的是要显示行驶的里程、速度、时间等信息,以及安装信息和预设运动量的设置都要通过本部分来完成。所以本部分的设计好坏也将影响到整个设计的最终结果。汉字字符显示地址如表4-1所示。表4-1 DDRAM地址表X坐标Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH程序流程图如图4-2所示。设置下一个地址字数是否超过8否是待命、脱离睡眠开显示设置显示地址写入数据开始初始化,功能设定图4-2 显示控制流程图4.2.2 显示器具体指令1. 指令代码为(01H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLL CODE: 功能:将 DDRAM填满”20H”(空格),把DDRAM地址计数器调整为“00H”,重新进入点设定将I/D设为”1”,光标右移AC加1。2. 地址归位(02H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX CODE: 功能:把DDRAM地址计数器调整为“00H”,光标回原点,该功能不影响显示DDRAM。3. 点设定(04H/05H/06H/07H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS CODE:

    注意事项

    本文(毕业设计(论文)-基于单片机的自行车码表设计.doc)为本站会员(哈尼dd)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开