單片機(jī)課程設(shè)計(jì) 計(jì)數(shù)器_第1頁(yè)
單片機(jī)課程設(shè)計(jì) 計(jì)數(shù)器_第2頁(yè)
單片機(jī)課程設(shè)計(jì) 計(jì)數(shù)器_第3頁(yè)
單片機(jī)課程設(shè)計(jì) 計(jì)數(shù)器_第4頁(yè)
單片機(jī)課程設(shè)計(jì) 計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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、單片機(jī)課程設(shè)計(jì)題 目定時(shí)器學(xué) 院華南理工大學(xué)廣州學(xué)院專 業(yè)電子信息工程班 級(jí)電信3班姓 名楊振剛 43號(hào)指導(dǎo)教師肖婷2011年 5月 8日目 錄一、課程設(shè)計(jì)題目(3)二、內(nèi)容要求(3)三、目的和意義(3)四、總體方案設(shè)計(jì)思路(3)五、仿真電路設(shè)計(jì)(4)六、軟件設(shè)計(jì)(7)七、仿真調(diào)試(10)八、實(shí)際目標(biāo)時(shí)情況(10)十、參考文件(11)一、課程設(shè)計(jì)題目計(jì)時(shí)精度為1ms的電子定時(shí)器,可實(shí)現(xiàn)正計(jì)時(shí)。要求:定時(shí)器啟動(dòng)后,正常計(jì)數(shù),按暫停/繼續(xù)按鈕,定時(shí)器暫停計(jì)時(shí),再按一次暫停/繼續(xù)按鈕,計(jì)數(shù)器接著計(jì)數(shù);按“清零“按鈕后,定時(shí)器清零,;按退出”按鈕,退出計(jì)數(shù)器模式。二、內(nèi)容要求定時(shí)器啟動(dòng)后,正常計(jì)數(shù),按

2、暫停/繼續(xù)按鈕,定時(shí)器暫停計(jì)時(shí),再按一次暫停/繼續(xù)按鈕,計(jì)數(shù)器接著計(jì)數(shù);按“清零“按鈕后,定時(shí)器清零,;按退出”按鈕,退出計(jì)數(shù)器模式。三、目的和意義1、利用單片機(jī)定時(shí)器/計(jì)數(shù)器中斷設(shè)計(jì)秒表,從而實(shí)現(xiàn)秒、十分之一秒的計(jì)時(shí)。2、綜合運(yùn)用所學(xué)的單片機(jī)原理與應(yīng)用理論知識(shí),通過(guò)實(shí)踐加強(qiáng)對(duì)所學(xué)知識(shí) 的理解,具備設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的能力。 3、 通過(guò)本次課程設(shè)計(jì)加深對(duì)單片機(jī)掌握定時(shí)器、外部中斷的設(shè)置和編程原理的全面認(rèn)識(shí)復(fù)習(xí)和掌握,對(duì)單片機(jī)實(shí)際的應(yīng)用作進(jìn)一步的了解。4、 通過(guò)本次試驗(yàn),增強(qiáng)自己的動(dòng)手能力。認(rèn)識(shí)單片機(jī)在日常生活中的應(yīng)用的廣泛性,實(shí)用性。四、總體方案設(shè)計(jì)思路本實(shí)驗(yàn)利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記

3、數(shù)的原理,通過(guò)采用proteus仿真軟件來(lái)模擬實(shí)現(xiàn)。模擬利用AT89C51單片機(jī)、LED數(shù)碼管以及控件來(lái)控制表的計(jì)數(shù)以及計(jì)數(shù)的開(kāi)啟/暫停/繼續(xù)與復(fù)位! 其中有三個(gè)數(shù)碼管用來(lái)顯示數(shù)據(jù),二個(gè)數(shù)碼管顯示秒個(gè)位和十位,另一個(gè)數(shù)碼管顯示十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從09,滿十進(jìn)一后顯示秒的數(shù)碼管的數(shù)字加一,并且十分之一秒顯示清零重新從零計(jì)數(shù)。當(dāng)計(jì)數(shù)超過(guò)范圍是所有數(shù)碼管全部清零重新計(jì)數(shù)。五、仿真電路設(shè)計(jì)AT89C51的芯片概述 AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程

4、序內(nèi)存,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖2所示 圖1:89C51的核心電路框圖l 管腳說(shuō)明(1)電源及時(shí)鐘引腳(4個(gè))Vcc: 電源接入引腳Vss:接地引腳XTAL1:晶振震蕩器接入的一個(gè)引腳(采用外部振蕩器時(shí),此引腳接地);XTAL2:晶體振蕩器的

