版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 基于單片機霓虹燈廣告牌的設(shè)計</p><p><b> 2011年9月5日</b></p><p> 學(xué)生姓名</p><p> 所 在 系機械工程系</p><p> 班 級09級機電3班&l
2、t;/p><p> 專 業(yè)機電一體化技術(shù)</p><p> 指導(dǎo)教師</p><p><b> 摘要</b></p><p> 隨著社會的發(fā)展,各種商家不斷的追求低成本,而點陣電子顯示屏的性價比越來越明顯,而電子顯示屏的關(guān)鍵就是單片機的運用。</p><p> 由于單片機價格的低成本、高性
3、能,在自動控制產(chǎn)品中得到了廣泛的應(yīng)用。本設(shè)計利用Atmel公司的AT89S52單片機對點陣電子顯示屏進行開發(fā),設(shè)計了實現(xiàn)所需功能的硬件電路,應(yīng)用匯編語言進行軟件編程,并用實驗板進行演示、驗證。</p><p> 隨著現(xiàn)代電子技術(shù)的發(fā)展,人們正處于一個信息時代。每天都要通過電視,廣播,通信,互聯(lián)網(wǎng)等多種每體獲取大量的信息。而現(xiàn)代信息的存儲和傳輸越來越趨于高科技化,LED電子顯示屏作為一個信息傳遞的媒介,在人們?nèi)粘?/p>
4、生活,生產(chǎn)中,起著不可替代的作用。在本文中對LED顯示屏的顯示技術(shù),做了全面的分析。以及國內(nèi)外的最新動態(tài)和研究方向,并有大量的程序和電路圖,以及各種核心器件的介紹,使研究更加深刻,易懂。</p><p><b> 目錄</b></p><p><b> 摘要V</b></p><p><b> 1 緒論
5、3</b></p><p><b> 1.1 背景3</b></p><p> 1.2 LED顯示屏的發(fā)展與應(yīng)用3</p><p> 1.3 本章小節(jié)4</p><p> 2LED顯示方式5</p><p> 3 系統(tǒng)硬件介紹8</p><p&g
6、t; 3.1 單片機介紹8</p><p><b> TYP14</b></p><p><b> OE15</b></p><p> 3.3復(fù)位電路的分析18</p><p> 3.4振蕩電路22</p><p> 3.5 驅(qū)動電路23</p
7、><p> 3.6顯示電路24</p><p> 3.7本章小節(jié)24</p><p><b> 4 軟件設(shè)計25</b></p><p> 4.1單片機延時子程序25</p><p> 4.2點陣的移動27</p><p> 4.3主程序模塊設(shè)計31&l
8、t;/p><p> 4.4 本章小節(jié)31</p><p><b> 5 系統(tǒng)調(diào)試33</b></p><p> 附錄A:實驗板原理圖34</p><p><b> 參考文獻35</b></p><p><b> 1 緒論</b></p
9、><p><b> 1.1 背景</b></p><p> 隨著微處理器和微型計算機的問世,加之超大規(guī)模集成電路的發(fā)展以及軍事、通信、工業(yè)自動化、機電一體化技術(shù)的需求,使微型機向兩個方向發(fā)展:一個是向高速、性能優(yōu)異的高檔微型機方向發(fā)展;另一個是向簡單可靠、小巧便宜的單片機方向發(fā)展。單片機自1974年美國仙童公司生產(chǎn)出世界上第一塊單片機F8,迄今已有二十多年了。由于單片
10、機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。</p><p> 本文討論的單片機點陣電子顯示屏的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了16×16的顯示屏,構(gòu)成了一個可編程的LED顯示器,
11、具有可靠性高,功能多、應(yīng)用廣泛等特點。不僅能滿足所需要求而且還有很多功能可供擴展,有著廣泛的應(yīng)用領(lǐng)域。</p><p> 1.2 LED顯示屏的發(fā)展與應(yīng)用 </p><p> LED顯示器(屏)的優(yōu)點,具有視角大、亮度高、色彩艷麗的特點,現(xiàn)已十分廣泛的應(yīng)用在體育場館,大屏幕顯示系統(tǒng)可以顯示比賽實況及比賽比分、時間、精彩回放等;在交通運輸行業(yè),可以顯示道路運行情況;在金融行業(yè),可以實
12、時顯示金融信息,如股票、匯率、利率等:在商業(yè)郵電系統(tǒng),可以向廣大顧客顯示通知、消息、廣告,在商業(yè)領(lǐng)域可以顯示新品信息、促銷方式等等。具調(diào)查顯示,人們接收的信息有2/3的信息是通過眼睛取得的。顯示技術(shù)還應(yīng)用于工業(yè)生產(chǎn)、軍事、醫(yī)療單位、公安系統(tǒng)乃至宇航事業(yè)等國民經(jīng)濟、社會生活和軍事領(lǐng)域中,并起著重要作用,顯示技術(shù)已經(jīng)成為現(xiàn)代人類社會生活的一項不可或缺的技術(shù)。</p><p><b> 1.3 本章小節(jié)&l
13、t;/b></p><p> 本章主要介紹了課題背景和課題意義,對單片機的優(yōu)點及結(jié)構(gòu)作了簡要敘述,也對本系統(tǒng)的應(yīng)用及概況進行了說明。</p><p><b> LED顯示方式</b></p><p><b> 2.1顯示的步驟</b></p><p> 漢字顯示屏用于顯示漢字、字符及圖
14、像信息,在公共汽車、銀行、醫(yī)院及戶外廣告等地方都有廣泛的應(yīng)用。下面是簡單的漢字顯示屏的制作,由單片機控制漢字的顯示內(nèi)容。為了降低成本,使用了四塊8×8的LED點陣發(fā)光管的模塊,組成了一個16×16的LED點陣顯示屏,如圖2.10所示。在這里僅做了四個漢字的顯示,在實際的使用中可以根據(jù)這個原理自行的擴展顯示的漢字,下面是介紹漢字顯示的原理。 </p><p> 圖2.10 四塊8×
15、8的LED點陣組成16×16的LED點陣</p><p> LED驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行的同名列共用一套列驅(qū)動器。以16×16點陣為例,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對應(yīng)第1行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定的時間,然后熄滅;再送出第2行的數(shù)據(jù)并鎖存,
16、然后選通第2行使其燃亮相同的時間,然后熄滅;….第16行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動較多的LED,控制方式較靈活,而且節(jié)省單片機的資源。</p><p> 顯示數(shù)據(jù)傳輸采用串行傳輸?shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳往列驅(qū)動器,在硬件方面無疑是十分經(jīng)濟的。但串行傳輸過程較長,數(shù)據(jù)按順
17、序一位一位地輸出給列驅(qū)動器,只有當(dāng)一行的各列數(shù)據(jù)都已傳輸?shù)轿恢螅@一行的各列才能并行地進行顯示。對于串行傳輸方式來說,列數(shù)據(jù)準備時間可能相當(dāng)長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以致影響到LED的亮度。</p><p> 采用串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間矛盾,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù)。為了達到重疊處理的目的,列數(shù)據(jù)的顯示就需要有鎖存功能
18、。對于列數(shù)據(jù)準備來說,它應(yīng)能實現(xiàn)串入并出的移位功能。這樣,本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串行移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影響本行的顯示。</p><p> LED點陣顯示模塊進行的方法有兩種:</p><p> (1)水平方向(X方向)掃描,即逐列掃描的方式(簡稱列掃描方式):此時用一個P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個P口輸出行碼(列數(shù)據(jù))
19、,決定該行上那哪個LED亮(相當(dāng)于段碼)。能亮的列從左到右掃描完16列(相當(dāng)于位碼循環(huán)移動16次)即顯示出一個完整的圖像。</p><p> ?。?)豎直方向(Y方向)掃描,即逐行掃描方式(簡稱行掃描方式):此時用一個P口輸出決定哪一行能亮(相當(dāng)于位碼),另一個P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16
20、次)即顯示一幀完整的圖像。</p><p> 本設(shè)計應(yīng)用的是第一種的掃描方法,即水平方向(X方向)掃描。</p><p> 每一個字由16行16列的點陣形成顯示,即每個字均由256個點陣來表示,我們可以把每一個點理解為一個像素。一般我們使用的16×16的點陣宋體字庫,即所謂的16×16,是每一個漢字在縱橫各16點的區(qū)域內(nèi)顯示的。漢字庫從該位置起的32字節(jié)信息記錄了該
21、字的字模信息。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。</p><p> 我們以水平方向(x方向)掃描顯示漢字的“江”為例來說明其掃描原理,每一個字由16行16列的點陣組成顯示,如圖下的,如果用8位的AT89S51的單片機來控制,由于單片機的總線為8位,一個字需要拆分成兩個部分。一般我們把它分解成上部分和下部分,上部分由8*16的點陣組成,下部分也由8*16的</p>
22、;<p> 點陣組成。在本例中單片機首先顯示的是左上角的第一列的部分,即第0列的P00~P07口。方向為P00到P07,顯示漢字“江”的時候,P00到P04都是滅的,P05亮,即二進制00001000,轉(zhuǎn)換為16進制為08H,如圖2.11所示。</p><p> 上半部分第一列完成之后,繼續(xù)掃描下半部分的第一列,為了接線的方便,我們?nèi)栽O(shè)計成由上往下的掃描方式,即從P27向P20方向掃描,從上圖可
23、以看到,這一列所有的都不亮,所以代碼為00000000,16進制為00H,然后單片機轉(zhuǎn)向上半部的第二列,除了P05亮,其他的都不亮,即為00000100,16進制為04H,這一列掃描完成之后繼續(xù)進行下半部分的掃描,除了P21亮,其他的為不亮,為二進制00100000,即16進制20H。</p><p><b> 2.2 本章小結(jié)</b></p><p> 通過本章
24、的的學(xué)習(xí),能正確的理解LED的顯示方式,為后續(xù)的硬件和編程打好理論基礎(chǔ)。</p><p><b> 3 系統(tǒng)硬件介紹</b></p><p><b> 3.1 單片機介紹</b></p><p> 單片機(Microcontroller,又稱微處理器)是在一塊硅片上集成了各種部件的微型機,這些部件包括中央處理器CPU
25、、數(shù)據(jù)存儲器RAM、程序存儲器ROM、定時器/計數(shù)器和多種I/O接口電路。</p><p> 8051單片機的基本結(jié)構(gòu)見圖2。</p><p> 圖2 8051單片機的基本結(jié)構(gòu)</p><p> 8051系列的內(nèi)部結(jié)構(gòu)可以劃分為CPU、存儲器、并行口、串行口、定時器/計數(shù)器、中斷邏輯幾部分。</p><p><b> ?。?)
26、中央處理器</b></p><p> 8051的中央處理器由運算器和控制器構(gòu)成,其中包括若干特殊功能寄存器(SFR)。算術(shù)邏輯單元ALU能對數(shù)據(jù)進行加、減、乘、除等算術(shù)運算;“與”、“或”、“異或”等邏輯運算以及位操作運算。</p><p> ALU只能進行運算,運算的操作數(shù)可以事先存放到累加器ACC或寄存器TMP中,運算結(jié)果可以送回ACC或通用寄存器或存儲單元中,累加器A
27、CC也可以寫成A。B寄存器在乘法指令中可以用來存放一個乘數(shù),在除法指令中用來存放除數(shù),運算后B中為部分運算結(jié)果。ALU主要用于完成二進制數(shù)據(jù)的算術(shù)和邏輯運算,并通過對運算結(jié)果的判斷影響程序狀態(tài)字寄存器PSW中有關(guān)位的狀態(tài)。 </p><p> 程序狀態(tài)字PSW是個8位寄存器,用來寄存本次運算的特征信息,用到其中七位。PSW的格式如下所示,其各位的含義如表1。</p><p> 表1程序
28、狀態(tài)字PSW</p><p> CY:進位標志。在進行加法或減法運算時,若運算結(jié)果的最高位有進位或借位,CY=1,否則CY=0,在執(zhí)行位操作指令時,CY作為位累加器。</p><p> AC:輔助進位標志。在進行加法或減法運算時,若低半字節(jié)向高半字節(jié)有進位或借位, AC=1,否則AC=0,AC還作為BCD碼運算調(diào)整時的判別位。</p><p> F0:用戶可設(shè)
29、定的標志位,可置位/復(fù)位,也可供測試。</p><p> RS1和RS0:工作寄存器組選擇,如表2所示。</p><p> 表2 RS1和RS0工作寄存器組選擇</p><p> OV:溢出標志。當(dāng)兩個帶符號的單字節(jié)數(shù)進行運算,結(jié)果超出-128~+127的范圍時,OV=1,表示有溢出,否則OV=0表示無溢出。</p><p> P:奇
30、偶校驗標志。每條指令指行完畢后,都按照累加器A中“1”的個數(shù)來決定P值,當(dāng)“1”的個數(shù)為奇數(shù)時,P=1,否則P=0。 </p><p> PSW中的D1位為保留位,對于8051來說沒有意義,對于8052來說為用戶標志,與F0相同。</p><p> 控制器包括程序計數(shù)器PC、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)
31、調(diào)單片機各部分正常工作。</p><p> 程序計數(shù)器PC:當(dāng)一條指令按PC所指向的地址從程序存儲器中取出之后,PC的值會自動增量,即指向下一條指令。</p><p> 堆棧指針SP:用來指示堆棧的起始地址。80C51單片機的堆棧位于片內(nèi)RAM中,而且屬于“上長型”堆棧,復(fù)位后SP被初始化為07H,使得堆棧實際上由08H單元開始。</p><p> 指令譯碼器
32、:當(dāng)指令送入指令譯碼器后,由譯碼器對該指令進行譯碼,CPU根據(jù)譯碼器輸出的電平信號使定時控制電路產(chǎn)生執(zhí)行該指令所需要的各種控制信號。</p><p> 數(shù)據(jù)指針寄存器DRTR:它是一個16位寄存器,由高位字節(jié)DPH和低位字節(jié)DPL組成,用來存放16位數(shù)據(jù)存儲器的地址,以便對片外64kB的數(shù)據(jù)RAM區(qū)進行讀寫操作。片內(nèi)RAM有256個字節(jié),其中00H~7FH地址空間是直接尋址區(qū),該區(qū)域內(nèi)從00H~1FH地址為工作
33、寄存器區(qū),安排了4組工作寄存器,每組都為R0~R7,在某一時刻,CPU只能使用其中任意一組工作寄存器,由程序狀態(tài)字PSW中RS0和RS1的狀態(tài)決定。</p><p><b> ?。?)存儲器組織</b></p><p> 8051單片機在物理上有三個存儲空間:片內(nèi)數(shù)據(jù)存儲器RAM 、片外數(shù)據(jù)存儲器RAM 、程序存儲器ROM 。</p><p>
34、; 程序存儲器ROM地址空間為64kB,片外數(shù)據(jù)存儲器RAM也有64kB的尋址區(qū),在地址上是與ROM重迭的。8051單片機通過不同信號來選通ROM或RAM。當(dāng)從外部ROM中取指令時,采用選通信號PSEN,而從外部RAM中讀寫數(shù)據(jù)時則采用讀RD和寫WR信號或來選通,因此不會因地址重迭而發(fā)生混亂。 </p><p> 片內(nèi)RAM的20H~2FH地址單元為位尋址區(qū),其中每個字節(jié)的每一位都規(guī)定了位地址。每個地址單元除
35、了可進行字節(jié)操作之外,還可進行位操作。</p><p> 片內(nèi)RAM的80H~FFH地址空間是特殊功能寄存器SFR區(qū),對于51子系列在該區(qū)域內(nèi)安排了21個特殊功能寄存器,對于52子系列則在該區(qū)域內(nèi)安排了26個特殊功能寄器,同時擴展了128個字節(jié)的間接尋址片內(nèi)RAM,地址也為80~FFH,與SFR區(qū)地址重迭。</p><p> 8051的存儲器組成結(jié)構(gòu)如圖3所示。</p>
36、<p> 圖3 8051的存儲器組成結(jié)構(gòu)</p><p><b> (3)管腳說明</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口(P0.0~P0.7):該端口為漏極
37、開路的8位準雙向口,它為外部低8位地址線和8位數(shù)據(jù)線復(fù)用端口驅(qū)動能力為8個LSTTL負載。</p><p> P1口(P1.0~P1.7):它是一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P1口的驅(qū)動能力為4個LSTTL負載。</p><p> P2口(P2.0~P2.7):它為一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P2口的驅(qū)動能力也為4個LSTTL負載。在訪問外部程序存儲器時,作為高8
38、位地址線。</p><p> P3口(P3.0~P3.7):為內(nèi)部帶上拉電阻的8位準雙向I/O口,P3口除了作為一般的I/O口使用之外,每個引腳都具有第二功能。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)
39、</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(計時器0 外部輸入)</p><p> P3.5 T1(計時器1 外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><
40、;p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> 時鐘電路引腳XTAL1和XTAL2:</p><p> XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。 XTAL2:接外部晶振和微調(diào)電容的另
41、一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。</p><p> 地址鎖存允許ALE:</p><p> 系統(tǒng)擴展時,ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。</p><p> 外部程序存儲器讀選通信號PSEN:</p><p> PSEN是外部程序
42、存儲器的讀選通信號,低電平有效。</p><p> 程序存儲器地址允許輸入端EA /VPP: </p><p> 當(dāng)EA為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當(dāng)PC中的值超過0FFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令。當(dāng)EA為低電平時,CPU只執(zhí)行片外程序存儲器指令。</p><p><b> 復(fù)位信號RST:</b></
43、p><p> 該信號高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復(fù)位操作。</p><p><b> 3.2零件介紹</b></p><p> 3.2.1發(fā)光二極管</p><p> 普通發(fā)光二極管的正向飽和壓降為1.6V~2.1V, 正向工作電流為5~20MA</p><p>
44、<b> LED的特性:</b></p><p><b> 1.極限參數(shù)的意義</b></p><p> ?。?)允許功耗Pm:允許加于LED兩端正向直流電壓與流過它的電流之積的最大值。超過此值,LED發(fā)熱、損壞。 </p><p> (2)最大正向直流電流IFm:允許加的最大的正向直流電流。超過此值可損壞二極管。
45、 </p><p> ?。?)最大反向電壓VRm:所允許加的最大反向電壓。超過此值,發(fā)光二極管可能被擊穿損壞。 </p><p> ?。?)工作環(huán)境topm:發(fā)光二極管可正常工作的環(huán)境溫度范圍。低于或高于此溫度范圍,發(fā)光二極管將不能正常工作,效率大大降低</p><p><b> 電參數(shù)的意義</b></p><p>
46、; 正向工作電流If:它是指發(fā)光二極管正常發(fā)光時的正向電流值。在實際使用中應(yīng)根據(jù)需要選擇IF在0.6?IFm以下。 </p><p> 正向工作電壓VF:參數(shù)表中給出的工作電壓是在給定的正向電流下得到的。一般是在IF=20mA時測得的。發(fā)光二極管正向工作電壓VF在1.4~3V。在外界溫度升高時,VF將下降。 </p><p> (3)V-I特性:發(fā)光二極管的電壓與電流的關(guān)系
47、 </p><p> 在正向電壓正小于某一值(叫閾值)時,電流極小,不發(fā)光。當(dāng)電壓超過某一值后,正向電流隨電壓迅速增加,發(fā)光。由V-I曲線可以得出發(fā)光管的正向電壓,反向電流及反向電壓等參數(shù)。正向的發(fā)光管反向漏電流IR<10μA以下。</p><p> 3.2.2譯碼器74HC595的介紹</p><p> 8位串行輸入/輸出或者并行輸出移位寄存器,具有
48、高阻關(guān)斷狀態(tài)。三態(tài)。 </p><p><b> 1 特點</b></p><p><b> 8位串行輸入</b></p><p> 8位串行或并行輸出 </p><p> 存儲狀態(tài)寄存器,三種狀態(tài)</p><p> 輸出寄存器可以直接清除</p>
49、<p> 100MHz的移位頻率</p><p><b> 2 輸出能力</b></p><p><b> 并行輸出,總線驅(qū)動</b></p><p><b> 串行輸出;標準</b></p><p><b> 中等規(guī)模集成電路</b>
50、;</p><p><b> 3 應(yīng)用</b></p><p> 串行到并行的數(shù)據(jù)轉(zhuǎn)換。</p><p><b> 4 描述</b></p><p> 595是告訴的硅結(jié)構(gòu)的CMOS器件,</p><p> 兼容低電壓TTL電路,遵守JEDEC標準。</p&g
51、t;<p> 595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。</p><p> 移位寄存器和存儲器是分別的時鐘。</p><p> 數(shù)據(jù)在SCHcp的上升沿輸入,在STcp的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。</p><p> 移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(
52、Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。</p><p><b> 5 參考數(shù)據(jù)</b></p><p> CPD決定動態(tài)的能耗,</p><p> PD=CPD×VCC×f1+∑(CL×VCC2×f0)
53、</p><p> F1=輸入頻率,CL=輸出電容 f0=輸出頻率(MHz) Vcc=電源電壓</p><p><b> 6 引腳說明</b></p><p><b> 7 功能表</b></p><p><b> H=高電平狀態(tài)</b></p>&l
54、t;p><b> L=低電平狀態(tài)</b></p><p><b> ↑=上升沿</b></p><p><b> ↓=下降沿</b></p><p><b> Z=高阻</b></p><p><b> NC=無變化</b&
55、gt;</p><p><b> ×=無效</b></p><p> 當(dāng)MR為高電平,OE為低電平時,數(shù)據(jù)在SHCP上升沿進入移位寄存器,在STCP上升沿輸出到并行端口。</p><p> 3.2.3譯碼器74HC138的介紹</p><p> CD74HC138 ,CD74HC238和CD74HCT1
56、38 , CD74HCT238是高速硅柵CMOS解碼器,適合內(nèi)存地址解碼或數(shù)據(jù)路由應(yīng)用。74HC138 作用原理于高性能的存貯譯碼或要求傳輸延遲時間短的數(shù)據(jù)傳輸系統(tǒng),在 高性能存貯器系統(tǒng)中,用這種譯碼器可以提高譯碼系統(tǒng)的效率。將快速賦能電路用于高速存貯器時,譯碼器的延遲時間和存貯器的賦能時間通常小于存貯器的典型存取時間,這就是說由肖特基鉗位的系統(tǒng)譯碼器所引起的有效系統(tǒng)延遲可以忽略不計。HC138 按照三位二進制輸入碼和賦能輸入條件,從8
57、 個輸出端中譯出一個 低電平輸出。兩個低電平有效的賦能輸入端和一個高電平有效的賦能輸入端減少了擴展所需要的外接門或倒相器,擴展成24 線譯碼器不需外接門;擴展成32 線譯碼器,只需要接一個外接倒相器。在解調(diào)器應(yīng)用中,賦能輸入端可用作數(shù)據(jù)輸入端。</p><p> 74hc138引腳圖</p><p> 1,2,3 A0--A1
58、 地址輸入端</p><p> 4,5 /E1,/E2 輸入使能端(低電平有效)</p><p> 6 E3 輸入使能端(高電平有效)</p><p> 8
59、 GND 接地端</p><p> 15, 14, 13, 12, 11, 10, 9, 7/Y0 -- /Y7輸出端(低電平有效)</p><p> 16 VCC 電源</p>&l
60、t;p> 74HC138功能表</p><p> 3.3復(fù)位電路的分析</p><p> 復(fù)位信號RST高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復(fù)位操作。</p><p> 復(fù)位的實現(xiàn)通常用2種方式:開機上電復(fù)位和外部手動復(fù)位,本設(shè)計用的是外部手動復(fù)位。電路圖6如下:</p><p><b> 圖6
61、 單片機復(fù)位圖</b></p><p> 圖7 單片機最小應(yīng)用系統(tǒng)原理圖</p><p> 注:該最小系統(tǒng)由按鍵復(fù)位RESET電路、晶體振蕩電路以及I/O接口電路組成。</p><p><b> 硬件電路設(shè)計</b></p><p> 本系統(tǒng)硬件部分主要由:51最小系統(tǒng)、16*16點陣模塊、列控制模塊
62、、行控制模塊這幾個模塊組成。各模塊的原理圖如下:</p><p> 我們運用的是將四個8*8的點陣焊接成為一個16*16的點陣屏</p><p><b> 16*16點陣模塊</b></p><p><b> 列控制模塊</b></p><p><b> 行控制模塊</b&g
63、t;</p><p><b> 51最小系統(tǒng)</b></p><p><b> 3.4振蕩電路</b></p><p> 單片機的定時控制功能是由片內(nèi)的時鐘電路和定時電路來完成的,而片內(nèi)的時鐘產(chǎn)生有兩種方式:一種是內(nèi)部時鐘方式;一種是外部時鐘方式,如圖3-3(a)、(b)所示。</p><p>
64、; 圖3-3 HMOC型MCS—51單片機時鐘產(chǎn)生方式</p><p> 內(nèi)部振蕩器方式 (b)外部振蕩器方式</p><p> 采用內(nèi)部時鐘方式時,如圖3-3(a)所示。片內(nèi)的高增益反相放大器通過XTAL1、XTAL2外接作為反饋元件的片外晶體振蕩器(呈感性)與電容組成的并聯(lián)諧振回路構(gòu)成一個自激振蕩器,向內(nèi)部時鐘電路提供振蕩時鐘。振蕩器的頻率主要取決于晶體的振蕩頻率,一般晶體
65、可在1.2~12MHz之間任選,電容C1、C2可在5~30pF之間選擇,電容的大小對振蕩頻率有微小的影響,可起頻率微調(diào)作用。</p><p> 采用外部時鐘方式時,如圖2-4(b)所示。外部振蕩信號通過XTAL2端直接接至內(nèi)部時鐘電路,這時內(nèi)部反相放大器的輸入端XTAL1端應(yīng)接地。通常外接振蕩信號為低于12MHz的方波信號。</p><p> 本電路選用的是內(nèi)部振蕩器方式,如圖3-3(
66、a)所示。選用內(nèi)部振蕩器比選用外部時鐘電路簡單并且易于實現(xiàn)。最重要的是此電路易于調(diào)試,而且精度高。</p><p><b> 3.5 驅(qū)動電路</b></p><p> 3.5.1 驅(qū)動器的基本結(jié)構(gòu) </p><p> 本文采用的驅(qū)動器是74LS04(也就是六反相器),內(nèi)部結(jié)構(gòu)框圖如圖3-7所示。此集成片的內(nèi)部結(jié)構(gòu)非常簡單,內(nèi)部由6個非
67、門構(gòu)成,主要達到驅(qū)動的作用。因顯示器是共陽極的,需要一定的電流才能達到顯示的作用,而單片機輸出為低電平,不能直接對顯示器進行驅(qū)動,需要驅(qū)動電路,也就是六個非門對單片機輸入的</p><p> 信號進行反相后,得到所需的高電平,提</p><p> 供給顯示器,使顯示器能夠正常工作,因</p><p> 此達到了驅(qū)動的作用。</p><p&g
68、t; 3.5.2驅(qū)動控制原理</p><p> 用于發(fā)布消息、顯示漢字的點陣式LED顯示屏通常由若干塊LED點陣顯示模塊組成;用于顯示漢字、圖形的8*8單色LED顯示點陣模塊,每塊有64個LED器件。為了減少引腳且便于封裝,各種LED顯示點陣模塊都采用陣列形式排布,即在行列線的交點處接有顯示LED器件。因此,LED點陣顯示模塊的顯示驅(qū)動只能采用動態(tài)驅(qū)動方式,每次最多只能點亮一行LED(共陽形式LED顯示點陣模
69、塊)或一列LED(共陰形式LED顯示點陣模塊)。通過單片機總線操作控制來完成對每一個LED點陣顯示模塊內(nèi)每個LED顯示點的亮、暗控制操作。以此類推,可實現(xiàn)整屏LED點陣的亮、暗控制,從而實現(xiàn)LED顯示屏漢字或圖象的顯示控制操作。 由此可知,選用此驅(qū)動電路,可以很方便的達到所需要的驅(qū)動電流,使顯示器能夠正常發(fā)光。同時,使整個電路簡單化,易于實現(xiàn)。</p><p><b> 3.6顯示電路<
70、;/b></p><p> 在數(shù)字系統(tǒng)和裝置中,經(jīng)常需要把數(shù)字、文字和符號等的二進制編碼,翻譯成人們習(xí)慣的形式直觀的顯示出來,以便于查看和對話。在計算機中,漢字以內(nèi)碼的形式進行表示、交換、處理。需要顯示時,由內(nèi)碼轉(zhuǎn)換成區(qū)位碼,利用區(qū)位碼在字庫中提取要顯示漢字的字模,然后根據(jù)字模信息在屏幕上以畫點的方法顯示出來 。用LED點陣模塊代替計算機屏幕,則每個LED對應(yīng)字模中的一個位,在控制器的控制下,讓LED根據(jù)
71、字模信息亮或滅,就可顯示漢字。</p><p><b> 3.7本章小節(jié)</b></p><p> 本章主要對芯片作了介紹,對其內(nèi)存單元作了詳細說明,并對系統(tǒng)硬件(實驗板)的結(jié)構(gòu)框圖和各功能電路作了說明,以及這些電路在本設(shè)計中的用途。</p><p><b> 4 軟件設(shè)計</b></p><p&
72、gt; 4.1單片機延時子程序</p><p> 延時程序在單片機編程中使用非常廣泛,也很重要,在本畢業(yè)設(shè)計的程序中用到了延時子程序,所以在此詳細的敘述一下。在弄清延時程序指令的用法之前,要清楚的了解延時程序的基本概念,機器周期和指令周期的區(qū)別和聯(lián)系、相關(guān)指令的用法等。 </p><p> 我們知道程序設(shè)計是單片機開發(fā)最重要的工作,而程序在執(zhí)行過程中常常需要完成延時的功能。例如在本設(shè)
73、計中,行向的掃描要控制每行的掃描時間,還有所有的字移動有一定的時間間隔,而在所有的字移動一遍結(jié)束的一瞬間到下一遍移動開始的一瞬間要有延時,這時的延時可以和移動的時間相同以保持移動的連貫性,也可以不同作為每次從頭開始的停頓,在上述就可以通過延時程序來完成。</p><p> 1. 機器周期和指令周期 </p><p> (1)機器周期是指單片機完成一個基本操作所花費的時間,一般使用微秒來
74、計量單片機的運行速度,51單片機的一個機器周期包括12 個時鐘振蕩周期,也就是說如果51 單片機采用12MHz 晶振,那么執(zhí)行一個機器周期就只需要1μs;如果采用的是6MHz 的晶振,那么執(zhí)行一個機器周期就需要2 μs。 </p><p> ?。?)指令周期是指單片機執(zhí)行一條指令所需要的時間,一般利用單片機的機器周期來計量指令周期。 </p><p> 在51 單片機里有單周期指令(執(zhí)行
75、這條指令只需一個機器周期),雙周期指令(執(zhí)行這條指令只需要兩個 機器周期),四周期指令(執(zhí)行這條指令需要四個機器周期)。除了乘、除兩條指令是四周期指令,其余均 為單周期或雙周期指令。也就是說,如果51 單片機采用的是12MHz 晶振,那么它執(zhí)行一條指令一般只需 1~2 微秒的時間;如果采用的是6MHz 晶振,執(zhí)行一條指令一般就需2~4微秒的時間。</p><p> 以12MHZ晶振為例,指令周期、機器周期與時鐘
76、周期的關(guān)系是: </p><p> 指令周期:CPU執(zhí)行一條指令所需要的時間稱為指令周期,它是以機器周期為單位的,指令不同,所需的機器周期也不同。 </p><p> 時鐘周期:也稱為振蕩周期,一個時鐘周期=晶振的倒數(shù)。 </p><p> MCS-51單片機的一個機器周期=6個狀態(tài)周期=12個時鐘周期。 </p><p> MCS-
77、51單片機的指令有單字節(jié)、雙字節(jié)和三字節(jié)的,它們的指令周期不盡相同,一個單周期指令包含一個機器周期,即12個時鐘周期,所以一條單周期指令被執(zhí)行所占時間為12×(1/12000000)=1μs。 </p><p> 了解以上概念后,那么可以依據(jù)單片機器件手冊中89C51的指令執(zhí)行周期和其所用晶振頻率來完成需要精確延時時間的延時程序。 </p><p><b> 2.
78、延時指令 </b></p><p> 在單片機編程里面并沒有真正的延時指令,從上面的概念中我們知道單片機每執(zhí)行一條指令都需要一 定的時間,所以要達到延時的效果,只須讓單片機不斷地執(zhí)行沒有具體實際意義的指令,從而達到了延時 的效果。 </p><p> ?。?)數(shù)據(jù)傳送指令 MOV </p><p> 數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方復(fù)制、拷貝到另一
79、個地方。 </p><p> 如:MOV R7,#80H ;將數(shù)據(jù)80H 送到寄存器R7,這時寄存器R7 里面存放著80H,就單這條 指令而言并沒有任何實際意義,而執(zhí)行該指令則需要一個機器周期。 </p><p> ?。?)空操作指令 NOP </p><p> 空操作指令功能只是讓單片機執(zhí)行沒有意義的操作,消耗一個機器周期。 </
80、p><p> ?。?)循環(huán)轉(zhuǎn)移指令 DJNZ </p><p> 循環(huán)轉(zhuǎn)移指令功能是將第一個數(shù)進行減1 并判斷是否為0,不為0 則轉(zhuǎn)移到指定地點;為0 則往下執(zhí)行。 </p><p> 如:DJNZ R7,KK ;將寄存器R7 的內(nèi)容減1 并判斷寄存器R7 里的內(nèi)容減完1 后是否為0,如果 不為0 則轉(zhuǎn)移到地址標號為KK 的地方;如果為0 則執(zhí)行下一條指令。這條指令
81、需要2個機器周期。 </p><p> 循環(huán)轉(zhuǎn)移指令(DJNZ )除了可以給定地址標號讓其跳轉(zhuǎn)外,還可以將地址標號改成$,這樣 程序就跳回本指令執(zhí)行。例如: DJNZ R7,$ ;R7 內(nèi)容減1 不為0,則再次執(zhí)行本指令;為0 則往下執(zhí)行,當(dāng)R7 的值改為10 時,則執(zhí)行完該條程序所需的時間為2*10=20 μs。</p><p> 利用以上三條指令的組合就可以比較精確地編寫出所需要的
82、延時程序。</p><p><b> 4.2點陣的移動</b></p><p> 以下以16×16點陣為例介紹點陣的移動。要顯示一個字符,該字符的點陣數(shù)據(jù)可以列向(縱向)16點組字,又可以行向(橫向)16點組字。無論哪一種組字方法,都既可以顯示字符的水平方向的移動,又可以顯示豎直方向的移動。</p><p> 4.2.1.顯示字
83、符的左右移動</p><p> (1)列掃描方式左移動:列向組字顯示字符水平方向的移動(左滾動)</p><p><b> 在這里有兩個方法:</b></p><p> 方法1:延長數(shù)組法。將原來字符點陣數(shù)組的16個數(shù)據(jù)重復(fù)一遍延長,點陣數(shù)組的數(shù)據(jù)個數(shù)為32個。每掃描儀幀取8個數(shù)據(jù)顯示,下一幀取數(shù)要在數(shù)組中后移一個數(shù)取數(shù)。循環(huán)一遍掃16幀
84、??梢约傧胗袃蓧K16×16的點陣模塊(共32幀)水平平行排列,用一個恰好能罩住8列點陣的中空方框去罩這個點陣,第1(第1幀)罩住最左邊數(shù)起第一列開始的16列,就掃描顯示這16列;第2次(第2幀)使方框右移一列,罩住做左邊數(shù)起第2列開始的16列,就掃描顯示這16列;······;這樣每掃描完一幀使方框右移一列,最后第16次(第16幀)時,罩住左邊數(shù)起的第16列開始的16
85、列,就掃描顯示這16列。如此完成16幀畫面的掃描顯示,也就完成了整個一次移動循環(huán)掃描、之后反復(fù)循環(huán),即可呈現(xiàn)顯示字符沿水平向左移動的圖像,如圖2.13所示。</p><p> 圖2.13 方框圖法左右移動示意圖</p><p> 因為是列向組字(列掃描方式,點陣數(shù)據(jù)為行碼,上邊為地位下面為高位),希望顯示移動的一個字符,第1次掃描從行碼的點陣數(shù)組中取第1~16個數(shù)據(jù),送行碼輸出口,對應(yīng)
86、于這8個數(shù)據(jù),同時用列碼輸出口輸出列碼,分別控制第1~16列。掃描完前16個數(shù)據(jù)之后,第2次掃描從點陣數(shù)組中取第2~14個數(shù)據(jù)(第17個數(shù)據(jù)與地1個數(shù)據(jù)同),送行碼輸出口,對應(yīng)于這16個數(shù)據(jù),同時用列碼輸出口輸出列碼,仍分別控制掃地1~16列。第3次掃描從點陣數(shù)組中取第3~18個數(shù)據(jù)(第18個數(shù)據(jù)碼與地2個數(shù)據(jù)碼相同)掃描······;如此實現(xiàn)字符向左移動。</p>
87、<p> 以上完成一個圖形移動的方法,也可以看成是移動16個不同的字形。如圖2.13所示,首先掃描第一個字型,同樣是16行,16次掃描,16次顯示;完成一個字型的掃描以后,再掃描第二個字型;完成第二個字型的掃描之后,再掃描第三個字型······依此類推,即可產(chǎn)生該文字的左移的感覺。</p><p> 圖2.13字形法左右移動示意圖<
88、;/p><p> 假設(shè)如果原本某個漢字的字型(第一個字型),其編碼為:</p><p> 00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H;</p><p> 第二個字型的編碼為:</p><p> 10H,20H,30H,40H,50H,60H,70
89、H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H, 00H,</p><p> 也就是把第一個字型的編碼中,第1行顯示數(shù)據(jù),變?yōu)榈?行顯示數(shù)據(jù);第2行顯示數(shù)據(jù),變成第3行顯示數(shù)據(jù);第3行顯示數(shù)據(jù),變成第4行顯示數(shù)據(jù);第4行顯示數(shù)據(jù),變成第5行顯示數(shù)據(jù)······以此類推。</p><p> 當(dāng)?shù)谝粋€
90、字型掃描顯示完成之后,就進行這樣的動作調(diào)整,以產(chǎn)生第二個字型的編碼。同樣的,當(dāng)?shù)诙€字型掃描完成之后,就進行這樣的調(diào)整動作,以產(chǎn)生第三個字型的編碼。這個調(diào)整動作時先將16個編碼根據(jù)序填入存儲器,例如第1行編碼存入20H,第二行編碼存入21H······要進行左移調(diào)整時,則先將20H地址的數(shù)據(jù)轉(zhuǎn)移到36H地址,再將21 H地址的數(shù)據(jù)轉(zhuǎn)移到20 H地址,將22 H地址的數(shù)據(jù)轉(zhuǎn)移到2
91、1 H地址,將23 H地址的數(shù)據(jù)轉(zhuǎn)移到22 H地址,將24 H地址的數(shù)據(jù)轉(zhuǎn)移到23 H地址,將25 H地址的數(shù)據(jù)轉(zhuǎn)移到24 H地址,將26 H地址的數(shù)據(jù)轉(zhuǎn)移到25 H地址,將27 H地址的數(shù)據(jù)轉(zhuǎn)移到26 H地址,將28 H地址的數(shù)據(jù)轉(zhuǎn)移到27H地址······</p><p> 方法2:數(shù)組數(shù)據(jù)“循環(huán)左移法” (適合用C語言編寫,在此僅作了解)。注意,
92、不是把二進制數(shù)據(jù)按位循環(huán)左移,而是把數(shù)組中的數(shù)據(jù)按其在數(shù)組中的位置循環(huán)左移。具體的方法入下。</p><p> 原字符點陣數(shù)組中的16個數(shù)據(jù)不延長,但下一幀取的16個數(shù)據(jù),是把上一幀的16個數(shù)據(jù)的位置(先后順序)“循環(huán)左移”一次,即原來第2個移到第1個,原來第3個移到第2個······原來第1個移到第16個。實現(xiàn)數(shù)組數(shù)據(jù)循環(huán)左移的方法有:第一,遍一個“
93、數(shù)組數(shù)據(jù)循環(huán)左移子程序”,該子程序每執(zhí)行一次可把數(shù)組中的額數(shù)據(jù)循環(huán)左移一次,主程序中先調(diào)用一次該子程序,時數(shù)組中的數(shù)據(jù)循環(huán)左移這一次,然后再從數(shù)組中取數(shù)據(jù)顯示。當(dāng)數(shù)組中的額數(shù)據(jù)個數(shù)較多時,片內(nèi)RAM將不夠大,必須將數(shù)組定義在片外RAM中。第二,不用子程序,而是用變量判斷控制實現(xiàn)數(shù)組數(shù)據(jù)的循環(huán)左移。</p><p> (2) 行掃描方式左移:行向組字顯示字符水平方向的左移。如果是行向組字(行掃描方式,點陣數(shù)據(jù)為列
94、碼,左邊為敵位右邊為高位),希望顯示向左移動的一個字符,第1次掃描從列碼的點陣數(shù)組中取第1~16個數(shù)據(jù),送到列碼輸出口,對應(yīng)的8個數(shù)據(jù),同時用行碼輸出口輸出行碼,分別控制掃描第1~16行。掃描完成這16個數(shù)據(jù)之后,第2次掃描的第16個數(shù)據(jù),應(yīng)將原來第1次掃描的16列碼每一個都循環(huán)右移一位(如果是顯示右移則應(yīng)循環(huán)左移),再進行掃描。如此,每進行下一次掃描,把上一次掃描的16個列碼都循環(huán)右移一位,再進行掃描。</p><
95、p> 數(shù)據(jù)的右移與數(shù)據(jù)的左移相似,只是取碼的順序相反而已,在此就不再贅述。</p><p> 4.2.2數(shù)據(jù)的上下移動</p><p> (1)列掃描方式向上移動</p><p> 列向組字顯示字符豎直方向的移動。若是列向組字,希望顯示向上移動一個字符,第1次掃描從行碼的點陣數(shù)組中取第1~16個數(shù)據(jù),送行碼輸出口,對應(yīng)于這16個數(shù)據(jù),同時用列碼輸出口輸
96、出列碼,分別控制掃描第1~16列。由于是列向組字(上高下低),掃描完成這16個數(shù)據(jù)后,第2次掃描的16個數(shù)據(jù),應(yīng)將原來的第1次掃描的16個行碼每一個都循環(huán)右移一位,使顯示的點都上移一行(如果是顯示向下滾動則應(yīng)循環(huán)左移),再進行掃描。如此,每進行下一次的掃描,把上一次的16個行碼都循環(huán)右移一位,再進行掃描就實現(xiàn)了數(shù)據(jù)的向上移動。</p><p> 也可以用字型的方法容易理解,以下的16×16的LED顯示
97、一個字是8個字型,首先掃描的而是第一個字型,同樣是16行,16列掃描,16次顯示;完成一個字型后,再掃描第二個字型;完成第二個字型后,再掃描第三個字型······以此類推,即可產(chǎn)生該文字向上移動的感覺</p><p> 當(dāng)把第一個字型編碼中,每行顯示的數(shù)據(jù)都右移一位,以產(chǎn)生第二個字型編碼,即可產(chǎn)生字符向上滾動的感覺。</p><p&
98、gt; 當(dāng)?shù)谝粋€字符掃描完成后,就進行這樣的調(diào)整動作,以產(chǎn)生第二個字型的編碼。同樣的,當(dāng)?shù)诙€字型完成之后,就進行這樣的調(diào)整動作,以產(chǎn)生第三個字型的編碼。調(diào)整的動作是先將8個編碼根據(jù)序填入儲存器,例如第1行編碼存入20地址,第2行編碼存入21地址······要進行上移調(diào)整時,則從20地址數(shù)據(jù)開始,每筆數(shù)據(jù)都右移一位即可。
99、
100、 </p><p> (2)行掃描方式上下移動</p><p> 行向組字顯示字符豎直方向的移動</p><p> 方法1:延長數(shù)組法。如果是行向組字,希望顯示向上移動的一個
101、字符,第1次掃描從列碼的點陣數(shù)組中取第1~16個數(shù)據(jù),送列碼輸出口,對應(yīng)于這8個數(shù)據(jù),同時用行碼輸出口輸出行碼,分別控制掃描第1~16行。第2次掃描從點陣數(shù)組中取第2~17個額數(shù)據(jù)(第17個數(shù)據(jù)與地1個數(shù)據(jù)同),分別送列碼輸出口,對應(yīng)于這16個數(shù)據(jù),同時用行碼輸出口輸出行碼,仍分別控制地1~16行。第3次掃描從點陣數(shù)組中取第3~18個數(shù)據(jù)(第18個數(shù)據(jù)與地2個數(shù)據(jù)同)掃描;·····
102、183;如此就實現(xiàn)了字符的向上移動。</p><p> 方法2:數(shù)組數(shù)據(jù)“循環(huán)左移法”。實現(xiàn)數(shù)組數(shù)據(jù)循環(huán)左移的方法與上類似。也有:用數(shù)組數(shù)據(jù)循環(huán)左移子程序;不用子程序,而是用變量判斷控制實現(xiàn)數(shù)組數(shù)據(jù)的循環(huán)左移。</p><p> 4.3主程序模塊設(shè)計</p><p> 整個程序進行模塊化設(shè)計,主程序只需調(diào)用相應(yīng)的程序即可。主程序流程如附件一所示。</p&
103、gt;<p><b> 4.4 本章小節(jié)</b></p><p> 本章主要對系統(tǒng)的軟件設(shè)計進行了詳細說明,從數(shù)據(jù)單元及標志單元的分配,到各子程序模塊的實現(xiàn)方法,以及對時鐘的誤差分析、校正,定時音與顯示相沖突問題及解決方案。</p><p><b> 5 系統(tǒng)調(diào)試</b></p><p> 附錄A:實
104、驗板原理圖</p><p><b> 參考文獻</b></p><p> [1] 胡漢才.單片機原理及接口技術(shù)[M].北京:清華大學(xué)出版社,1996.</p><p> [2] 胡健.單片機原理及接口技術(shù)[M].北京:機械工業(yè)出版社,2004.</p><p> [3] 胡健.單片機實用教程[M].北京:兵器工業(yè)
105、出版社,2001.</p><p> [4] 周行慈.單片機應(yīng)用程序設(shè)計基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1991.</p><p> [5] 李廣弟.單片機基礎(chǔ)[M].修訂本,北京:北京航空航天大學(xué)出版社,2001.</p><p> [6] 李朝青.單片機原理及接口技術(shù)[M],簡明修訂版.北京:北京航空航天大學(xué)出版社,1999.</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機霓虹燈設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的智能霓虹燈控制系統(tǒng)設(shè)計
- 基于單片機的霓虹燈設(shè)計-本科畢業(yè)論文
- 基于單片機的霓虹燈控制器設(shè)計【畢業(yè)論文】
- 畢業(yè)論文---基于單片機的霓虹燈控制器的設(shè)計
- 畢業(yè)設(shè)計---可變霓虹燈設(shè)計
- 畢業(yè)設(shè)計----基于單片機的廣告燈設(shè)計
- 霓虹燈plc控制畢業(yè)設(shè)計
- 基于單片機控制的無線電子廣告牌的設(shè)計_畢業(yè)設(shè)計論文
- 基于plc的霓虹燈廣告彩屏的設(shè)計
- 基于plc的霓虹燈控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 廣告牌畢業(yè)設(shè)計
- 基于單片機控制的霓虹燈控制器【開題報告】
- 基于plc的霓虹燈控制系統(tǒng)畢業(yè)設(shè)計
- 其于單片機的霓虹燈控制器設(shè)計【任務(wù)書】
- 基于plc的霓虹燈設(shè)計
- 51單片機控制的廣告牌顯示設(shè)計論文.doc
- 霓虹燈廣告屏課程設(shè)計2
- 51單片機控制的廣告牌顯示設(shè)計論文.doc
- 霓虹燈廣告屏設(shè)置課程設(shè)計
評論
0/150
提交評論