基于pic16f873机车温度控制阀检测装置设计

基于pic16f873机车温度控制阀检测装置设计

ID:20474795

大小:25.50 KB

页数:4页

时间:2018-10-12

基于pic16f873机车温度控制阀检测装置设计_第1页
基于pic16f873机车温度控制阀检测装置设计_第2页
基于pic16f873机车温度控制阀检测装置设计_第3页
基于pic16f873机车温度控制阀检测装置设计_第4页
资源描述:

《基于pic16f873机车温度控制阀检测装置设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于PIC16F873机车温度控制阀的检测装置的设计基于PIC12F629的两位大数字LED机车速度表的设计王同宏[文章摘要]本文介绍了一种基于PIC12F629制作的两位大LED数字机车速度表的设计,详细说明了两位大LED数字速度表的工作原理、器件的选择及设计方法。该速度表结构简单,通用性强,修改其部分控制程序和输入方式可以将其应用在需要两位数字显示的温度、压力、速度及计数等场合,具有较高的实用价值。[关键词]PIC12F629数字LED74LS164ULN2003A自动调光调车机车采用指针式速度表,调车机车正常运行速度不高于60KM/小时。在监控系统中

2、,指针式速度表很难定量地反映出机车的实际运行速度,因此需要加装一个两位的大LED数字速度表,用于反映机车的实时运行速度。  两位大数字LED速度表的实现有很多种方法,在众多的实现方法中,使用单片机进行设计是比较简单方便的设计方法。制作关键是两位大数字LED的驱动方法的选择,对数字LED进行并联动态驱动还是串联静态驱动又是一个两难的选择:并联动态驱动需要使用单片机的口线多,但外围元件相对较少;串联静态显示使用单片机的口线少,可外围元件相对较多。通常情况下,管脚多的单片机附加功能也多、价格高,因此使用管脚少的单片机开发的产品成本比较低。在本设计中,仅实现机车速

3、度检测与显示,功能比较单一;使用三英寸的大LED数码管,驱动电流比较大;并要求具有自动调光功能;由于在监控下使用,静态显示没有动态显示的频闪现象,显示数字稳定清晰,所以选用串联静态显示;考虑以后功能或程序的改变的方便,采用了只有8脚的FLASH芯片PIC12F629单片机进行设计。  一、两位大数字速度表的硬件组成:两位大数字LED机车速度表的结构功能如图一所示:图一速度表功能结构图1.单片机的设计PIC12F629是微芯公司推出的8脚FLASH型单片机,有1K字节的FLASHROM,64字节的RAM及128字节的EEPROM,两个计数器,时钟频率高达20

4、MHz。尽管PIC12F629内部集成有内部4MHz±1%高精度振荡器,使用内部振荡器也可以节省两个管脚,但在本设计中,时基是速度正确如否的关键。因此只能使用外部晶振作为本系统的时钟。设计中使用TMR0作为计数器,T0作为外部信号的输入端,这样可以消除使用软件查询引起的循环时间不等造成测量误差,影响速度测量的稳定性和准确性。2.驱动电路的设计本设计中使用的三英寸大LED数码管的驱动电流在40毫安左右,直接使用串行移位芯片驱动无法达到所需的驱动电流,因此只能增加电流驱动芯片。在移位芯片选择上,如果单片机的端口充裕的话可以选用74LS595进行3线控制,这样可

5、以消除数码管显示内容更新时引起的显示模糊。在本设计中,由于PIC12F629只有6个I/O口,采用外部晶振和T0作为外部信号的输入端,占用了3个端口,剩余的3端口,只有2端口可以作为输出口,因此选用74LS164作为移位芯片,采用ULN2003A进行电流放大。本设计中的大LED数码管采用12伏供电电压,所以在每一个LED数码管脚上增加一个限流电阻。3.自动调光电路的设计图二隔离和调光电路  由于机车应用环境中光线强度变化很大,所以增加了自动调光电路,避免夜间LED眩光现象的出现。电路结构如图二所示:自动调光电路采用光敏电阻作为光感元件,当光线强时R4光敏电

6、阻的阻值变小,三极管Q1的基极电位降低,三极管的导通能力变弱,集电极的电位升高,场效应管Q2的导通程度增加,LED供电电压增高,LED发光强度增强;反之,LED发光强度减弱。调整W可以改变由于器件的离散性产生LED显示亮度的偏差。4.系统的电气隔离设计  由于速度信号来自机车的供电系统,为了两者不会因为故障接地产生相互影响,加装了图二中U1进行电气隔离,D1避免信号线反接使U1损坏;加接R2分流电阻,是为了在D1误接过高电压时,减少对U1的电流冲击。  二、系统的软件设计:  本系统控制软件采用C语言编写。主程序如图三所示。在设计过程中采用了结构化程序设计

7、方法,将程序中的延时、检测数据的换算、显示数据的移位输出等程序编写成不同的功能模块,在程序的执行过程中分别调用。另外,在程序设计过程中还需要注意以下几点:1.延时1的延时时间选择要合理。设计中采用TMR0作为计数器,其最大值是255,如果延时1程序延时时间过长,在速度高时会造成在TMR0的溢出,出现速度高时,显示的速度反而小的现象;如果延时1程序延时时间过短,会出现速度检测偏差过大,速度显示不稳定。2.增加延时2延时程序的目的在于减少检测循环的次数,提高显示的稳定性。3.在程序的设计中,暂存上一次的速度值,在下一次的计算中将两次的速度值相比较,如果不相等时

8、再更新显示值,这样既可以提高显示的稳定性,也可减少由于频繁更新显示

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。