191基于51單片機的教室智能照明控制系統(tǒng)資料
191基于51單片機的教室智能照明控制系統(tǒng)資料,基于,51,單片機,教室,智能,照明,控制系統(tǒng),資料
第一章 緒論 i目 錄第一章 緒 論 11.1 選題背景 11.1.1 數(shù)字單片機的技術(shù)發(fā)展 11.1.2 以單片機為核心的嵌入式系統(tǒng) 31.2 本研究課題的發(fā)展趨勢 41.3 設(shè)計研究的要求及主要內(nèi)容應(yīng)解決的問題 5第二章 整體設(shè)計方案 .62.1 設(shè)計方案選擇 62.2 設(shè)計原理 6第三章 硬件電路設(shè)計 .83.1 最小系統(tǒng)設(shè)計 83.2 原理圖 .113.3 重要元器件介紹 .123.3.1 單片機介紹 .123.3.2 PCB 版的介紹 .163.3.3 數(shù)碼管的介紹 .173.4 PROTEUS軟件介紹 .193.5 電路仿真 .213.6 PCB 圖 .23第四章 軟件設(shè)計 234.1 系統(tǒng)軟件設(shè)計流程圖 .244.2 C 語言介紹 .244.3 程序 .254.4 KEIL軟件調(diào)試 .284.4.1 軟件介紹 .284.4.2 系統(tǒng)概述 .28第一章 緒論ii4.4.3 Keil C51 單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) 28第五章 焊接調(diào)試與功能說明 305.1 系統(tǒng)性能測試與功能說明 .305.2 軟件調(diào)試問題及解決 .30結(jié) 論 .32參 考 文 獻 34致 謝 36附 錄 38第一章 緒論 1第一章 緒 論本章介紹了本研究課題的背景及意義,闡述了其發(fā)展狀況。對當前各種計數(shù)器的特點及其計數(shù)器的未來發(fā)展趨勢作了概況。另外,簡要說明了本文所做的工作。1.1 選題背景隨著計數(shù)器技術(shù)的不斷發(fā)展與進步,計數(shù)器的種類越來越多,應(yīng)用的范圍越來越廣,隨之而來的競爭也越來越激烈。過硬的技術(shù)也成為眾多生產(chǎn)廠商競爭的焦點之一。廠商為了在競爭中處于不敗之地,從而不斷地改進技術(shù),增加產(chǎn)品的種類?,F(xiàn)計數(shù)器的種類以增加到:電磁計數(shù)器、電子計數(shù)器、機械計數(shù)器(拉動機械計數(shù)器、轉(zhuǎn)動機械計數(shù)器、按動機械計數(shù)器、測長機械計數(shù)器) 、液晶計數(shù)器等。計數(shù)器的應(yīng)用范圍也遍布印刷、紡織、印染、針織、電纜、電訊、軍工、輕工、機械、開關(guān)、斷路器、礦山、實行多班制的紡織行業(yè)的織布機、織帶機、制線、制帶、造紙、制革、薄膜、高壓開關(guān)電器產(chǎn)品、試驗設(shè)備,印刷設(shè)備、短路器、醫(yī)療、紡織、機械、倉庫和碼頭的貨運、行人及車輛過往的數(shù)量計數(shù)、冶金、食品、國防、包裝、配料、石油、化工、發(fā)電、機床、儀表、自動化控制等行業(yè)。1.1.1 數(shù)字單片機的技術(shù)發(fā)展1.內(nèi)部結(jié)構(gòu)的變化單片機在內(nèi)部已集成了越來越多的部件,這些部件包括一般常用的電路,例如:定時器,比較器,A/D 轉(zhuǎn)換器,D /A 轉(zhuǎn)換器,串行通信接口,Watchdog 電路,LCD 控制器等。 有的單片機為了構(gòu)成控制網(wǎng)絡(luò)或形成局部網(wǎng),內(nèi)部含有局部網(wǎng)絡(luò)控制模塊CAN。例如,Infineon 公司的 C 505C,C515C, C167CR,C167CS-32FM,81C90。因此,這類單片機十分容易構(gòu)成網(wǎng)絡(luò)。特別是在控制,系統(tǒng)較為復(fù)雜時,構(gòu)成一個控制網(wǎng)絡(luò)十分有用。為了能在變頻控制中方便使用單片機,形成最具經(jīng)濟效益第一章 緒論2的嵌入式控制系統(tǒng)。有的單片機內(nèi)部設(shè)置了專門用于變頻控制的脈寬調(diào)制控制電路,這些單片機有 Fujitsu 公司的 MB89850 系列、MB89860 系列;Motorola 公司的 MC68HC08MR16、MR24 等。在這些單片機中,脈寬調(diào)制電路有 6 個通道輸出,可產(chǎn)生三相脈寬調(diào)制交流電壓,并內(nèi)部含死區(qū)控制等功能。 特別引人注目的是:現(xiàn)在有的單片機已采用所謂的三核(TrCore)結(jié)構(gòu)。這是一種建立在系統(tǒng)級芯片(System on a chip)概念上的結(jié)構(gòu)。這種單片機由三個核組成:一個是微控制器和 DSP 核,一個是數(shù)據(jù)和程序存儲器核,最后一個是外圍專用集成電路(ASIC) 。這種單片機的最大特點在于把 DSP 和微控制器同時做在一個片上。把它和傳統(tǒng)單片機結(jié)合集成大大提高了單片機的功能。這是目前單片機最大的進步之一。這種單片機最典型的有 Infineon 公司的TC10GP;Hitachi 公司的 SH7410,SH7612 等。2.功耗、封裝及電源電壓的發(fā)展現(xiàn)在新的單片機的功耗越來越小,特別是很多單片機都設(shè)置了多種工作方式,這些工作方式包括等待,暫停,睡眠,空閑,節(jié)電等工作方式?,F(xiàn)在單片機的封裝水平已大大提高,隨著貼片工藝的出現(xiàn),單片機也大量采用了各種合符貼片工藝的封裝方式出現(xiàn),以大量減少體積。擴大電源電壓范圍以及在較低電壓下仍然能工作是今天單片機發(fā)展的目標之一。目前,一般單片機都可以在 3.3~5.5V 的條件下工作。而一些廠家,則生產(chǎn)出可以在 2.2~6V 的條件下工作的單片機。3.工藝上的發(fā)展現(xiàn)在的單片機基本上采用 CMOS 技術(shù),但已經(jīng)大多數(shù)采用了 0.6?m 以上的光刻工藝,有個別的公司,如 Motorola 公司則已采用 0.35?m 甚至是 0.25?m 技術(shù)。這些技術(shù)的進步大大地提高了單片機的內(nèi)部密度和可靠性。 1.1.2 以單片機為核心的嵌入式系統(tǒng)單片機的另外一個名稱就是嵌入式微控制器。目前,把單片機嵌入式系統(tǒng)和Internet 連接已是一種趨勢。要實現(xiàn)嵌入式設(shè)備和 Internet 連接,就需要把傳統(tǒng)的 Internet 理論和嵌入式設(shè)備的實踐都顛倒過來。為了使復(fù)雜的或簡單的嵌M=999 的計數(shù)器的設(shè)計與實現(xiàn) 3入式設(shè)備,例如單片機控制的機床、單片機控制的門鎖,能切實可行地和Internet 連接,就要求專門為嵌入式微控制器設(shè)備設(shè)計網(wǎng)絡(luò)服務(wù)器,使嵌入式設(shè)備可以和Internet 相連,并通過標準網(wǎng)絡(luò)瀏覽器進行過程控制。 EmWare 公司提出嵌入式系統(tǒng)入網(wǎng)的方案--EMIT 技術(shù)。這個技術(shù)包括三個主要部分:即 emMicro, emGateway 和網(wǎng)絡(luò)瀏覽器。 目前,單片機應(yīng)用中提出了一個新的問題:這就是如何使 8 位、16 位單片機控制的產(chǎn)品,也即嵌入式產(chǎn)品或設(shè)備能實現(xiàn)和互聯(lián)網(wǎng)互連? TASKING 公司目前正在為解決這個問題提供了途徑。該公司已把 emWare 的EMIT 軟件包和有關(guān)的軟件配套集成,形成一個集成開發(fā)環(huán)境,向用戶提供開發(fā)方便。嵌入互聯(lián)網(wǎng)聯(lián)盟 ETI(embed the Internet Consortium)正在緊密合作,共同開發(fā)嵌入式 Internet 的解決方案 。1.2 本研究課題的發(fā)展趨勢自單片機出現(xiàn)至今,單片機技術(shù)已走過了近 20 年的發(fā)展路程??v觀 20 年來單片機發(fā)展歷程可以看出,單片機技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā) 展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢。單片機的應(yīng)用在后 PC 時代得到了前所未有的發(fā)展,但對處理器的綜合性能要求也越來越高。綜觀單片機的發(fā)展,以應(yīng)用需求為目標,市場越來越細化,充分突出以“單片”解決問題,而不像多年前以 MCS51/96 等處理器為中心,外擴各種接口構(gòu)成各種應(yīng)用系統(tǒng)。單片機系統(tǒng)作為嵌入式系統(tǒng)的一部分,主要集中在中、低端應(yīng)用領(lǐng)域(嵌入式高端應(yīng)用主要由 DSP、ARM、MIPS 等高性能處理器構(gòu)成) ,在這些應(yīng)用中,目前也出現(xiàn)了一些新的需求,主要體現(xiàn)在以下幾個方面:(1)以電池供電的應(yīng)用越來越多,而且由于產(chǎn)品體積的限制,很多是用鈕扣電池供電,要求系統(tǒng)功耗盡可能低,如手持式儀表、水表、玩具等。(2)隨著應(yīng)用的復(fù)雜,對處理器的功能和性能要求不斷提高。既要外設(shè)豐富、功能靈活,又要有一定的運算能力,能做一些實時算法,而不僅僅做一些簡單的控制。第一章 緒論4(3)產(chǎn)品更新速度快,開發(fā)時間短,希望開發(fā)工具簡單、廉價、功能完善。特別是仿真工具要有延續(xù)性,能適應(yīng)多種 MCU,以免重復(fù)投資,增加開發(fā)費用。(4)產(chǎn)品性能穩(wěn)定,可靠性高,既能加密保護,又能方便升級。1.3 設(shè)計研究的要求及主要內(nèi)容應(yīng)解決的問題要求:1.整個系統(tǒng)有較強的抗干擾能力.2.計數(shù)范圍:000~999.3.將計數(shù)值準確顯示出來.應(yīng)解決問題:基于單片機構(gòu)成的產(chǎn)品自動計數(shù)器研究的主要內(nèi)容包括:如果構(gòu)成檢測電路、MCS-51 單片機用何種方式對外部計數(shù)脈沖進行計數(shù)顯示控制、LED 顯示驅(qū)動模塊的選擇、MCS-51 單片機的擴展。在這個設(shè)計中主要需要解決的問題便是如何提高MCS-51 單片機的抗干擾能力以及穩(wěn)定性。M=999 的計數(shù)器的設(shè)計與實現(xiàn) 5第二章 整體設(shè)計方案2.1 設(shè)計方案選擇方案一:采用多種數(shù)字邏輯電路來實現(xiàn)邏輯控制、主門、門控、計數(shù)單元的設(shè)計要求,這樣設(shè)計的電路整體比較復(fù)雜,而且不宜完成發(fā)揮部分的功能要求。所以方案一不采用。方案二:可以采用 FPGA 來實現(xiàn)邏輯控制、主門、門控、計數(shù)單元的設(shè)計要求,并且設(shè)計方便,但由于對 FPGA 的技術(shù)原理掌握不夠熟練,所以放棄方案二。方案三:系統(tǒng)采用 8051 為核心的單片機控制系統(tǒng),實現(xiàn)原理圖中的邏輯控制、主門、門控、計數(shù)的設(shè)計要求單片機計數(shù)器的方式控制寄存器 TMOD 中的 GATE 位=1 時,可以很方便的進行 INT0 引腳的外部輸入信號的時間間隔測量。且單片機的控制電路很容易實現(xiàn)擴展,比如語音模塊、測溫 I2C 模塊、時鐘模塊、A/D 模塊等。故采用方案三。2.2 設(shè)計原理利用 AT89S51 單片機來制作一個手動計數(shù)器,在 AT89S51 單片機的 P3.7 管腳接一個輕觸開關(guān),作為手動計數(shù)的按鈕,用單片機的 P2.0-P2.7 接一個共陰數(shù)碼管,作為 00-999 計數(shù)的個位數(shù)顯示,用單片機的 P0.0-P0.7 接一個共陰數(shù)碼管,作為 00-999 計數(shù)的十位數(shù)顯示;硬件電路圖如圖 2-1 所示:第二章 整體設(shè)計方案6圖 2-1 硬件電路圖系統(tǒng)板上硬件連線1)把“單片機系統(tǒng)”區(qū)域中的 P0.0/AD0-P0.7/AD7 端口用 8 芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個 a-h(huán) 端口上;要求:P0.0/AD0 對應(yīng)著 a,P0.1/AD1 對應(yīng)著 b,……,P0.7/AD7 對應(yīng)著 h。2)把“單片機系統(tǒng)”區(qū)域中的 P2.0/A8-P2.7/A15 端口用 8 芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個數(shù)碼管的 a-h(huán) 端口上; 3)把“單片機系統(tǒng)”區(qū)域中的 P3.7/RD 端口用導(dǎo)線連接到“獨立式鍵盤”區(qū)域中的 SP1 端口上; M=999 的計數(shù)器的設(shè)計與實現(xiàn) 7第三章 硬件電路設(shè)計3.1 最小系統(tǒng)設(shè)計圖 3-1 單片機最小系統(tǒng)的結(jié)構(gòu)圖單片機的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1 組成,下面介紹一下每一個組成部分。1.電源引腳Vcc 40 電源端GND 20 接地端第三章 硬件電路設(shè)計8工作電壓為 5V,另有 AT89LV51 工作電壓則是 2.7-6V,引腳功能一樣。2.外接晶體引腳圖 3-2 晶振連接的內(nèi)部、外部方式圖XTAL1 19XTAL2 18XTAL1 是片內(nèi)振蕩器的反相放大器輸入端,XTAL2 則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到 XTAL1,而 XTAL2 懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為 12MHz,時鐘頻率就為 6MHz。晶振的頻率可以在 1MHz-24MHz 內(nèi)選擇。電容取 30PF 左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89 單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳 XTAL1 和 XTAL2 分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容 C1 和 C2 構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為 22μF。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3.復(fù)位 RST 9M=999 的計數(shù)器的設(shè)計與實現(xiàn) 9在振蕩器運行時,有兩個機器周期(24 個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機復(fù)位,只要這個腳保持高電平,51 芯片便循環(huán)復(fù)位。復(fù)位后P0-P3 口均置 1 引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器 SFR 全部清零。當復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為 ROM 的 00H 處開始運行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳 RST 通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當時鐘頻率選用 6MHz 時,C 取22μF,Rs 約為 200Ω,Rk 約為 1K。復(fù)位操作不會對內(nèi)部 RAM 有所影響。常用的復(fù)位電路如下圖所示:圖 3-3 常用復(fù)位電路圖4.輸入輸出引腳(1) P0 端口[P0.0-P0.7] P0 是一個 8 位漏極開路型雙向 I/O 端口,端口置1(對端口寫 1)時作高阻抗輸入端。作為輸出口時能驅(qū)動 8 個 TTL。對內(nèi)部 Flash 程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0 口是分時轉(zhuǎn)換的地址(低 8 位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) P1 端口[P1.0-P1.7] P1 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/0 端口。第三章 硬件電路設(shè)計10輸出時可驅(qū)動 4 個 TTL。端口置 1 時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部 Flash 程序存儲器編程時,接收低 8 位地址信息。(3) P2 端口[P2.0-P2.7] P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/0 端口。輸出時可驅(qū)動 4 個 TTL。端口置 1 時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部 Flash 程序存儲器編程時,接收高 8 位地址和控制信息。在訪問外部程序和 16 位外部數(shù)據(jù)存儲器時,P2 口送出高 8 位地址。而在訪問 8 位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。(4) P3 端口[P3.0-P3.7]P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向端口。輸出時可驅(qū)動 4 個 TTL。端口置 1 時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。M=999 的計數(shù)器的設(shè)計與實現(xiàn) 113.2 原理圖圖 3-4 電路總圖3.3 重要元器件介紹3.3.1 單片機介紹1. MCS-51 系列單片機簡介8051 是 MCS-51 系列單片機的典型產(chǎn)品,以這一代表性的機型進行系統(tǒng)的講第三章 硬件電路設(shè)計12解。8051 單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:·中央處理器:中央處理器(CPU)是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進制數(shù)據(jù)或代碼,CPU 負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作?!?shù)據(jù)存儲器(RAM):8051 內(nèi)部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM 只有 128 個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖 3-5 8051 內(nèi)部結(jié)構(gòu)圖·程序存儲器(ROM):8051 共有 4096 個 8 位掩膜 ROM,用于存放用戶程序,原始數(shù)據(jù)或表格?!ざ〞r/計數(shù)器(ROM):8051 有兩個 16 位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向?!げ⑿休斎胼敵?I/O)口:M=999 的計數(shù)器的設(shè)計與實現(xiàn) 138051 共有 4 組 8 位 I/O 口(P0、 P1、P2 或 P3),用于對外部數(shù)據(jù)的傳輸?!とp工串行口:8051 內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。·中斷系統(tǒng):8051 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有 2 級的優(yōu)先級別選擇?!r鐘電路:8051 內(nèi)置最高頻率達 12MHz 的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但 8051 單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL 的 MCS-51 系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品 16 位的MCS-96 系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是 MCS-51 系列單片機的內(nèi)部結(jié)構(gòu)示意圖 3-6第三章 硬件電路設(shè)計14圖 3-6 MCS-51 結(jié)構(gòu)圖MCS-51 的引腳說明:MCS-51 系列單片機中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接DIP 結(jié)構(gòu),右圖是它們的引腳配置,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 I/O 口,中斷口線與 P3 口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:MCS-51 的引腳說明:MCS-51 系列單片機中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接DIP 結(jié)構(gòu),右圖是它們的引腳配置,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 I/O 口,中斷口線與 P3 口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖 3-7M=999 的計數(shù)器的設(shè)計與實現(xiàn) 15圖 3-7 雙列直插式封裝引腳圖Pin9:RESET/Vpd 復(fù)位信號復(fù)用腳,當 8051 通電,時鐘電路開始工作,在RESET 引腳上出現(xiàn) 24 個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器 PC 指向 0000H,P0-P3 輸出口全部為高電平,堆棧指針寫入 07H,其它專用寄存器被清“0” 。RESET 由高電平下降為低電平后,系統(tǒng)即從 0000H 地址開始執(zhí)行程序。然而,初始復(fù)位不改變 RAM(包括工作寄存器 R0-R7)的狀態(tài),8051 的初始態(tài)。8051 的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位。此外,RESET/Vpd 還是一復(fù)用腳,Vcc 掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部 RAM 的數(shù)據(jù)不丟失。見下圖 3-8 為兩種復(fù)位方式和兩種時鐘方式:圖 3-8 復(fù)位方式圖與時鐘方式圖·Pin30:ALE/ 當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE 端將有一個 1/6 時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE 會跳過一個脈沖。如果單片機是M=999 的計數(shù)器的設(shè)計與實現(xiàn)16EPROM,在編程其間, 將用于輸入編程脈沖。·Pin29: 當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC 的 16位地址數(shù)據(jù)將出現(xiàn)在 P0 和 P2 口上,外部程序存儲器則把指令數(shù)據(jù)放到 P0 口上,由 CPU 讀入并執(zhí)行?!in31:EA/Vpp 程序存儲器的內(nèi)外部選通線,8051 和 8751 單片機,內(nèi)置有4kB 的程序存儲器,當 EA 為高電平并且程序地址小于 4kB 時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過 4kB 地址則讀取外部指令數(shù)據(jù)。如 EA 為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的 8031,EA端必須接地。在編程時,EA/Vpp 腳還需加上 21V 的編程電壓。3.3.2 PCB 版的介紹PCB(PrintedCircuitBoard) ,中文名稱為印制電路板,又稱印刷電路板、印刷線路板,簡單的說就是置有集成電路和其他電子組件的薄板,是重要的電子部件,是電子元器件的支撐體,是電子元器件電氣連接的提供者,是低能耗、低污染的,由于它是采用電子印刷術(shù)制作的,故被稱為“印刷”電路板。印制電路板的設(shè)計是以電路原理圖為根據(jù),實現(xiàn)電路設(shè)計者所需要的功能。印刷電路板的設(shè)計主要指版圖設(shè)計,需要考慮外部連接的布局、內(nèi)部電子元件的優(yōu)化布局、金屬連線和通孔的優(yōu)化布局、電磁保護、熱耗散等各種因素。優(yōu)秀的版圖設(shè)計可以節(jié)約生產(chǎn)成本,達到良好的電路性能和散熱性能。簡單的版圖設(shè)計可以用手工實現(xiàn),復(fù)雜的版圖設(shè)計需要借助計算機輔助設(shè)計(CAD)實現(xiàn)。根據(jù)電路層數(shù)分類:分為單面板、雙面板和多層板。常見的多層板一般為 4層板或 6 層板,復(fù)雜的多層板可達十幾層。PCB 板有以下三種主要的劃分類型:1.單面板單面板(Single-Sided Boards) 在最基本的 PCB 上,零件集中在其中一面,導(dǎo)線則集中在另一面上。因為導(dǎo)線只出現(xiàn)在其中一面,所以這種 PCB 叫作單面板(Single-sided) 。因為單面板在設(shè)計線路上有許多嚴格的限制(因為只有一面,布線間不能交叉而必須繞獨自的路徑) ,所以只有早期的電路才使用這類的板子。第三章 硬件電路設(shè)計 172.雙面板雙面板(Double-Sided Boards) 這種電路板的兩面都有布線,不過要用上兩面的導(dǎo)線,必須要在兩面間有適當?shù)碾娐愤B接才行。這種電路間的“橋梁”叫做導(dǎo)孔(via) 。導(dǎo)孔是在 PCB 上,充滿或涂上金屬的小洞,它可以與兩面的導(dǎo)線相連接。因為雙面板的面積比單面板大了一倍,而且因為布線可以互相交錯(可以繞到另一面) ,它更適合用在比單面板更復(fù)雜的電路上。3.多層板多層板(Multi-Layer Boards) 為了增加可以布線的面積,多層板用上了更多單或雙面的布線板。用一塊雙面作內(nèi)層、二塊單面作外層或二塊雙面作內(nèi)層、二塊單面作外層的印刷線路板,通過定位系統(tǒng)及絕緣粘結(jié)材料交替在一起且導(dǎo)電圖形按設(shè)計要求進行互連的印刷線路板就成為四層、六層印刷電路板了,也稱為多層印刷線路板。板子的層數(shù)就代表了有幾層獨立的布線層,通常層數(shù)都是偶數(shù),并且包含最外側(cè)的兩層。大部分的主機板都是 4 到 8 層的結(jié)構(gòu),不過技術(shù)上理可以做到近 100 層的 PCB 板。不過因為這類計算機已經(jīng)可以用許多普通計算機的集群代替,超多層板已經(jīng)漸漸不被使用了。因為 PCB 中的各層都緊密的結(jié)合,一般不太容易看出實際數(shù)目,不過如果仔細觀察主機板,還是可以看出來。3.3.3 數(shù)碼管的介紹在本任務(wù)中用 3 位數(shù)碼管顯示當前數(shù)值的百,十,個,由于數(shù)碼管個數(shù)多,如采用靜態(tài)顯示方式,則占用單片機的 I/O 口線太多,如果用定時器/計數(shù)器的串行移位寄存器工作方式及外接串入并出移位寄存器 74LS164 的方式,則電路復(fù)雜。所以,在數(shù)碼管個數(shù)較多時,常采用動態(tài)顯示方式。3 位數(shù)碼管的相同段并聯(lián)在一起,由一個 6 位 I/O(P1 口)輸出字形碼控制顯示某一字形,每個數(shù)碼管的公共端由另外一個 I/O 口(P0 口)輸出的字位碼控制,即數(shù)碼管顯示的字形是由單片機 I/O 口輸出的字形碼確定,而哪個數(shù)碼管點亮是由單片機 I/O 口輸出的字位碼確定的。3 個數(shù)碼管分時輪流循環(huán)點亮,在同一時刻只有 1 個數(shù)碼管點亮,但由于數(shù)碼管具有余輝特性及人眼具有視覺暫留特性,所以適當?shù)剡x取循環(huán)掃描頻率,看上去所有數(shù)碼管是同時點亮的,察覺不出閃爍現(xiàn)象。動態(tài)顯示方式所接數(shù)碼管不能太多,否則會因每個數(shù)碼管所分配的實M=999 的計數(shù)器的設(shè)計與實現(xiàn)18際導(dǎo)通時間太少,使得數(shù)碼管的亮度不足。在本任務(wù)中,為了簡便,字形碼和字位碼都沒由加驅(qū)動電路,在實際應(yīng)用中應(yīng)加驅(qū)動電路。數(shù)碼管有共陰極和共陽極兩種,對于共陽數(shù)碼管,字形驅(qū)動輸出 0 有效,字位驅(qū)動輸出 1 有效;而對于共陰數(shù)碼管則相反,即:字形驅(qū)動輸出 1 有效,字位驅(qū)動輸出 0 有效顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管 LED 顯示器、液晶LCD 顯示器、CRT 顯示器等。LED 顯示器是現(xiàn)在最常用的顯示器之一, 發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式 LED 顯示器件(半導(dǎo)體顯示器) 。分段式顯示器(LED 數(shù)碼管)由 7 條線段圍成 8 字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED 數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式 LED 數(shù)碼管的原理圖和符號。圖 3-9 共陽式、共陰式 LED 數(shù)碼管的原理圖和數(shù)碼管的符號圖顯示電路顯示模塊需要實時顯示當前的時間,即時、分、秒,因此需要 6 個數(shù)碼管,另需兩個數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時間,硬件連接如下圖所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第四個和第五個數(shù)碼管,秒的十位和個位分別顯示在第七個和第八個數(shù)碼管,其余數(shù)碼管顯示橫線。LED 顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)第三章 硬件設(shè)計電路 19顯示方式和動態(tài)顯示方式兩種。對于多位 LED 顯示器,通常都是采用動態(tài)掃描的方法進行顯示,其硬件連接方式如下圖所示。圖 3-10 數(shù)碼管的硬件連接示意圖數(shù)碼管使用條件:a、使用電壓段:根據(jù)發(fā)光顏色決定;b、小數(shù)點:根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80mA(每段 10mA) ;動態(tài):平均電流 4-5mA 峰值電流 100mA數(shù)碼管使用注意事項說明:(1)數(shù)碼管表面不要用手觸摸,不要用手去弄引角;(2)焊接溫度:260度;焊接時間:1s(3)表面有保護膜的產(chǎn)品,可以在使用前撕下來。3.4 proteus 軟件介紹Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA 工具軟件(該軟件中國總代理為廣州風標電子技術(shù)有限公司) 。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器M=999 的計數(shù)器的設(shè)計與實現(xiàn)20件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus 是世界上著名的EDA 工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和MSP430 等,2010 年即將增加 Cortex 和 DSP 系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持 IAR、Keil 和 MPLAB 等多種編譯器。 功能特點:Proteus 軟件具有其它 EDA 工具軟件(例:multisim)的功能。這些功能是: (1)原理布圖 (2)PCB 自動或人工布線 (3)SPICE 電路仿真 革命性的特點: (1)互動的電路仿真 用戶甚至可以實時采用諸如 RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分 SPI 器件,部分 IIC 器件。 (2)仿真處理器及其外圍電路 可以仿真 51 系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus 建立了完備的電子設(shè)計開發(fā)環(huán)境。 功能模塊:能原理圖設(shè)計(ISIS)豐富的器件庫:超過 27000 種元器件,可方便地創(chuàng)建新元件; 智能的器件搜索:通過模糊搜索可以快速定位所需要的器件; 智能化的連線功能:自動連線功能使連接導(dǎo)線簡單快捷,大大縮短繪圖時間;支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計簡明清晰; 第三章 硬件電路設(shè)計 21可輸出高質(zhì)量圖紙:通過個性化設(shè)置,可以生成印刷質(zhì)量的 BMP 圖紙,可以方便地供 WORD、POWERPOINT 等多種文檔使用。 完善的電路仿真功能(Prospice)PROSPICE 混合仿真:基于工業(yè)標準 SPICE3F5,實現(xiàn)數(shù)字/模擬電路的混合仿真; 超過 27000 個仿真器件:可以通過內(nèi)部原型或使用廠家的 SPICE 文件自行設(shè)計仿真器件,Labcenter 也在不斷地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件; 多樣的激勵源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用 wav文件) 、指數(shù)信號、單頻 FM、數(shù)字時鐘和碼流,還支持文件形式的信號輸入; 豐富的虛擬儀器:13 種虛擬儀器,面板操作逼真,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計/計數(shù)器、邏輯探頭、虛擬終端、SPI 調(diào)試器、I2C 調(diào)試器等;生動的仿真顯示:用色點顯示引腳的數(shù)字電平,導(dǎo)線以不同顏色表示其對地電壓大小,結(jié)合動態(tài)器件(如電機、顯示器件、按鈕)的使用可以使仿真更加直觀、生動; 高級圖形仿真功能(ASF):基于圖標的分析可以精確分析電路的多項指標,包括工作點、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻譜分析等,還可以進行一致性分析;獨特的單片機協(xié)同仿真功能(VSM)3.5 電路仿真在 PROTEUS 繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.HEX,可以在 PROTEUS 的原理圖中看到模擬的實物運行狀態(tài)和過程。 第三章 硬件電路設(shè)計22用 PROTUES 軟件,畫出 M=999 的計數(shù)器仿真圖,得到的圖如下所示。圖 3-11 仿真圖PROTEUS 是單片機課堂教學的先進助手。 PROTEUS 不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應(yīng)。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。 課程設(shè)計、畢業(yè)設(shè)計是學生走向就業(yè)的重要實踐環(huán)節(jié)。由于 PROTEUS 提供了第三章 硬件電路設(shè)計 23實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神的平臺 隨著科技的發(fā)展, “計算機仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點??墒乖O(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發(fā)應(yīng)用中 PROTEUS 也能茯得愈來愈廣泛的應(yīng)用。 使用 Proteus 軟件進行單片機系統(tǒng)仿真設(shè)計, 是虛擬仿真技術(shù)和計算機多媒體技術(shù)相結(jié)合的綜合運用,有利于培養(yǎng)學生的電路設(shè)計能力及仿真軟件的操作能力;在單片機課程設(shè)計和全國大學生電子設(shè)計競賽中,我們使用 Proteus 開發(fā)環(huán)境對學生進行培訓(xùn),在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統(tǒng)仿真開發(fā)成功之后再進行實際制作,能極大提高單片機系統(tǒng)設(shè)計效率。因此,Proteus 有較高的推廣利用價值。M=999 的計數(shù)器的設(shè)計與實現(xiàn)243.6 PCB 圖圖 3-12 PCB 版電路第四章 軟件設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設(shè)計和監(jiān)控軟件的設(shè)計。單片機的軟件設(shè)計通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風格,如考慮結(jié)構(gòu)化程序設(shè)計、實行模塊化、子程序第四章 軟件設(shè)計 25化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實施軟件工程;(7)注意軟件的抗干擾設(shè)計,提高系統(tǒng)的可靠性。4.1 系統(tǒng)軟件設(shè)計流程圖主程序先是開始,然后賦初值,本設(shè)計采用的是動態(tài)顯示,所以在賦玩初值后顯示程序不斷被調(diào)用。圖 4-1 主程序流程圖4.2 C 語言介紹C 語言是一種面向過程的計算機程序設(shè)計語言,它是目前眾多計算機語言中舉世公認的優(yōu)秀的結(jié)構(gòu)程序設(shè)計語言之一。它由美國貝爾研究所的 D.M.Ritchie于 1972 年推出。1978 后,C 語言已先后被移植到大、中、小及微型機上。 C 語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,主要因為它具有強大的功能。許多著名的系統(tǒng)軟件,如 DBASE Ⅳ都是由 C 語言編寫的。用 C 語言加M=999 的計數(shù)器的設(shè)計與實現(xiàn)26上一些匯編語言子程序,就更能顯示 C 語言的優(yōu)勢了,像 PC- DOS 、WORDSTAR等就是用這種方法編寫的。C 語言是一種成功的系統(tǒng)描述語言,用 C 語言開發(fā)的 UNIX 操作系統(tǒng)就是一個成功的范例;同時 C 語言又是一種通用的程序設(shè)計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發(fā)了不同版本的 C 語言,很多優(yōu)秀的應(yīng)用程序也都使用 C 語言開發(fā)的,它是一種很有發(fā)展前途的高級程序設(shè)計語言。 1.C 是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作, 而這三者是計算機最基本的工作單元。 2.C 是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3.C 語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的的游戲。4.C 語言適用范圍大。適合于多種操作系統(tǒng),如 Windows、DOS、UNIX 等等;也適用于多種機型。 C 語言對編寫需要硬件進行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用 C 語言編寫的。 C 語言具有較好的可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。4.3 程序#include code unsigned char tab[]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3C,0第四章 軟件設(shè)計 27x23,0x34,0x74}; //共陽數(shù)碼管 0-9 unsigned char Dis_baiwei;//定義十位unsigned char Dis_shiwei; //定義個位unsigned char Dis_gewei;void delay(unsigned int cnt){while(--cnt);}main(){TMOD |=0x01;//定時器設(shè)置 10ms in 12M crystalTH0=0xd8;TL0=0xf0;IE= 0x82; //打開中斷TR0=1;while(1){P0=Dis_baiwei;//顯示十位P2=0x7f;delay(300);//短暫延時P0=Dis_shiwei; //顯示個位P2=0xbf;delay(300);M=999 的計數(shù)器的設(shè)計與實現(xiàn)28P0=Dis_gewei;P2=0xdf;delay(300);}}/********************************//* 定時中斷 *//********************************/void tim(void) interrupt 1 using 1{static unsigned int second,count;TH0=0xd8;//重新賦值TL0=0xf0;count++;if (count==100){count=0;second++;//秒加 1if(second==1000)second=0;Dis_baiwei=tab[second/100];//百位顯示值處理Dis_shiwei=tab[(second%100)/10]; //十位顯示處理Dis_gewei=tab[(second%100)%10];//各位}4.4 keil 軟件調(diào)試4.4.1 軟件介紹Keil 軟件是目前最流行開發(fā) MCS-51 系列單片機的軟件,這從近年來各仿真
收藏
編號:548277
類型:共享資源
大小:13.78MB
格式:ZIP
上傳時間:2019-04-28
10
積分
- 關(guān) 鍵 詞:
-
基于
51
單片機
教室
智能
照明
控制系統(tǒng)
資料
- 資源描述:
-
191基于51單片機的教室智能照明控制系統(tǒng)資料,基于,51,單片機,教室,智能,照明,控制系統(tǒng),資料
展開閱讀全文
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。