單片機課程設(shè)計--00-59_秒計時器_第1頁
已閱讀1頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p><b>  引言2</b></p><p>  第一章 概述 3</p><p>  第二章 電路設(shè)計4</p><p>

2、  2.1 單片機核心模塊4</p><p>  2.2 時鐘模塊5</p><p>  2.3 復位電路模塊5</p><p>  2.4 顯示模塊6</p><p>  第三章 軟件程序及調(diào)試結(jié)果7</p><p>  3.1 程序設(shè)計內(nèi)容7</p><p>  3.2 程序框

3、圖8</p><p>  3.3 匯編源程序8</p><p>  3.3 C 語言源程序9</p><p>  3.4 調(diào)試結(jié)果11</p><p>  第四章 聯(lián)合仿真12</p><p>  4.0 聯(lián)合仿真結(jié)果12</p><p>  第五章 電路板制作14</p

4、><p>  5.1 印制電路板圖14</p><p>  5.2 00-59 秒計時器電路板三維視圖15</p><p>  第六章 設(shè)計總結(jié)17</p><p><b>  參考文獻18</b></p><p><b>  附件19</b></p>

5、<p><b>  摘 要</b></p><p>  單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當于一個微型的計算機,和計算機相比,單片機只缺少

6、了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應(yīng)用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。</p><p>  由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠

7、標等電腦配件中都配有1-2部單片機。 汽車上一般配備40多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。</p><p>  該課程設(shè)計為00-59秒計時器的設(shè)計。以AT89C51單片機為核心,配合兩個LED顯示燈完成。電路圖原理參考課程要求,并在原來要求的基礎(chǔ)上在P0口加多了一個排阻RESPACK-8來驅(qū)動LED實現(xiàn)P0口和

8、P2口同時點亮兩個LED燈。該設(shè)計從00開始計時直到59,然后從新回到00重復計時。程序設(shè)計采用匯編語言編程,利用Keil完成程序的檢查和編譯。電路圖的制作則運用了Proteus,并利用Keil編譯的文件進行模擬仿真。根據(jù)仿真結(jié)果再次檢查程序的正確性。</p><p>  關(guān)鍵詞: AT89C51單片機、LED顯示燈、Keil、程序編譯、Protus、模擬仿真</p><p><b&

