• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STC12C2052單片機的DMX512解碼器

      2018-08-31 08:27:16吳躍飛
      成功 2018年7期
      關(guān)鍵詞:數(shù)碼管解碼器中斷

      吳躍飛

      安徽廣播電視臺制作中心 安徽合肥 230071

      隨著科技的發(fā)展,近年單片機的應用也深入到社會生活的各個領(lǐng)域,舞臺燈光的控制方式也因為電子技術(shù)的發(fā)展從模擬控制走向了數(shù)字化控制。舞臺燈光控制方式普遍采用的是DMX512協(xié)議它是美國劇場技術(shù)協(xié)會(United States Institute for Theater Technology,USITT)制定的數(shù)字多路復用協(xié)議。從推出這個協(xié)議標準以來已經(jīng)得到了世界范圍內(nèi)的生產(chǎn)商和使用者的認可,國內(nèi)眾多的燈光生產(chǎn)廠家也紛紛采用該技術(shù)協(xié)議生產(chǎn)燈光設備。

      DMX512信號電氣標準采用的是EIA-485電氣標準,波特率為250kbps,DMX512協(xié)議規(guī)定數(shù)據(jù)以數(shù)據(jù)包的形式通過異步通訊的方式進行傳輸。每個數(shù)據(jù)包由512個數(shù)據(jù)幀組成,每幀數(shù)據(jù)包括1位低電平起始位、8位數(shù)據(jù)位和2位高電平停止位。為了使解碼器能夠分辨出DMX512數(shù)據(jù)包,每一個數(shù)據(jù)包以一個不短于88us的低電平信號Break為起始信號,接收器接收到Break信號就準備接收隨后的數(shù)據(jù)幀;在Break信號之后是不短于8us的高電平 MAB (Mark after Break)信號;之后就是數(shù)據(jù)幀。在DMX512協(xié)議中,MAB之后的第一幀數(shù)據(jù)被稱為SC(Start code),即起始字節(jié),在協(xié)議中規(guī)定其為零,但在實際應用中可以由生產(chǎn)廠家自己確定其具體的值,以傳遞特殊消息。SC標明其后面的數(shù)據(jù)是8位控制信號數(shù)據(jù)幀。一個數(shù)據(jù)包發(fā)送完成后,可以發(fā)送 MTBP(Mark Time Between Packets)。MTBP標志著一個完整的信息包發(fā)送完畢,是下一個信息包即將開始的“空閑位”,數(shù)據(jù)包之間可以有時間間隔,也可以沒有。DMX512協(xié)議規(guī)定BREAK信號、MAB信號的最短時間,并規(guī)定BREAK信號、MAB信號、數(shù)據(jù)幀之間及數(shù)據(jù)包之間的時間間隔的最大值不得超過1s,否則當作出錯處理,但是DMX512協(xié)議并未對出錯處理做任何規(guī)定。用戶可以根據(jù)自己的需要進行錯誤處理。

      基于STC12C2052的DMX512解碼器主要分為:鍵盤輸入、數(shù)碼管顯示、數(shù)據(jù)通訊、PWM信號的生成、功率驅(qū)動等部分組成。(見圖1)

      鍵盤輸入部分采用四鍵盤的外部中斷查詢的方式,主要是用于解碼器的地址碼設置,功能選擇和設置工作。在解碼器正常工作時不需要鍵盤參與,因此不采用掃描式的鍵盤,避免消耗CPU的資源。(見圖2)

      圖1

      圖2

      四位數(shù)碼管顯示采用數(shù)碼管專用驅(qū)動芯片,這樣可以避免單片機掃描數(shù)碼管顯示造成的負擔,同時還可以通過驅(qū)動芯片提供的功能對數(shù)碼管進行操作,例如:關(guān)斷數(shù)碼管顯示、數(shù)碼管顯示閃爍等不同方式來提示當前解碼器的狀態(tài),如通訊信號正常、通訊信號中斷等狀態(tài)。(見圖3)

      圖3

      數(shù)據(jù)通訊部分采用MAX485與單片機的串口相連接組成單片機的通訊部分。并作了相應的防干擾設計。PWM信號使用STC12C2052提供的四路PWM信號輸出,不需要另外增加部件。

      如果需要驅(qū)動功率設備則需要設計功率放大部分,通過PWM信號控制功率驅(qū)動部分實現(xiàn)對大功率器件的驅(qū)動??梢酝ㄟ^功率驅(qū)動部分驅(qū)動步進電機、可控硅調(diào)光、大功率LED、大功率繼電器等設備。根據(jù)需要驅(qū)動的大功率設備,所需的功率驅(qū)動電路也有所不同。用戶可以根據(jù)自己的需要設計合適的驅(qū)動電路。(見圖4)

      圖4

      解碼器的程序設計關(guān)鍵在于檢測DMX512的Break信號,在檢測到Break信號后,緊接著后面就是DMX512的數(shù)據(jù)包,解碼器接收每幀數(shù)據(jù)并進行計數(shù),直到數(shù)值的大小與單片機設置的地址大小相等,解碼器才會將連續(xù)的四幀數(shù)據(jù)接收下來放在內(nèi)存中,同時把數(shù)據(jù)送到PWM發(fā)生器,PWM的發(fā)生器就會按照數(shù)值生成相應的PWM信號控制燈光的亮度。主程序開始執(zhí)行,先初始化IO口和各個寄存器。并讀取保存在解碼器中的本機地址送到數(shù)碼管顯示解碼器地址,打開串口中斷、定時器中斷和外部中斷,并開始檢測通訊端口的電平變化等待 DMX512信號中的 Break,一旦檢測到Break信號程序即開啟計時器計時,當電平再次發(fā)生變化時計時器中斷并比較計時與Break信號的時長,如果相等程序就認為DMX512通訊已經(jīng)開始。假如時間不正確程序會重新返回繼續(xù)等待真正的Break信號的到來。在主程序運行階段如果有外部中斷請求,那么主程序會暫停運行而跳轉(zhuǎn)到外部中斷去執(zhí)行外部中斷的請求,如鍵盤操作請求等。執(zhí)行完外部中斷請求之后,返回主程序繼續(xù)運行。

      結(jié)束語

      基于STC12C252的DMX512解碼器,使用器件少、造價成本低、性能穩(wěn)定。這種設計方案已經(jīng)廣泛應用于LED聚光燈、LED帕燈的控制系統(tǒng)中。通過簡單的擴展還可以實現(xiàn)聲控和主從控制等功能。

      猜你喜歡
      數(shù)碼管解碼器中斷
      科學解碼器(一)
      科學解碼器(二)
      科學解碼器(三)
      線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
      Arduino編程
      電腦報(2019年2期)2019-09-10 07:22:44
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      科技風(2019年13期)2019-06-11 13:38:30
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設計與實現(xiàn)
      跟蹤導練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      荣昌县| 凌海市| 平罗县| 张掖市| 中江县| 密山市| 军事| 朝阳市| 元朗区| 大埔区| 普定县| 大洼县| 商洛市| 堆龙德庆县| 山西省| 哈尔滨市| 营口市| 临沭县| 浏阳市| 靖江市| 和林格尔县| 五大连池市| 鄂尔多斯市| 辉县市| 大同县| 临桂县| 德保县| 新宁县| 新蔡县| 远安县| 磐安县| 柳林县| 岳普湖县| 哈密市| 北宁市| 西宁市| 宁安市| 阿尔山市| 公安县| 民勤县| 东海县|