【正文】
的知識(shí)并在設(shè)計(jì)的過程中學(xué)會(huì)了與時(shí)俱進(jìn),克服了編程的枯燥感,讓我受益匪淺。 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 30 謝 辭 當(dāng)我以學(xué)子的身份踏入 洛陽理工學(xué)院 校門的那天起,便已注定我將在這里度過人生中最美麗的青春年華。 三 年的大學(xué)生活不知不覺中就要結(jié)束了,在這段難忘的生活中,有我許多美好的回憶 。 我要感謝在我 三 年的學(xué)習(xí)中無私傳授我知識(shí)的各位老師,是你們將自己寶貴的財(cái)富無私地奉獻(xiàn)給了我們,讓我們能在學(xué)業(yè)上有所成績;是你們讓我倍感教師職業(yè)的偉大,交給我們知識(shí),又不忘教育我們?nèi)绾巫鋈耍?在此, 我還要感謝寢室的兄弟們在我完成論文的過程中給予我的幫助和鼓勵(lì),也是他們陪我度過這 三 年的生活。s Z80 is the first designed in accordance with this idea processor, then on the development of microcontroller and dedicated processors have parted ways. Are 8bit microcontroller early or 4 bits. One of the most successful is the INTEL 8031, for a simple, reliable and good performance was a lot of praise. Then developed in 8031 out of MCS51 MCU Systems. SCM systems based on this system until now is still widely used. With the increased requirements of industrial control field, began a 16bit microcontroller, but not ideal because the cost has not been very widely used. After 90 years with the great development of consumer electronics, microcontroller technology is a huge improvement. With INTEL i960 series, especially the later series of widely used ARM, 32bit microcontroller quickly replace highend 16bit MCU status and enter the mainstream market. The traditional 8bit microcontroller 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 38 performance have been the rapid increase capacity increase pared to 80 the number of。實(shí)驗(yàn)給我提供了大量數(shù)據(jù)資料和建議,告訴我應(yīng)該注意的細(xì)節(jié)問題,細(xì)心的給我指出錯(cuò)誤,修改論文。盡管不舍,卻更珍惜,因?yàn)槲业纳杏心敲炊嗫蓯鄣娜酥档酶屑ぁ?在今后的學(xué)習(xí)過程中,應(yīng)該多到圖書館看一些專業(yè)方面的書籍,以豐富自己的知識(shí)。 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 29 結(jié) 論 經(jīng)過近一個(gè)月的努力 ,在老師和同學(xué)的商討和幫助下 ,我較好的完成了設(shè)計(jì)任務(wù),通過此次課程設(shè)計(jì),我重新認(rèn)識(shí)到了自學(xué)的重要性,以及學(xué)以致用的道理。 ( 3)主持人按下“停止”鍵表示搶答終止 。要注意只能在一個(gè)點(diǎn)接地,以免形成回路,在屏蔽體上產(chǎn)生較大的噪聲。 在研制印刷電路板時(shí),對地線的分布、形狀、長度和寬 度等也有一定的要求,比如地線要呈輻射狀,避免環(huán)行,地線要寬,連接旁路電容的地線不要太長等。其中應(yīng)用較多的是光電耦合器。比如,因干擾使程序指針發(fā)生錯(cuò)誤時(shí),可能會(huì)將非操作碼執(zhí)行,造成程序執(zhí)行的混亂 (跑飛)或進(jìn)入死循環(huán),甚至可能會(huì)損壞元器件。解決問題的方法 是在走線的同時(shí)按住 “CTRL” 鍵,直到走線繞過 狹窄的保護(hù)區(qū)。 在 keil 中進(jìn)行 debug 吧,同時(shí)在 proteus 中查看直觀的結(jié)果(如LCD 顯示 ? )這樣就可以像使用仿真器一樣調(diào) 。 ( 注意:不一定要用 TDRV5,根據(jù)原來字段選用一個(gè)不重復(fù)的數(shù)值就可以了。 軟硬件聯(lián)合仿真系統(tǒng)由一個(gè)硬件執(zhí)行環(huán)境和一個(gè)軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯(cuò)和控制界面, Keil 與 Proteus 的洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 26 整合調(diào)試可以實(shí)現(xiàn)系統(tǒng)的總調(diào),在該系統(tǒng)中, Keil 作為軟件調(diào)試界面,Proteus作為硬件仿真和調(diào)試界面,下面說一下如何在 keil中調(diào)用 proteus進(jìn)行 MCU 外圍器件的仿真。 軟件調(diào)試問題及解決 首先對所用軟件及使用方法介紹如下: Keil 是德國開發(fā)的一個(gè) 51 單片機(jī)開發(fā)軟件平臺(tái),最開始只是一個(gè)支持 C 語言和匯編語言的編譯器軟件。從而試驗(yàn)程序整體運(yùn)行的完整性、正確性和與硬件電路的配合情況。程序的分塊調(diào)試一般在單片機(jī)開發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序 功能塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運(yùn)行;也可配合對應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。 硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試,單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng)進(jìn)行,這里的調(diào)試只是將其制成印刷電路板后試驗(yàn)電路是否正確,并排除一些加工工藝性錯(cuò)誤(如錯(cuò)線、開路、短路等)。如果我們已經(jīng)觀察到了結(jié)果就可以點(diǎn)擊“Stop” 來停止運(yùn)行。首先來熟悉一下上面第一個(gè)圖中區(qū)域 ⑦ 的運(yùn)行工具條。 修改好各組件屬性以后就要將程序( HEX 文件)載入單片機(jī)了。 連接好電路圖以后我們還需要做一些修改 , 由上 513 圖我們可以看出,圖中的 R1 電 阻值為 10k,這個(gè)電阻作為限流電阻顯然太大,將使發(fā)光二極管 D1 亮度很低或者根本就不亮,影響我們的仿真結(jié)果。 l :( Virtual Instruments Mode)??偩€模式,選中它能夠在電路中畫總線。經(jīng)常與總線配合使用。 l :( Component Mode)。 Proteus 中單片機(jī)芯片默認(rèn)已經(jīng)添加電源與地,所以我們可 以省略。本例我們布線的結(jié)果如下圖所示(仿真我們在上面的 Keil 操作介紹中的簡單例子)。首先在元器件瀏覽區(qū)中點(diǎn)擊我們需要添加到文檔中的元器件,這時(shí)我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過點(diǎn)擊元器件調(diào)整工具欄中的工具來任意進(jìn)行調(diào)整,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。在對話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及 PCB參數(shù)。 下面我們就以建立一個(gè)和我們在 Keil 簡介中所講的工程項(xiàng)目相配套的 Proteus 工程為例來詳細(xì)講述 Proteus 的操作方法以及注意事項(xiàng)。這主要表現(xiàn)在 ,而 以后已經(jīng)完全改過。 } /*顯示函數(shù):來顯示 060 的計(jì)數(shù)*/ 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 第 5 章 系統(tǒng)的仿真 proteus 軟件的介紹及使用 什么是 Proteus 軟件 Proteus 軟件是 Labcenter Electronics 公司的一款電路設(shè)計(jì)與仿真軟件,它包括 ISIS、 ARES 等軟件模塊, ARES 模塊主要用來完成 PCB 的設(shè)計(jì),而 ISIS 模塊用來完成電路原理圖的布圖與仿真。 delay(5)。 P0=table[ge]。y)。 for(x=z。 }/* 4 號(hào)選手搶答成功,數(shù)碼管顯示 4,蜂鳴器響,第 4 個(gè)二極管亮 */ } void time0() interrupt 1 {num++。B0=1。qiangdanum=2。 if(k0==0) /*開關(guān) 0 按下 */ {d0=0。 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 17 time++。 /*開啟總中斷源 */ EX0=1。 /*設(shè)置初始值 */ TL0=(6553650000)%256。 void display()。 unsigned char qiangdanum=0x3f。 sbit l1=P2^2。 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 16 sbit d2=P1^6。 sbit k2=P1^2。 C 語言是以函數(shù)形式提供給用戶的 ,這些函數(shù)可方便的調(diào)用 ,并具有多種循環(huán)、條件語句控制程序流向 ,從而使程序完全結(jié)構(gòu)化。 主持人按下開始搶答按鈕,倒計(jì)時(shí) 60S,這里我們采用的用定時(shí)器 1 工作方式 1 定時(shí) 50ms,在中斷程序設(shè)置變量疊加的方法,來得到一秒的基本定時(shí),定時(shí)器定時(shí)一秒之后,單片機(jī)通過數(shù)碼管顯示出來。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。 搶答器同時(shí)供 4名選手或 4個(gè)代表隊(duì)比賽,分別用 4個(gè)按鈕 S1~S4表示。 顯示模塊電路設(shè)計(jì) 該模塊由 4個(gè)共陰極 7段 LED數(shù)碼管和 MAX7219鎖存器構(gòu)成,其位選線分別連接于 MAX7219的 DIG0DIG3,此數(shù)據(jù)驅(qū)動(dòng)線路置顯示器共陰極為低電平。對接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起針的快速性和溫度的穩(wěn)定性。 復(fù)位電路設(shè)計(jì) AT89C51的復(fù)位輸入引腳 RST為 AT89C51提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在 AT89C51的時(shí)鐘電路工作后,只要 RST引腳上出現(xiàn) 超過兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作,只要 RST保持高電平,則 AT89C51循環(huán)復(fù)位,只有當(dāng) RST有高電平變低電平以后, AT89C51才從 0000H地址開始執(zhí)行程序,本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。 電源方案的選擇:三端穩(wěn)壓器電路。振蕩膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。當(dāng)接通電源后( — 15 支流工作電壓),多諧振蕩器起振,輸出 — 的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。所有蜂鳴器都有兩種類型;純蜂鳴器和帶驅(qū)動(dòng)的蜂鳴器,蜂鳴器都是因音頻信號(hào)驅(qū)動(dòng)的,通上支流電就可工作而已。 圖 24b 行列式 盤 0 1 2 3 4 5 6 7 8 9 A B C D E F P P P P P P P P 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 10 根據(jù)以上的論述,采用方案一,在本系統(tǒng)中采用了獨(dú)立式鍵盤,其按鍵比較少,且鍵盤中各個(gè)按鍵的工作互不干擾。 CPU 對鍵盤的掃描可以采用程序控制的隨機(jī)方式,即只有在 CPU 空閑時(shí)才去掃描鍵盤,響應(yīng)操作人員的鍵盤輸入,但 CPU 在執(zhí)行應(yīng)用程序的過程中,不能響應(yīng)鍵盤輸入,對鍵盤的掃描可以采用定時(shí)方式,即利用單片機(jī)內(nèi)部定時(shí)器每隔一定時(shí)間對鍵盤掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合, CPU 總是定時(shí)的關(guān)心鍵盤狀態(tài)。 圖 24 獨(dú)立式鍵盤 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 9 最簡單的編碼方式就是根據(jù) I/O 輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài)進(jìn)行編碼 ,稱按鍵直接狀態(tài)碼,對于這樣編碼的獨(dú)立式鍵盤, CPU可以通過直接讀取 I/O 口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí)別,這樣形式的鍵盤結(jié)構(gòu)簡單,按鍵識(shí)別容易。在單片機(jī)中使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨(dú)立式鍵盤,行列式鍵盤等。利用該方法方便簡單,工作穩(wěn)定可靠。 方案一:采用升壓型穩(wěn)壓電路。 89C52的單片機(jī)廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備 ,工業(yè)實(shí)時(shí)控制 ,儀器儀表 ,通訊設(shè)備 ,家用電器 ,宇航設(shè)備等各個(gè)領(lǐng)域 . 由于單片機(jī)的種類很多,在選擇單片機(jī)時(shí)要依據(jù)實(shí)際設(shè)計(jì)要求選擇合適的單片機(jī)。數(shù)碼顯示是采用 BCD 編碼顯示數(shù)字,程序編譯容易,資源占用較少。但由于只需要顯示時(shí)間和組別的數(shù)字,信息量比較少,且由于液晶是以點(diǎn)陣的模式顯示各種符號(hào),需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。 搶答器顯示模塊 顯示模塊主要是顯示搶答的時(shí)間,組別號(hào)碼等。 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 5 第 2 章 搶答器硬件系統(tǒng)設(shè)計(jì) 系統(tǒng)整體方 案設(shè)計(jì) 本設(shè)計(jì)以 AT89C51 單片機(jī)為核心設(shè)計(jì)的四路搶答器方案是:主持人按 搶答開始 鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè) 60s 搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)及所用時(shí)間,不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有效。硬件電路設(shè)計(jì)還包括輸入輸出接口設(shè)計(jì),畫出詳細(xì)電路圖,標(biāo)出芯片的型號(hào)、器件