9、gt;  引言</b></p><p>  單片機作為微型計算機的一個重要分支,在現(xiàn)代社會的生產(chǎn)和生活中正發(fā)揮著越來越重要的作用。單片機技術(shù)已經(jīng)成為實現(xiàn)各種工作測控系統(tǒng)和只能儀器儀表的重要手段。因此,單片機原理與應(yīng)用技術(shù)已經(jīng)成為高等學校電類、機電類各專業(yè)的必修課程。</p><p>  現(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、

10、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。 汽車上一般配備40多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作,單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。</p><p>  微機原理課程設(shè)計以AT89C51為例子,深入研究單片機的電路圖設(shè)計、程序編寫、電路板制作等。</p><p><b>  概述</b>

11、;</p><p><b>  課程設(shè)計主要目的</b></p><p>  學習單片機開發(fā)時的編程及仿真調(diào)試,通過仿真軟件及相應(yīng)程序的聯(lián)機調(diào)試,實現(xiàn)單片機設(shè)計的硬件、軟件、接口、工具四大板塊有機結(jié)合。</p><p><b>  1.2 實驗任務(wù)</b></p><p>  如下圖所示,在AT89

12、S51單片機的P0和P2端口分別接有兩個共陰數(shù)碼管,P0口驅(qū)動顯示秒時間的十位,而P2口驅(qū)動顯示秒時間的個位。</p><p><b>  1.3 電路原理圖</b></p><p>  圖1.3 電路原理圖</p><p><b>  1.4 功能說明</b></p><p>  在設(shè)計過程中我們

13、用一個存儲單元作為秒計數(shù)單元,當一秒鐘到來時,就</p><p>  讓秒計數(shù)單元加1,當秒計數(shù)達到60時,就自動返回到0,重新秒計數(shù)。在數(shù)碼上顯示,仍通過查表的方式完成。一秒時間的產(chǎn)生在這里我們采用軟件精確延時的方法來完成,經(jīng)過精確計算得到1 秒時間為1.002 秒。</p><p><b>  電路設(shè)計</b></p><p><b&

14、gt;  單元電路設(shè)計</b></p><p>  本設(shè)計主要分為單片機核心模塊,時鐘電路模塊,復位電路模塊和顯示模塊。設(shè)計方案如下</p><p>  2.1 單片機核心模塊</p><p><b>  圖2.1單片機電路</b></p><p><b>  系統(tǒng)板上硬件連線</b>&

15、lt;/p><p> ?。?. 把“單片機系統(tǒng)”區(qū)域中的P0.0/AD0-P0.7/AD7 端口用8 芯排線連接到</p><p>  “四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個a-h(huán) 端口上;要求:P0.0/AD0</p><p>  對應(yīng)著a,P0.1/AD1 對應(yīng)著b,……,P0.7/AD7 對應(yīng)著h。</p><p> ?。?. 把“單片機系

16、統(tǒng)”區(qū)域中的P2.0/A8-P2.7/A15 端口用8 芯排線連接到“四</p><p>  路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個a-h(huán) 端口上;要求:P2.0/A8 對</p><p>  應(yīng)著a,P2.1/A9 對應(yīng)著b,……,P2.7/A15 對應(yīng)著h。</p><p><b>  2.2 時鐘模塊</b></p><p

17、><b>  圖2.2時鐘電路</b></p><p>  89C51單片機的時鐘信號通常用內(nèi)部振蕩方法得到,在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方法。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振通常選擇6MHz、12MHz\24MHz。本設(shè)計采用11.0925MHz晶振。圖中C1、C2起到穩(wěn)固振蕩頻率

18、、快速起振的作用。電容值一般為5—30pF。本設(shè)計選用30pF電容。</p><p>  2.3 復位電路模塊</p><p><b>  圖2.3 復位電路</b></p><p>  復位操作完成電路的初始化,使單片機從一種確定的狀態(tài)開始運行。由上圖可知,控制模塊實際上就是單片機的最小系統(tǒng)。本設(shè)計采用常用的上電且開關(guān)復位電路。上電后,由于電

19、容的充電,使RST持續(xù)一段高電平時間。當單片機已運行中時,按下復位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復位的操作。此處C1電容取10uF,R1=10KΩ。</p><p><b>  2.4 顯示模塊</b></p><p><b>  圖2.4 顯示電路</b></p><p>  在AT89S51單片

20、機的P0和P2端口分別接有兩個共陰數(shù)碼管U2、U3,P0口驅(qū)動顯示秒時間的十位,而P2口驅(qū)動顯示秒時間的個位。顯示模塊由十腳數(shù)碼管、電阻、排阻respack-8等元件構(gòu)成,其中排阻為了驅(qū)動電流,增加電流,排阻一般有九個腳,一個腳接VCC,其他腳接單片機I/0口,此設(shè)計為了U2提供高電平,從而十位才能顯示。</p><p><b>  軟件程序及調(diào)試結(jié)果</b></p><

21、p>  3.1 程序設(shè)計內(nèi)容</p><p> ?。?. 在設(shè)計過程中我們用一個存儲單元作為秒計數(shù)單元,當一秒鐘到來時,就</p><p>  讓秒計數(shù)單元加1,當秒計數(shù)達到60 時,就自動返回到0,重新秒計數(shù)。</p><p> ?。?. 對于秒計數(shù)單元中的數(shù)據(jù)要把它十位數(shù)和個數(shù)分開,方法仍采用對10 整</p><p><b&

22、gt;  除和對10 求余。</b></p><p>  (3. 在數(shù)碼上顯示,仍通過查表的方式完成。</p><p>  (4. 一秒時間的產(chǎn)生在這里我們采用軟件精確延時的方法來完成,經(jīng)過精確計</p><p>  算得到1 秒時間為1.002 秒。</p><p>  DELY1S: MOV R5,#100</p>

23、<p>  D2: MOV R6,#20</p><p>  D1: MOV R7,#248</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,D1</p><p>  DJNZ R5,D2</p><p><b>  RET<

24、;/b></p><p><b>  3.2 程序框圖</b></p><p><b>  圖3.2 程序框圖</b></p><p><b>  3.3 匯編源程序</b></p><p>  Second EQU 30H</p><p><

25、;b>  ORG 0</b></p><p>  START: MOV Second,#00H</p><p>  NEXT: MOV A,Second</p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p>

26、<p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV A,B</b></p><p>  MOVC A,@A+DPTR</p><p>

27、<b>  MOV P2,A</b></p><p>  LCALL DELY1S</p><p>  INC Second</p><p>  MOV A,Second</p><p>  CJNE A,#60,NEXT</p><p>  LJMP START</p><p

28、>  DELY1S: MOV R5,#100</p><p>  D2: MOV R6,#20</p><p>  D1: MOV R7,#248</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,D1</p><p>  DJNZ R5,D2<

29、;/p><p><b>  RET</b></p><p>  TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p><b>  END</b></p><p>  3.3 C 語言源程序</p><p>  #inc

30、lude <AT89X51.H></p><p>  unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,</p><p>  0x6d,0x7d,0x07,0x7f,0x6f};</p><p>  unsigned char Second;</p><p>  void d

31、elay1s(void)</p><p><b>  {</b></p><p>  unsigned char i,j,k;</p><p>  for(k=100;k>0;k--)</p><p>  for(i=20;i>0;i--)</p><p>  for(j=248;j&

32、gt;0;j--);</p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  39</b></p><p><b>  Second=0;&

33、lt;/b></p><p>  P0=table[Second/10];</p><p>  P2=table[Second%10];</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  delay1s()

34、;</p><p><b>  Second++;</b></p><p>  if(Second==60)</p><p><b>  {</b></p><p><b>  Second=0;</b></p><p><b>  }<

35、/b></p><p>  P0=table[Second/10];</p><p>  P2=table[Second%10];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.4 調(diào)試結(jié)果&l

36、t;/b></p><p>  圖 3.4 調(diào)試結(jié)果</p><p>  調(diào)試結(jié)果如上圖所示。</p><p><b>  聯(lián)合仿真</b></p><p>  4.0 聯(lián)合仿真結(jié)果</p><p>  圖 4.0.1 開始運行(0S)</p><p>  圖 4.0

37、.2 運行中(1S)</p><p>  圖 4.0.3 運行中(59S)</p><p>  圖 4.0.4 運行結(jié)束,仿真結(jié)束,顯示變?yōu)椤?0”(60S)</p><p><b>  電路板制作</b></p><p>  5.1 印制電路板圖</p><p>  圖5.1 00-59 秒計時

38、器印制電路板</p><p>  5.2 00-59 秒計時器電路板三維視圖</p><p>  圖5.2 00-59 秒計時器印制電路板三維視圖</p><p>  圖5.3 00-59 秒計時器印制電路板三維視圖(背面)</p><p><b>  設(shè)計總結(jié)</b></p><p>  通過

39、此次的課程設(shè)計,我們不僅更加了解單片機在實際應(yīng)用的具體例子,懂得單片機在實際應(yīng)用中各種參數(shù)的設(shè)定,實際生產(chǎn)的電路設(shè)計和改良優(yōu)化,還懂得了做設(shè)計不能眼高手低,一下看起來很簡單甚至是不起眼的要求,在自己的腦海中覺得很簡單沒難度,但實際動手起來感覺是完全不一樣的。</p><p>  就像這次的秒表設(shè)計只是微機原理中一個很簡單的例子,原理并不復雜,但是我們在實際操作中還是出了些錯誤,后來經(jīng)過仔細的排查,逐步分析程序找到

40、了問題。從這就提醒了我們無論是何種設(shè)計都要謹小慎微,不能想當然,一個小小的錯誤再簡單的設(shè)計再簡單的工程都會毀于一旦,這就要求我們要有嚴謹?shù)目茖W態(tài)度去面對每次的設(shè)計和工程。課堂上學的理論知識在這次課程設(shè)計終于有了用武之地,在動手操作中得到了不一樣的升華,讓我們不再錯誤地認為理論知識和實際生產(chǎn)的距離很遙遠,實際上二者關(guān)系是緊密相連的,糾正了錯誤的思想讓我們在設(shè)計中如虎添翼。這次設(shè)計讓我們鞏固了平時學習的專業(yè)知識,拓寬了視野和思路,還學會將理

41、論和實際生產(chǎn)有機地結(jié)合,舉一反三,增強了我們提出問題,面對問題和解決問題的能力。</p><p>  我們自己看教程自己摸索,掌握了Proteus和Keil這兩款軟件的使用,并能純熟的使用于這次任務(wù)中。我們一起討論、一起測試,合作無間地完成了這次任務(wù)。在這次設(shè)計,我們加深了對理論知識的理解,掌握了匯編語言的應(yīng)用和軟件的使用,了解程序每個模塊的作用和原理,制版的原則和布線的思路,程序的排障調(diào)試和錯誤的排查,學會和隊

42、友溝通交流,共同面對、解決問題,了解自身的不足和思想的局限性并加以改正,獲益匪淺,這不僅增加了我們自身的實力,還激發(fā)了我們的興趣,為我們未來的設(shè)計打下了堅實的基礎(chǔ)。</p><p><b>  參考文獻</b></p><p>  李全利 仲偉峰 徐軍編著,單片機原理及應(yīng)用,清華大學出版社,2006.2

43、 </p><p>  姚超友,陳東青,李秋平,譚兆湛編著,光機電一體化強化訓練實訓教材(單片機篇),華南理工大學廣州學院,2012.9 </p><p>  譚浩強編著,C程序設(shè)計(第四版),北京,清華

44、大學出版社,2010.6 </p><p>  劉娟等編著,單片機C語言與PROTUES仿真技能實訓,中國電力出版社,2010.8</p><p>  高玉泉編著,單片機應(yīng)用技術(shù)(匯編語言),機械工業(yè)出版社,2012.8</p><p>  鄒久朋編著,80C51單片機實用技術(shù),北京航空航天大學出版社,2008.4</p><p> ?。?/p>

45、)克尼漢 (美)里奇編著著,徐寶文 李志 譯,C程序設(shè)計語言 第2版·新版,機械工業(yè)出版社,2004.1</p><p>  王爽編著,匯編語言(第2版),清華大學出版社,2008.4</p><p><b>  附件一 源程序</b></p><p><b>  ORG 0</b></p>&l

46、t;p>  START: MOV Second,#00H</p><p>  NEXT: MOV A,Second</p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  MOV DPTR,#TABLE</p>

47、<p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV A,B</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P2,A</b></p&g

48、t;<p>  LCALL DELY1S</p><p>  INC Second</p><p>  MOV A,Second</p><p>  CJNE A,#60,NEXT</p><p>  LJMP START</p><p>  DELY1S: MOV R5,#100</p>

49、<p>  D2: MOV R6,#20</p><p>  D1: MOV R7,#248</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,D1</p><p>  DJNZ R5,D2</p><p><b>  RET</

50、b></p><p>  TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p><b>  END</b></p><p><b>  附件二 電路圖</b></p><p>  附件三 PCB制板</p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論