數(shù)字電子鐘課程設(shè)計基于ARM的簡易電子鬧鐘設(shè)計_第1頁
數(shù)字電子鐘課程設(shè)計基于ARM的簡易電子鬧鐘設(shè)計_第2頁
數(shù)字電子鐘課程設(shè)計基于ARM的簡易電子鬧鐘設(shè)計_第3頁
數(shù)字電子鐘課程設(shè)計基于ARM的簡易電子鬧鐘設(shè)計_第4頁
數(shù)字電子鐘課程設(shè)計基于ARM的簡易電子鬧鐘設(shè)計_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計課程名稱 嵌入式課程設(shè)計題目名稱基于ARM的簡易電子鬧鐘設(shè)計專業(yè)班級 11級電子信息本科2班學生姓名學 號指導(dǎo)教師二一四年六月八日目 錄蚌埠學院課程設(shè)計任務(wù)書- 1 -分工協(xié)作說明(以列表形式具體說明每個人所做的工作)- 4 -蚌埠學院計算機科學與技術(shù)系本科課程設(shè)計成績評定表- 5 -摘要- 6 -第一章 時鐘設(shè)計- 7 -1.1 課題目標- 7 -1.2 程序和芯片初始化- 7 -1.3 構(gòu)建功能模塊- 8 -1.4 實現(xiàn)信息的傳遞- 10 -第二章 實驗結(jié)果討論- 11 -2.1 軟件的編譯,連接和運行- 11 -2.2 protues 7.4仿真軟件調(diào)試- 12 -第三章 結(jié) 論

2、- 13 -心得體會- 14 -參考文獻- 15 -附 錄- 16 -成品展示- 16 -源程序- 17 -蚌埠學院課程設(shè)計任務(wù)書計算機科學與技術(shù)系2011級電子信息科學與技術(shù)2班學生姓名朱明羽學 號51102022009課題名稱基于ARM芯片的電子鐘設(shè)計一、 課程設(shè)計的主要內(nèi)容與要求(任務(wù)及背景、著重培養(yǎng)的能力、成果形式) (1)隨著科技的發(fā)展,嵌入式系統(tǒng)廣泛應(yīng)用于工業(yè)控制和商業(yè)管理領(lǐng)域,在多媒體手機、袖珍電腦、掌上電腦、車載導(dǎo)航器等方面的應(yīng)用,更是極大地促進了嵌入式技術(shù)深入到生活和工作各個方面。(2)嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件及嵌入式軟件系統(tǒng)組成;本文介紹基于ARM7的嵌入

3、式微處理器S3C44BOX和LCD顯示器的電子時鐘的設(shè)計。(3)本課程設(shè)計設(shè)計一種基于ARM7的嵌入式微處理器S3C44B0X和LCD顯示器的電子時鐘,實現(xiàn)電子時鐘的功能,并在LCD上顯示類似的時鐘界面;動態(tài)顯示當前的時間,包括:年、月、日、時、分、秒,時針。二、課程設(shè)計的基本要求1、收集、整理與課程設(shè)計有關(guān)領(lǐng)域的信息資料; 2、完成本課程設(shè)計方案和結(jié)構(gòu)框圖的設(shè)計; 3、完成本課程設(shè)計電路原理圖設(shè)計。4、完成本課程設(shè)計程序流程圖和匯編語言源程序設(shè)計5、完成軟件和硬件系統(tǒng)的調(diào)試,功能指標達到技術(shù)要求;6、程序清單和圖樣資料;7、作品及照片;8、形成符合學校規(guī)定的課程設(shè)計書面文檔;二、設(shè)計(論文)

4、需要的工作條件軟件環(huán)境:ADS1.2,Protel等軟件硬件環(huán)境:計算機、電子元件(電阻,電容集成芯片等),Led顯示燈、電路板,S3C44B0X等。三、應(yīng)收集的資料及主要參考文獻1王勇嵌入式系統(tǒng)原理與設(shè)計M杭州:浙江大學大學出版社,20072耿輝等S3C44B0X的LCD顯示解決方案 中國科技論文在線,2007. 3SAMSUNG公司. S3C44B0X數(shù)據(jù)手冊. ,2006. 4EL-ARM-830 實驗系統(tǒng)的資源介紹,2000.5林志琦等ARM微控制器與液晶屏接口的研究J長春大學學報,2010,20(2):7174.6周立功單片機公司. ADS集成開發(fā)環(huán)境及EasyJTAG仿真器應(yīng)用,2

