簡(jiǎn)易數(shù)字時(shí)鐘課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  題 目: 簡(jiǎn)易數(shù)字時(shí)鐘 </p><p><b>  初始條件:</b></p><p>  用C語言編寫程序,實(shí)現(xiàn)簡(jiǎn)易數(shù)字時(shí)鐘的功能。</p><p&g

2、t;  要求完成的主要任務(wù): </p><p> ?。?)簡(jiǎn)易數(shù)字時(shí)鐘能實(shí)現(xiàn)時(shí)、分、秒的數(shù)字顯示;</p><p>  (2)可以對(duì)時(shí)鐘、分鐘進(jìn)行調(diào)節(jié)并且校正。</p><p>  近幾年,單片機(jī)在各個(gè)領(lǐng)域得到廣泛的應(yīng)用。從工業(yè)到人們的日常生活,大部分的科技產(chǎn)品都是通過單片機(jī)來控制。在它問世之前,自動(dòng)控制設(shè)備不能被廣泛的應(yīng)用,這是因?yàn)榭刂圃O(shè)備的體積龐大,耗電量大,價(jià)

3、格昂貴。在第一臺(tái)微處理器成功研制不久,第一個(gè)單片機(jī)就問世了。因?yàn)槠湫∏傻捏w積,低功耗,以及高效的性能,單片機(jī)受到了大家的歡迎。 今天,單片機(jī)成為了解決低復(fù)雜度,中等復(fù)雜度控制問題的傳統(tǒng)選擇。文章介紹了單片機(jī)在定時(shí)方面的基本功能。生活中,我們發(fā)現(xiàn):時(shí)間的準(zhǔn)確顯得格外的重要。 </p><p>  我們選擇的方法是單片機(jī)開發(fā)設(shè)計(jì)使用的傳統(tǒng)方法,通過本次設(shè)計(jì),可以了解整個(gè)單片機(jī)開發(fā)的流程。文章首先介紹了單片

4、機(jī)的基本知識(shí),然后同時(shí)給出了框圖,流程圖等。論文涵蓋了從需求分析,系統(tǒng)設(shè)計(jì),編程,原理圖等產(chǎn)品開發(fā)的基本過程。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī),軟件仿真,原理圖</p><p><b>  Abstract</b></p><p>  Single Chip Microcomputer has achieved a immemse popu

5、larity in all fileds in recent years.From industry to people’s common lives,most of technical applications are controlled by SCM. Before it appeared,the automatic devices could’t be widely used because of their huge size

6、 ,large quantity of power cost and high price.The first SCM appeared as soon as the first MCU(MicroController Unit) was successfully developed.Due to its small size,low power cost and high performance,it has been welcome

7、d by pe</p><p>  The approach we choose is the common way for SCM developing from which we can get an acknowledge about the SCM develop flowing process.The paper first introduces knowledge on 51 serial SCM,t

8、hen At it also shows block diagrams,flowing process diagrams and so on. It presents the process including requirement analysis ,system design,SCM programming ,program emulation , which forms a complete procedure for prod

9、uct manufacture。Key words: SCM,software emulation,schemetic </p><p><b>  目錄</b></p><p>  1單片機(jī)的基本知識(shí)5</p><p>  1.1數(shù)碼管動(dòng)態(tài)顯示原理5</p><p>  1.2鍵盤掃描原理6</p>

10、;<p>  2程序說明和流程圖6</p><p><b>  2.1程序說明6</b></p><p><b>  2.2流程圖8</b></p><p><b>  3程序設(shè)計(jì)9</b></p><p>  4實(shí)驗(yàn)仿真和驗(yàn)證13</p>

11、<p><b>  5心得體會(huì)14</b></p><p><b>  6參考文獻(xiàn)15</b></p><p><b>  簡(jiǎn)易數(shù)字時(shí)鐘</b></p><p><b>  1單片機(jī)的基本知識(shí)</b></p><p>  1.1數(shù)碼管動(dòng)態(tài)顯

12、示原理</p><p>  圖1數(shù)碼管顯示原理圖</p><p>  如圖1數(shù)碼管顯示原理圖所示,使用LED顯示器時(shí),要注意是共陰還是共陽,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對(duì)數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。因此為L(zhǎng)ED顯示器提供的編碼正好是一個(gè)字節(jié)。我們用的是共陰LED顯示器,根據(jù)電路連接圖顯示16進(jìn)制數(shù)的編碼已列在下表。</p>

13、<p>  0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,</p><p>  0 1 2 3 4 5</p><p>  0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,</p><p>  6 7 8 9 A B&l

14、t;/p><p>  0x39 , 0x5e , 0x79 , 0x71 , 0x00</p><p>  C D E F 無顯示</p><p>  動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效,由另一位控制顯示碼值。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)

15、光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。我們這里正是利用的數(shù)碼管動(dòng)態(tài)顯示來完成顯示功能。</p><p><b>  1.2鍵盤掃描原理</b></p><p>  鍵盤分編碼鍵盤和非編碼鍵盤,鍵盤上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生按鍵編碼號(hào)或鍵值的稱

