河南大学本科毕业生学士学位论文
6.6 显示子程序的设计
显示程序流程图如图6-8所示
开 始
显示屏初始化 读取显示数据V和S 显示V和S 结束
图6-8 显示子程序流程图
6.7 I2C协议下读/写E2PROM程序的设计
主机在SCL线上产生自己的时钟传输I2C总线上的数据,数据只在时钟的高电平周期有效,每传输一个数据位产生一个时钟脉冲,数据线的高/低电平状态只有在SCL线的时钟信号是低电平时才能改变。当SCL为高电平时,SDA的改变表示“开始”和“停止”状态,即SDA由高电平转入低电平表示开始,该命令必须在其他命令前执行;SDA由低电平转入高电平表示停止状态,该命令可终止所有通讯。在开始后,SCL低电平期间,SDA允许变化,每位数据需一个时间脉冲,当SCL为高时,SDA必须稳定,主控器在应答时钟脉冲高电平期间释放SDA线,转由接收器控制。相同总线上的设备在收到数据后,以置SDA为低电平的方式对其确认。总线不忙时,数据线和时钟线保持为高点平。程序流程图如图6-9 所
- 36 -
河南大学本科毕业生学士学位论文
示。
开始 发送起始位 发送读/写控制字 发送要读/写的E2PROM地址 读该地址上的数据到寄存器/发送要写入的数据 判断是否收到应答信号 Y 发送停止位 N 返 回
图6-9 存储程序流程图
结论与展望
该课题的主要任务是开发一个以AT89C51单片机为核心的自行车速度里程计。
本设计主要分为硬件部分和软件部分,硬件部分着重考虑硬件电路的简单性,故尽可能简化硬件电路,节省线路板的空间,达到硬件电路最优化设计。软件采用汇编语言编写,采用模块化设计思想,程序可读性强,能满足设计要求,达到设计的指标,实现对自行车速度/里程的计算功能,并用LCD显示,行程与速度分别根据以下公式求得:
- 37 -
河南大学本科毕业生学士学位论文
里程=脉冲总数×车轮周长
速度=车轮周长÷车轮转一圈所用的时间
根据此公式将最终显示出行程和速度。当车轮转动,小磁片滑过霍尔元件时,霍尔元件输出一脉冲,可根据车轮周长计算行程和速度。当速度超过一定速度时,将启动报警系统。
本次设计符合设计的要求,能实现对行程、速度的单独显示,功能性较强,具有一定的实践意义,将会在许多场合应用。但也有一些不足存在,要显示里程和速度需要按键,骑车时不安全,可以设计语音系统来报告速度和里程,避免交通事故的发生。
下面对本设计展望一下:本系统操作简单,易于实现。硬件部分采用的器件应用较广泛,且价格低廉,如AT89C51单片机、存储器CAT24WC32、EDM1190A液晶显示器,比较强大、稳定。尤其是本次设计的核心元件AT89C51单片机,软件技术成熟,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。软件采用模块化设计,可读性强,方便二次开发。
本次设计电路简单、低成本,而且能够满足人们对高性能、多功能自行车的要求,可在很多速度里程的测量场合使用,具有广泛的应用前景。
通过此次毕业设计,我学到了很多知识。在实物的设计和论文的写作过程中,通过查资料和搜集有关的文献,培养了自学能力。通过对硬件电路的设计,增强了自己的动手能力。并且由原来的被动接受知识转换为主动的寻求知识,学会了更好地让所学知识与实践相结合,让书本上的知识与实际生活中的具体应用相结合。让自己切实感觉到了学有所用。并在此期间巩固复习了在大学4年内学过的知识,尤其是单片机和模电,数电方面的知识。同时通过这次毕业设计提高了自己的单片机编程的能力,同时也让自己知道了自己不足和缺陷,从而为自己能更好的改进提供了帮助。
- 38 -
河南大学本科毕业生学士学位论文
致 谢
经过四年的学习,现在终于要毕业了。在学习期间经历了风风雨雨,在各
位老师和同学的帮助和支持下最终得以顺利完成。自己又熟悉了Protel和CAD软件的应用。
在此,首先感谢我的老师,感谢各位老师这四年中在学习中、生活上的关心和照顾;其次感谢各位同学,同学们在生活中给予很大的帮助,在学习上也给极大的鼓舞。 指导老师肖老师治学严谨,学识渊博,平易近人,在我做设计和论文期间对我的教诲和指导将使我终生受益。无论是在平时的阶段,还是在论文的选题、资料查询、开题、研究、设计和撰写的每一个环节,都得到导师的悉心
指导和帮助。借此机会向肖兴达老师表示衷心的感谢!
主要参考文献
[1] 电气简图用图形符号(GB/T4728-2005) [2] 李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,2005. [3] 何立民. MCS-51系列单片机应用系统设计系统配置与接口技术. 北京:
北京航空航天大学出版社,1990.
[4] 何希才.常用传感器应用电路的设计与实践. 北京:科学出版社,2007
[5] 51测试网 www.51c51.com
- 39 -