三、程序设计

程序用C语言编写,由主程序、外部中断0服务程序、定时器110中断服务程序、延时子程序等模块组成。主程序由初始化、车轮直径判定和键盘处理三部分组成。车轮直径判定的依据是接在P1口低四位的跳线,跳线接地时表示低电平,不接时表示高电平。其取值与车轮直径、周长对应关系见附表。

外部中断0服务程序由测量、计算、读数等组成。从P3.2口输入的脉冲信号作为外部中断0的中断请求信号,外部中断采用边沿触发方式。在测量速度时,由于车轮转动脉冲信号的频率很低,不适宜用计数的方法测量,故采用测脉冲周期的方法进行测量,用脉冲信号系统来控制计时信号,通过计时数计算出脉冲周期。车轮的周长除以周期可得到自行车的行驶速度:在测量行驶里程时,通过对脉冲信号个数的计数,用计数值乘以车轮的周长即可获得行驶里程。需要说明的是:测量脉冲信号周期和个数是同时进行的,我们要做的只是用按钮开关切换显示不同的量。为了避免使用浮点数,程序中的运算结果长度是以十米为单位的。数据读出时在第二位数后加小数点就换算成干米了。

定时器T0中断服务程序由计时、动态扫描显示、自行车停车判断等组成。T0的中断定时时间为10ms.每中断一次计时变量n加1,因此n的单位为10ms。例如,自行车车轮转一周对应的n值为50。则对应的时间为0.5s,假如自行车的车轮直径为26英寸。可得自行车的速度为14.90km/h。如果n值达到500,即5秒钟,仍没有发生外部中断,即表示自行车没有前进,则n也被清零,速度显示为0。

读数采用四位显示,定时器T0每中断一次显示一位数,因此四次中断就可以刷新一次数据。即40ms刷新一次数据。

四、安装与调试

安装前用编程器或下载线将HEX文件写入AT89S51。DS1~DS4使用共阳数码管,SPK用工作电压为6V的有源蜂鸣器。电源使用4节5号充电电池。

使用前,根据车轮直径参照附表进行跳线,也可以不用跳线直接在电路板上用连线焊接。附图中对应的是26英寸的跳线设置。

传感器的安装与调试是一个关键,把传感器安装在前轮的位置,把一小块永久磁铁固定在车轮辐条上UGN3020作防潮密封后固定在前叉上。使得车轮转动时磁铁从它的前面经过,应使两者相遇时间隔尽量小。安装时,要使磁铁的S极面向UGN3020的正面,判定磁铁极性方法是把磁铁的两个极分别靠近UGN3020的正面,当其③脚电平由高变低时即为正确的安装位置。传感器安装完成后,转动车轮,UGN3020③脚应有脉冲信号输出,否则说明两者的间隔偏大。应缩小距离,直至有脉冲信号输出为止。间隔一般为5mm左右。如果小于5mm仍无脉冲信号输出。说明磁铁的磁场强度偏小,应更换。

调试结束后,把里程速度表安装在车把手上。打开电源开关S3,骑动自行车,这时数码管显示的是速度,按S1可调到需要的显示模式。