5、另一個(gè)引腳(采用外部振蕩器時(shí),此引腳作為外部振蕩器信號(hào)的輸入端)。(2)控制線引腳(4個(gè))RST/Vpd:復(fù)位信號(hào)輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號(hào)輸出引腳/編程脈沖輸入引腳:EA:內(nèi)外內(nèi)存選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序內(nèi)存選通信號(hào)輸出引腳。(3)并行I/O引腳P0.0-P0.7:一般I/O口引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳;P1.0-P1.7:一般I/O口引腳;P2.0-P2.7:一般I/O口引腳或高位位址總線引腳;P3.0-P3.7:一般I/O口引腳或第二功能引腳元器件介紹及參數(shù)選擇本設(shè)計(jì)中還用到其它一些元器件,例如:晶振,電容,電阻排,電解

6、電容,開(kāi)關(guān)等等。晶振采用頻率為12MHZ,連接的兩個(gè)電容為1nF;電解電容為22uf;開(kāi)關(guān)功能是在仿真過(guò)程中,按下開(kāi)關(guān)便能實(shí)現(xiàn)60秒繼續(xù)暫停或復(fù)位功能。關(guān)鍵單元 圖2P3.4實(shí)現(xiàn)繼續(xù)暫停功能P3.7實(shí)現(xiàn)復(fù)位功能 圖3從左到右表示十位、個(gè)位、十分之一 圖4 最少單片機(jī)系統(tǒng)電路原理圖 六、軟件設(shè)計(jì)是否是否手動(dòng)開(kāi)關(guān)定時(shí)器溢出中斷對(duì)定時(shí)器重新賦值進(jìn)行加一操作后重新計(jì)算時(shí)間往P0口和P2口送顯示時(shí)間數(shù)碼管顯示中斷返回主函數(shù)對(duì)定時(shí)器/計(jì)數(shù)器初始化始化程序開(kāi)始判斷P34口是否有低電平信號(hào)開(kāi)中斷并啟動(dòng)定時(shí)器開(kāi)始、暫?;蛘呃^續(xù)計(jì)數(shù)置零判斷P37口是否有低電平信號(hào)軟件程序 #include #define TIM

7、ES 2sbit sta_end=P34;sbit reset=P37;int count=TIMES;unsigned char code table0=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;unsigned char code table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/*聲明second10用于計(jì)數(shù)十分之一秒變化,second1用于記錄秒的個(gè)*/ /*位,second2用于記錄秒的十位*/unsigned int second10,second1,sec

8、ond2;bit bdata flag;/*以下是設(shè)置延時(shí)功能的函數(shù)*/ void Delay_1ms(unsigned int x) unsigned int i, j; for(i = 0; i x; i+) for(j = 0; j = 148; j+); /*以下是設(shè)置時(shí)間的函數(shù)*/void setTime() second10+; if(second10=10) /*當(dāng)十分之一秒計(jì)數(shù)到十后從零重新計(jì)時(shí)*/ second10=0; /*同時(shí)秒計(jì)時(shí)個(gè)位加一*/second1+;if(second1=10) /*當(dāng)秒計(jì)數(shù)個(gè)位到十后從零重新計(jì)時(shí)*/second1=0;second2+; /*

9、同時(shí)秒計(jì)時(shí)十位加一*/if(second2=6) second2=0; /*以下是向LED管輸數(shù)據(jù)并使之顯示的函數(shù)*/void dispact() P1=table0second1; P0=table1second2; P2=table0second10;/*以下是設(shè)置時(shí)間函數(shù)和輸數(shù)據(jù)函數(shù)被此函數(shù)調(diào)用實(shí)現(xiàn),利用定時(shí)器中斷*/Timer0 () interrupt 1 using 1 TH0 = (65535 - 50000)/256; TL0 = (65535 - 50000)%256; if(flag) count- ; if(count=0) setTime(); dispact(); c

10、ount=TIMES; void main(void) TMOD = 0x01; TH0 = (65535 - 50000)/256; /*定時(shí)器賦初值*/ TL0 = (65535 - 50000)%256; flag = 0; EA = 1; /*cpu開(kāi)中斷*/ TR0 = 1; /*利用定時(shí)器0*/ ET0 = 1; P1= 0x3f ; P2=0x3f ;P0= 0xc0 ; /*外部中斷允許*/ while(1) if(!sta_end) Delay_1ms(1); if(flag = 0) flag = 1; else flag = 0; if(!reset) /*復(fù)位設(shè)置,全部

11、清零*/flag = 0; second10 = 0; second1 = 0; second2 = 0; dispact(); 定時(shí)/計(jì)數(shù)器初值計(jì)算(1)本電路應(yīng)用TIMER0 MODE 16位計(jì)數(shù)器的計(jì)時(shí)中斷法。 (2)1秒等于微秒,而每一計(jì)時(shí)脈沖是1微秒,因此需輸入個(gè)計(jì)時(shí)脈沖,方可達(dá)到1秒的時(shí)間。本設(shè)計(jì)中,設(shè)定中斷每次溢出時(shí)間50ms。(3)由上式得知,循環(huán)2次即可達(dá)到100ms定時(shí)(4)設(shè)定TH0 = (65535 - 50000)/256;TL0 = (65535 - 50000)%256;(5)上電時(shí),顯示000,按下開(kāi)關(guān)開(kāi)始計(jì)時(shí)。七、仿真調(diào)試調(diào)試方法:首先用Keil軟件將C編譯成

