新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機控制的DDZ型熱工儀表檢測儀的設計

        基于單片機控制的DDZ型熱工儀表檢測儀的設計

        作者: 時間:2013-11-07 來源:網絡 收藏

        數據格式
        設RC7為PIC16F877的數據輸出口,RC6為數據輸入口,通過MAX232轉化模塊與PC機相連。由于PIC 單片機的RS-232的通信格式固定為1個開始位,1個停止位,沒有奇偶校驗位,設計數據位為8位。
        傳輸方式
        采用中斷的方式來實現單片機與PC之間的通信,UART的傳輸與接收可以分別產生一個中斷源,寄存器PIE1中的位TXIE=1時產生傳輸中斷源;RCIE=1時產生接收中斷源。進行串口通信時PC機發一個請求發送信號”Requst”給單片機,單片機接收到此信號后查詢PIR1寄存器中的位TXIF是否為1,若為1表示傳送數據寄存器TXREG為空,將待傳送的數據寫入TXREG寄存器,即刻開始執行UART的傳送工作,按照單片機和PC機共同定義的通信協議將數據發送完畢。
        鍵盤設置
        儀表的表面板上有4個開關鍵(“Reset”鍵和控制3路模擬量輸入的3個開關鍵K1,K2,K3),和一個鍵盤(10個數字鍵,6個功能鍵)。 鍵盤設置用來控制儀表執行何種功能:是測量信號還是產生信號,測量和產生的分別是那一種信號都可以通過按鍵來完成,通過對鍵盤接口的編程把各模塊聯系起來統一的工作。

        軟件設計
        由于本儀表的功能較多,因此不但硬件電路復雜,同時也需很強的軟件系統支持。本儀表的軟件系統由一個主程序和多個子程序組成。
        儀表的主程序
        儀表的軟件系統總的來說有三大部分組成:
        (1) 系統的初始化。它包括PIC16F877芯片本身的初始化,串口、鍵盤接口、數碼顯示模塊的初始化等。
        (2) 響應外部中斷由鍵盤中斷程序來完成儀表具體執行那項任務:測量或輸出模擬信號,并動態顯示信號大小。
        (3) 數據的采集、計算、顯示部分。在這個循環中,程序根據不同的輸入信號每10ms采集、刷新顯示一次。
        儀表的軟件系統主程序流程圖如圖3所示。
        儀表的子程序及功能
        軟件系統由多個子程序組成,現就主程序中的A/D轉換來介紹一下其程序原理和流程圖。
        A/D轉換的程序原理與流程圖
        以循環掃描方式利用PIC16F877的A/D轉換讀取RA0管腳上輸入的模擬電壓,并將其數值大小在數碼管上顯示出來。設計主程序的掃描時間為10ms,經過運算處理輸出模擬量對應的BCD碼至C口并重復循環。使用PIC16F877單片機的Timer1產生2ms的定時中斷作為程序的基本時序,其主程序和中斷服務程序的流程圖如圖4所示。
        PIC16F877芯片使用外部4MHz的石英振蕩器,其指令周期為1?s,Timer1子程序中預先定義的寄存器Scaler的值為5,在每一次中斷過程中都使其值減1,主程序中檢測Scaler寄存器中的值是否等于0,不等于0則主程序處于等待狀態,當等于0時則使用命令:movlw 5 ;addwf Scaler,f 使寄存器Scaler始終為5,并返回到A/D轉換子程序,這樣使主程序的循環時間為10ms。
        A/D轉換中的編碼運算
        A/D轉換的位數是10位,根據每次A/D轉換后A/DRESH和A/DRESL中的值由公式:
        A=(5/1023)*D可以計算出轉換前模擬量的值。在進行動態顯示時,采用4位數碼管顯示2位整數、2位小數,從高位到低位依次設為S3 S2 S1 S0,單片機依次送出S0 S1 S2 S3對應的BCD碼到顯示模塊,并通過對數碼管位選端的控制來實現動態顯示的功能。

        結語
        隨著儀器、儀表在日常生產、生活頻繁的使用,其維修也越來越頻繁。作為提供維修信號源的標準儀表發揮著十分重要的作用。該設備采用集成的原理做成了一個便攜式的裝置,經過實際反復測試,性能良好,有著廣泛的市場應用前景。

        參考文獻:
        [1]. PIC16F877 datasheet http://www.dzsc.com/datasheet/PIC16F877_318821.html.
        [2]. RS-232 datasheet http://www.dzsc.com/datasheet/RS-232_584855.html.
        [3]. OP07 datasheet http://www.dzsc.com/datasheet/OP07_950754.html.
        [4]. BCD datasheet http://www.dzsc.com/datasheet/BCD_1225719.html.
        [5]. MAX232 datasheet http://www.dzsc.com/datasheet/MAX232_1074207.html.


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 崇州市| 和田市| 织金县| 英德市| 哈巴河县| 富阳市| 安阳市| 雅江县| 哈密市| 宜君县| 抚松县| 常宁市| 林口县| 汉沽区| 安远县| 鹿泉市| 奈曼旗| 通海县| 方正县| 万源市| 新兴县| 平湖市| 开平市| 东阳市| 青铜峡市| 普陀区| 平利县| 胶南市| 沛县| 灵台县| 鄂伦春自治旗| 哈密市| 德保县| 台前县| 武清区| 庆安县| 阳泉市| 谢通门县| 弥勒县| 兴隆县| 德令哈市|