5、005.四、進度計劃及指導(dǎo)安排2014年4月30日:下發(fā)任務(wù)書,相關(guān)資料準備和查閱相關(guān)文獻。2014年5月5日- 19日:開展課程設(shè)計研究與指導(dǎo)工作,并撰寫論文。2014年5月21日:修改設(shè)計成果、論文初步完成。2014年6月2日前:完善課程設(shè)計成果,設(shè)計論文第二、三稿修訂。2014年6月16日: 畢業(yè)設(shè)計成果完成,畢業(yè)論文定稿,并打印4本紙質(zhì)版交指導(dǎo)教師。期間主要指導(dǎo)學生8次:2014年4月、2014年5月、2014年6月。任務(wù)書審定日期:2014年4月28日指導(dǎo)教師(簽字)任務(wù)書批準日期:2014年4月30日 教研室主任(簽字)任務(wù)書下達日期:2014年4月30日 學 生 (簽字)分工協(xié)作

6、說明(以列表形式具體說明每個人所做的工作)課題名稱學生姓名學 號所做工作簡易電子鬧鐘的設(shè)計汪榮譽51102022030程序編程、搜集相關(guān)資料、軟件調(diào)試張先明51102022001程序編程、搜集相關(guān)資料、軟件調(diào)試張萬雙51102022004程序編程、搜集相關(guān)資料、軟件調(diào)試章小羞51102022012程序編程、實驗記錄、搜集相關(guān)資料王成龍51102022017程序編程、實驗記錄、試驗箱的采購、搜集相關(guān)資料汲志鵬51102022026程序編程、搜集相關(guān)資料、實驗拍照人員陳偉強51102022006仿真圖設(shè)計、搜集相關(guān)資料、實物仿真王相51102022010仿真圖設(shè)計、搜集相關(guān)資料、實物仿真朱明羽51

7、102022009仿真圖設(shè)計、搜集相關(guān)資料、實物仿真李小剛51102022028仿真圖設(shè)計、搜集相關(guān)資料、實物仿真張家軍51102022025仿真圖設(shè)計、搜集相關(guān)資料、實物仿真蚌埠學院計算機科學與技術(shù)系本科課程設(shè)計成績評定表項目權(quán)重分值具體要求得分文獻閱讀與調(diào)查論證0.20100能獨立查閱文獻和從事其它調(diào)研;有收集、加工各種信息的能力設(shè)計質(zhì)量0.30100設(shè)計合理、功能齊備,程序運行正常,實驗數(shù)據(jù)準確可靠;有較強的實際動手能力論文撰寫質(zhì)量0.20100設(shè)計說明書完全符合規(guī)范化要求,用A4復(fù)印紙打印成文學習態(tài)度0.20100學習態(tài)度認真,科學作風嚴謹,嚴格按要求開展各項工作,按期完成任務(wù)學術(shù)水平

8、與創(chuàng)新0.10100設(shè)計有創(chuàng)意,有一定的學術(shù)水平或?qū)嵱脙r值總分評語:等級: 指導(dǎo)教師:年月日摘要 實時時鐘(RTC)器件是一種能提供日歷/時鐘、數(shù)據(jù)存儲等功能的專用集成電路,常用作各種計算機系統(tǒng)的時鐘信號源和參數(shù)設(shè)置存儲電路。RTC具有計時準確、耗電低和體積小等特點,特別適用于在各種嵌入式系統(tǒng)忠記錄事件發(fā)生的時間和相關(guān)信息,尤其是在通信工程、電力自動化、工業(yè)控制等自動化程度較高領(lǐng)域的無人職守環(huán)境。隨著集成電路技術(shù)的不斷發(fā)展,RTC器件的新品也不斷推出。這些新品不僅具有準確的RTC,還有大容量的存儲器、溫度傳感器和A/D數(shù)據(jù)采集通道等,已成為集RTC、數(shù)據(jù)采集和存儲于一體的綜合功能器件,特別適用

9、于以微控制器為核心的嵌入式系統(tǒng)。第一章 時鐘設(shè)計1.1 課題目標 利用ARM 7芯片和LCD顯示器,通過C語言編譯,完成實時時鐘(RTC)的顯示。1.2 程序和芯片初始化 程序中包括:Lcd的初始化:中斷向量的初始化:RTC的初始化:1.3 構(gòu)建功能模塊Lcd顯示的時鐘界面包括:靜止不動的圓形鐘面和一直在走動的時鐘指針。所以需要構(gòu)建兩個重要的函數(shù)實現(xiàn)畫圓和畫直線。以下為畫圓函數(shù):該算法是通過X變量的自增,補償1 修正正方形控制Y變量自減,找到距中心恒定距離的點,其中rs=45,X自0加1增至45。和原點坐標運算,可以在第一象限找到一點,再通過折疊對稱找到其他象限的三個點,通過畫點函數(shù)描繪出。再

