新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于單片機控制的數字視頻混合器

        一種基于單片機控制的數字視頻混合器

        作者: 時間:2010-11-02 來源:網絡 收藏

        3 軟件設計

        根據功能的要求,軟件有主程序和串口中斷子程序兩部分,主程序流程圖如圖3所示。編程側重點是:初始化;鍵控功能;對PC命令的判斷和執行;更新系統配置及對數據的保存。

        3.1 訪問EEPROM和看門狗設置

        AT89S8252有看門狗和EEPROM寄存器WMCON。

        ;寫一字節

        SETB WMCON.3 ;訪問EEPROM使能

        SETB WMCON.4 ;寫EEPROM使能

        MOVX @DPTR,A ;寫一字節,尋址范圍0000H~07FFH

        JNB WMCON.1$ ;WMCON.1,準備下一次訪問

        CLR WMCON.4

        CLR WMCON.3 ;MOVX指令可以訪問外部數據存儲器

        從EEPROM讀字節與寫過程相似。

        WMCON.0是看門狗使能位,WMCON.1是看門狗復位位(復位后為1),WMCON.5~7可以設定看門狗的時鐘周期(16~2048ms)。如果在看門狗的時鐘周期內,沒有設置看門狗復位位或者沒有關閉看門狗,內部復位信號會復位

        3.2 與PC串行通信

        PC與單片機通信的數據格式有三種:命令長度+命令號;命令長度+命令號+讀數據字節數N+首地址+校驗和;命令長度+命令號+寫字節數N+首地址+數據1+…+數據N+校驗和。命令長度、命令號、讀u20889寫數據字節數N、首地址和數據n(1≤n≤N)都是一字節,用16進制表示。命令長度整個命令格式字節數。校驗和=命令號+讀數據字節數N+首地址,或者校驗和=命令中+寫數據字節數N+首地址+數據1+…+數據N。例如:顯示附加信號1并且1號LED亮,PC發送0x02 0x01;讀1號TMC2081的00~03存儲器,PC發送0x5 0xB 0x4 0x0 0xF;寫0x0 0x21 0x1D 0x0到SAA7121的27~2A存儲器,PC發送0x9 0xC 0x4 0x27 0x0 0x21 0x1D 0x0 0x13。

        圖3 主程序流程圖

        在單片機的串口中斷子程序中,根據接收到的命令長度判斷是否接收到一個完整的命令格式。如果接收到一個完整命令格式就設置標志位FLG1(如圖3)根據這個標志位進入主程序中處理PC命令的程序,由接收到的命令號識別各種PC發送命令。例如,1號命令是顯示附加信號1并且點亮1號LED,0xC號命令是寫SAA7121存儲器等。依據接收到的校驗和,可以判斷接收PC數據的正確性,防止對的錯誤操作。

        用VB6.0設計軟件,讀寫PC的串行口。本文波特率為9600bps,單片機的定時器/計數器2(T2)設定在波特率發生器的工作方式。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 翁牛特旗| 通渭县| 布尔津县| 西峡县| 大悟县| 两当县| 渝北区| 旬阳县| 嘉峪关市| 芜湖市| 闸北区| 德惠市| 滦南县| 泗洪县| 怀集县| 卢氏县| 东丰县| 铁岭市| 开鲁县| 阿克陶县| 通河县| 探索| 柳江县| 建昌县| 中方县| 连江县| 渭源县| 政和县| 建水县| 兰西县| 沙田区| 灌云县| 江门市| 丰原市| 临安市| 东乡县| 莱阳市| 江津市| 易门县| 丹东市| 元氏县|