新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LabVIEW的單片機脈沖發生器

        基于LabVIEW的單片機脈沖發生器

        作者: 時間:2009-02-13 來源:網絡 收藏
        1 引 言

        由于各種人群的皮膚阻抗的動態范圍不一樣,甚至同個人在不同的時間、不同的環境下皮膚阻抗的動態范圍也不一樣。因此,在皮膚阻抗檢測系統中,刺激器需要根據不同的人群以及不同的環境,產生不同頻率、不同脈寬的刺激信號,才能保證檢測系統可以測量到人體皮膚的真實阻抗。

        本文引用地址:http://www.104case.com/article/173904.htm

        MCS-51系統有3個定時器可以產生方波,而且方波的頻率及寬度可以由軟件設定,這種產生的方式具有很大的靈活性。上位機軟件同下位機通信時,將下位機所要產生的的參數通過串口傳給下位機,以便實現利用控制產生所需脈沖的目的。

        2 下位機系統的設計

        2.1 硬件部分

        MCS-51內部有一個功能很強的全雙工串行口,該串行口有4種工作方式。片內的定時器/計數器可以產生波特率,大小可用軟件設置。有2個物理上獨立的接收、發送緩沖器SBUF,接收、發送均可觸發中斷系統,使用十分方便。對外也有兩條獨立的收、發信號線RXD(P3.0)和TXD(P3.1)。

        本文采用RS 232串行接口標準,在電氣特性上,RS232采用負邏輯,要求高低兩信號間有較大的幅度,標準為:邏輯“1”在-5~-15 V之間,邏輯“0”在+5~+15 V之間。

        2.2 軟件部分

        MCS-51的定時器0進行兩次計數。設P1.0為脈沖發生端,當定時器0的第一次計數結束后,將P1.0取反,賦新的初值,再進行第二次計數。當第二次計數結束后,再一次將P1.0取反,又賦原來的初值,進行新一輪的計數,如此反復即可產生方波。這樣通過兩次計數值的不同就可以實現產生不同脈寬及頻率的方波了。

        圖1,圖2和圖3給出了單片機程序的詳細流程圖。其中定時器1工作在方式2,這是一種自動重裝方式,禁止中斷,用于產生波特率(該波特率設置為9 600)。串口工作在方式1,發送或接受一幀信息為10位,1位起始位(0),8位數據位和1位停止位(1),無奇偶校驗位。程序還設定串口中斷優先級高于定時器0的中斷優先級。

        在通信前,上下位機一般會約定一個協議,例如在發送的數據前加一個標識段,一般為一個字節。當該字節傳輸正確后,下位機才可以認為上位機準備發送數據段。這樣可以避免串口偶爾產生的誤發信號。

        程序設定4個字節為一個數據段,是因為上位機一次性要發完包括高低電平在內的兩次定時器的初始值,而每一個初始值都有兩個字節。因此下位機判斷一次完整的數據段是否發送完畢,就是判斷其是否收到了4個字節的數據。

        <fieldset id="4imsg"><input id="4imsg"></input></fieldset><fieldset id="4imsg"><input id="4imsg"></input></fieldset>

        • 上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區

          主站蜘蛛池模板: 灌云县| 肥西县| 衡东县| 泗洪县| 疏勒县| 彭山县| 禄劝| 涡阳县| 吐鲁番市| 祁门县| 稻城县| 铅山县| 永登县| 全椒县| 江口县| 北流市| 济源市| 剑河县| 新平| 临澧县| 阿尔山市| 彭泽县| 兴化市| 龙井市| 牟定县| 诸城市| 黔南| 启东市| 石景山区| 昌宁县| 淄博市| 新龙县| 陆丰市| 华容县| 潞西市| 岳普湖县| 新沂市| 太仓市| 宜宾县| 青神县| 昭通市|
        • <tfoot id="4imsg"></tfoot>
          <ul id="4imsg"><sup id="4imsg"></sup></ul>