版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 編號(hào): </b></p><p> 微機(jī)綜合實(shí)踐課程說明書</p><p> 題 目: 陣式圖形顯示 </p><p> 學(xué) 院: 機(jī)電工程學(xué)院 </p><p> 專 業(yè): 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 </p&g
2、t;<p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師單位: 機(jī)械制造教研室 </p><p> 姓 名: </p><p> 職 稱:
3、 副 教 授 </p><p> 2013年12月30日</p><p><b> 摘 要</b></p><p> 在8×8點(diǎn)陣式LED顯示“★”、“●”和心形圖,通過按鍵來選擇要顯示的圖形,顯示時(shí)間可調(diào)(時(shí)間自定義)。用AT89S51單片機(jī)的P0口和P2口控制點(diǎn)陣的行和列實(shí)現(xiàn)所要顯示的圖形。做
4、出最小系統(tǒng),通過兩個(gè)按鍵對要求顯示的圖形和顯示時(shí)間進(jìn)行調(diào)整。電路簡單,設(shè)計(jì)方便,顯示亮度高,耗電較少,可靠性高。</p><p> 關(guān)鍵詞:單片機(jī);點(diǎn)陣;圖形</p><p><b> 引言</b></p><p> 微機(jī)綜合實(shí)踐是理論聯(lián)系實(shí)際的重要實(shí)踐教學(xué)環(huán)節(jié),是對學(xué)生進(jìn)行的一次綜合性專業(yè)設(shè)計(jì)訓(xùn)練。本次課程設(shè)計(jì)主要注意的是電子電路的設(shè)計(jì)
5、、安裝、調(diào)試、印制電路板以及單片機(jī)應(yīng)用等綜合于一體的一門課程,意在培養(yǎng)學(xué)生正確的設(shè)計(jì)思想方法以及思路,理論聯(lián)系實(shí)際的工作作風(fēng),嚴(yán)肅認(rèn)真、實(shí)事求是的科學(xué)態(tài)度,培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)與生產(chǎn)實(shí)踐經(jīng)驗(yàn),分析和解決工程技術(shù)問題的能力。作為一名當(dāng)代合格的大學(xué)生不僅需要扎實(shí)的理論知識(shí),還需要有過硬的動(dòng)手能力,所以認(rèn)真做好課程設(shè)計(jì),對提高我們動(dòng)手能力的提高有很大的幫助。</p><p> 本次課程設(shè)計(jì)的題目為陣式圖形顯示控制
6、:在8×8點(diǎn)陣式LED顯示“★”、“●”和心形圖,通過按鍵來選擇要顯示的圖形,顯示時(shí)間可調(diào)(時(shí)間自定義)。通過課程設(shè)計(jì),我已較好的完成了設(shè)計(jì)任務(wù),并對課堂上的理論知識(shí)有了進(jìn)一步的熟悉和了解,自己的能力得到了很大的提升。</p><p><b> 1 設(shè)計(jì)任務(wù)</b></p><p> 陣式圖形顯示控制:在8×8點(diǎn)陣式LED顯示“★”、“●”和
7、心形圖,通過按鍵來選擇要顯示的圖形,顯示時(shí)間可調(diào)(時(shí)間自定義)。</p><p><b> 2 設(shè)計(jì)方案論證</b></p><p> 根據(jù)設(shè)計(jì)內(nèi)容要求,我們提出了如下兩種方案:</p><p> 方案一:采用40腳、片內(nèi)帶8kB Flash ROM的AT89S51單片機(jī)作為控制核心,采用P0口和P2口作為輸出,P1.1,P1.2,P1
8、.3作為選擇鍵選擇要顯示的圖形,按下P1.1連接的鍵顯示心形圖案,按下P1.2連接的鍵顯示★形圖案,按下P1.3連接的鍵顯示●形圖案。單片機(jī)中的 P2.0—P2.7端口連接到點(diǎn)陣LED的行,要求P2.0選中第一行,如此,P2.7選中第8行。P1.1、P1.2、P1.3接按鍵。單片機(jī)的P0、P2出來的電壓較低,若來驅(qū)動(dòng)二極管發(fā)光的話,二極管的光會(huì)太暗。用鎖存器74HC573驅(qū)動(dòng),做出來后效果好,亮度高。方案一結(jié)構(gòu)框圖如圖2-1所示,按照這
9、種結(jié)構(gòu)設(shè)計(jì),單片機(jī)端口資源剛好滿足要求。</p><p> 圖2-1 方案一:采用P1.1,P1.2,P1.3選擇圖形顯示系統(tǒng)結(jié)構(gòu)框圖</p><p> 方案二:采用40腳、片內(nèi)帶8kB Flash ROM的AT89S52單片機(jī)作為控制核心,采用P0口和P2口作為輸出,P1.1,P1.3選擇顯示的圖形和調(diào)整圖形顯示的時(shí)間。單片機(jī)中的P0.0—P0.7端口連接到點(diǎn)陣LED的列。單片機(jī)中的
10、P2.0 - P2.7端口通過74HC573連接到陣LED的行。P1.1、P1.3接按鍵。單片機(jī)的P0、P2出來時(shí)的電壓較低,若來驅(qū)動(dòng)二極管發(fā)光的話,二極管的光會(huì)太暗。用鎖存器74HC573驅(qū)動(dòng),做出來后效果好,亮度高。方案二結(jié)構(gòu)框圖如圖2-2所示,按照這種結(jié)構(gòu)設(shè)計(jì),單片機(jī)端口資源剛好也滿足要求。</p><p> 圖2-2 方案二:采用P1.1,P1.3控制調(diào)整圖形時(shí)間顯示系統(tǒng)結(jié)構(gòu)框圖</p>
11、<p> 兩種方案的特點(diǎn)比較如下:方案一具有電路簡單,設(shè)計(jì)方便,顯示亮度高,耗電較少,可靠性高,程序簡單好調(diào)等特點(diǎn);方案二除了具有方案一的全部優(yōu)點(diǎn)之外還具有按鍵少(少一個(gè)),圖形和圖形顯示時(shí)間都可調(diào)的優(yōu)點(diǎn)。可見方案二優(yōu)于方案一,因此本設(shè)計(jì)選用方案二。</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 采用LED動(dòng)態(tài)掃描的8*8點(diǎn)陣
12、顯示系統(tǒng)電路原理圖如圖3-1所示,系統(tǒng)由控制模塊、點(diǎn)陣顯示模塊、按鍵選擇模塊、鎖存器模塊四部分組成。元器件清單見附錄1。PCB圖見附錄2。</p><p> 圖3-1 陣式圖形顯示原理圖</p><p><b> 3.1 控制模塊</b></p><p> 控制模塊電路如圖3-2所示。主控制器采用AT89S51。</p>&
13、lt;p> AT89S51的晶振及復(fù)位電路按典型電路設(shè)計(jì),電路如下圖3-3,3-4所示,元器件參數(shù)見附錄1,晶振頻率選為12MHz。P2口用于控制選擇點(diǎn)亮的行,P0口用于控制列值,P1.1相當(dāng)于菜單鍵,選擇模式選擇、時(shí)間選擇或者確定顯示,P1.2用于確定模式和時(shí)間。P1.0接二極管。由于AT89S52使用片內(nèi)的8KB的Flash程序存儲(chǔ)器,所以片內(nèi)外程序存儲(chǔ)器選擇引腳/VPP接+5V電源。</p><p>
14、; 圖3-2 陣式圖形顯示原理圖</p><p> 圖3-3 復(fù)位電路 圖3-4 晶振電路</p><p> 3.2 點(diǎn)陣顯示模塊</p><p> 點(diǎn)陣顯示模塊如圖3-5所示。P2口控制點(diǎn)陣的行,P0口控制點(diǎn)陣的列值,即索要點(diǎn)亮的燈。由于單片機(jī)輸出電壓較低,P0口后接一個(gè)驅(qū)動(dòng)芯片(74
15、HC573)提高驅(qū)動(dòng)電流,使顯示效果好。</p><p> 圖3-5 點(diǎn)陣模塊電路</p><p> 3.3 按鍵選擇模塊</p><p> 通行按鍵選擇要顯示的圖形以及圖形顯示的時(shí)間。如圖3-6所示。按鍵S1相當(dāng)于菜單鍵和確定鍵,按鍵S3相當(dāng)于選擇鍵,選擇要顯示的圖形(五角星,圓或心形)和顯示圖形的時(shí)間(1S-8S)。S1和S3分別接單片機(jī)的P1.1和P1.
16、3。</p><p> 圖3-6 按鍵選擇模塊電路</p><p><b> 3.4 鎖存器模塊</b></p><p> 鎖存器模塊如圖3-7所示。剛開始我們的方案是點(diǎn)陣直接要單片機(jī)I/O口驅(qū)動(dòng)板子,由于單片機(jī)的P0、P2出來時(shí)的電壓較低,若來驅(qū)動(dòng)點(diǎn)陣模塊發(fā)光的話,光會(huì)太暗。所以我們準(zhǔn)備了三種解決方案:</p><p
17、> 第一個(gè)方案是在P1口加上上拉電阻,故在P0、P2采用上拉排阻來驅(qū)動(dòng)二極管發(fā)光,光度足夠亮。</p><p> 第二個(gè)方案是用三極管驅(qū)動(dòng),效果好,但對于8*8的點(diǎn)陣而言與用上拉電阻所得的效果差不多。</p><p> 第三個(gè)方案是用驅(qū)動(dòng)芯片74HC573驅(qū)動(dòng),做出來后效果非常好,亮度很高。</p><p> 考慮到連接電路及效果等因素,我們采用了第三
18、種方案。</p><p> 圖3-7 用驅(qū)動(dòng)芯片驅(qū)動(dòng)電路</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 陣式圖形顯示系統(tǒng)軟件主要分為主程序、定時(shí)器中斷服務(wù)子程序和延時(shí)子程序三部分。源程序用C語言編寫,所有程序見附錄4。</p><p> 顯示方式選擇:靜態(tài)顯示,相對來說,比較容易實(shí)現(xiàn)但亮
19、度不能保證。動(dòng)態(tài)顯示,對一幅畫面進(jìn)行分割,對組成畫面的各部分分別顯示。動(dòng)態(tài)顯示方式可以避免靜態(tài)顯示的問題。但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問題。因此合理的設(shè)計(jì)既應(yīng)保證驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無閃爍。動(dòng)態(tài)顯示,利用動(dòng)態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實(shí)質(zhì)是利用了人眼的暫留效應(yīng)。當(dāng)掃描刷新頻率(發(fā)光二極管的停閃頻率)為50Hz,發(fā)光二極管導(dǎo)通時(shí)間≥1ms時(shí),顯示亮度較好,無閃爍感。</p><p>
20、 鑒于上述原因,顯示部分我們采用動(dòng)態(tài)顯示。</p><p><b> 4.1 主程序</b></p><p> 主程序主要負(fù)責(zé)總體程序管理功能,包括初始化部分與人機(jī)交互設(shè)定部分。由于采用動(dòng)態(tài)掃描方式顯示,因此主程序大部分時(shí)間是調(diào)用掃描顯示程序與人機(jī)交互。</p><p><b> 顯示圖形如下所示:</b><
21、/p><p> ●●○○○○●● ○○●●●●○○ ○○○●●●●○</p><p> ○●●○○●●○ ○●●●●●●○ ○○●●●●●●</p><p> ○○●●●●○○ ●●●●●●●● ○●●●●●●○</p><p> ○○●●●●
22、○○ ●●●●●●●● ●●●●●●○○</p><p> ○●●●●●●○ ●●●●●●●● ●●●●●●○○</p><p> ●●●●●●●● ●●●●●●●● ○●●●●●●○</p><p> ○○●●●●○○ ○●●●●●●○
23、 ○○●●●●●●</p><p> ○○○●●○○○ ○○●●●●○○ ○○○●●●●○</p><p><b> 控制顯示的數(shù)組:</b></p><p> 12H,14H,3CH,48H,3CH,14H,12H,00H</p><p> 00H,00H,38H,44H,4
24、4H,44H,38H,00H</p><p> 30H,48H,44H,22H,44H,48H,30H,00H</p><p> 由LED的結(jié)構(gòu)圖可知道,8x8點(diǎn)陣式LED是由64個(gè)發(fā)光二極管構(gòu)成,每行8個(gè)二極管的陽極串接在一起,每列8個(gè)二極管的負(fù)端串接在一起。當(dāng)要選中某個(gè)點(diǎn)時(shí)就得把該點(diǎn)的行接高電平,列接低電平。</p><p> 主程序流程圖如圖4-1所示。
25、</p><p> 圖4-1主程序流程圖</p><p> 4.2 定時(shí)器中斷服務(wù)子程序</p><p> 定時(shí)器中斷服務(wù)子程序主要用于圖形顯示時(shí)間的控制,按系統(tǒng)方案,應(yīng)有1S-8S的定時(shí)。流程圖如圖4-2所示。</p><p> 定時(shí)器T0定時(shí)溢出中斷周期設(shè)為50ms,中斷累計(jì)20次(即1S)時(shí)對sec減一操作。Sec是變量,可以通
26、過改變sec的值改變顯示時(shí)間。程序中sec=d+1。d每按一次加一,最大值為7,到8變0。d由按鍵次數(shù)決定,也就是說按鍵次數(shù)決定顯示時(shí)間,實(shí)現(xiàn)了對顯示時(shí)間的調(diào)整。</p><p> 圖4-2定時(shí)器中斷服務(wù)子程序</p><p><b> 4.3 延時(shí)子程序</b></p><p> 延時(shí)子程序用來確定del ms的定時(shí)。其中del是輸入?yún)?/p>
27、數(shù),如果輸入1,就是要求程序延時(shí)1ms。</p><p> j變量是調(diào)整程序運(yùn)行的時(shí)間參數(shù)。調(diào)整j的數(shù)值,使1次循環(huán)的時(shí)間在1ms。將此程序編譯通過,然后利用軟件仿真,調(diào)整時(shí)間。</p><p> 兩次時(shí)間差就是延時(shí)函數(shù)使用的時(shí)間,如果與1ms相差比較多,可以調(diào)整j參數(shù)的值,使延時(shí)時(shí)間盡量接近1ms。如增大j的值for(j=0;j<183;j++);。通過在網(wǎng)上查閱資料,最后我們
28、選182。</p><p><b> 圖4-2延時(shí)子程序</b></p><p><b> 5 算法分析</b></p><p><b> 5.1 定時(shí)時(shí)間</b></p><p> 本設(shè)計(jì)涉及到1S-8S五段計(jì)時(shí),sec=d+1,t為計(jì)時(shí)時(shí)間,取1-8,sec是循環(huán)
29、次數(shù),即重裝初值的次數(shù)。</p><p> 所以sec可取1-8,根據(jù)主程序中的d來確定。而d的值又由按鍵2按下次數(shù)決定,從而實(shí)現(xiàn)對顯示時(shí)間的調(diào)整控制。</p><p> 5.2 定時(shí)時(shí)間初值與TMOD的設(shè)置</p><p> T0、T1為16位定時(shí)器,由于定時(shí)時(shí)間大于8192μS,應(yīng)選用工作方式1。</p><p> 由于晶振頻率為
30、12MHz,TCY=1μS,故有</p><p> T=(65536-X)TCY=(65536-X)×1μs =50ms</p><p> 初值 X=15536=3CB0H,即TH0=3CH ,TL0=0B0H。</p><p> TMOD的格式如圖5-1所示。</p><p> 圖5-1 TMOD的格式</p>
31、<p> TMOD各位的內(nèi)容確定如下:由于定時(shí)器/計(jì)數(shù)器0設(shè)為定時(shí)器,選用工作方式1,所以GATE(TMOD.3)=0,C/ (TMOD.2)=0,M1(TMOD.1)=0,M0 (TMOD.0)=1;定時(shí)器/計(jì)數(shù)器1沒有使用,相應(yīng)的D7~D4為隨意狀態(tài)“X”。若取“X”為0,則(TMOD)=00000001B=01H</p><p> 5.3 中斷系統(tǒng)IE的取值</p><
32、p> IE的格式如圖5-2所示。</p><p> 圖5-2 IE的格式</p><p> IE每一位都由軟件置1或清零。本設(shè)計(jì)中CPU允許中斷即EA=1,定時(shí)器/計(jì)數(shù)器0中斷允許位ET0及外部中斷0中斷允許位EX0可申請中斷,即ET0=1,EX0=1,其余不允許中斷,均設(shè)為0,所以IE=10000011H=83H。</p><p><b>
33、 6 系統(tǒng)調(diào)試</b></p><p> 6.1 通電前電氣檢查</p><p> 檢查元器件安裝是否正確。尤其需要注意的是單片機(jī)的安裝、二極管和電容的極性以及耐壓值、電阻的阻值和功率是否與設(shè)計(jì)符合,如有不符,有可能被燒壞。</p><p> 檢查焊接點(diǎn)是否牢固,特別要仔細(xì)檢查有無漏焊、虛焊和錯(cuò)焊。對于靠近的相鄰焊點(diǎn),要注意檢查是否有短路的情況,
34、可用歐姆表進(jìn)行檢測。</p><p> 檢查電路接線是否有錯(cuò)誤。根據(jù)原理圖,用歐姆表逐根導(dǎo)線測試,發(fā)現(xiàn)問題并及時(shí)糾正。</p><p><b> 6.2 通電調(diào)試</b></p><p> 通電前應(yīng)準(zhǔn)備的儀器:萬用表、螺絲刀、電源發(fā)生器等。</p><p> 通電調(diào)試時(shí)為了防止電路中出現(xiàn)短路現(xiàn)象,可以先采用試觸法
35、對電路進(jìn)行簡單的測試,用手觸摸一下元器件,看看是否有過熱現(xiàn)象,如果有,則應(yīng)對電路再進(jìn)行檢查,電路無此現(xiàn)象,所以將電源發(fā)生器直接接入電路進(jìn)行的調(diào)試。首先先接通電路,看是否有電壓輸出,之后再按下相應(yīng)按鍵,檢查是否能正常顯示。若能,則可進(jìn)行下一步的相應(yīng)操作。</p><p> 6.3 調(diào)試過程出現(xiàn)的問題及解決方法</p><p> 初步調(diào)試時(shí),接通電源,顯示二極管未亮。經(jīng)過檢查發(fā)現(xiàn)顯示二極管
36、接反,取出重焊。</p><p><b> 6.4 軟件調(diào)試</b></p><p> 單片機(jī)軟件先在最小系統(tǒng)板上調(diào)試,確保工作正常之后,再與硬件系統(tǒng)聯(lián)調(diào)。除了語法差錯(cuò)外,當(dāng)確認(rèn)程序沒問題時(shí),通過直接下載到單片機(jī)來調(diào)試。</p><p><b> 7 結(jié)論</b></p><p> 本次課
37、程設(shè)計(jì)進(jìn)行軟件的設(shè)計(jì)和硬件電路設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)的基本功能,完成了系統(tǒng)設(shè)計(jì)基本指標(biāo):在8×8點(diǎn)陣式LED顯示“★”、“●”和心形圖,通過按鍵來選擇要顯示的圖形,顯示時(shí)間可調(diào)(時(shí)間自定義)。所選用的AT89S51單片機(jī)芯片強(qiáng)大的功能幫助我很好的完成了本設(shè)計(jì)。另外發(fā)現(xiàn),在按鍵中需要考慮去抖的問題,硬件去抖或軟件去抖。</p><p> 同時(shí)也再一次驗(yàn)證那句話:團(tuán)結(jié)就是力量,一個(gè)人雖說也能達(dá)到目標(biāo),但其中走的
38、彎路不少。有老師、同學(xué)在旁邊指導(dǎo),很多時(shí)候都是事半功倍,他們就好比化學(xué)反應(yīng)中的催化劑,促使我完成本次設(shè)計(jì)的動(dòng)力。</p><p><b> 謝 詞</b></p><p> 在老師和同組同學(xué)辛勤指導(dǎo)下,我積極探討和思考,完成此課程設(shè)計(jì)。此次設(shè)計(jì),使我受益匪淺,嘗到了學(xué)習(xí)單片機(jī)并應(yīng)用單片機(jī)于實(shí)際生活中的樂趣。由于本人動(dòng)手實(shí)踐經(jīng)驗(yàn)較少,在本次專業(yè)設(shè)計(jì)過程中遇到很多困
39、難,多虧得到組員及時(shí)的幫助,才得以順利完成本次專業(yè)設(shè)計(jì)的任務(wù)。過程中存在諸多問題,經(jīng)同學(xué)老師提點(diǎn)之后才有所認(rèn)識(shí),在以后的實(shí)踐環(huán)節(jié)中應(yīng)多加注意。在此,特別感謝各位組員和組長的幫助,以及老師的耐心指導(dǎo)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 薛小鈴、劉志群、賈俊榮.單片機(jī)接口模塊應(yīng)用與開發(fā)實(shí)例.北京航空航天大學(xué)出版社,2010.<
40、;/p><p> [2] 白駒珩、雷小平.單片計(jì)算機(jī)及其應(yīng)用.電子科技大學(xué)出版社,2012.</p><p> [3] 趙景波、徐江偉、施敏敏.電路設(shè)計(jì)與制版-Protel2004[M].北京郵電出版社,2009.</p><p> [4] 劉建清.輕松玩轉(zhuǎn)51單片機(jī).北京航空航天大學(xué)出版,2011.</p><p><b>
41、; 附錄1 元器件清單</b></p><p><b> 附錄2 PCB圖</b></p><p><b> 附錄3 實(shí)物圖</b></p><p> 附錄4 陣式圖形顯示程序清單</p><p> #include<reg52.h></p><
42、;p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit asd=P1^0;</p><p> sbit K1 =P1^1;</p><
43、;p> sbit K2 =P1^3;</p><p> uint num=0;</p><p> uint temp=1;</p><p> uint time,sec;</p><p> sbit Led= P1^0; </p><p> uchar sum_num[3][8]=</p
44、><p><b> {</b></p><p> 0x84,0xCC,0x7E,0x3F,0x3F,0x7E,0xCC,0x84, //五角星</p><p> 0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C, //圓形</p><p> 0x1E,0x3F,0x7E,
45、0xFC,0xFC,0x7E,0x3F,0x1E //心形</p><p><b> };</b></p><p> char hang[8]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //行控制</p><p> char lie[8]={ 0x01,0x02,0x04,0x0
46、8,0x10,0x20,0x40,0x80}; //列控制</p><p> void Delay_1ms(uint del) //del 毫秒延時(shí)</p><p><b> {</b></p><p><b> uint i,j;</b></p><p> for(i=0; i&l
47、t;del; i++)</p><p> for(j=0; j<182; j++) ;</p><p><b> }</b></p><p> void time1_init(void)</p><p><b> {</b></p><p> TMOD=0x0
48、1; //16進(jìn)制中斷 </p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256; //每個(gè)機(jī)器周期加1。65536=2的16次方 65536us</p><p> EA=1; /*開總中斷*/</p>&
49、lt;p> ET0=1; /*開定時(shí)器0中斷*/</p><p><b> }</b></p><p> void time1_isr() interrupt 1</p><p><b> {</b></p><p> TH0=(65536-500
50、00)/256; /*重裝初值,50000表示50毫秒*/</p><p> TL0=(65536-50000)%256; </p><p><b> time++;</b></p><p> if(time==20)</p><p><b> {</b></p><
51、;p><b> time=0;</b></p><p><b> if(sec>0)</b></p><p><b> sec--;</b></p><p> if(sec==0)</p><p><b> {</b></p&g
52、t;<p><b> TR0=0;</b></p><p><b> temp=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>
53、</p><p> void main()</p><p><b> {</b></p><p> uchar i,j,c,d,b;</p><p><b> K1=0;</b></p><p><b> K2=0;</b></p>
54、<p><b> Led=0;</b></p><p><b> asd=0;</b></p><p><b> i=0;</b></p><p><b> j=0;</b></p><p><b> num=100;&l
55、t;/b></p><p> P2=hang[0];</p><p> P0=lie[7] ;</p><p><b> temp=num;</b></p><p> time1_init();</p><p> while(1) //
56、while主循環(huán)</p><p><b> {</b></p><p> if(K1==1) //按鍵S1按下</p><p><b> {</b></p><p> Delay_1ms(5);</p><p><b&g
57、t; if(K1==1)</b></p><p><b> {</b></p><p> while(K1==1);</p><p> j++; //每按下一次加一次</p><p> if(j==3)j=0;</p><p> P2=ha
58、ng[j]; //j行亮</p><p><b> if(j==0)</b></p><p> P0=lie[7-c] ;</p><p><b> else</b></p><p> P0=lie[7-d] ;</p><p><b>
59、 }</b></p><p><b> }</b></p><p> if(K2==1) //按鍵S2按下</p><p><b> {</b></p><p> Delay_1ms(5);</p><p>&
60、lt;b> if(K2==1)</b></p><p><b> {</b></p><p> while(K2==1);</p><p> switch(j) //j控制行</p><p><b> {</b></p><p
61、> case 0: //當(dāng)為第一行時(shí),c控制三個(gè)圖形</p><p><b> c++; </b></p><p><b> if(c==3)</b></p><p><b> c=0;</b></p><p> P2=hang[0]
62、;</p><p> P0=lie[7-c] ;</p><p><b> break;</b></p><p> case 1: //當(dāng)為第二行時(shí),d控時(shí)間</p><p><b> d++;</b></p><p><b> if
63、(d==8)</b></p><p><b> d=0;</b></p><p> P2=hang[1];</p><p> P0=lie[7-d] ;</p><p><b> break;</b></p><p> case 2:
64、 //當(dāng)為第三行時(shí),b控制</p><p><b> b++; </b></p><p><b> if(b==1) </b></p><p><b> {</b></p><p><b> b++;</b></p><p&g
65、t;<b> sec=d+1;</b></p><p> TR0=1;/*啟動(dòng)定時(shí)器*/</p><p><b> temp=1;</b></p><p> while(temp)</p><p><b> {</b></p><p> fo
66、r(i=0;i<8;i++)</p><p><b> {</b></p><p> P0=sum_num[c][i]; //輸出c圖</p><p> P2=hang[i];</p><p> Delay_1ms(1); //每1ms點(diǎn)亮下一行</p><p><b>
67、; }</b></p><p><b> }</b></p><p><b> b=0;</b></p><p><b> P0=0;</b></p><p><b> P2=0;</b></p><p>
68、<b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)--圖形畫法
- 微機(jī)原理課程設(shè)計(jì)---指針顯示時(shí)鐘
- 課程設(shè)計(jì)--點(diǎn)陣式lcd液晶顯示屏設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)-圖形變換程序
- 微機(jī)原理課程設(shè)計(jì)----鍵盤接收日期并顯示
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--數(shù)據(jù)采集顯示系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)---字符串動(dòng)畫顯示
- 單片機(jī)課程設(shè)計(jì)---點(diǎn)陣式液晶顯示屏的顯示程序設(shè)計(jì)
- 課程設(shè)計(jì)--12864字符圖形lcd顯示
- 微機(jī)原理課程設(shè)計(jì)---點(diǎn)陣電子顯示屏的設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告——點(diǎn)陣式液晶顯示屏的顯示程序設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---帶數(shù)字顯示的交通燈
- 鍵盤錄入數(shù)據(jù)的轉(zhuǎn)換與顯示微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì).docx
- 微機(jī)接口課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì).doc
- 微機(jī)原理課程設(shè)計(jì)課程設(shè)計(jì)----微機(jī)內(nèi)存擴(kuò)充卡
- 微機(jī)原理課程設(shè)計(jì)---霓虹燈的模擬顯示程序設(shè)計(jì)
評論
0/150
提交評論