51单片机码表c语言编程,用AT89S51单片机制作的多功能自行车速度里程表相关推荐

  1. 单片机的c语言编程教程 pdf,单片机C语言编程教程.pdf

    单片机C语言编程教程 PIC C 11.1 PIC C C C PIC C C PC PC PC C C PIC C PIC Microchip PIC C PIC C Hitech CCS IAR ...

  2. 单灯闪烁c语言程序,51单片机,C语言编程,控制指示灯闪烁的频率

    c51单片机,c语言编程,关于指示灯定时闪烁的. P1.0 P1.1 P1.2 P1.3上面各接有一个指示灯,P2.0接一个外接按键. 要求: 按一下按键P1.0以1Hz的频率闪烁 半周期为500ms ...

  3. 单片机c语言实验,单片机实验C语言编程.doc

    单片机实验C语言编程.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所 ...

  4. 单片机c语言编程要点,第1章单片机的C语言编程_2015要点.ppt

    第1章单片机的C语言编程_2015要点 1-* 第 1 章 结束!谢 谢! * * 1-* 三.对存储器和外接I/O口的绝对地址访问 例: #include #define com XBYTE[0x0 ...

  5. 《十天学会单片机和C语言编程》

    <十天学会单片机和C语言编程> 大家注意了这个文件只有最新版迅雷可以下载,下面的lesson几就是第几课.点击右键使用迅雷下载. ed2k://|file|[十天学会单片机和C语言编程]. ...

  6. 单片机的c语言ppt,第9章-单片机的C语言编程.ppt

    第9章-单片机的C语言编程.ppt 第9章单片机的C语言编程 9 1C51编程语言简介9 2C51的数据类型9 3数据的存储器类型和存储器模式9 4SFR 位变量 存储器和I O接口的定义9 5C51 ...

  7. 支持c语言编程的单片机,单片机的C语言编程(标准版).pptx

    单片机的C语言编程(标准版) 第03讲 单片机的C语言编程;1.1 C语言概述与最简单的C程序 ;1.1 C语言概述与最简单的C程序 ;二.C语言的程序结构;1.1.2 C语言与MCS-51单片机; ...

  8. c语言之判断电压最大值最小值,《单片机和C语言编程》..ppt

    <单片机和C语言编程>..ppt 6.1.2 DAC0832芯片及其与单片机接口 DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口.DAC ...

  9. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲

    <单片机C语言编程>教学大纲 课程代码:000002336 课程英文名称:Microcontroller C Programming Language 课程总学时:24 讲课:16 实验: ...

  10. 杜洋单片机C语言编程组成,8051单片机C语言编程模板

    c语言 本文由fan159147贡献 doc文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. <8051 单片机 C 语言编程模板> 杜洋 2009.7 [程 ...

最新文章

  1. AMD:浏览器中的模块规范
  2. 处理字符串时常用方法0914
  3. mysql错误1451_mysql错误代号-J(1451~1494)
  4. windows下cmake编译VTK到PCL中
  5. struts2总体介绍
  6. C++类型萃取之type_traits和type_info
  7. SAS和SATA硬盘的区别
  8. WM_CREATE消息响应函数和WM_INITDIALOG消息响应函数之区别
  9. macOS 10.15 Catalina 获取App Store下载的安装包
  10. c语言 快排,C语言 快排函数
  11. python谷歌小恐龙,这还是你断网时的样子嘛~
  12. ubuntu解决菜单栏和工具栏消失的方案
  13. java实验:正n多边形类的定义与使用
  14. [浅析]UE4物理系统
  15. Only Train Once!微软浙大提出剪枝新框架OTO:无需微调即可获得轻量级架构!
  16. 心灵是自我作主的地方。在心灵中,天堂可以变成地狱,地狱可以变成天堂
  17. 折腾记录,win11局域网文件夹共享
  18. 微型计算机杂志主要内容,中国IT杂志生存态势分析
  19. 微信养号服务器,微信30天养号技巧(附养号操作图)
  20. xcode-select –install安装失败不能安装该软件 因为当前无法从软件更新服务器获得

热门文章

  1. win11解决打开文档延迟
  2. isis学不到looback口的路由_光纤猫接D-Link无线路由器,怎么设置上网
  3. [Mysql] LEFT函数 | RIGHT函数
  4. php submit执行函数,jQuery.submit() 函数详解
  5. 计算机网络自顶向下第二章应用层笔记
  6. 利用计算机打字教学设计,“第7课 玩打字游戏”教学设计
  7. 今日头条的排名算法_今日头条旗下悟空问答的排名算法规则
  8. 期末前端web大作业——HTML+CSS+JavaScript仿京东购物商城网页制作(7页)
  9. PHP的面向对象编程思想
  10. Onedrive 1T|5T 网盘获取