10、畫他的45度鏡像就好了。畫線函數(shù):void line(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2,unsigned char draw)以中心的坐標為起點,使用while函數(shù)與指針最外圈的點比較,不斷延長直至相等,所以事先計算出時針,分針和秒針三個同心圓最外圈點的坐標,以便帶入函數(shù)。也同圓類似,要考慮不同象限點的情況,根據(jù)不同的位置帶參數(shù)到畫點函數(shù)中描繪。1.4 實現(xiàn)信息的傳遞畫點函數(shù):數(shù)據(jù)傳遞函數(shù):與通用可編程輸入輸出口(General Programable Input Output)相連,把計算的數(shù)據(jù)傳遞

11、給Lcd顯示。第二章 實驗結(jié)果討論2.1 軟件的編譯,連接和運行 構(gòu)建完整的程序:添加頭文件,中斷處理匯編程序段,初始化函數(shù)和主函數(shù):編譯器提示:成功生成所需Hex文件,將得到的Hex文件導(dǎo)入仿真芯片中,觀察實時時鐘。2.2protues 7.4仿真軟件調(diào)試 為Lpc 2104 芯片選擇Hex文件路徑:連接芯片與LCD端口,運行程序,觀察效果。顯示如下時鐘界面: 動態(tài)顯示當前的時間,包括:年、月、日、時、分、秒,時針、分針和秒針為動態(tài)實時指示當前的時間。第三章 結(jié) 論綜合效果圖:以上為protues部分設(shè)計的,ads程序見附錄。心得體會回顧起此次課程設(shè)計,至今我仍感慨頗多,從理論到實踐,我學到

12、很多很多的東西,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的內(nèi)容。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程遇到了各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計,把以前所學過的知識重新溫故,鞏固了所學的知識。參考文獻1 謝自美,電子線路設(shè)計、實驗、測試,華中理工大學出版社,2003。2 宋春榮,通用集成電路速查手冊,山東科學技術(shù)出版社,

13、1995。3 Arnold Berger,嵌入式系統(tǒng)設(shè)計,呂駿 譯, 北京:電子工業(yè)出版社, 20024 桑楠. 嵌入式系統(tǒng)原理及應(yīng)用開發(fā)技術(shù),北京:北京航空航天大學出版社, 2002 附 錄成品展示源程序#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit key1=P10; sbit key2=P11;sbit key3=P12;sbit key4=P13;sbit lcden=P22; sbit lcdrs=P20;sbit lcdrw=P21;sbit jdq=P23;sbit l

14、ed=P24; sbit sound=P25;int a,b,i,min,hour,minge,minshi,hourge,hourshi,amin,ahour,aminge,aminshi,ahourge,ahourshi,sec,secshi,secge;/unsigned char code x=0xFF,0xC7,0x83,0x01,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFF;/unsigned char code z=0xFF,0xE3,0xC1,0x80,0x00,0x00,0x00,0x80,0xC0,0

15、xE0,0xF0,0xF8,0xFC,0x7F,0xFF,0xFF;uchar code table1='0','1','2','3','4','5','6','7','8','9'uchar code table2="Time:00:00:00 "uchar code Alarm_1="Alarm:00:00 "uchar code nul=" "uchar num1,num

16、2;bit flag=0;void delay(unsigned int xms)/延時程序uint i,j; for(i=xms;i>0;i-) for(j=124;j>0;j-);void write_com(uchar com) /LCD命令控制,寫指令函數(shù)delay(5) ;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date) /LCD數(shù)據(jù)控制,寫數(shù)據(jù)函數(shù)delay(5);lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;vo

17、id time()/設(shè)置時間函數(shù) while(1)if(key1=0) delay(10);if(key1=0)if(hour=23) /"時"設(shè)置hour=0;elsehour+;hourge=hour%10;hourshi=hour/10;write_com(0x0f);delay(2);write_com(0x80+6);write_data(table1hourge); /"時"個位寫入LCD第二行第6位delay(5);write_com(0x80+5);delay(2);write_data(table1hourshi); /"時&

18、quot;十位寫入LCD第二行第5位while(!key1);/delay(1);if(key2=0) delay(10);if(key2=0)if(min=59)/"分"設(shè)置min=0;elsemin+;minge=min%10;minshi=min/10;write_com(0x0f);write_com(0x80+9);write_data(table1minge); /"分"個位寫入LCD第二行第9位delay(1);write_com(0x80+8);write_data(table1minshi); /"分"十位寫入LCD

19、第二行第8位delay(1);while(!key2); if(key3=0) delay(10);if(key3=0)write_com(0x0c); /整體顯示,關(guān)光標,不閃爍TR1=1; /定時計數(shù)器1啟動while(!key3);break; /key3松開時,顯示時間"時""分"位均已設(shè)置完畢 void alarm()/設(shè)置鬧鐘時間函數(shù) while(1)if(key1=0) delay(10);if(key1=0)if(ahour=23)/鬧鐘"時"設(shè)置ahour=0;elseahour+;ahourge=ahour%10;