12、HEX文件,打開(kāi)Keil軟件,新建一個(gè)文文件,輸入C程序,保存成C格式文件,然后新建工程,連接單片機(jī)為AT89C51,選擇Options for target,選擇OUTPUT子菜單,在Create HEX Fi前打鉤,DeBug子菜單中,Settings選擇ProteusVSM Simulator,USE前打鉤,再次運(yùn)行文件,成功后在目錄下會(huì)生成HEX文件,打開(kāi)Proteus軟件,或直接點(diǎn)擊DSN檔,雙擊單片機(jī)模板,點(diǎn)擊文件夾式樣的圖標(biāo)選擇對(duì)應(yīng)的HEX驅(qū)動(dòng)文件,然后點(diǎn)擊開(kāi)始,進(jìn)行調(diào)試八、實(shí)際目標(biāo)時(shí)情況在仿真,基本滿足題目要求,可以做到計(jì)時(shí)的開(kāi)始、暫停、繼續(xù)和復(fù)位,但在暫停和繼續(xù)的功能實(shí)現(xiàn)上,

13、不時(shí)出現(xiàn)失靈的現(xiàn)象。九、課程設(shè)計(jì)心得體會(huì)通過(guò)這個(gè)課程設(shè)計(jì),我對(duì)一些專業(yè)知識(shí)和電子設(shè)計(jì)有了更深的了解,同時(shí)也嘗試著去應(yīng)用自己的所掌握的知識(shí)。本次電子課程設(shè)計(jì)主要是對(duì)已學(xué)習(xí)的模擬電子技術(shù)、數(shù)字電子技術(shù)和單片機(jī)的綜合應(yīng)用,同時(shí)加上電路等知識(shí),設(shè)計(jì)完成了利用軟件模擬的秒表。經(jīng)過(guò)幾天的奮戰(zhàn),我感受很深.首先擺在我面前的是要先弄懂所要設(shè)計(jì)電路的原理,于是最開(kāi)始我在拿到題目之后就查找了大量的相關(guān)的數(shù)據(jù),再加上平時(shí)理論課的學(xué)習(xí)以及充分利用了網(wǎng)絡(luò)資源和在圖書(shū)館借了相關(guān)的書(shū)籍資料,在仔細(xì)分析了這個(gè)題目所要達(dá)到的目的之后,初步確定了原理圖。接下來(lái)的是單元電路的設(shè)計(jì),以及進(jìn)一步的分析其原理,實(shí)現(xiàn)哪些功能需要哪些電路,

14、在此之間我們用到了以前沒(méi)有用到過(guò)的芯片,但最終我們還是弄清楚了其原理。經(jīng)過(guò)幾天研究,終于確定好了符合要求的電路。在電路確定之后就需要編寫(xiě)程序,經(jīng)過(guò)多次的修改和仿真,程序也順利的編寫(xiě)完成。經(jīng)過(guò)這些天的學(xué)習(xí)我深刻的體會(huì)到實(shí)際與理論有很大的區(qū)別。在我們學(xué)習(xí)的過(guò)程中不僅考驗(yàn)了我們對(duì)知識(shí)的吸收和掌握,而且也考驗(yàn)了我們的細(xì)心和耐心。特別是在仿真過(guò)程中對(duì)參數(shù)的改進(jìn)和電路圖的查找過(guò)程中,我深有體會(huì)。我認(rèn)為這次實(shí)習(xí)不僅僅學(xué)習(xí)了軟件知識(shí),還提高了我們專業(yè)素質(zhì)。作為一個(gè)電信專業(yè)的學(xué)生,我深知課程設(shè)計(jì)的重要性。這次課程設(shè)計(jì)我從剛開(kāi)始的什么都不懂不會(huì),到現(xiàn)在的基本了解了一個(gè)電路組件是如何構(gòu)成的,完成這次課程設(shè)計(jì)我覺(jué)得收獲很多,不但進(jìn)一步掌握了單片機(jī)的知識(shí)

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論