新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于51單片機(jī)控制的數(shù)字視頻混合器

        一種基于51單片機(jī)控制的數(shù)字視頻混合器

        作者: 時(shí)間:2011-11-18 來(lái)源:網(wǎng)絡(luò) 收藏

        3 軟件設(shè)計(jì)

        根據(jù)單片機(jī)控制功能的要求,軟件有主程序和串口中斷子程序兩部分,主程序流程圖如圖3所示。編程側(cè)重點(diǎn)是:混合器初始化;鍵控功能;對(duì)PC命令的判斷和執(zhí)行;更新系統(tǒng)配置及對(duì)數(shù)據(jù)的保存。

        3.1 訪(fǎng)問(wèn)EEPROM和看門(mén)狗設(shè)置

        AT89S8252有看門(mén)狗和EEPROM控制寄存器WMCON。

        ;寫(xiě)一字節(jié)

        SETB WMCON.3 ;訪(fǎng)問(wèn)EEPROM使能

        SETB WMCON.4 ;寫(xiě)EEPROM使能

        MOVX @DPTR,A ;寫(xiě)一字節(jié),尋址范圍0000H~07FFH

        JNB WMCON.1$ ;WMCON.1,準(zhǔn)備下一次訪(fǎng)問(wèn)

        CLR WMCON.4

        CLR WMCON.3 ;MOVX指令可以訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器

        從EEPROM讀字節(jié)與寫(xiě)過(guò)程相似。

        WMCON.0是看門(mén)狗使能位,WMCON.1是看門(mén)狗復(fù)位位(單片機(jī)復(fù)位后為1),WMCON.5~7可以設(shè)定看門(mén)狗的時(shí)鐘周期(16~2048ms)。如果在看門(mén)狗的時(shí)鐘周期內(nèi),沒(méi)有設(shè)置看門(mén)狗復(fù)位位或者沒(méi)有關(guān)閉看門(mén)狗,內(nèi)部復(fù)位信號(hào)會(huì)復(fù)位單片機(jī)。

        3.2 與PC串行通信

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

        在單片機(jī)的串口中斷子程序中,根據(jù)接收到的命令長(zhǎng)度判斷是否接收到一個(gè)完整的命令格式。如果接收到一個(gè)完整命令格式就設(shè)置標(biāo)志位FLG1根據(jù)這個(gè)標(biāo)志位進(jìn)入主程序中處理PC命令的程序,由接收到的命令號(hào)識(shí)別各種PC發(fā)送命令。例如,1號(hào)命令是顯示附加數(shù)字信號(hào)1并且點(diǎn)亮1號(hào)LED,0xC號(hào)命令是寫(xiě)SAA7121存儲(chǔ)器等。依據(jù)接收到的校驗(yàn)和,可以判斷接收PC數(shù)據(jù)的正確性,防止對(duì)混合器的錯(cuò)誤操作。

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



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 鄯善县| 安仁县| 丰都县| 大丰市| 永顺县| 昔阳县| 台安县| 高密市| 托克逊县| 台州市| 纳雍县| 略阳县| 乌兰县| 泰宁县| 安远县| 湖北省| 安多县| 清徐县| 安国市| 凉城县| 莱西市| 台山市| 长治县| 隆子县| 富民县| 团风县| 贺州市| 博爱县| 垦利县| 乌海市| 壤塘县| 莱州市| 彭阳县| 常宁市| 和平区| 巴东县| 仲巴县| 门源| 天台县| 宝丰县| 西吉县|