20、ahourshi=ahour/10;write_com(0x0f);/delay(2);write_com(0x80+0x40+8);write_data(':');write_com(0x80+0x40+7);write_data(table1ahourge);delay(1);write_com(0x80+0x40+6);/delay(2);write_data(table1ahourshi);delay(1);while(!key1);if(key2=0) /鬧鐘"分"設(shè)置 delay(10);if(key2=0)if(amin=59)amin=0;e

21、lseamin+;aminge=amin%10;aminshi=amin/10;write_com(0x0f);/delay(2);write_com(0x80+0x40+10);write_data(table1aminge);delay(1);write_com(0x80+0x40+9);/delay(2);write_data(table1aminshi);delay(1);while(!key2); if(key3=0) flag=flag; delay(10);if(key3=0)write_com(0x0c);write_com(0x80+0x40);for(i=0;i<11

22、;i+)write_data(nuli);while(!key3);break; /設(shè)置結(jié)束,此時LCD第二行無數(shù)據(jù)顯示,只有第一行有時間顯示 void keyscan()/鍵盤掃描 if(key1=0) delay(10);if(key1=0)while(!key1); /key1鍵松開后執(zhí)行下一行程序time(); /調(diào)用time()函數(shù),即時間設(shè)置 else if(key2=0) delay(10);if(key2=0)while(!key2)ahourge=ahour%10;ahourshi=ahour/10;write_com(0x80+0x40+7);write_data(tabl

23、e1ahourge);delay(5);write_com(0x80+0x40+6);delay(2);write_data(table1ahourshi);aminge=amin%10;aminshi=amin/10;write_com(0x80+0x40+10);write_data(table1aminge);delay(5);write_com(0x80+0x40+9);delay(2);write_data(table1aminshi);write_com(0x80+0x40);for(i=0;i<11;+i)write_data(Alarm_1i); /顯示鬧鐘設(shè)置的時間wr

24、ite_com(0x80+0x40);for(i=0;i<11;i+)write_data(nuli); /key2松開后,LCD只有第一行顯示時間,鬧鐘設(shè)置時間不顯示 else if(key3=0) delay(10);if(key3=0)while(!key3); /表示鬧鐘時間設(shè)置退出 ahourge=ahour%10;ahourshi=ahour/10;write_com(0x80+0x40+7);write_data(table1ahourge);delay(5);write_com(0x80+0x40+6);delay(2);write_data(table1ahourshi

25、);aminge=amin%10;aminshi=amin/10;write_com(0x80+0x40+10);write_data(table1aminge);delay(5);write_com(0x80+0x40+9);delay(2);write_data(table1aminshi);write_com(0x80+0x40);for(i=0;i<11;+i)write_data(Alarm_1i);/顯示鬧鐘設(shè)置時間alarm(); /調(diào)用鬧鐘時間設(shè)置函數(shù) else if(key4=0)/以下進行鬧鈴開關(guān)的設(shè)置 delay(5);if(key4=0) while(!key4)

26、;a=a+1;if(a%2=0) /鬧鐘"on"for(b=0;b<6;b+)sound=sound; /蜂鳴器發(fā)出3次"嘩"的響聲delay(200);sound=1;else if(a%2=1) /鬧鐘"off"sound=0; /蜂鳴器發(fā)出1次"嘩"的響聲delay(300);sound=1;delay(300); sound=1; void lcd_init() /LCD初始化函數(shù)lcden=0;lcdrw=0;write_com(0x38); /設(shè)置8位格式,2行,5×7write_com

27、(0x0c); /整體顯示,關(guān)光標,不閃爍write_com(0x06); /設(shè)定輸入方式,增量不轉(zhuǎn)移write_com(0x01); /清除屏幕顯示delay(2);write_com(0x80);for(i=0;i<16;i+)write_data(table2i); /寫入顯示時間數(shù)據(jù)delay(1);void judge()if(sec=60)min+;sec=0;if(min=60)hour+;min=0;if(hour=24)hour=0;void init()/AT89C51初始化函數(shù)key1=1;key2=1;key3=1;key4=1;sec=0;a=0;sound=1;amin=-1; /四個按鍵均未按下,鬧鐘時間"分"的初值為1(防止仿真圖剛啟動時,就達到鬧鐘時間,蜂鳴器發(fā)出響聲)/led=1;TMOD=0x10; /定時計數(shù)器T1、T2均工作在方式1TH1=0x3C;TL1=0xB0; /計數(shù)初值為15536EA=1;ET1=1;TR1=1; /定時計數(shù)器T1啟動void equa()if(ami

溫馨提示

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

評論

0/150

提交評論