




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì):彩燈控制器的設(shè)計(jì) 黃河科技學(xué)院課程設(shè)計(jì)任務(wù)書(shū) 工 學(xué)院 機(jī)械 系 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 專(zhuān)業(yè) 09 級(jí) 1 班學(xué)號(hào) 姓名 朱施澤 指導(dǎo)教師 郭曉君 題目: 彩燈控制器的設(shè)計(jì) 課程: 單片機(jī)課程設(shè)計(jì) 課程設(shè)計(jì)時(shí)間 2012年 12月21 日 至2012年1 月3日 共 2 周課程設(shè)計(jì)工作內(nèi)容與基本要求 設(shè)計(jì)要求、設(shè)計(jì)任務(wù)、工作計(jì)劃、所需相關(guān)資料 (紙張不夠可加頁(yè))1設(shè)計(jì)要求利用AT89C51單片機(jī)作為微控制器,用16盞以上的LED小燈,實(shí)現(xiàn)至少4種彩燈燈光效果(不含全部點(diǎn)亮,全部熄滅);可以用輸入按鈕在幾種燈光效果間切換;可以通過(guò)按鈕暫停彩燈效果,使小燈全亮,再次按下相同按鈕后
2、繼續(xù)之前的效果。2. 設(shè)計(jì)任務(wù)與要求根據(jù)該系統(tǒng)設(shè)計(jì)的功能要求選擇所用元器件,設(shè)計(jì)硬件電路。要求用Proteus繪制整個(gè)系統(tǒng)電路原理圖。根據(jù)該系統(tǒng)要求的功能進(jìn)行軟件設(shè)計(jì),繪制整個(gè)系統(tǒng)的軟件流程圖;根據(jù)流程圖編寫(xiě)程序并匯編調(diào)試通過(guò);列出軟件清單,軟件清單要求逐條加以注釋。2.3 Proteus仿真用Proteus對(duì)系統(tǒng)進(jìn)行仿真并進(jìn)行軟硬件調(diào)試。2.4 編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)內(nèi)容包括任務(wù)書(shū)、設(shè)計(jì)方案分析、硬件部分設(shè)計(jì)、軟件部分設(shè)計(jì)、調(diào)試結(jié)果整理分析、設(shè)計(jì)調(diào)試的心得體會(huì)等,字?jǐn)?shù)不少于4000字;硬件部分設(shè)計(jì)要繪制整個(gè)系統(tǒng)電路原理圖,對(duì)各部分電路設(shè)計(jì)原理做出說(shuō)明;軟件設(shè)計(jì)部分要繪制整個(gè)系統(tǒng)及各部分的軟件流程圖,
3、列出程序清單,逐條加以注釋?zhuān)⒃诟鞴δ軌K前加程序功能注釋。3工作計(jì)劃 序號(hào)設(shè)計(jì)內(nèi)容所用時(shí)間1布置任務(wù)及調(diào)研天3制作與調(diào)試天4撰寫(xiě)設(shè)計(jì)報(bào)告書(shū)2天合 計(jì)14天4主要參考資料MCS-51單片機(jī)原理接口及應(yīng)用王質(zhì)樸 北京理工大學(xué)出版社20 指導(dǎo)老師簽字: 日 期: 目 錄1 系統(tǒng)硬件設(shè)計(jì)41.1 電路設(shè)計(jì)41.2 主要元器件介紹5 AT89c51單片機(jī)芯片介紹5 主要特性52 系統(tǒng)軟件設(shè)計(jì)72.1 綜述72.2 主程序及流程圖7 主程序72.3 子程序的編程思路8程序流程圖93 系統(tǒng)調(diào)試與仿真分析113.1 軟件調(diào)試11 單片機(jī)C語(yǔ)言11 Keil uVision211 Proteus123.2 軟件
4、仿真結(jié)果及分析13果一:?jiǎn)螣粝蚶镆苿?dòng)13果二:流水左移14果三:3燈走馬右移15果三:紅色流水內(nèi)外移動(dòng)164 致謝175 參考文獻(xiàn)18附錄 程序代碼181 系統(tǒng)硬件設(shè)計(jì)整個(gè)系統(tǒng)以AT-89C51單片機(jī)作為主控核心,與發(fā)光二極管LED等較少的輔助硬件電路相結(jié)合,利用軟件實(shí)現(xiàn)對(duì)LED彩燈進(jìn)行控制。本系統(tǒng)具有體積小、硬件少、電路結(jié)構(gòu)簡(jiǎn)單及容易操作等優(yōu)點(diǎn)。1.1 電路設(shè)計(jì)彩虹燈控制器電路見(jiàn)【圖1】。其主要設(shè)計(jì)器件有AT89C51,復(fù)位電路,時(shí)鐘電路,5個(gè)按鈕(其中一個(gè)為檢測(cè)按鈕)。通過(guò)軟件設(shè)計(jì),使單片機(jī)P0和P1作為L(zhǎng)ED驅(qū)動(dòng)信號(hào)輸出口,4個(gè)外部按鈕作為按鈕輸入口。圖1 彩虹燈控制器電路圖1.2 主要
5、元器件介紹 AT89c51單片機(jī)芯片介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 主要特性?與MCS-51 兼
6、容 ?4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年?全靜態(tài)工作:0Hz-24Hz?三級(jí)程序存儲(chǔ)器鎖定?128*8位內(nèi)部RAM?32可編程I/O線?兩個(gè)16位定時(shí)器/計(jì)數(shù)器?5個(gè)中斷源 ?可編程串行通道?低功耗的閑置和掉電模式?片內(nèi)振蕩器和時(shí)鐘電路;義及功能見(jiàn)【圖2】。圖2 AT89C51引腳圖(1) 輸入輸出引腳(P0、P1和P2端口引腳)P0P3是89C51與外界聯(lián)系的4個(gè)8位雙向并行I/O口。本設(shè)計(jì)中P0和P1口作為L(zhǎng)ED驅(qū)動(dòng)信號(hào)輸出口,P2口與4個(gè)按鈕連接作為按鈕輸入口,控制4中彩虹燈效果。(2) AT89C51單片機(jī)的基本結(jié)構(gòu)見(jiàn)【圖3】圖3 AT89C51基
7、本結(jié)構(gòu)2 系統(tǒng)軟件設(shè)計(jì)2.1 綜述本次的任務(wù)是設(shè)計(jì)一個(gè)基于單片機(jī)的LED彩燈控制器,需要循環(huán)運(yùn)行四種以上預(yù)設(shè)的彩燈閃爍方案,這里的各種的方案還有顯示方式都是由單片機(jī)內(nèi)部的程序控制。在這里我將16個(gè)發(fā)光二極管分別接在P0和P1口,通過(guò)程序控制這兩個(gè)端口的電平高低,將16個(gè)發(fā)光二極管的負(fù)極接P0和P1口,正極接外部高電平,即P0和P1口的相應(yīng)端口為低電平時(shí)LED就能被點(diǎn)亮。再通過(guò)程序循環(huán)的讓各個(gè)端口以不同的方式點(diǎn)亮來(lái)達(dá)到各種花樣的效果,并且當(dāng)中要有一定的延時(shí),延時(shí)時(shí)間小于人眼視覺(jué)暫留時(shí)間,否則人眼看上去每個(gè)燈都是亮的也就沒(méi)有實(shí)際效果。設(shè)計(jì)的LED彩燈系統(tǒng)分為兩部分,即AT89C51主控模塊和發(fā)光二
8、極管LED受控模塊。整個(gè)系統(tǒng)工作由軟件程序控制運(yùn)行,同時(shí)根據(jù)不同的需要,用戶可以在LED彩燈工作時(shí)通過(guò)主控模塊上的按鈕來(lái)實(shí)現(xiàn)4種彩燈燈光效果(不含全部點(diǎn)亮,全部熄滅)。模塊功能:該部分主要涉及功能的實(shí)現(xiàn)方式,即程序編寫(xiě)。程序要實(shí)現(xiàn)的功能包括讀按鍵,通過(guò)對(duì)讀入按鍵的值控制LED點(diǎn)亮方式。鍵盤(pán)有5個(gè)按鍵,其中K1、K2、K3、K4控制LED點(diǎn)亮模式。2.2 主程序及流程圖 主程序AT89C51通過(guò)編寫(xiě)程序應(yīng)完成以下功能:通過(guò)P0口和P1控制發(fā)光二極管LED的亮與滅,從而實(shí)現(xiàn)多種閃爍方案; 用16 盞以上的LED小燈,實(shí)現(xiàn)至少4種彩燈燈光效果(不含全部點(diǎn)亮,全部熄滅)。用輸入按鈕在幾種燈光效果間轉(zhuǎn)換
9、。按照上述要求即可寫(xiě)出主程序代碼并繪制出主程序流程圖。 主程序流程圖 否 是 否 是 否 是 否 是 2.3 子程序的編程思路雖然大致的流程圖已經(jīng)繪制完畢,但編程過(guò)程中會(huì)遇到更加具體的問(wèn)題,需要編制一些子程序來(lái)解決,以下是一些主要子程序的流程圖繪制思路。程序流程圖數(shù)碼管的顯示必須有足夠長(zhǎng)的時(shí)間長(zhǎng)到肉眼能夠察覺(jué)到,因此在點(diǎn)亮數(shù)碼管時(shí)要給予其一個(gè)適當(dāng)?shù)难舆t。? 否 是 否 是 一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。單片機(jī)AT89C51工作于12M晶振,它的時(shí)鐘周期是1/12(微秒)。它的一個(gè)機(jī)器周期是12*(1/12)也就是1微秒。一共執(zhí)行1000次,正好1000微秒,也就是1毫秒。描子程序 按鍵掃描子
10、程序用來(lái)檢測(cè)并識(shí)別外部輸入按鈕的輸入信號(hào)。void KeyScan if P2 0xf7 ys1ms 100 ;if P2 0xf7 flag 0xf7; if P2 0xfb ys1ms 100 ;if P2 0xfb flag 0xfb; if P2 0xfd ys1ms 100 ;if P2 0xfd flag 0xfd; if P2 0xfe ys1ms 100 ;if P2 0xfe flag 0xfe; 其中的狀態(tài)標(biāo)志分別為:0xfe為按鍵1標(biāo)志 ,0xfd為按鍵2標(biāo)志 ,0xfb為按鍵3標(biāo)志,0xf7為按鍵4標(biāo)。3 系統(tǒng)調(diào)試與仿真分析3.1 軟件調(diào)試本次所有軟體程序均采用C51語(yǔ)
11、言編寫(xiě),程序?qū)懲旰笠獙?duì)其編譯,在Proteus軟件里實(shí)現(xiàn)硬件電路仿真。下面分別簡(jiǎn)單介紹單片機(jī)C語(yǔ)言和這兩款軟件。 單片機(jī)C語(yǔ)言單片機(jī)C語(yǔ)言程序設(shè)計(jì)不同于通用計(jì)算機(jī)應(yīng)用程序設(shè)計(jì),它必須針對(duì)具體的微控制器及外圍電路來(lái)完成,為了便于學(xué)習(xí)單片機(jī)應(yīng)用程序設(shè)計(jì)和系統(tǒng)開(kāi)發(fā),很多公司退出了單片機(jī)實(shí)驗(yàn)箱、仿真器和開(kāi)發(fā)板等,這些硬件設(shè)備可用于驗(yàn)證單片機(jī)程序,開(kāi)發(fā)和調(diào)試單片機(jī)應(yīng)用系統(tǒng)。開(kāi)發(fā)8051單片機(jī)系統(tǒng)時(shí),使用C語(yǔ)言會(huì)使開(kāi)發(fā)周期大為縮短,開(kāi)發(fā)效率大幅提高,程序可讀性好且易于移植,所以使用C語(yǔ)言開(kāi)發(fā)單片機(jī)系統(tǒng)已經(jīng)成為必然趨勢(shì)。C語(yǔ)言在單片機(jī)系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì): 用C語(yǔ)言編寫(xiě)的程序可讀性強(qiáng); 在不了解單片機(jī)指令系統(tǒng)而
12、僅熟悉8051單片機(jī)存儲(chǔ)結(jié)構(gòu)時(shí)就可以開(kāi)發(fā)單片機(jī)程序; 寄存器分配和不同存儲(chǔ)器尋址及數(shù)據(jù)類(lèi)型等細(xì)節(jié)可由編譯器管理; 程序可分為多個(gè)不同的函數(shù),這使程序設(shè)計(jì)結(jié)構(gòu)化; 函數(shù)庫(kù)豐富,數(shù)據(jù)處理能力強(qiáng); 程序編寫(xiě)及調(diào)試時(shí)間大大縮短,開(kāi)發(fā)效率遠(yuǎn)高于匯編語(yǔ)言; C語(yǔ)言具有模塊化編程技術(shù),已編寫(xiě)好的通用程序模塊很容易植入新程序,這進(jìn)一步提高了程序開(kāi)發(fā)效率。 Keil uVision2C51單片機(jī)支持HEX文件,我采用的編譯器是Keil uVision2軟件,該軟件是美國(guó)Keil Software 公司開(kāi)發(fā)的,關(guān)于8051系列MCU的開(kāi)發(fā)工具,是目前世界上最好的51單片機(jī)開(kāi)發(fā)工具之一。軟件本身支持?jǐn)?shù)百種51系列單
13、片機(jī)芯片,可以用來(lái)編譯C源碼,匯編源程序以及兩者的混合編程代碼,連接重定位目標(biāo)文件和庫(kù)文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序等,是一種集成化的文件管理編譯環(huán)境。使用步驟如下: 建立一個(gè)項(xiàng)目,啟動(dòng)Keil,單擊“Project菜單/New”選項(xiàng),從彈出的窗口中選擇要保存的路徑,并輸入項(xiàng)目文件名“”,然后保存。這時(shí)會(huì)彈出一個(gè)選擇CPU型號(hào)的對(duì)話框,根據(jù)所使用的單片機(jī)來(lái)選擇,我用的單片機(jī)是AT89C51。 創(chuàng)建程序文件,單擊“File菜單/New”選項(xiàng),輸入C51語(yǔ)言源程序,單擊“File菜單/Save”并輸入程序文件名“”,保存。 程序文件添加到項(xiàng)目中,右鍵點(diǎn)擊“Target 1”前面的“+”,展開(kāi)里
14、面的內(nèi)容“Source Group 1”,右鍵單擊“Source Group 1”彈出一個(gè)右鍵菜單,單擊“Add File to Groups Source Group 1”,從彈出的窗口中選擇之前保存的文件“”添加到項(xiàng)目中去。 設(shè)置當(dāng)前項(xiàng)目的目標(biāo)選項(xiàng),右鍵單擊“Target 1”,從彈出的右鍵菜單中單擊“Option for Target”選項(xiàng),從彈出的“Options”窗口中選擇“Target”標(biāo)簽欄,在“Create HEX File”前面打鉤。 運(yùn)行編譯,右鍵單擊“Target 1”,從彈出的右鍵菜單中單擊“Build target”選項(xiàng),此時(shí)若源程序沒(méi)有語(yǔ)法錯(cuò)誤,Keil就會(huì)生成HE
15、X文件,并自動(dòng)保存在之前設(shè)置的路徑里。 ProteusProteus是英國(guó)Labenter electronics公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,是目前最好的模擬單片機(jī)外圍器件的工具,它可以仿真、分析各種模擬電路與集成電路,軟件提供了大量模擬與數(shù)字元器件及外部設(shè)備,各種虛擬儀表(如電壓表、電流表、示波器、邏輯分析儀、信號(hào)發(fā)生器等),特別是它具有對(duì)單片機(jī)及其外圍電路組成的綜合系統(tǒng)的交互仿真功能。目前,Proteus仿真系統(tǒng)支持的主流單片機(jī)有ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列等,它支持的第三方軟件開(kāi)發(fā)、編譯和調(diào)試環(huán)境有Kei
16、l uVision2/3、MPLAB等18。Proteus主要由ISIS和ARES兩部分組成,ISIS的主要功能是原理圖設(shè)計(jì)及電路原理圖的交互仿真,ARES主要用于印制電路板的設(shè)計(jì)。ISIS提供的Proteus VSM(Virtual System Modelling)實(shí)現(xiàn)了混合式的SPICE電路仿真,它將虛擬儀器、高級(jí)圖表應(yīng)用、單片機(jī)仿真、第三方程序開(kāi)發(fā)與調(diào)試環(huán)境有機(jī)結(jié)合,在搭建硬件模型之前即可在PC上完成原理圖設(shè)計(jì)、電路分析與仿真及單片機(jī)程序?qū)崟r(shí)仿真、測(cè)試及驗(yàn)證。Proteus操作非常簡(jiǎn)單,啟動(dòng)“”。在設(shè)計(jì)原理圖時(shí),根據(jù)當(dāng)前電路復(fù)雜程度和特定要求,選擇恰當(dāng)?shù)哪K進(jìn)行設(shè)計(jì),打開(kāi)模塊式需要單擊
17、“文件/新建設(shè)計(jì)”(File/New Design)菜單,打開(kāi)“創(chuàng)建新設(shè)計(jì)”(Create New Design)對(duì)話框,然后選擇相應(yīng)模塊。 創(chuàng)建空白文件后,先將DSN文件保存到指定位置,接下來(lái)就可以開(kāi)始在圖紙中添加元件了,單擊模式工具上的元件模式(Component Mode)圖標(biāo),對(duì)象選擇窗口上會(huì)出設(shè)備(Device),這時(shí)單擊“P”按鈕,打開(kāi)元件選擇窗口,在元件庫(kù)選擇硬件電路所需要的元器,合理擺放位置,然后按要求連接好電路圖。3.2 軟件仿真結(jié)果及分析 完成單片機(jī)系統(tǒng)仿真電路圖設(shè)計(jì)后,即可開(kāi)始仿真運(yùn)行單片機(jī)綁定的程序文件,雙擊單片機(jī),打開(kāi)單片機(jī)屬性窗口(也可以先在單片機(jī)上單擊右鍵,再單擊
18、左鍵,或者選中單片機(jī)后按下(Ctrl+E組合鍵),在“Program Files”項(xiàng)中選擇對(duì)應(yīng)的HEX文件。在仿真電路和程序都沒(méi)有問(wèn)題時(shí),直接單擊Proteus主窗口下的“運(yùn)行”(Play)按鈕,即可仿真運(yùn)行單片機(jī)系統(tǒng), 在運(yùn)行過(guò)程中如果希望觀察內(nèi)存、24C0X、溫度寄存器、時(shí)鐘芯片等內(nèi)部數(shù)據(jù)可在運(yùn)行時(shí)單擊“單步”(Step)或“暫?!保≒ause)按鈕,然后再“調(diào)試”(Debug)菜單中打開(kāi)相應(yīng)設(shè)備。果一:?jiǎn)螣粝蚶镆苿?dòng) 即按鍵1彩虹燈光效果:上下兩排各8個(gè)led二極管自兩端向里依次點(diǎn)亮再返回,單次兩端各亮兩盞,以此循環(huán)。可以用輸入按鈕在燈光效果間切換。果二:流水左移即按鍵2彩虹燈光效果:上下
19、兩排各8個(gè)led二極管自兩端單向挨個(gè)點(diǎn)亮直至全明,點(diǎn)亮后不熄滅,最后回到初始狀態(tài),以此循環(huán)。可以用輸入按鈕在燈光效果間切換。果三:3燈走馬右移即按鍵3彩虹燈光效果:上下兩排各8個(gè)led二極管自左端點(diǎn)亮右移,上下兩排最多各點(diǎn)亮三盞,以此循環(huán)??梢杂幂斎氚粹o在燈光效果間切換。果三:紅色流水內(nèi)外移動(dòng) 即按鍵4彩虹燈光效果:上下兩排各8個(gè)led二極管自兩端挨個(gè)點(diǎn)亮向內(nèi)移動(dòng),最終全部點(diǎn)亮,出現(xiàn)漸亮效果;接著上下兩排二極管自內(nèi)側(cè)挨個(gè)點(diǎn)亮向外移動(dòng),最終全部點(diǎn)亮并出現(xiàn)漸暗效果,以此循環(huán)。可以用輸入按鈕在燈光效果間切換。4 致謝在這里首先要感謝我的導(dǎo)師郭曉君老師。郭老師平日里工作繁重,日理萬(wàn)機(jī),但從協(xié)調(diào)選題,到
20、確定最終任務(wù)書(shū),再到最后的程序調(diào)試,我無(wú)時(shí)無(wú)刻不感受著郭曉君老師細(xì)致而無(wú)私的關(guān)懷和幫助。本人的課程設(shè)計(jì)“彩燈控制器的設(shè)計(jì)”是此次眾多選題中較為棘手的一個(gè),鄙人并不扎實(shí)的專(zhuān)業(yè)知識(shí)更是為之雪上加霜。但是面對(duì)如此低級(jí)甚至有些重復(fù)的問(wèn)題,郭老師卻誨人不倦,耐心、認(rèn)真地為我一一解答。郭老師高超的專(zhuān)業(yè)素養(yǎng),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和甘為人師的奉獻(xiàn)精神深深地影響了我,也并將繼續(xù)積極地影響我今后的工作和學(xué)習(xí)生活。郭老師,謝謝您!其次我還想感謝和我一起肩并肩奮斗在此次單片機(jī)課程設(shè)計(jì)第一線的09機(jī)電的各位同學(xué)們。是你們陪我一起努力,給我鼓勁兒,才使我能在研究生考試后有限的時(shí)間里快速地投入,高效地完成,并最終保證了整個(gè)設(shè)計(jì)任
21、務(wù)按時(shí)按量順利地完成。最后,通過(guò)此次課程設(shè)計(jì),我對(duì)“厚積薄發(fā)”有了更深刻的理解做學(xué)問(wèn)是一個(gè)過(guò)程而不是一個(gè)結(jié)果,關(guān)鍵不是出成績(jī)的某一下,而是平日里積累的點(diǎn)點(diǎn)滴滴,分分秒秒。因此,我要感謝大學(xué)四年來(lái)關(guān)心和教育過(guò)我的領(lǐng)導(dǎo)們、老師們、同學(xué)們,是你們?yōu)槲抑该髁俗鋈说姆较颍粚?shí)了專(zhuān)業(yè)的基礎(chǔ),分享了絢麗而多彩的青春!祝福你們!祝你們身體健康,生活愉快,工作順利,新年吉祥!5 參考文獻(xiàn)1 吳金戎 8051單片機(jī)實(shí)踐與應(yīng)用M 北京:清華大學(xué)出版社, 2003.8 2 附錄 程序代碼#include /包含單片機(jī)寄存器的頭文件#include unsigned char flag 0xff;/狀態(tài)標(biāo)志void y
22、s1ms unsigned int i ;void KeyScan ;rzy ;rlszy ;rsdzmyy ;rlsnwyd ;rjl ; rja ; zkb unsigned char d ;/*函數(shù)功能:主函數(shù)*/void main void while 1 KeyScan ;switch flag case 0xfe:rzy ;break;/掃描狀態(tài)標(biāo)志,為1時(shí),第1種效果 case 0xfd: rlszy ; break;/掃描狀態(tài)標(biāo)志,為2時(shí),第2種效果 case 0xfb:rsdzmyy ; break;/掃描狀態(tài)標(biāo)志,為3時(shí),第3種效果 case 0xf7:rlsnwyd ;b
23、reak; /掃描狀態(tài)標(biāo)志,為4時(shí),第4種效果 / default:P1 0x00; /* 延時(shí)程序*/void ys1ms unsigned int i /延時(shí)程序,i是形式參數(shù),i為1時(shí) 延時(shí)約1MS unsigned int j;for ;i 0;i- /變量i由實(shí)際參數(shù)傳入一個(gè)值,因此i不能賦初值 for j 0;j 125;j+ /j由0自增到125 所用的時(shí)間大約是1MS ; /* 按鍵掃描 狀態(tài)標(biāo)志0xfe按鍵1標(biāo)志 0xfd按鍵2標(biāo)志 0xfb按鍵3標(biāo)志 0xf7按鍵4標(biāo)志*/void KeyScan if P2 0xf7 ys1ms 100 ;if P2 0xf7 flag
24、0xf7; if P2 0xfb ys1ms 100 ;if P2 0xfb flag 0xfb; if P2 0xfd ys1ms 100 ;if P2 0xfd flag 0xfd; if P2 0xfe ys1ms 100 ;if P2 0xfe flag 0xfe; /* 按鍵1效果程序:?jiǎn)螣粝蚶镆苿?dòng)*/rzy P0 0x7e;/01111110 P1 0x7e; ys1ms 90 ; P0 0xbd;/10111101 P1 0xbd; ys1ms 90 ; P0 0xdb;/11011011 P1 0xdb; ys1ms 90 ; P0 0xe7;/11100111 P1 0xe7
25、; ys1ms 90 ; P0 0xff; P1 0xff; ys1ms 300 ; P0 0xe7; P1 0xe7; ys1ms 90 ; P0 0xdb; P1 0xdb; ys1ms 90 ; P0 0xbd; P1 0xbd; ys1ms 90 ; P0 0x7e; P1 0x7e; ys1ms 90 ; P0 0xff; P1 0xff; /* 按鍵2效果程序:流水左移函數(shù)*/ rlszy unsigned char a,b,i,led,led1;/聲明無(wú)字符整形變量a,i,led,led1 led 0xfe; /左移初始值定位led1 0x7f;P0 led; /輸出P1 led
26、1;ys1ms 120 ; /延時(shí)for i 1;i 8;i+ /設(shè)置移動(dòng)7次 a led i;/燈左移i位P0 a; /依次點(diǎn)亮 b led1 i; P1 b;ys1ms 150 ; /*按鍵3效果程序:3燈走馬右移函*/rsdzmyy P0 0x1f;/00011111 P1 0xff; ys1ms 80 ; P0 0x8f; P1 0xfe; ys1ms 80 ; P0 0xc7; P1 0xfc; ys1ms 80 ; P0 0xe3; P1 0xf8; ys1ms 80 ; P0 0xf1; P1 0xf1; ys1ms 80 ; P0 0xf8; P1 0xe3; ys1ms 80 ; P0 0xfc; P1 0xc7; ys1ms 80 ; P0 0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理核心考點(diǎn)試題及答案
- 高考數(shù)學(xué)考核趨勢(shì)題目及答案2023
- 敏捷項(xiàng)目管理2025年考試試題及答案
- 科學(xué)探索活動(dòng)實(shí)施方案計(jì)劃
- 課程整合幼兒園班級(jí)的有效探索計(jì)劃
- 法學(xué)概論復(fù)習(xí)季度計(jì)劃與分配試題及答案
- 2025屆吉林省長(zhǎng)春市數(shù)學(xué)七下期末檢測(cè)模擬試題含解析
- 2025屆湖北省十堰市鄖西縣八年級(jí)數(shù)學(xué)第二學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 企業(yè)戰(zhàn)略與政策風(fēng)險(xiǎn)試題及答案
- 城市交通信號(hào)控制策略重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 臺(tái)達(dá)VFDM變頻器說(shuō)明書(shū)
- 社會(huì)保險(xiǎn)繳費(fèi)征管與企業(yè)數(shù)字化轉(zhuǎn)型
- 課題申報(bào)參考:行業(yè)協(xié)會(huì)商會(huì)服務(wù)經(jīng)濟(jì)高質(zhì)量發(fā)展研究
- 2024年基金從業(yè)資格證考試題庫(kù)含答案(奪分金卷)
- 罐車(chē)司機(jī)安全培訓(xùn)課件
- 基于認(rèn)知模型建構(gòu)與應(yīng)用發(fā)展科學(xué)思維
- 企業(yè)戰(zhàn)略性技術(shù)創(chuàng)新與產(chǎn)業(yè)自主可控水平
- 檢驗(yàn)科職業(yè)暴露應(yīng)急預(yù)案
- 湖北省武漢市華科附中2025屆高考數(shù)學(xué)四模試卷含解析
- 運(yùn)輸企業(yè)風(fēng)險(xiǎn)隱患排查整治管控措施
- 建筑工程防汛管理制度(3篇)
評(píng)論
0/150
提交評(píng)論