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

自行车简易数字里程表设计毕业论文设计

来源:用户分享 时间:2025/6/28 20:25:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

提高。

这个过程中我遇到了很多困难,比如如何运用仿真软件画图,如何组织一些比较专业的语言,以及上网查阅资料。虽说费劲,但是乐趣也不少。通过这次设计,我们了解到平时知识的积累真的很重要,在遇到困难时一定要向认真思考,查阅相关资料,不可盲目退缩,努力后就一定会有收获。

这次毕业设计收获颇丰,不仅是对自己个人能力的提高,也让我认识到了自己的局限,通过这次的毕业设计为以后的学习奠定了一个更好的基础。

参考文献

[1] 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社, 1994 [2] 张毅刚, 刘杰. MCS-51单片机原理及应用. 哈尔滨工业大学出版社,2004 [3] 楼然苗, 李光飞. 51系列单片机设计实例. 北京航空航天大学出版社, 2006 [4] 松井邦彦, 梁瑞林. 传感器应用技术141例. 科学出版社, 2006 [5] 张洪润, 张亚凡. 传感器技术与应用教程. 清华大学出版社, 2005 [6] 刘灿军. 实用传感器. 国防工业出版社, 2004 [7] 何希才. 传感器及其应用. 国防工业出版社, 2001

[8] 刁文兴. 自行车电子里程表的初步设计. 南京工业职业技术学院学报, 2004, 6: 25-28 [9] 安宗权. 电动电子车速里程表分频电路设计. 自动化与仪器仪表, 2001, 5: 39-44 [10] 阎焕忠, 王长涛, 马斌. 单片机控制里程转速表的设计. 沈阳建筑工程学院学报(自

然科学版),2002, 4: 145-148

[11] 谢自美. 电子线路设计.实验.测试[M].武汉:华中科技大学出版社,2000:212-230 [12] 张福学. 传感器使用电路150例.中国技术出版社.1992

程序

#include

uchar i;

uchar t1_num,t2_num; 计时间中断的

次数

unsigned long speed1,juli,time2; float f_; 开始计算速度使能 uchar flag_stop_en; 要确定车子是否停下了

uint juli_s;

每秒走的距离

uint juli_z; 总路程 float zhijing = 0.55; 直径 0.55M bit flag_1s = 1;

1s

uchar menu_1; 菜单设置变量 uchar menu_2; 菜单设置变量

long zong_lc; 总量程

uchar flag_200ms;

uint shudu; 定义速度的变量 uint bj_shudu = 80; 报警速度

这三个引脚参考资料

sbit rs=P1^0; 寄存器选择信号 H:数据寄存器 L:指令寄存器

sbit rw=P1^1; 寄存器选择信号 H:数据寄存器 L:指令寄存器

sbit e =P1^2; 片选信号 下降沿触发

uchar

code

table_num[]=%uchar i;

sbit beep = P3^7; 蜂鸣器IO口定义

******************1ms 延时函数******************* void delay_1ms(uint q) { uint i,j; for(i=0;i

for(j=0;j<120;j++);

}

******************把数据保存到单片机内部eepom中****************** void write_eeprom() { SectorErase(0x2000);

byte_write(0x2000, bj_shudu % 256);

byte_write(0x2001,

bj_shudu

256);

byte_write(0x2002, zong_lc %

256);

byte_write(0x2003,

zong_lc

256 % 256);

byte_write(0x2004, zong_lc 256

256 % 256); byte_write(0x2055, a_a);

}

******************把数据从单片机内部eepom中读出来***************** void read_eeprom() { uint value;

bj_shudu = byte_read(0x2001); bj_shudu <<= 8;

bj_shudu |= byte_read(0x2000); zong_lc = byte_read(0x2004); zong_lc <<= 16;

value = byte_read(0x2003); zong_lc |= (value << 8); zong_lc |= byte_read(0x2002); a_a = byte_read(0x2055); }

**************开机初始化保存的数据*****************

void init_eeprom() 开机初始化保存的数据* { read_eeprom(); 先读

if(a_a != 1)

新的单片机初

始单片机内问eeprom { bj_shudu = 50;

a_a = 1;

write_eeprom(); 保存数据

}

}

******************************************************************** * 名称 : delay_uint() * 功能 : 小延时。 * 输入 : 无 * 输出 : 无

***********************************************************************

void delay_uint(uint q) { while(q--);

}

******************************************************************** * 名称 : write_com(uchar com) * 功能 : 1602命令函数 * 输入 : 输入的命令值 * 输出 : 无

**********************************************************************

*

void write_com(uchar com) { i =0; e=0; rs=0; rw=0; P0=com; delay_uint(3); e=1;

delay_uint(25); e=0;

}

******************************************************************** * 名称 : write_data(uchar dat) * 功能 : 1602写数据函数 * 输入 : 需要写入1602的数据 * 输出 : 无

***********************************************************************

void write_data(uchar dat) { i =0; e=0; rs=1; rw=0;

P0=dat;

delay_uint(3); e=1;

delay_uint(25); e=0;

}

******************************************************************** * 名称 : write_sfm2(uchar value; 返回读出来的数据

}

*************把要的时间 年月日 都读出来*************** void read_time() { miao = read_ds1302(read_add[0]); 读秒

fen = read_ds1302(read_add[1]); 读分

shi = read_ds1302(read_add[2]); 读时

ri = read_ds1302(read_add[3]); 读日

yue = read_ds1302(read_add[4]); 读月

nian = read_ds1302(read_add[5]);

读年

自行车简易数字里程表设计毕业论文设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4cc8d7ty439pugm7qnnb9acj39qpyw00ego_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top