2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  ==</b></p><p><b>  《PIC單片機(jī)》</b></p><p><b>  課程設(shè)計(jì)</b></p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): 010900616

2、 </p><p>  專業(yè)班級(jí): 2009級(jí)6班 </p><p>  指導(dǎo)教師: </p><p>  二○一二 年 5 月 4日</p><p>  目 錄</p><p>  1.課程設(shè)計(jì)題目和要求……………………………………………3&

3、lt;/p><p>  2.設(shè)計(jì)方案…………………………………………………………3</p><p>  3.硬件設(shè)計(jì)及說明…………………………………………………3</p><p>  4.軟件設(shè)計(jì)及說明…………………………………………………5</p><p>  5.實(shí)驗(yàn)驗(yàn)證…………………………………………………………8</p>&

4、lt;p>  6.實(shí)驗(yàn)小結(jié)…………………………………………………………9</p><p><b>  課程設(shè)計(jì)題目和要求</b></p><p>  1.1課程設(shè)計(jì)的性質(zhì)和目的</p><p>  《PIC單片機(jī)課程設(shè)計(jì)》是電氣工程及其自動(dòng)化專業(yè)及相近專業(yè)的一門重要的專業(yè)實(shí)踐課,本課程在《PIC 單片機(jī)》課程的基礎(chǔ)上,通過硬件設(shè)計(jì)與軟件編

5、程與調(diào)試的實(shí)踐,進(jìn)一步掌握PIC單片機(jī)的應(yīng)用方法,熟練PIC 單片機(jī)的C程序的編寫與調(diào)試,是畢業(yè)設(shè)計(jì)前的一次重要的實(shí)踐,為今后走上工作崗位打下堅(jiān)實(shí)的單片機(jī)應(yīng)用基礎(chǔ)。</p><p>  1.2課程設(shè)計(jì)內(nèi)容和要求</p><p>  設(shè)計(jì)一個(gè)具有完整功能、有一定工作量與一定難度的單片機(jī)應(yīng)用線路,并繪制能用于仿真的proteus 線路圖,編制相應(yīng)的單片機(jī)c 語言,分別在proteus仿真界面和

6、實(shí)物板上調(diào)試運(yùn)行正確。最后用實(shí)物進(jìn)行運(yùn)行演示,并寫出符合規(guī)范的課程設(shè)計(jì)報(bào)告。</p><p><b>  設(shè)計(jì)方案</b></p><p>  利用PIC16F887單片機(jī)設(shè)計(jì)一個(gè)萬年歷,通過IIC通信將DS1307時(shí)鐘芯片中的時(shí)間用LCD液晶屏顯示。同時(shí),該設(shè)計(jì)還兼具鬧鐘功能和溫度顯示功能,可以通過鍵盤設(shè)置當(dāng)前時(shí)間、日期、鬧鐘。</p><p&g

7、t;<b>  硬件設(shè)計(jì)及說明</b></p><p><b>  3.1硬件設(shè)計(jì)思路</b></p><p>  根據(jù)所要實(shí)現(xiàn)的預(yù)期功能,硬件必須要有最小系統(tǒng)模塊、LCD顯示模塊、時(shí)鐘模塊、鬧鈴模塊、溫度模塊、按鍵模塊等。根據(jù)所提供的實(shí)驗(yàn)板資料,可以設(shè)計(jì)如下電路(proteus圖):</p><p><b> 

8、 3.2 最小系統(tǒng)</b></p><p>  最小系統(tǒng)包括16F887單片機(jī)、復(fù)位模塊、4M外部晶振、排針等部件組成如下最基本電路,其中芯片供電的引腳略去。本課設(shè)板所用的單片機(jī)為PIC16F887,是877A 的升級(jí),其主要參數(shù)與887A類似,但使用更為靈活、有的參數(shù)更為細(xì)化(如異步通信的波特率為雙字節(jié)),而價(jià)格比887A更低,887引腳與877A兼容.</p><p>  

9、3.3 LCD顯示模塊</p><p>  如圖所示,為了節(jié)省I/O口,采用4位接線法,RD口的低四位和LCD的高4位連接,RD7用于背光顯示(RD7=1),RD4、RD5、RD6用于讀寫和使能控制.上電后要延時(shí)15ms 后,才能進(jìn)行初始。</p><p>  3.4 時(shí)鐘和溫度模塊</p><p>  選用始終芯片DS1307、溫度芯片TC74,皆通過IIC和單片

