第四章 自行车里程表软件实现方法
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
#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
#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)在线全文阅读。
相关推荐: