DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1170|回复: 0
打印 上一主题 下一主题

[工仪] PIC16C924型单片机在酒精浓度检测仪中的应用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:44:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘要:  本文介绍PIC16C924型单片机在酒精浓度检测仪中的应用,并给出实际的软件流程。
关健词:单片机 酒精浓度检测

引言

    Microchip Technology公司PIC16C924是一种低价格

、高性能、CMOS、全静态、带有集成LCD驱动器模块和5通道8位高速A/D的8位微控制器。指令总线和数据总线分开的哈佛结构可容纳14位指令和8位数据。两级指令流水作业使所有程序跳转指令需2个时钟周期外,其余均为单周期指令。RISC指令集仅35条指令。PIC16C924还具有减少外部元件、降低成本、增加系统可靠性和降低功耗等特点。紫外线可擦除型用于代码开发,OTP型用于批量生产。非常适合于手持式仪表等限制体积场合的使用。

应用方案

    酒精浓度检测仪的诸多方案中选取以PIC16C924为核心的应用方案(见图1)主要是基于以下几个方面的考虑。首先,价格经济,OTP型仅70元人民币左右,便于控制成本,提高产品的市场竞争力。其次,PIC16C924功能强大。由于它内部已集成了A/D转换器和LCD驱动器,使得许多硬件的功能可以通过软件来实现,从而,使它的外围电路简单,产品的硬件设计更加简洁,系统的可靠性得以提高。第三,软件开发方便、快捷。PIC应用程序的开发可采用硬件仿真和软件模拟两种办法,考虑到开发费用与开发进程两方面因素,我们采用软件模拟的办法,即借助于PC机利用PCI模拟(仿真)调试工具来完成。它允许用户通过设置断点,单步执行等功能对目标程序进行调试,只是速度略显慢些,实时性能稍差。鉴于目前微机性能的大幅度提高与集成开发软件的不断完善,此法愈显示出其可贵之处。我们采用基于WINDOWS9X下的集成开发

软件,MPLAB4.00。它是目前的最新版本。程序的烧写采用MICROCHIP代理商福州高奇公司的PICKIT烧写器。它包括一块ISA总线接口卡和一个PLCC烧写插座。用烧写软件PT.EXE进行PIC16C924的烧写工作。开发期间采用窗口EPROM型芯片。

    实践证明,上述应用考虑是可行的,而且节约了大量的开发成本,缩短了开发周期。

软件编写

    软件所要实现的功能是将通过精密放大器的传感器信号进行A/D转换,并把转换后的数字量进行一定处理,转化为酒精浓度信号PPM或mg/L,最后送液晶显示器显示。
主要功能包括:

    ·开机自检

     ·电池检测,电源不足时给出显示。

     ·节电设计,4分钟内检测不到信号时,自动关机。

    ·酒精浓度单位可互换,PPM与mg/L互换。

    ·音响提示,浓度高时频率高,浓度低时频率低。且音响可随意关闭或打开。

    ·可存储十次测量结果(存储次数的多少视RAM容量而定)

    ·结果可重复显示或恢复显示。

    在程序的编写过程中,考虑到可移植性和以后功能的升级,以及调试的方便性,采用模块化设计。也就是说,将程序的某一部分换掉以后,可以作为相应的测试程序使用。比如,将程序中酒精的PPM和mg/L浓度表换成电压与压力或电压与湿度的转换表,则可以实现压力测试或温度测试。另外,除显示子程序外,其他的浓度转换子程序、重复显示子程序、恢复显示子程序、开关声响子程序等可以任意拿掉而不影响整个程序的正常运行。下面给出程序中用到的各寄存器的定义及主程序和各子程序的流程图。

;******************
1IST =P16C924
#INCLUDE
;****VARIABLE DEFINITIONS
GO EQU 0X02
LCDEN EQU 0X07
COUNT1L EQU 0X70 ;LOW BIT REGISTER1 OF DALAY TIME
COUNT1H EQU 0X71 ;HIGH BIT---------------------------------------
COUNT2L EQU 0X72 ;LOW BIT REGISTER2 OF DALAY TIME
COUNT2H EQU 0X73 ;HIGH BIT-----------------------------------------
REMRCO EQU 0X74 ;REGISTER OF REPEAT MEASURE COUNT
CONCEF EQU 0X75 ;REGISTER OF CONCENtrATION FLAG
INDEXL EQU 0X76 ;INDEX OF PPM TABLE OR mg/L TABLE
INDEXH EQU 0X77 ;UPPER BIT OF INDEX
SEGMENT EQU 0X78 ;REGISTER OF LCD CODE TABLE (7 SEGMENT)
MPMTMP EQU 0X79 ;TEMPORAPY REGISTER OF PPM OR mg/L
REMRAD EQU 0X7A ;FIST ADDRESS OF OF REPEAT MEASURE TABLE
TIME1 EQU 0X7B ;COUNTER1 OF TEST WAITING
TIME2 EQU 0X7C ;COUNTER2 OF TEST WAITING
ADTEPM1 EQU 0X7D ;REGISTER OF ADRES TEMPERRARY
RMCTMP EQU 0X7F ;REGISTER OF REMRCO TEMPORARY
URDPPNT EQU 0X21 ;URD OF RDP POINT
URDPFLG EQU 0X22 ;URD OR RDP FLAG
;
ORTB 7 6 5 4 3 2 1 0
; SND URD RDP CNC LBD PRM CSP LB0
;
;SND:SOUND LBOOW BATTERY OUT
;URD:RESUME DISPLAY RDP:REPEAT DISPLAY CNC:CONCENtrATION CONVERT
;LBDOW BATTERY DETECT PRMERMIT MEASURE CSP:CLOSE POWER

    主程序除完成基本的初始化设置外,还实现电池电力检测和对各子程序的调用见图2。

    各子程序流程限于篇幅此处从略。总之,依据上述流程图所编程序在我们研制的酒检仪产品中运行良好,完成达到了仪器功能所需要求,可靠性好,故障率低,因此,程序的开发是成功的。■
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-27 22:46 , 耗时 0.103803 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表