10、機(jī)通信,時(shí)鐘芯片帶備用3V電池,電阻RA4和RA5設(shè)置為數(shù)字電阻。DS1307 是實(shí)時(shí)時(shí)鐘芯片,它提供秒、分、時(shí)、日、月、、年和星期等數(shù)據(jù),并能自動(dòng)計(jì)算閏年至2100年。通常時(shí)鐘芯片是要接備用電池,當(dāng)主電源掉電時(shí),備用電源為DS1307 提供維持電源,此電源只供DS1307 使用,此時(shí)時(shí)鐘仍正常運(yùn)行,時(shí)鐘晶振是典型的32.768kHz。</p><p><b>  3.5 鬧鈴模塊</b>&

11、lt;/p><p>  鬧鈴模塊是一個(gè)簡單的喇叭通過放大器、限流電阻與16F887單片機(jī)連RC1接,通過單片機(jī)CCP2模塊產(chǎn)生PWM使喇叭響起。</p><p><b>  3.6按鍵模塊</b></p><p>  采用普通按鍵實(shí)現(xiàn)時(shí)間和鬧鐘的修改、設(shè)定,MODE鍵實(shí)現(xiàn)模式切換,SET實(shí)現(xiàn)位置的選擇,其他兩個(gè)按鍵是加減功能。按鍵可以采用電平中斷,

12、此時(shí)注意按下和放開都可能產(chǎn)生中斷,也可以采用查詢方式實(shí)現(xiàn)。</p><p><b>  軟件設(shè)計(jì)及說明</b></p><p><b>  4.1程序設(shè)計(jì)思路</b></p><p>  初始化程序成功后,循環(huán)從時(shí)鐘芯片、TC74里面讀出數(shù)值并顯示,判斷時(shí)間是否為鬧鐘時(shí)間,同時(shí)通過查詢的方式判斷按鍵是否按下并進(jìn)行相應(yīng)的操作

13、。可以通過查詢的方式修改時(shí)間和鬧鐘,并且把鬧鐘的設(shè)定值顯示在LCD屏幕上。</p><p>  4.2主函數(shù)流程圖和程序</p><p><b>  4.3 顯示模塊</b></p><p>  初始化模塊后,通過指令:</p><p>  LCD_WRITE(LINEX+Y,COM);</p><

14、p>  LCD_WRITE(STR,DAT);</p><p>  實(shí)現(xiàn)LCD的寫和顯示,LINEX表示X行,Y表示X行的第Y個(gè)字符,STR代表字符的對(duì)應(yīng)碼值,COM表示寫指令,DAT表示寫數(shù)據(jù)。</p><p>  4.4時(shí)鐘和溫度模塊</p><p>  始終和溫度模塊的實(shí)現(xiàn)首先要進(jìn)行正確的IIC初始化:</p><p>  vo

15、id IIC_CSH()</p><p>  時(shí)鐘程序要通過編寫和調(diào)用始終讀寫子程序?qū)崿F(xiàn):</p><p>  void write_DS1307(char addr,char data)</p><p>  void READ_DS1307(char addr,char n)</p><p>  從時(shí)鐘芯片讀出的是BCD碼,需要進(jìn)行轉(zhuǎn)換才可

16、以送入LCD顯示。</p><p>  至于溫度模塊是比較簡單的,設(shè)置好好就只需要定時(shí)從里面讀數(shù)顯示即可。顯示溫度需要注意當(dāng)其值為負(fù)數(shù)時(shí)候需要進(jìn)行取補(bǔ)碼再顯示,同時(shí)顯示負(fù)號(hào)。</p><p><b>  4.5鬧鈴模塊</b></p><p>  MODE鍵可以進(jìn)行模式切換,當(dāng)M=1時(shí)是時(shí)間設(shè)置模式,當(dāng)M=2時(shí)是鬧鐘設(shè)置模式,為了確定主函數(shù)的循

