单片机测速仪的设计内容摘要:
片使用单片机引脚较多,采用键盘电路较复杂,而且只能显示当前速度,驾驶员对速度上限透明度不高,总体电路较复杂;方案二采用的 MAX7219 是一个高集成化的串行输入 /输出的共阴极 LED 驱动显示器 , 每片可驱动 8 位 7 段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需 3 根线 ,且速度设定只需通过几个按钮实现即可,并且 可以实时实现速度上限的增减,因而硬件电路简单,人眼视觉效果好,可以方便的为驾驶员提供信息,易于实现维护,且 MAX7219 内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了 MCU 有限的运行时间和程序资源。 9 设计 主程序流程图 图 41 主程序流程图 10 按键分析 模式键扫描部分:由于单片机扫描的速度很快,所以依次用 if判断每一个按键即可,当有一个按键被按下时实现对输出信号变量赋值,同时跳出循环即可。 按键功能分析 功能键是控制系统功能的按键,由于电压和电流都比较小所以选择普通的按钮开关,如型号为: TD03B,可以满足条件。 功能键及对应的功能见表 42: 表 42 功能键及对应功能 序号 字符 功能 1 START 开始 2 N 左起 3 P 加 1 4 E/C 测速 5 PUSH 暂停 6 USEING 中断 7 STOP 停止 11 数码管显示电路 图 43 设置显示时间数函数流程图 速度 设置键按下 mode=1 扫描减 加 1 键修改个位 mode=2 扫描减 加 1 键修改十位 mode=0 系统处于等待状态 按键测速按下 显示当前速度 12 //显示秒 void display_S(uchar S) { write_(0x80)。 write_date(39。 039。 +S/10)。 write_date(39。 039。 +S%10)。 } //显示分 void display_F(uint F1,uint F2) { write_(0x80+0x05)。 write_date(39。 039。 +F1/100)。 write_date(39。 039。 +F1/10%10)。 write_date(39。 039。 +F1%10)。 write_date(39。 039。 +F2/100)。 write_date(39。 039。 +F2/10%10)。 write_date(39。 039。 +F2%10)。 } //显示里程 void display_LC(uint L1,uint L2,uint L3,uint L4) { write_(0x80+0x40+0x01)。 write_date(39。 039。 +L1%10)。 //显示湿度 write_date(39。 039。 +L2/1000)。 write_date(39。 039。 +L2/100%10)。 write_date(39。 039。 +L2/10%10)。 write_date(39。 039。 +L2%10)。 13 write_date(39。 039。 +L3/1000)。 write_date(39。 039。 +L3/100%10)。 write_date(39。 039。 +L3/10%10)。 write_date(39。 039。 +L3%10)。 write_date(39。 039。 +L4/1000)。 write_date(39。 039。 +L4/100%10)。 write_date(39。 039。 +L4/10%10)。 write_date(39。 039。 +L4%10)。 } 速度比较与报警 图 44 速度比较与报警 当手动按键测速未达到预先设置速度,显示速度 当手动按键测速超过预先设置速度,显示并报警 14 测速程序分析 //LCD 写命令 void write_(uchar ) { rs=0。 lcden=0。 P0=。 delay(1)。 lcden=1。 delay(1)。 lcden=0。 } //LCD 写数据 void write_date(uchar date) { rs=1。 lcden=0。 P0=date。 delay(1)。 lcden=1。 delay(1)。 lcden=0。 } write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 write_(0x80)。 15 write_(0x01)。 write_(0x80)。 for(num=0。 num16。 num++) { write_date(table0[num])。 } write_(0x80+0x40)。 for(num=0。 num16。 num++) { write_date(table1[num])。 } } 计时器使用一个中断计算每 100 毫秒的中断输出,所以在这种情况下,计时器程序计算的数字将是 400,被除数是 600000,结果是 1500 这就是每分钟转数。 这些数字显示在 4 位七段数码管 上。 子过程 UDIV32 被调用,这是一个 8051 系列 32位数字除以 16 位数字的标准过程。 该测速仪的误差为 6000rpm+/5rpm。 16 和 keil 仿真 proteus 软件的介绍及使用 什么是 Proteus 软件 Proteus 软件是 Labcenter Electronics 公司的一款电路设计与仿真软件,它包括 ISIS、 ARES 等软件模块, ARES 模块主要用来完成 PCB 的设计,而 ISIS 模块用来完成电路原理图的布图与仿真。 Proteus 的软件仿真基于 VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如 MCS51系列、 PIC 系列等等,以及单片机外围电路,比如按键、 LED、数码管等等。 通过Proteus 仿真软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 怎样操作 Proteus 仿真软件 我使用的 Proteus 软件是 版本的,仿真时只需在 AT89C52 单片机中加载Keil 软件生成的 .HEX 格式文件,即可启动仿真。 Keil仿真: (1)程序编译 17 ( 2)生成 hex 文件 18 测速器 proteus 软件的仿真 绘制抢答器的软件仿真图步骤分一下四步: ( 1)查找所需要的元器件; ( 2)根据电路图进行连线; ( 3)是用来写线所对应的坐标,即下图所示的 P11 等坐标; ( 4) 加载 所写完的 C程序 生成的 .HEX 文件 即可以仿真。 通过以上步骤,来实现抢答器设计的仿真实现,仿真如下图所示: 19 仿真开始时的仿真如图 61: 图 51 开始时的 proteus 仿真图 测速器开始时用按键来调制速度上限的仿真如图 52: 52 设置速 度上限的 proteus 仿真图 20 测速器开始按键测速仿真如图 53:。单片机测速仪的设计
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
医院绩效分配方案包括实施细则考核表
5 分 查登记册,发现一项不符合扣 1 分 4、传染病登记详细,及时填报传染病报告卡。 (10 分 ) 查登记册,发现一项不符合扣 1 分;迟报一例扣 1 分,未报导致疫情扩散扣 10 分 5、定期做 好设备成本效益分析,材料费按比例消耗。 (4 分 ) 未定期做成本效益分析扣 1 分,超过一个百分点扣 分 6、材料领取后要妥善管理与存放,合理使 不妥善管理存放与合理使用的发现一次 16 用。
医院污水处理开题报告
,池容积负荷 6kgBOD/(m3 d)以上; A级与 B级间设中间沉淀池,以减低 B级的负荷。 B级污泥龄较长。 A、 B两级池 F/M(污染物量与微生物量之比 )不同,形成不同的微生物群体。 AB法尽管 有节能的优点,但不适合低浓度水质。 该工艺处理效果稳定,具有抗冲击负荷、 PH 值变化的能力,该工艺还可以根据经济实力进行分期建设。 如可先建 A 级,以削减污水中的大量有机物