16、為編碼鍵盤,如計(jì)算機(jī)鍵盤。而靠軟件編程來識(shí)別的稱為非編碼鍵盤,在單片機(jī)組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤,也有用到編碼鍵盤的,我們這里用的就是非編碼鍵盤。如圖2鍵盤圖所示,當(dāng)按鈕按下時(shí);端口會(huì)變成低電平,我們?cè)O(shè)計(jì)一段掃描程序來判斷那個(gè)端口是低電平來判斷是否有按鍵按下。</p><p><b>  圖2鍵盤圖</b></p><p><b>  2程序說

17、明和流程圖</b></p><p><b>  2.1程序說明</b></p><p>  此實(shí)時(shí)時(shí)鐘的設(shè)計(jì)與實(shí)現(xiàn),主要采用了6只LED數(shù)碼管,加Atmega128單片機(jī),包括顯示模塊,運(yùn)算模塊和校時(shí)模塊三大功能模塊。</p><p><b>  顯示模塊:</b></p><p>  

18、用Atmega128控制,用數(shù)碼管的顯示功能來設(shè)計(jì)。顯示部分硬件用六只LED為顯示管,這些LED發(fā)光二極管的陰極是互相連接在一起的,所以稱為共陰極數(shù)碼管。通過在這8只發(fā)光二極管的陽極加+5 V或0 V的電壓使不同的二極管發(fā)光,形成不同的數(shù)字。該模塊主要是將運(yùn)算模塊和校時(shí)模塊運(yùn)算出來的十進(jìn)制表示的時(shí)位、分位和秒位數(shù)值,并通過6只數(shù)碼管顯示出來。該模塊實(shí)現(xiàn)的硬件是7seg-mpx6-ca單元,采用軟件譯碼,即在程序中設(shè)置一個(gè)段選碼表。CPU

19、直接往LED輸出八段代碼,省去了硬件譯碼器。A0~A3作為8段數(shù)據(jù)輸出口到達(dá)各LED。只要做到每送一次段選碼時(shí)也送一次位掃描碼,并且每送一次位掃描碼后,位碼中的0右移一位作為下一次的位掃描碼,即可實(shí)現(xiàn)由左向右使6只LED依次出現(xiàn)數(shù)字顯示。</p><p><b>  運(yùn)算模塊:</b></p><p>  該模塊的主要功能是對(duì)時(shí)、分、秒的運(yùn)算,并把運(yùn)算出的最終結(jié)果存到

20、事先已經(jīng)開辟的內(nèi)存單元里,以便顯示模塊即時(shí)地顯示出來。該模塊可以細(xì)分為秒定時(shí)模塊和運(yùn)算模塊。延時(shí)程序?qū)崿F(xiàn)延時(shí)功能,由于CPU運(yùn)算模塊中的指令消耗一定的時(shí)間,所消耗的時(shí)間可以用來延時(shí)。當(dāng)演示完成后才能讓秒單元內(nèi)的數(shù)值加1。在主程序里,必須對(duì)秒、分和時(shí)的單元內(nèi)的數(shù)值進(jìn)行判斷,當(dāng)秒加到60時(shí),分必須加1 、秒清零;當(dāng)分加到60時(shí),時(shí)加1、分清零。當(dāng)時(shí)加到24時(shí),直接清零。然后轉(zhuǎn)到調(diào)用處。</p><p><b&g

21、t;  校時(shí)模塊:</b></p><p>  該模塊主要功能是修改時(shí)、分、秒內(nèi)存單元的數(shù)值。每按一次鍵,對(duì)應(yīng)的顯示值便加1。分、 秒加到59后變?yōu)?0;小時(shí)加到23后再按鍵即變?yōu)?0.再調(diào)校時(shí)均不向上一單位進(jìn)位(例如分加到59后變?yōu)?0;但小時(shí)不發(fā)生改變)。</p><p><b>  2.2流程圖</b></p><p><

22、;b>  1.主函數(shù)</b></p><p><b>  2.顯示子程序</b></p><p><b>  3程序設(shè)計(jì)</b></p><p>  #include <iom128v.h></p><p>  #include <macros.h><

23、/p><p>  //#pragma interrupt_handler t1_int:13</p><p>  unsigned char led_table[26]= //數(shù)碼管段碼表</p><p>  { 0xC0,/*0*/</p><p>  0xF9,/*1*/</p><p>  0xA4,/*2*/&

24、lt;/p><p>  0xB0,/*3*/</p><p>  0x99,/*4*/</p><p>  0x92,/*5*/</p><p>  0x82,/*6*/</p><p>  0xF8,/*7*/</p><p>  0x80,/*8*/</p><p>  

