新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > PIC16C924型單片機在酒精濃度檢測儀中的應用

        PIC16C924型單片機在酒精濃度檢測儀中的應用

        作者: 時間:2006-05-07 來源:網絡 收藏


        摘要:
        本文介紹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 P16C924.INC>
        ;****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
        ;
        ;PORTB 7 6 5 4 3 2 1 0
        ; SND URD RDP CNC LBD PRM CSP LB0
        ;
        ;SND:SOUND LBO:LOW BATTERY OUT
        ;URD:RESUME DISPLAY RDP:REPEAT DISPLAY CNC:CONCENTRATION CONVERT
        ;LBD:LOW BATTERY DETECT PRM:PERMIT MEASURE CSP:CLOSE POWER

        主程序除完成基本的初始化設置外,還實現電池電力檢測和對各子程序的調用見圖2。

        各子程序流程限于篇幅此處從略。總之,依據上述流程圖所編程序在我們研制的酒檢儀產品中運行良好,完成達到了儀器功能所需要求,可靠性好,故障率低,因此,程序的開發是成功的。■

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泰来县| 上虞市| 四平市| 黔西| 青阳县| 特克斯县| 左云县| 双桥区| 邹城市| 长武县| 泰来县| 乐亭县| 会泽县| 博罗县| 栾川县| 博野县| 南木林县| 茶陵县| 兴城市| 临泽县| 闽清县| 新绛县| 湘潭市| 唐海县| 夏津县| 合山市| 江孜县| 鄯善县| 淮滨县| 儋州市| 惠水县| 和田市| 凤山市| 青龙| 土默特左旗| 宁强县| 平凉市| 株洲市| 望城县| 赣州市| 广平县|