• 
    

    
    

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

      基于DVCC環(huán)境的LED與數(shù)碼管的協(xié)同控制

      2013-04-29 23:33:38吳昂
      大觀周刊 2013年8期
      關(guān)鍵詞:數(shù)碼管寄存器字形

      吳昂

      摘要:本文主要探討和講述了在DVCC環(huán)境下,通過(guò)8255并行I/O端口擴(kuò)展,將LED的流水式顯示與數(shù)碼管的跑馬燈應(yīng)用結(jié)合,同時(shí)通過(guò)程序加以協(xié)同控制,達(dá)到了LED與數(shù)碼管同時(shí)輪轉(zhuǎn)點(diǎn)亮的效果。硬件電路設(shè)計(jì)上采用了與數(shù)碼管數(shù)量相對(duì)應(yīng)的“6位分組控制”的形式,簡(jiǎn)化了程序設(shè)計(jì);延時(shí)程序采用了寄存器控制可變延時(shí)的模式,可靈活同步控制LED與數(shù)碼管的輪轉(zhuǎn)點(diǎn)亮速率。本文的整體設(shè)計(jì)已在單片機(jī)課程的教學(xué)實(shí)驗(yàn)環(huán)節(jié)中多次使用,教學(xué)效果反映良好。

      關(guān)鍵詞:DVCC 8255 延時(shí)程序 6位分組控制

      一、DVCC系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介

      DVCC系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)由仿真技術(shù)及模塊化實(shí)驗(yàn)電路結(jié)合而成,可用于MCS-51、MCS-96系列單片機(jī)的教學(xué)實(shí)驗(yàn)與仿真開(kāi)發(fā)。該系統(tǒng)模擬用戶開(kāi)發(fā)環(huán)境,可與PC機(jī)聯(lián)機(jī),實(shí)現(xiàn)用戶程序的編輯、編譯與調(diào)試運(yùn)行。DVCC仿真實(shí)驗(yàn)系統(tǒng)配備有8255、8251、8155等單片機(jī)常用接口芯片,脈沖發(fā)生器,步進(jìn)電機(jī),繼電器,EPROM編程器等多種單片機(jī)應(yīng)用設(shè)計(jì)輔助單元。本文主要涉及到數(shù)碼管控制與8255并行I/O端口擴(kuò)展對(duì)LED的控制。

      二、詳細(xì)設(shè)計(jì)

      1.數(shù)碼管控制

      DVCC實(shí)驗(yàn)箱提供了6個(gè)數(shù)碼管,其電路連接封裝于實(shí)驗(yàn)箱內(nèi)部,無(wú)需手動(dòng)連線,使用極為簡(jiǎn)單。6個(gè)數(shù)碼管的字形口地址為0FF22H,位選口地址為0FF21H;由16位寄存器DPTR或8位寄存器R0、R1控制皆可。

      2.8255并行I/O端口擴(kuò)展對(duì)LED的控制

      DVCC實(shí)驗(yàn)箱提供了共12個(gè)LED,可直接通過(guò)MCS-51單片機(jī)I/O口(如P1)控制,也可由外圍芯片(如8255)擴(kuò)展控制,需通過(guò)插針線手動(dòng)連接。在基本LED的流水式顯示實(shí)驗(yàn)中,可選擇MCS-51單片機(jī)P1口控制8個(gè)LED由進(jìn)行;若需要控制所有12個(gè)LED,則需要由P1口和P2口共同控制。但是,如果將12個(gè)LED的流水式顯示與數(shù)碼管的跑馬燈應(yīng)用結(jié)合,則P2口必須用作數(shù)碼管等外圍設(shè)備的高8位地址位,無(wú)法和P1口共同控制LED,所以需要將12個(gè)LED的控制交由擴(kuò)展芯片(如8255)完成。此時(shí),需要合理分配使用3個(gè)地址寄存器(即DPTR、R0和R1),才能有效同時(shí)控制12個(gè)LED與6個(gè)數(shù)碼管。本文選取DPTR動(dòng)態(tài)控制8255的控制口、數(shù)碼管的字形口與位選口,R0和R1分別控制8255的A口和B口(默認(rèn)地址高8位為0FFH)。

      3.六位分組控制

      在確定8255的A口和B口控制LED后,需要從A口和B口共16位中選取12位逐一控制12個(gè)LED,本文選取了PA0~PA5和PB0~PB5共12位分別控制LED1~LED12,即“六位分組控制”。

      將12個(gè)LED“六位分組控制”,分成2組,正好與6個(gè)數(shù)碼管在數(shù)量上對(duì)應(yīng)。這種分配方案的最大好處是可用1個(gè)寄存器(如累加器)同時(shí)控制一組LED與6個(gè)數(shù)碼管,然后再用該寄存器控制另一組LED與6個(gè)數(shù)碼管。反映在程序中則以對(duì)稱的形式表現(xiàn),代碼的兩部分完全對(duì)應(yīng),簡(jiǎn)潔易懂(可參見(jiàn)本文最后的程序清單)。

      4.8255的A口與B口切換控制

      將12個(gè)LED“六位分組控制”形成兩組后,由于在流水式顯示中任意時(shí)刻只使用兩組中的某一組,所以用一個(gè)寄存器控制即可。不過(guò),這里需要有一個(gè)切換開(kāi)關(guān),指示寄存器當(dāng)前控制的是兩組寄存器中的哪一組,即選用PA口連接還是PB口連接的LED。比較直觀的解決方法是設(shè)置一個(gè)標(biāo)志位作為開(kāi)關(guān),本文選取的程序狀態(tài)字PSW中的用戶自定義標(biāo)志F0。

      三、程序清單

      ORG 0000H

      MOV SP,#60H

      CLR F0

      MOV DPTR,#0FF2BH ;設(shè)置8255控制口地址

      MOV A,#80H

      MOVX @DPTR,A ;設(shè)置8255工作方式

      MOV DPTR,#0FF22H ;設(shè)置數(shù)碼管字形口地址

      MOV A,#80H

      MOVX @DPTR,A ;選定字形為數(shù)字"8"

      MOV DPTR,#0FF21H ;設(shè)置數(shù)碼管位選口地址

      MOV R0,#29H ;設(shè)置A口地址

      MOV R1,#2AH ;設(shè)置B口地址

      ST:MOV A,#01H

      CPL F0 ;置換開(kāi)關(guān)F0

      NEXT:JNB F0,L1

      MOVX @DPTR,A ;選定數(shù)碼管字位

      MOVX @R0,A ;選定A口使用位

      PUSH ACC ;保存A口使用位

      CLR A

      MOVX @R1,A ;將B口清零

      POP ACC ;載入A口使用位

      MOV R7,#25H

      LCALL DELAY ;調(diào)用延時(shí)

      AJMP L2

      L1:MOVX @DPTR,A ;選定數(shù)碼管字位

      MOVX @R1,A ;選定B口使用位

      PUSH ACC ;保存B口使用位

      CLR A

      MOVX @R0,A ;將A口清零

      POP ACC ;載入B口使用位

      MOV R7,#25H

      LCALL DELAY ;調(diào)用延時(shí)

      L2:RL A

      JB ACC.6,ST

      AJMP NEXT

      DELAY: PUSH 07H

      DELAY1: PUSH 07H

      DELAY2: PUSH 07H

      DELAY3: DJNZ R7,DELAY3

      POP 07H

      DJNZ R7,DELAY2

      POP 07H

      DJNZ R7,DELAY1

      POP 07H

      DJNZ R7,DELAY

      RET

      END

      參考文獻(xiàn):

      [1]胡輝.單片機(jī)原理與應(yīng)用[M].中國(guó)水利水電出版社,2011-02.

      [2]東南大學(xué)計(jì)算機(jī)科學(xué)與工程系.DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)[M].啟動(dòng)計(jì)算機(jī)廠有限公司

      猜你喜歡
      數(shù)碼管寄存器字形
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      Arduino編程
      電腦報(bào)(2019年2期)2019-09-10 07:22:44
      MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
      甲骨文“黍”字形義考
      單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
      甲骨文中的字形直立化二則
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      復(fù)習(xí)生字字形的方法
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      添一筆變個(gè)字
      黄梅县| 浑源县| 宁河县| 资兴市| 永平县| 和林格尔县| 定安县| 景谷| 商洛市| 嘉荫县| 大安市| 商河县| 岑溪市| 剑川县| 津南区| 阿图什市| 鄂尔多斯市| 民权县| 咸阳市| 松江区| 将乐县| 平定县| 防城港市| 蒲江县| 游戏| 博乐市| 崇礼县| 永宁县| 南阳市| 宜兰县| 安庆市| 揭东县| 襄垣县| 定南县| 治多县| 出国| 肃宁县| 鹿邑县| 荣成市| 临潭县| 青海省|