77范文网 - 专业文章范例文档资料分享平台

电子信息毕业论文 - 自行车里程表的设计(4)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第四章 自行车里程表软件实现方法

4.1 软件编程实现

4.1.1 系统软件框图

如图8所示,本系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转BCD码模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。

图4.1 系统软件框图

4.1.2 数据处理

本设计所用的霍尔传感器是一块集成芯片。它结合了采样和放大功能于一体。首先我们把磁钢放在自行车的转轴上,而霍尔元件就放在与其水平的转轴上,

15

当我们完成安装后,转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这种变化将会导致霍尔电压变化从而产生一个mv级的方波,再通过其内部的整形和放大。产生出一个适合外部电路的脉冲电压。由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。比如我们的自行车车轮在R=0.25m时,通过C=2Π*R计算得出车轮的周长C=1.5m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数。

通过单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给显示模块。总里程数的显示是设定出现在电动自行车开动,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。

4.1.3 键盘控制

键盘是实现人机对话的必要设备,用户可用键盘向计算机输入数据或命令。本系统采用独立键盘接口,独立式按键是指直接用I/O口线构成单个的按键 电路。每一个独立式按键单独占用一根I/O口线。其接口电路如图4.2所示。 独立式按键接口电路配置灵活,软件结构简单。但每个按键要占用一根I/O口线,适用于按键数量少的键盘。

电路中,按键输入低电平有效。按键未按时有上拉电阻保证此时输入为高电平。

图4.2 独立式按键接口电路

16

4.2部分程序

(1)键盘扫描部分程序

#include #include #include #include #include #include

#define uchar unsigned char #define uint unsigned int Sbit k0=p1.0; Sbit k1=p1.1; Sbit k2=p1.2; keyscan() {

If (k0==0) uchar a;

for(a=255;a>0;a--) // {}

if(k0==0) //有键按下measure(); //处理程序else if (k1==0) uchar a;

for(a=255;a>0;a--) // {}

if(k1==0) //有键按下measure(); else if (k2==0) uchar a;

for(a=255;a>0;a--) // {}

延时延时延时17

if(k2==0) //有键按下 measure(); main() { while(1) {P0=keyscan(); while(1) ; } }

(2) 存储器部分程序

#include #include #define uchar unsigned char #define uint unsigned int

#define _Nop() _nop_() /*定义空指令*/

sbit scl=P1^1; sbit sda=P1^2; sbit DOG=P1^7;

sbit led=P0^7; sbit led_1=P0^3; sbit led_2=P0^4; sbit led_3=P0^5; sbit led_4=P0^6;

18

uint LED1_data,LED2_data,LED3_data,LED4_data,LED_data; uchar code

led_segment[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x0,0xF

F};

uchar x24c02_read(uchar address);

void x24c02_write(uchar address,uchar info); void x24c02_init(); void delay1(uchar x); void flash(); void x24c01_init(); void start(); void stop();#include void writex(uchar j); uchar readx(); void clock(); void clrscr(void);

/*延时程序*/ void delay1(uchar x) { uint i; for(i=0;i

/*E2prom工作指示程序*/ void flash() { uchar u; DOG=~DOG;} /*E2prom初始化程序*/ void x24c02_init()

{ scl=1; flash(); sda=1; flash();

19

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电子信息毕业论文 - 自行车里程表的设计(4)在线全文阅读。

电子信息毕业论文 - 自行车里程表的设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/650655.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: