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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  題 目: 簡(jiǎn)易數(shù)字時(shí)鐘 </p><p><b>  初始條件:</b></p><p>  用C語(yǔ)言編寫(xiě)程序,實(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)品都是通過(guò)單片機(jī)來(lái)控制。在它問(wèn)世之前,自動(dòng)控制設(shè)備不能被廣泛的應(yīng)用,這是因?yàn)榭刂圃O(shè)備的體積龐大,耗電量大,價(jià)

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

4、機(jī)的基本知識(shí),然后同時(shí)給出了框圖,流程圖等。論文涵蓋了從需求分析,系統(tǒng)設(shè)計(jì),編程,原理圖等產(chǎn)品開(kāi)發(fā)的基本過(guò)程。</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鍵盤(pán)掃描原理6</p>

10、;<p>  2程序說(shuō)明和流程圖6</p><p><b>  2.1程序說(shuō)明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í),要注意是共陰還是共陽(yáng),要注意區(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 無(wú)顯示</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、光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。我們這里正是利用的數(shù)碼管動(dòng)態(tài)顯示來(lái)完成顯示功能。</p><p><b>  1.2鍵盤(pán)掃描原理</b></p><p>  鍵盤(pán)分編碼鍵盤(pán)和非編碼鍵盤(pán),鍵盤(pán)上閉合鍵的識(shí)別由專(zhuān)用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生按鍵編碼號(hào)或鍵值的稱(chēng)

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

17、明和流程圖</b></p><p><b>  2.1程序說(shuō)明</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ù)碼管的顯示功能來(lái)設(shè)計(jì)。顯示部分硬件用六只LED為顯示管,這些LED發(fā)光二極管的陰極是互相連接在一起的,所以稱(chēng)為共陰極數(shù)碼管。通過(guò)在這8只發(fā)光二極管的陽(yáng)極加+5 V或0 V的電壓使不同的二極管發(fā)光,形成不同的數(shù)字。該模塊主要是將運(yùn)算模塊和校時(shí)模塊運(yùn)算出來(lái)的十進(jìn)制表示的時(shí)位、分位和秒位數(shù)值,并通過(guò)6只數(shù)碼管顯示出來(lái)。該模塊實(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)開(kāi)辟的內(nèi)存單元里,以便顯示模塊即時(shí)地顯示出來(lái)。該模塊可以細(xì)分為秒定時(shí)模塊和運(yùn)算模塊。延時(shí)程序?qū)崿F(xiàn)延時(shí)功能,由于CPU運(yùn)算模塊中的指令消耗一定的時(shí)間,所消耗的時(shí)間可以用來(lái)延時(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)行,來(lái)看是否能實(shí)現(xiàn)我們要求的功能,并看是否有錯(cuò)誤。如圖3實(shí)驗(yàn)仿真圖所示,這與我們想要的結(jié)果是一致的??梢?jiàn)我們的程序

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

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

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

43、過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(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語(yǔ)言高級(jí)程序設(shè)計(jì)及其講解》 主編:張錦程 出版社:機(jī)械工業(yè)出版社 2000</p><p>  本科生

溫馨提示

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