25、0x90,/*9*/};</p><p>  unsigned int m;</p><p>  unsigned char m6,m5,m4,m3,m2,m1;</p><p>  void display()</p><p>  {DDRE=0XFF;</p><p>  DDRB=0XFF;</p>

26、<p>  PORTE=0X00;</p><p>  PORTB=0Xff;</p><p>  PORTE|=BIT(0);</p><p>  PORTB=led_table[m6];</p><p><b>  delay(3);</b></p><p>  PORTB=0XF

27、F;</p><p>  PORTE=0X00;</p><p>  PORTE|=BIT(1);</p><p>  PORTB=led_table[m5]-0X80;</p><p><b>  delay(2);</b></p><p>  PORTB=0XFF;</p>&l

28、t;p>  PORTE=0X00;</p><p>  PORTE|=BIT(2);</p><p>  PORTB=led_table[m4];</p><p><b>  delay(2);</b></p><p>  PORTB=0XFF;</p><p>  PORTE=0X00;&

29、lt;/p><p>  PORTE|=BIT(3);</p><p>  PORTB=led_table[m3]-0X80;</p><p><b>  delay(2);</b></p><p>  PORTB=0XFF;</p><p>  PORTE=0X00;</p><p

30、>  PORTE|=BIT(4);</p><p>  PORTB=led_table[m2];</p><p><b>  delay(2);</b></p><p>  PORTE=0X00;</p><p>  PORTB=0X00;</p><p>  PORTE|=BIT(5);&

31、lt;/p><p>  PORTB=led_table[m1];</p><p>  delay(2);}</p><p>  void delay(int m)</p><p>  { int i,j;</p><p>  for(i=0;i<m;i++)</p><p>  for(j=0

32、;j<500;j++);}</p><p>  void main()</p><p>  {unsigned char q;</p><p><b>  m=0;</b></p><p>  DDRB=0XFF;</p><p>  PORTB=0XFF;</p><p

33、>  DDRF=0X00;</p><p>  PORTD=0X00;</p><p>  DDRD=0XFF;</p><p>  PORTD=0XFF;</p><p><b>  while(1)</b></p><p>  {m6=m/100000;</p><p

34、>  m5=m%100000/10000;</p><p>  m4=m%10000/1000;</p><p>  m3=m%1000/100;</p><p>  m2=m%100/10;</p><p><b>  m1=m%10;</b></p><p><b>  m++

35、;</b></p><p>  if(m2==5&&m1==9)</p><p><b>  {m+=100;</b></p><p><b>  m-=59;}</b></p><p>  if(m3==9&&m4==5&&m1==9&a

36、mp;&m2==5)</p><p>  {m+=10000;</p><p><b>  m-=5900;}</b></p><p>  for(q=0;q<10;q++)</p><p>  { display();</p><p>  PINF==0X00;</p>

37、<p>  if(PINF==0X01)</p><p><b>  {m=m+100;</b></p><p>  delay(50);}</p><p>  if(PINF==0X02)</p><p><b>  {m=m-100;</b></p><p>

38、;  delay(50);}</p><p>  if(PINF==0x04)</p><p>  {m=m+10000;</p><p>  delay(50);}</p><p>  if(PINF==0X08)</p><p>  {m=m-10000;</p><p>  delay(5

39、0);}</p><p><b>  }}}</b></p><p><b>  4實(shí)驗(yàn)仿真和驗(yàn)證</b></p><p>  我們跟據(jù)試驗(yàn)原理設(shè)計(jì)了仿真圖,將程序在Iccv7中運(yùn)行后,將生成的HEX檔加載、運(yùn)行,來看是否能實(shí)現(xiàn)我們要求的功能,并看是否有錯(cuò)誤。如圖3實(shí)驗(yàn)仿真圖所示,這與我們想要的結(jié)果是一致的。可見我們的程序

40、是正確的,并且能夠?qū)崿F(xiàn)我們想要的功能。</p><p><b>  圖3實(shí)驗(yàn)仿真圖</b></p><p><b>  5心得體會(huì)</b></p><p>  通過本次實(shí)驗(yàn),能初步理論聯(lián)系實(shí)際、應(yīng)用C語言、能簡(jiǎn)單設(shè)計(jì)出程序、并且能通自己的調(diào)試進(jìn)行修改。</p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用

41、所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,計(jì)算機(jī)已經(jīng)成為當(dāng)今社會(huì)生活工作中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在?;仡櫰鸫舜螁纹瑱C(jī)原理課程設(shè)計(jì),至今我仍感慨頗多。的確,從選題到定稿、從理論到實(shí)踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知

42、識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說如何對(duì)程序的初始進(jìn)行編程,如何利用流程方塊圖……通

43、過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。 這次課程設(shè)計(jì)終于順利完成了,在設(shè)</p><p><b>  6參考文獻(xiàn)</b></p><p>  [1]《微機(jī)原理與接口技術(shù)》 主編:周佩玲 彭虎 傅忠謙 出版社:電子工業(yè)出版社2007</p><p>  [2]《微機(jī)原理與接口技術(shù)學(xué)習(xí)指導(dǎo)》 主編:周佩玲 彭虎 傅忠謙 出

44、版社:電子工業(yè)出版社2007</p><p>  [3]《計(jì)算機(jī)高級(jí)應(yīng)用》 主編:章工榮 出版社:高等教育 2004</p><p>  [4]《計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)》 主編:李文成 出版社:科學(xué)出版社 2007</p><p>  [5]《C語言高級(jí)程序設(shè)計(jì)及其講解》 主編:張錦程 出版社:機(jī)械工業(yè)出版社 2000</p><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)論