




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄1 設(shè)計(jì)目的設(shè)計(jì)目的 .11.1 設(shè)計(jì)目的.11.2 設(shè)計(jì)內(nèi)容和要求.11.3 設(shè)計(jì)思路.12 2 軟硬件開發(fā)平臺軟硬件開發(fā)平臺 .22.1ALTIUM DESINGER硬件電路開發(fā)平臺.22.2 KEIL UVISION2 程序開發(fā)平臺.32.3 PROTEUS仿真軟件.33 設(shè)計(jì)原理分析設(shè)計(jì)原理分析 .53.1 定時器控制 4 只 LED 滾動閃爍系統(tǒng)設(shè)計(jì) .53.2 定時器控制 4 只 LED 滾動閃爍系統(tǒng)的功能要求 .53.2.1 計(jì)時顯示.53.2.2 中斷設(shè)置.53.3 定時器控制 4 只 LED 滾動閃爍制系統(tǒng)的基本構(gòu)成及原理 .54 4 系統(tǒng)硬件電路的設(shè)計(jì)系統(tǒng)硬件電路的設(shè)計(jì)
2、 .74.1 系統(tǒng)硬件總電路構(gòu)成及原理.74.2 主控制部分AT89C51 單片機(jī)簡介.74.2.1 AT89C51 的內(nèi)部結(jié)構(gòu)功能.84.2.2 51 單片機(jī)的串行接口工作方式.94.3 其它器件.104.4 定時器控制 4 只 LED 滾動閃爍控制系統(tǒng)原理圖 .104.5 設(shè)計(jì)的連線圖:.114.5.1 單片機(jī)實(shí)物圖:.114.6 硬件資源及其分配.114.7 運(yùn)行步驟.124.8 檢測與調(diào)試.124.8.1 硬件調(diào)試:.124.8.2 軟件調(diào)試:.135 系統(tǒng)軟件程序的簡單設(shè)計(jì)系統(tǒng)軟件程序的簡單設(shè)計(jì) .145.1 程序框圖.145.2 程序流程圖及程序.155.2.1 程序流程圖:.15
3、5.2.2 程序清單:.155.2.3 仿真結(jié)果圖:.17結(jié)結(jié) 論論 .18參考文獻(xiàn)參考文獻(xiàn) .19XXXX 大學(xué)課程設(shè)計(jì)1i1 設(shè)計(jì)目的1.1 設(shè)計(jì)目的1、通過單片機(jī)課程設(shè)計(jì),熟練掌握 C 語言的編程方法,將理論聯(lián)系到實(shí)踐中去,提高我們的動腦和動手的能力。 2、通過定時器控制 4 只 LED 滾動閃爍系統(tǒng)的設(shè)計(jì),掌握定時/計(jì)數(shù)器的使用方法,和簡單程序的編寫,最終提高我們的邏輯抽象能力。1.2 設(shè)計(jì)內(nèi)容和要求 內(nèi)容:設(shè)計(jì)一個能夠控制 4 盞 LED 燈的模擬系統(tǒng)。 要求:利用單片機(jī)的定時器定時,令 4 盞 LED 燈交替點(diǎn)亮和熄滅。1.3 設(shè)計(jì)思路1.先熟悉實(shí)驗(yàn)原理,了解 4 只 LED 滾動
4、閃爍系統(tǒng)燈的工作過程,組成滾動閃爍系統(tǒng)需要的組件。2.了解各個硬件的工作原理, 3.繪制電路原理圖,編寫程序,并進(jìn)行仿真,基本實(shí)現(xiàn) LED 滾動閃爍系統(tǒng)燈的功能。 XXXX 大學(xué)課程設(shè)計(jì)22 軟硬件開發(fā)平臺2.1Altium Desinger 硬件電路開發(fā)平臺Altium Desinger 硬件電路設(shè)計(jì)軟件介紹。Altium Designer 是原 Protel 軟件開發(fā)商 Altium 公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在 Windows XP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB 繪制編輯、拓?fù)溥壿嬜詣硬季€、信號完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全
5、新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高6。硬件開發(fā)平臺簡介:電路設(shè)計(jì)自動化 EDA(Electronic Design Automation)指的就是將電路設(shè)計(jì)中各種工作交由計(jì)算機(jī)來協(xié)助完成。如電路原理圖(Schematic)的繪制、印刷電路板(PCB)文件的制作、執(zhí)行電路仿真(Simulation)等設(shè)計(jì)工作。隨著電子科技的蓬勃發(fā)展,新型元器件層出不窮,電子線路變得越來越復(fù)雜,電路的設(shè)計(jì)工作已經(jīng)無法單純依靠手工來完成,電子線路計(jì)算機(jī)輔助設(shè)計(jì)已經(jīng)成為必然趨勢,越來越多的設(shè)計(jì)人員使用快捷、高效的 CAD 設(shè)計(jì)軟件來進(jìn)行輔助電路原理圖、印制電
6、路板圖的設(shè)計(jì),打印各種報表。Altium Designer 是原 Protel 軟件開發(fā)商 Altium 公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在 Windows XP 操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB 繪制編輯、拓?fù)溥壿嬜詣硬季€、信號完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高。Altium Designer 除了全面繼承包括 Protel 99SE、Protel DXP 在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外,還增加了許多改進(jìn)和很多高端功能。該平臺拓寬了板級設(shè)計(jì)的傳
7、統(tǒng)界面,全面集成了 FPGA 設(shè)計(jì)功能和 SOPC 設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的 FPGA 與 PCB 設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。 由于 Altium Designer 在繼承先前 Protel 軟件功能的基礎(chǔ)上,綜合了 FPGA 設(shè)計(jì)和嵌入式系統(tǒng)軟件設(shè)計(jì)功能,Altium Designer 對計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些。XXXX 大學(xué)課程設(shè)計(jì)3開發(fā)平臺系統(tǒng)功能:硬件開發(fā)平臺主要有下面幾個主要功能:1 原理圖設(shè)計(jì);2 印刷電路板設(shè)計(jì);3 FPGA 的開發(fā);4 嵌入式開發(fā)等等。2.2 Keil uVision2 程序開發(fā)平臺Keil uVision2 軟件開發(fā)平
8、臺簡介1。軟件開發(fā)平臺介紹: Keil uVision2 是德國 Keil Software 公司出品的 51 系列兼容單片機(jī) C 語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng) c 語言的語法來開發(fā),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。KEILC51 標(biāo)準(zhǔn) C 編譯器為 8051 微控制器的軟件開發(fā)提供了 C 語言環(huán)境,同時保留了匯編代碼高效,快速的特點(diǎn)。C51 編譯器的功能不斷增強(qiáng), 使你可以更加貼近 CPU 本身,及其它的衍生產(chǎn)品。C51 已被
9、完全集成到 uVision2 的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE 可為它們提供單一而靈活的開發(fā)環(huán)境。軟件系統(tǒng)功能:Keil C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows 界面,使您能在很短的時間內(nèi)就能學(xué)會使用 keil c51 來開發(fā)單片機(jī)應(yīng)用程序 。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)越性。2.3 Proteus 仿真軟件Proteus 軟
10、件簡介1。軟件開發(fā)平臺介紹:Proteus 是世界上著名的 EDA 工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和XXXX 大學(xué)課程設(shè)計(jì)4MSP430 等,2010 年又增加了 Cortex 和 DSP 系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持 IAR、Keil 和 MPLAB 等多種編
11、譯器。仿真軟件系統(tǒng)功能:Proteus 軟件具有其它 EDA 工具軟件(例:multisim)的功能。這些功能主要是:1原理布圖 2PCB 自動或人工布線 3SPICE 電路仿真。豐富的器件庫:超過 27000 種元器件,可方便地創(chuàng)建新元件;智能的器件搜索:通過模糊搜索可以快速定位所需要的器件;智能化的連線功能:自動連線功能使連接導(dǎo)線簡單快捷,大大縮短繪圖時間;支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計(jì)簡明清晰;可輸出高質(zhì)量圖紙:通過個性化設(shè)置,可以生成印刷質(zhì)量的 BMP 圖紙,可以方便地供 WORD、POWERPOINT 等多種文檔使用。在 PROTEUS 繪制好原理圖后,調(diào)入已編譯好的
12、目標(biāo)代碼文件:*.HEX,可以在 PROTEUS 的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。XXXX 大學(xué)課程設(shè)計(jì)53 設(shè)計(jì)原理分析3.1 定時器控制 4 只 LED 滾動閃爍系統(tǒng)設(shè)計(jì)通過編寫程序,實(shí)現(xiàn)對發(fā)光二極管的控制,來 4 只 LED 滾動閃爍燈的管理。每延時一段時間,燈的顯示情況都會按 LED 燈的顯示規(guī)律進(jìn)行狀態(tài)轉(zhuǎn)換。采用單片機(jī)內(nèi)部的 I/O 口上的 P0 口中的 4 個引腳即可來控制 4 個 LED 燈1。3.2 定時器控制 4 只 LED 滾動閃爍系統(tǒng)的功能要求本設(shè)計(jì)能模擬基本的 LED 滾動閃爍系統(tǒng),是用中斷的方式定時控制 LED 定的閃爍及滾動。 3.2.1 計(jì)時顯示定時/計(jì)數(shù)
13、器工作方式寄存器,定時器采用 T0 定時器 0 工作于模式 2 位數(shù):8 位計(jì)數(shù)范圍:0-255 具有自動加載功能。 3.2.2 中斷設(shè)置 每累計(jì)若干次定時器中斷才執(zhí)行一次閃爍。3.3 定時器控制 4 只 LED 滾動閃爍制系統(tǒng)的基本構(gòu)成及原理單片機(jī)設(shè) LED 燈閃爍系統(tǒng),可用單片機(jī)直接控制信號燈的狀態(tài)變化可以廣泛的應(yīng)用到商業(yè)和工業(yè)的流程控制測電路當(dāng)中1。單片機(jī)晶振LED 燈復(fù)位電路圖 3.1 系統(tǒng)的總體框圖據(jù)此,本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,連接成最小系統(tǒng)。系統(tǒng)的總體框圖如上所示。因?yàn)樗軌驕?zhǔn)確地劃分成時鐘頻率,與 UART(通用異步接收器/發(fā)送器)量常見的波特率相關(guān)。特別是較高的波特率(1
14、9600,19200),不管多么古怪的XXXX 大學(xué)課程設(shè)計(jì)6值,這些晶振都是準(zhǔn)確,常被使用的。當(dāng)定時器 1 被用作波特率發(fā)生器時,波特率工作于方式 1 和方式 3 是由定時器 1 的溢出率和 SMOD 的值(PCON.7-雙倍速波特率)決定:方式 1、3 波特率= (定時器 1 的溢出率) 特殊時,定時器被設(shè)在自動重袋模式(模式 2,TMOD 的高四位為 0100B),其為:方式 1、 3 波特率= 11.0592MHZ 晶振的一些典型波特率如下:波特率 SMOD TH1 19200 1 0FDH 9600 0 0FDH 4800 0 0FAH2400 0 0F4H 1200 0 0E8H
15、300 0 0A0H更換一種計(jì)算方式,它將以修改公式達(dá)到我們需求的波特率來計(jì)算出晶振。最小晶振頻率=波特率 x 384 x 2SMOD 這就是我們所需波特率的最小晶振頻率,此頻率能成倍增加達(dá)到我們需求的時鐘頻率2。 XXXX 大學(xué)課程設(shè)計(jì)74 系統(tǒng)硬件電路的設(shè)計(jì)4.1 系統(tǒng)硬件總電路構(gòu)成及原理實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用 AT89S51 單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),4 個發(fā)光二極管分成 1 組紅綠藍(lán)黃 4 燈構(gòu)成信號燈指示模塊等。主要器件的選擇: 表 4-1 元器件表器件個數(shù)LED 4晶振(11.0592)1電阻若干電容34.2 主控制部分AT89C51 單片機(jī)簡介 89C51 是
16、一種帶 4K 字節(jié)閃存可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機(jī)。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。A
17、T89C 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51 單片機(jī)為 40 引腳雙列直插芯片,有 4 個 I/O 口,P0 ,P1, P2, P3,單片機(jī)的最小系統(tǒng)如圖所示,18 引腳和 19 引腳接時鐘脈沖電路,XTAL1 接外部晶振和微調(diào)電容的一端,在片內(nèi)它是震蕩器倒相放大器的輸入,XTAL2 接外部晶振和微調(diào)電容的另一端,在片內(nèi)她是振蕩器倒相放大器的輸出端,第引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后構(gòu)成上電復(fù)位電路,20 引腳為接地端,40 引腳為電源端4。XXXX 大學(xué)課程設(shè)計(jì)8如圖所示: 圖 4.1 晶振與單片機(jī)的連接4.2.1 AT89C51 的內(nèi)部結(jié)構(gòu)功能
18、 中央處理器: 中央處理器(CPU)是整個單片機(jī)的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進(jìn)制數(shù)據(jù)或代碼,CPU 負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作4。 數(shù)據(jù)存儲器(內(nèi)部 RAM): 數(shù)據(jù)存儲器用于存放變化的數(shù)據(jù)。AT89S51 中數(shù)據(jù)存儲器的地址空間為 256個 RAM 單元,但其中能作為數(shù)據(jù)存儲器供用戶使用的僅有前面 128 個,后 128個被專用寄存器占用4。 程序存儲器(內(nèi)部 ROM): 程序存儲器用于存放程序和固定不變的常數(shù)等。通常采用只讀存儲器,且其又多種類型,在 89 系列單片機(jī)中全部采用閃存。AT89C51 內(nèi)部配置了 4
19、KB 閃存。 定時/計(jì)數(shù)器(T0):XXXX 大學(xué)課程設(shè)計(jì)9 定時/計(jì)數(shù)器用于實(shí)現(xiàn)定時和計(jì)數(shù)功能。AT89C51 共有 2 個 16 位定時/計(jì)數(shù)器。 并行輸入輸出(I/O)口: 8051 共有 4 組 8 位 I/O 口(P0、 P1、P2 或 P3),用于對外部數(shù)據(jù)的傳輸。 每個口都由 1 個鎖存器和一個驅(qū)動器組成。它們主要用于實(shí)現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入與輸出,有些 I/O 口還有其他功能6。 全雙工串行口: A89C51 內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。 時鐘電路: 時鐘電路的作用是產(chǎn)生單片機(jī)工作所需
20、要的時鐘脈沖序列1。 中斷系統(tǒng): 中斷系統(tǒng)的作用主要是對外部或內(nèi)部的終端請求進(jìn)行管 AT89C51 共有 5 個中斷源,其中有 2 個外部中斷源和 3 個內(nèi)部中斷源。 4.2.2 51 單片機(jī)的串行接口工作方式51 單片機(jī)的串行接口有四種工作方式6。方式 0 是將 SBUF 作為 8 位同步移位寄存器使用(固定波特率) ;方式 1 是 10 位異步通信方式(可變波特率) ;方式 2 是 11 位異步通信方式(固定波特率) ;方式 3 是 11 位異步通信方式(可變波特率) 。圖 4.2串行接口與單片機(jī)的連接 XXXX 大學(xué)課程設(shè)計(jì)10 4.3 其它器件發(fā)光二極管根據(jù)本設(shè)計(jì)的特點(diǎn),LED 的顯示
21、不可少,LED 的顯示采用普通的發(fā)光二極管。在硬件上連接圖上也是對稱分布的,如下圖 3.3 所示。圖 4.3 LED 燈的連接在本設(shè)計(jì)中,實(shí)際控制的燈只有 4 個,其中均是低電平有效,所以在運(yùn)行前LED 燈的狀態(tài)是滅。4.4 定時器控制 4 只 LED 滾動閃爍控制系統(tǒng)原理圖 本系統(tǒng)以單片機(jī)為核心,系統(tǒng)硬件電路由單片機(jī),電阻,LED 顯示組成。其具體的硬件電路總圖如圖 3.4 所示。圖 4.4 系統(tǒng)原理XXXX 大學(xué)課程設(shè)計(jì)114.5 設(shè)計(jì)的連線圖:4.5.1 單片機(jī)實(shí)物圖:圖 4.5 實(shí)物圖 4.6 硬件資源及其分配 主要用到的硬件:P0 口、LED 發(fā)光二極管、定時器 T0。硬件分配:(1
22、)P1 口:做為輸出口,與發(fā)光二極管相連接。(2)定時/計(jì)數(shù)器 T0 用來產(chǎn)生 1 秒的定時。4.7 運(yùn)行步驟1、接硬件圖接線,為了確保 LED 燈能夠?qū)?yīng)顯示,實(shí)驗(yàn)時,對 P0 口的接XXXX 大學(xué)課程設(shè)計(jì)12線做了調(diào)整。即,P0.0 接 L1,P0.1 接 L2,P0.2 接 L3,P0.3 接 L4。2、開始連續(xù)運(yùn)行,觀察 4 個 LED 燈是與程序設(shè)計(jì)思路對應(yīng),如果有偏差,則單步運(yùn)行或斷點(diǎn)運(yùn)行,進(jìn)行調(diào)試,直至滿足設(shè)計(jì)要求。3、整體運(yùn)行,觀察 LED 顯示是否都符合要求,如果不符合,則再調(diào)試。直至滿足要求。4.8 檢測與調(diào)試 4.8.1 硬件調(diào)試:硬件調(diào)試是利用開發(fā)系統(tǒng)、基本測試儀器(萬
23、用表、示波器等) , 檢查用戶系統(tǒng)硬件中存在的故障。 硬件調(diào)試可分為靜態(tài)調(diào)試與動態(tài)調(diào)試兩步進(jìn)行7。 靜態(tài)調(diào)試 靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時的一種硬件檢測。 第一步:目測。檢查外部的各種元件或者是電路是否有斷點(diǎn)。 第二步:用萬用表測試。先用萬用表復(fù)核目測中有疑問的連接點(diǎn), 再檢測各種電源線與地線之間是否有短路現(xiàn)象。 第三步:加電檢測。給板加電,檢測所有的插座或是器件的電源端是否符合要求的值 第四步:是聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。 動態(tài)調(diào)試 動態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查。動態(tài)調(diào)試的一般方
24、法是由近及遠(yuǎn)、由分到合。 由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時,與該元件無關(guān)的 器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個局部的電路上。當(dāng)各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合的調(diào)試既告完成。 XXXX 大學(xué)課程設(shè)計(jì)13由近及遠(yuǎn)是將信號流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時,仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去,就會定位故障元件了。4.8.2 軟件調(diào)試: 軟件調(diào)試是通過對擁護(hù)程序的編譯 、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾
25、正的過程。編完 程序后,編輯,查看程序是否有邏輯的錯誤9。 XXXX 大學(xué)課程設(shè)計(jì)145 系統(tǒng)軟件程序的簡單設(shè)計(jì)系統(tǒng)軟件程序的簡單設(shè)計(jì)5.1 程序框圖 開始 初始化,全滅 藍(lán)燈亮,開始閃爍 延時 藍(lán)燈滅,綠燈亮,開始閃爍 延時綠燈滅,紅燈亮,開始閃爍 延時 紅燈滅,黃燈亮,開始閃爍 延時圖 5.1 程序框圖XXXX 大學(xué)課程設(shè)計(jì)155.2 程序流程圖及程序5.2.1 程序流程圖: 開始 初始化 設(shè)置計(jì)數(shù)器i=0;i+_LED 燈開始循環(huán)閃爍 計(jì)數(shù)器開始計(jì)數(shù)計(jì)數(shù)完成程序中斷,i 自加 1,下一個 LED 燈開始閃爍否否圖 5.2 程序流程圖5.2.2 程序清單:主程序:#include /定義
26、8051 寄存器的頭文件#define uchar unsigned char /定義無符號字符型(0255)#define uint unsigned int /定義無符號整型(065535)/字符與整型分為有符號(signed)與無符號(unsigned)兩類/通常 sbit 數(shù)據(jù)類型是用于存取內(nèi)部可位尋址的數(shù)據(jù)存儲器sbit B1=P00; /聲明 B1 為 P1.0 端口sbit G1=P01;sbit R1=P02;sbit Y1=P03;/若要使用權(quán) sbit 數(shù)據(jù)類型,則其聲明方式有下列幾種:/1.先聲明一個 bdata 存儲器形式的變量,再聲明屬于該變量的 sbit 變量,例如
27、:/char bdata scan; 聲明 scan 為 bdata 存儲器類型的字符XXXX 大學(xué)課程設(shè)計(jì)16/sbit input_0=scan0; 聲明 input_0 為 scan 變量的 bit 0/2.先聲明一個 sfr 變量,再聲明屬于該變量的 sbit 變量,例如:/sfr P0=0 x80; 聲明 P0 為 0X80 存儲器位置,即 P0/sbit P0_0=P00;聲明 P0_0 為 P0 變量的 bit0/3.直接指定存儲器位置,例如要聲明 P0 的 bit0,則/sbit P0_0=0X800; 聲明 P0_0 為 0 x80 地址的 bit0uint i,j,k;/-
28、/主程序/-void main() /主程序開始i=j=k=0;P0=0 xff; /開始時全部關(guān)閉TMOD=0X02; /定時/計(jì)數(shù)器工作方式寄存器低 4 位/T0 定時器 0 工作于模式 2 位數(shù):8 位計(jì)數(shù)范圍:0-255 具有自動加載功能TH0=256-200;/200us 定時TL0=256-200;IE=0X82; /中斷使能寄存器 IE,相當(dāng)于 EA=1;ET0=1;TR0=1; /定時器/計(jì)數(shù)器控制寄存器 TCOD Timer0 的啟動開關(guān)while(1); /無窮循環(huán) /-/T0 中斷函數(shù)/-void LED_Flash_and_Scroll() interrupt 1 /每
29、累計(jì)若干次定時器中斷才執(zhí)行一次閃爍if(+k35)return; /if 條件語句k=0;switch(i)/多分支選擇語句,switch 語句開始 case 0:B1=!B1;/藍(lán)燈閃爍break; /終止執(zhí)行 switch 或循環(huán)語句case 1:G1=!G1;/綠燈閃爍break;case 2:R1=!R1; /紅燈閃爍break;case 3:Y1=!Y1; /黃燈閃爍break; /退出 switch 語句default:i=0;if(+j300) /每次 LED 持續(xù)閃爍一段時間return;/從函數(shù)返回語句XXXX 大學(xué)課程設(shè)計(jì)17j=0;P0=0 xff; /關(guān)閉顯示i+;/切換到下一 LED/符號:+ ,功能: 加 1 ,范例:i+ ,說明:執(zhí)行運(yùn)算后再將 X 變量的值加 1/符號:-
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育的科技革新與法權(quán)保護(hù)同行
- 抖音商戶自然流量增長策略制度
- 全球汽車零部件制造行業(yè)智能化生產(chǎn)線布局與趨勢分析報告
- BuChE-IN-21-生命科學(xué)試劑-MCE
- 廣東機(jī)電職業(yè)技術(shù)學(xué)院《知識產(chǎn)權(quán)專業(yè)英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年湖北省棗陽市吳店鎮(zhèn)清潭第一中學(xué)七年級數(shù)學(xué)第一學(xué)期期末調(diào)研模擬試題含解析
- 湖南電子科技職業(yè)學(xué)院《綜合設(shè)計(jì)實(shí)務(wù)(3)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省盤錦市雙臺子區(qū)第四中學(xué)2024年化學(xué)九上期末學(xué)業(yè)水平測試試題含解析
- 可克達(dá)拉職業(yè)技術(shù)學(xué)院《外事禮儀》2023-2024學(xué)年第一學(xué)期期末試卷
- 公共衛(wèi)生應(yīng)急資金申請策略2025年項(xiàng)目進(jìn)度管理報告
- 2005室外給水管道附屬構(gòu)筑物閥門井05S502
- 安徽省亳州市(2024年-2025年小學(xué)四年級語文)統(tǒng)編版開學(xué)考試(上學(xué)期)試卷及答案
- 2024-2025學(xué)年八年級上冊生物第17章《動物的運(yùn)動和行為》測試卷(蘇科版)
- 2024年中考英語補(bǔ)全短文真題匯編(附答案)2139
- 三年級上冊萬以內(nèi)的加減法計(jì)算題200道及答案
- 北京市《配電室安全管理規(guī)范》(DB11T 527-2021)地方標(biāo)準(zhǔn)
- 交通信號統(tǒng)一管控優(yōu)化平臺
- 南充2024年四川南充南部縣縣城部分學(xué)校考調(diào)教師120人 筆試歷年典型考題寄考點(diǎn)剖析含答案附詳解
- 光伏工程合同
- 山東省濟(jì)南市歷城區(qū)2023-2024學(xué)年部編版七年級下學(xué)期7月期末歷史試題
- 北師大版六年級下冊數(shù)學(xué)期末測試卷及答案【網(wǎng)校專用】
評論
0/150
提交評論