17、環(huán)體是否需要從DS1307讀寫數(shù),必須設(shè)置一個(gè)flag標(biāo)志位,當(dāng)M=1或0時(shí),flag=0,執(zhí)行DS1307的讀和顯示;否則跳過,只進(jìn)行鬧鈴設(shè)置,確保設(shè)置鬧鈴時(shí)候屏幕的數(shù)不會(huì)一直變化。當(dāng)sect、hourt、mint與時(shí)鐘芯片匹配時(shí)候開PWM程序,按任意鍵退出鬧鐘。這段程序比較有技巧,稍不注意就會(huì)出錯(cuò):</p><p>  void clock()</p><p>  {if(!mod|

18、|!set||!add||!miu)</p><p>  {delaynms(30);</p><p>  if(!mod||!set||!add||!miu);</p><p>  CCP2CON=0b00000000;//關(guān)PWM模式,按任意鍵退出</p><p><b>  }</b></p>&l

19、t;p>  如上程序,比較時(shí)候要先比較秒,否則無法匹配,無法輸出PWM.</p><p><b>  4.6按鍵模塊</b></p><p>  采用查詢方式的按鍵模塊,要特別注意延時(shí)消抖和按鍵釋放檢測(cè),M作為模式切換的標(biāo)志位,a作為位置確定位,add、miu實(shí)現(xiàn)加減。一下給出部分檢測(cè)消抖程序:</p><p>  if(mod==0)

20、 </p><p><b>  {</b></p><p>  delaynms(30);//消抖</p><p>  if(mod==0)</p><p><b>  {</b></p><p>  while(!mod);//等待按鍵釋放</p><

21、p><b>  M++;</b></p><p><b>  if(M==3)</b></p><p>  { M=0;flag=0;f=0;</p><p><b>  }</b></p><p><b>  }</b></p>&l

22、t;p><b>  }</b></p><p><b>  5.實(shí)驗(yàn)驗(yàn)證</b></p><p>  5.1proteus仿真驗(yàn)證</p><p>  把寫好的程序進(jìn)行仿真,并不斷修改程序,最終程序基本實(shí)現(xiàn)了預(yù)期的功能。仿真結(jié)果如下:</p><p><b>  5.2實(shí)驗(yàn)室調(diào)試&l

23、t;/b></p><p>  用PIC16F887實(shí)驗(yàn)板,通過PIC3連接,進(jìn)行在線調(diào)試和脫機(jī)運(yùn)行,發(fā)現(xiàn)問題。</p><p>  問題一:無法顯示時(shí)間和溫度,IIC通信停止。</p><p>  解決辦法:TC74仿真和實(shí)物的地址不一樣,只需把地址1001101改為1001000</p><p>  問題二:按鍵調(diào)整時(shí)光標(biāo)沒有和仿真

24、一樣閃動(dòng)</p><p>  解決辦法:由于程序刷新太快,人眼無法分辨,所以只需在按鍵后面加50ms的延時(shí)即可。</p><p>  問題三:不能掉電保護(hù),每次脫機(jī)或者復(fù)位都會(huì)進(jìn)行時(shí)鐘初始化</p><p>  解決辦法:DS1307初始化前先進(jìn)行判斷秒的最高位是否為1,為1則進(jìn)行初始化</p><p>  問題四:上電了喇叭就能會(huì)響<

25、/p><p>  解決辦法:鬧鐘判斷程序修改如下</p><p>  原程序:BCD(sect);</p><p>  if(SW==(A[0]>>4)&&GW==(A[0]&0x0F))</p><p>  BCD(mint);</p><p>  if(SW==(A[1]>&g

26、t;4)&&GW==(A[1]&0x0F))</p><p>  BCD(hourt);</p><p>  if(SW==(A[2]>>4)&&GW==(A[2]&0x0F))</p><p>  CCP2CON=0b00001100;//開PWM模式</p><p>  修改后

27、:BCD(sect);</p><p>  if(SW==(A[0]>>4)&&GW==(A[0]&0x0F))</p><p>  {BCD(mint);</p><p>  if(SW==(A[1]>>4)&&GW==(A[1]&0x0F))</p><p>  {B

28、CD(hourt);</p><p>  if(SW==(A[2]>>4)&&GW==(A[2]&0x0F))</p><p>  CCP2CON=0b00001100;//開PWM模式</p><p><b>  }</b></p><p><b>  6.實(shí)驗(yàn)小結(jié)<

29、;/b></p><p>  本次課程設(shè)計(jì),收獲頗多。通過本次課程設(shè)計(jì),加深了我對(duì)單片機(jī)的理解,提高了編程能力、動(dòng)手能力、分析問題和解決問題的能力,同時(shí)也多學(xué)了很多知識(shí),補(bǔ)充了課內(nèi)沒有涉及的很多知識(shí)。數(shù)字時(shí)鐘的成功設(shè)計(jì)也激發(fā)了我對(duì)單片機(jī)的濃厚興趣,積累了一定的設(shè)計(jì)經(jīng)驗(yàn)。認(rèn)真編寫程序和做好注釋與備份就是在節(jié)省時(shí)間,模塊換編程才比較簡單可靠,同時(shí)最終的結(jié)果要以實(shí)物的實(shí)際情況為準(zhǔn)。在編程和調(diào)試過程中遇到的很多問題

30、,培養(yǎng)了我細(xì)心、耐心、嚴(yán)謹(jǐn)?shù)木瘢m然,很多時(shí)候調(diào)試程序到深夜,但當(dāng)看到自己的成果一點(diǎn)一點(diǎn)出來的時(shí)候,成功的喜悅和滿足早已洗去了疲勞。</p><p><b>  參考書目:</b></p><p>  [1]《PIC16系列單片機(jī)C程序設(shè)計(jì)與PROTEUS仿真》 江和,北京航空航天大學(xué)出版社,2010 </p><p>  [2]《福州大學(xué)P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論