版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 嵌入式課程設(shè)計論文 (2014 - 2015 年度第 二 學(xué)期)題 目:基于S3C2410的時鐘設(shè)計學(xué) 院:信息工程學(xué)院班 級:12級計算機(jī)4班姓 名:劉榮凱指導(dǎo)教師:杜 俊日 期:2015.06報告(學(xué)生選課系統(tǒng)) 摘要 本文說明為多功能時鐘設(shè)計方案,基于S3C2410結(jié)合RTC模塊,IIC(控制小鍵盤和數(shù)碼管等)來做具備定期功能的實時時鐘。 實時時鐘(RTC)單元在系統(tǒng)電源關(guān)閉的情況下可以在備用電池下工作。RTC 可以使用STRB/LDRB ARM操作傳輸二進(jìn)制碼十進(jìn)制數(shù)的 8 位數(shù)據(jù)給 CPU。數(shù)據(jù)包括秒、分鐘、小時、日期、天、月、年的時間信息。RTC 單元可以在 32.768KHz
2、的外部晶振下工作,可以可以執(zhí)行報警功能。關(guān)鍵詞:多功能時鐘功能時鐘;S3C2410;RTC;IIC目錄一、實驗題目分析11.1 問題描述11.2功能分析11.3 開發(fā)平臺及工具介紹1二、實驗概要設(shè)計12.1 實驗基本原理12.2 實驗電路圖4三、實驗詳細(xì)過程63.1 具體實驗過程和內(nèi)容63.2 程序流程圖63.3 實驗和程序問題分析8四、實驗步驟第一大部分(目標(biāo)機(jī)的連接)12五、ADS軟件的使用12六、調(diào)試部分13七、實驗輸出界面13八、學(xué)習(xí)心得14九、參考文獻(xiàn)15 一、實驗題目分析1.1 問題描述結(jié)合實時時鐘,IIC(控制小鍵盤和數(shù)碼管等)來做具備定期功能的實時時鐘。1.2功能分析至少完成以
3、下功能: (1)能顯示每秒的時刻 (2)按下功能鍵能切換顯示日期 (3)能設(shè)置定時鬧鐘,定時到產(chǎn)生某種輸出 (4)可以擴(kuò)展考慮加入外部中斷,如停止鬧鐘功能等。1.3 開發(fā)平臺及工具介紹 實驗器材:CITK2410開發(fā)板,JTAG連接線,調(diào)試器,并口數(shù)據(jù)線,串口數(shù)據(jù)線開發(fā)軟件:ADS1.2集成開發(fā)環(huán)境二、實驗概要設(shè)計2.1 實驗基本原理 IIC總線:IIC總線的器件分為主器件和從器件。主器件的功能是啟動在總線上傳送數(shù)據(jù),并產(chǎn)生時鐘脈沖,以允許與被尋址的器件進(jìn)行數(shù)據(jù)傳送。SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信
4、號。 圖1 起始和停止信號圖 I2C總線進(jìn)行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。圖2 數(shù)據(jù)傳送時序圖 IIC總線(IICSDA、IICSCL)經(jīng)過VDD33的上拉后,進(jìn)入ZLG7290數(shù)碼管:實驗使用的數(shù)碼管是廣州周立公司單片機(jī)發(fā)展有限公司自行設(shè)計的一款數(shù)碼管顯示驅(qū)動及鍵盤掃描管理芯片。下面是介紹該數(shù)碼管的特點還有電路圖(圖3):1 IIC串行接口提供鍵盤中斷信號方便與處理器接口2 可驅(qū)動8 位共陰數(shù)碼管或64只獨立LED 和64個按鍵3 可控掃描位數(shù)可控任一數(shù)碼管閃爍4 提供數(shù)據(jù)譯碼和循環(huán)移位
5、段尋址等控制5 8個功能鍵可檢測任一鍵的連擊次數(shù)6 無需外接元件即直接驅(qū)LED可擴(kuò)展驅(qū)動電流和驅(qū)動電壓7 提供工業(yè)級器件多種封裝形式PDIP24 SO24采用24引腳封裝引腳圖如圖所示其引腳功能分述如下: 圖3 ZLG7290引腳圖圖4 IIC LED控制器連接電路 實時時鐘(Real Time Clock):S3C2410提供了一個實時時鐘,該時鐘使用獨立的一路1.8V供電,保證主電源切斷時能正常維持RTC工作。S3C2410的RTC支持兩個中斷:Time Tick(固定在一個頻率內(nèi)發(fā)出的時鐘中斷) 和Alarm中斷(在某個時刻產(chǎn)生鬧鈴中斷)。利用這兩個中斷可以設(shè)置每一秒中斷一次顯示變化時間
6、,用Alarm中斷實現(xiàn)鬧鐘功能。以下為S3C2410內(nèi)部RTC模塊結(jié)構(gòu)圖:圖5 S3C2410內(nèi)部RTC模塊結(jié)構(gòu) 特點:1.BCD數(shù):秒、分鐘、小時、日期、日、月、年;2.閏年生成器;3.報警功能:報警中斷或從掉電模式中喚醒;4.已經(jīng)解決2000年問題;5.獨立電源引腳(RTCVDD);6.支持對于實時內(nèi)核時間節(jié)拍的毫秒節(jié)拍時間中斷。2.2 實驗電路圖2.2.1S3C2410主芯片2.2.2 ZLG7290功能電路圖:圖6 ZLG7290功能電路圖2.2.3 IIC總線接口電路圖:圖7 IIC總線接口電路圖圖8 TC單元在32.768KHz 頻率下振蕩的電路2.2.4 電源電路部分2.2.5
7、時鐘電路部分2.2.6 按鍵電路部分2.2.7 復(fù)位電路部分2.3 實驗主要步驟1.初始化配置(各種寄存器)。2.編寫各種相關(guān)的中斷程序。3.主函數(shù)調(diào)用這幾個中斷程序。4.編譯程序。5.使用仿真器調(diào)試。三、實驗詳細(xì)過程3.1 具體實驗過程和內(nèi)容(1)實現(xiàn)實時時鐘功能 設(shè)置rRTCCON、rTICNT、rRTCALM寄存器;ICNT6:0=127;可以設(shè)置rTICNT=(1<<7)|(127)實現(xiàn)每秒中斷一次;以設(shè)置鬧鈴寄存器,例如每秒的第幾秒中斷一次,實現(xiàn)定時鬧鐘的功能;設(shè)置初始化當(dāng)前時間;里還包括編寫Time Tick中斷和Alarm中斷的中斷服務(wù)程序。(2)初始化IIC總線,寫
8、一個IIC的操作庫。包括發(fā)送和接受功能。編寫可以向ZLG7290發(fā)出指令的函數(shù)。(3)編寫鍵盤中斷處理程序 通過鍵盤中斷,實現(xiàn)數(shù)碼管顯示日期和時間的切換,還有停止。(4)使用ADS1.2集成開發(fā)環(huán)境編譯調(diào)試程序(5)使用仿真器調(diào)試。3.2 程序流程圖程序入口點2410初始化主函數(shù)顯示時間鬧鐘停止延時N切換Y顯示日期圖9初始化 鍵盤中斷Alarm中斷Time tick中斷數(shù)碼管顯示時間或日期鬧鐘輸出當(dāng)前時間圖103.3 實驗和程序問題分析 這次試驗實際上是融合了三個實驗的要求,要實驗實時時鐘的功能,包括顯示當(dāng)前時間,還有設(shè)置鬧鐘,主要使用到2410的RTC的兩個中斷:Time Tick和Alar
9、m中斷。而要實現(xiàn)在數(shù)碼管上顯示當(dāng)前時間,并且按鍵盤時實現(xiàn)時間與日期的切換,需要用到數(shù)碼管和IIC總線的知識。而實現(xiàn)的難處在于如何把幾個內(nèi)容融合并且實現(xiàn)所需的功能,這也是實驗要求做的。3.3.1鍵值讀取模塊int keyScan(void) /讀取按鍵,如果SW17按下,則返回1,否則如果按下SW19,則返回0 /j80,2-3,j81,2-3 int keyValue=0,tValue; tValue=rGPGDAT; if(!(tValue&(1<<3) keyValue=1; /若SW17被按下,則將keyValue賦值為1 else if(!(tValue&(
10、1<<2) keyValue=2; /若SW19被按下,則將keyValue賦值為2 return keyValue;/返回keyValue的值3.3.2 GPIO的端口配置;GPE,GPH bl delay ;調(diào)用延時子程序 ldr r0,=GPECON ;r0中為寄存器GPECON的值 ldr r1,r0 ;把r0中的值賦給r1 bic r1,r1,#(3<<11*2)|(3<<12*2) ;把GPE11和GPE12設(shè)為輸出方式 orr r1,r1,#(1<<11*2)|(1<<12*2) str r1,r0 ;將r1的的值保存到
11、r1所對應(yīng)的內(nèi)存單元中 ldr 0,=GPHCON ;r0中為寄存器GPHCON的值 ldr r1,r0 ;把r0中的值賦給r1 bic r1,r1,#(3<<6*2)|(3<<4*2) ;把GPH6和GPH4設(shè)為輸出方式 orr r1,r1,#(1<<6*2)|(1<<4*2) str r1,r0 ;將r1的的值保存到r1所對應(yīng)的內(nèi)存單元中3.3.3 程序代碼如下:#include ".INCconfig.h"int h=0,m=0,s=0;extern int counter; /*數(shù)碼管全部顯示0*/ void led_
12、init() unsigned char j; for(j=0;j<8;j+) write7279(decode0+j,0); /write7279(decode0+1,0x0A); /write7279(decode0+6,0x0A); /*數(shù)碼管顯示數(shù)字函數(shù)*/ void displed() write7279(decode0+3,h/10); write7279(decode0+2,h%10); write7279(decode0+1,0x0A); write7279(decode0+0,m/10); write7279(decode0+7,m%10); write7279(dec
13、ode0+6,0x0A); write7279(decode0+5,s/10); write7279(decode0+4,s%10); void Main() /char p; Target_Init(); /目標(biāo)初始化 led_init(); delay10ms(100); while(1); s=counter; if(s>59)s-=60; m+=1;/超過59s,需要進(jìn)位if(m>59)m-=60; h+=1; send_byte(0x88); /超過59m,需要進(jìn)位if(h=24)h=0;m=0;counter=0;displed();switch(key_number)
14、 case 0: send_byte(cmd_test); /測試鍵 break; case 1: long_delay();m=m+1; Delay(7000); break; case 2: for(p=0;p<8;p+) /循環(huán)右移 send_byte(0xA0); send_byte(0xC8+7); send_byte(p); long_delay(); Delay(7000); for(;) if (key_number!=2) break; Delay(7000); send_byte(0xA2); break; case 4: send_byte(cmd_reset);
15、/復(fù)位鍵 break; case 5: write7279(decode1+5,key_number/16*8); write7279(decode1+4,key_number & 0x0f); break; case 9: for(p=0;p<8;p+) /左移 send_byte(0xA1); send_byte(0xC8); send_byte(p); long_delay(); Delay(7000); break; case 10: for(p=0;p<8;p+) /循環(huán)左移 send_byte(0xA1); send_byte(0xC8); send_byte(
16、p); long_delay(); Delay(7000); for(;) if (key_number!=10) break; Delay(7000); send_byte(0xA3); break; default: break; key_number = 0xff; Delay(50); 3.3.4定時器定時1秒void Timer1_init(void) rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000; /配置GPG口為信號輸出 rGPGDAT = rGPGDAT | 0x300; rTCFG0 = 255; / Prescaler0=2
17、55 rTCFG1 = 0 << 4; / rTCNTB1 = 48828; / 在pclk=50MHZ下,1秒鐘的記數(shù)值rTCNTB1 = 50000000 / 4 / 256 = 48828;rTCMPB1 = 0x00;四、實驗步驟第一大部分(目標(biāo)機(jī)的連接):把開發(fā)板電源接口、Muilti-ICE Embeded接口連接好,如下圖,然后打開開發(fā)板電源。第一步:打開第二步:選擇File的Load Configuration第三步:選擇第四步:把文件里的內(nèi)容修改一下,把里邊的7改為9第五步:用記事本修改第四步所講的內(nèi)容第六步:即將里面的ARM7TDMI全部改為ARM9TDMI,其
18、他不變。第七步:然后點文件,選擇保存。第八步:把修改后的選中,點擊打開第九步:打開之后,會出現(xiàn)說明宿主機(jī)找到ARM的CPU了,即宿主機(jī)與ARM目標(biāo)開發(fā)板連接上的畫面。五、ADS軟件的使用:第一步:打開,打開效果圖為下圖第二步:將D:ARMWINCE&ADSADS實驗跑馬燈實驗實驗代碼下的拖入上圖中其效果圖為:(本部分是利用已有的工程做的ADS應(yīng)用實驗,其他應(yīng)用試驗如法炮制;對于如何新建工程,詳細(xì)步驟見實驗一ADS開發(fā)環(huán)境試驗)第三步:左擊如圖標(biāo)出的圖標(biāo)(即調(diào)試參數(shù)設(shè)置),效果圖如下圖所示第四步:選擇Target Settings,進(jìn)行設(shè)置。第五步:選擇ARM Linker,進(jìn)行設(shè)置,其
19、中Scatter欄里的文件路徑為:試驗程序路徑下的scat文件(如圖)。第六步:選擇ARM fromELF選項,設(shè)置具體配置。第七步:最后,點擊上圖中的OK,調(diào)試配置參數(shù)就設(shè)置完成了。第八步:對程序進(jìn)行Make操作。六、調(diào)試部分:第一步:打開調(diào)試的軟件AXD Debugger第二步:配置目標(biāo)板。第三步:點擊Configure Target,對其進(jìn)行設(shè)置。第四步:選擇如上圖所示點亮的連接驅(qū)動(Muiti-ICE),點擊OK。調(diào)試軟件就發(fā)現(xiàn)了目標(biāo)板的ARM CPU。第五步:下載鏡像文件第六步:調(diào)試運行。七、實驗輸出界面選取主要界面的截圖。圖11 鍵盤功能圖12 顯示日期圖13 示時間八、學(xué)習(xí)心得通
20、過本次對ARM920T內(nèi)核的S3C2410進(jìn)行實驗,使我對ARM嵌入式世界有了初步認(rèn)識。ARM是一種高性能、低功耗、高速的微處理器。S3C2410片上資源豐富,其多大117個通用I/O,56個中斷源和24個外部中斷。我以前研究芯片主要是看數(shù)據(jù)手冊和芯片的外圍電路,但是在剛開始著手ARM時,我是弄得是一頭霧水。在老師的指點下,我開始從芯片的例子程序入手,一個一個地弄明白歷程是怎么執(zhí)行的,I/O口是怎么配置的,中文字符怎么加入、LCD上的點怎么連成線等等。在經(jīng)過一番自習(xí)琢磨之后,我對嵌入式有了深一步的理解。在歷程中我們很少是對系統(tǒng)的硬件資源進(jìn)行直接操作的,大部分時候我們是調(diào)用歷程里面給出的各種操作
21、函數(shù)對芯片進(jìn)行控制,這樣就使得整個程序更加的有條理,操作對象不再是底層硬件了,而是系統(tǒng)給出的各種函數(shù)。我在實驗調(diào)試的時候解決了一下幾個問題:通過此次課程作業(yè),讓我嚴(yán)重地意識到了自己知識的不全面,以及動手能力的不熟練,當(dāng)然,也并非沒有收獲。從理論到實踐,我學(xué)到了很多東西,不僅鞏固了以前所學(xué)的知識,而且也學(xué)到了很多書本上不能學(xué)到的內(nèi)容動手實踐能力。起初剛確定題目時,一點思路都沒有,通過組員之間的互相討論,以及在老師的指導(dǎo)幫助下,漸漸開始構(gòu)思,實驗,反復(fù)的檢驗,最終把這次課程作業(yè)完成。實驗過程中,我遇到了以下幾個問題:1、如何在數(shù)碼管上顯示特殊字符?答:使用解碼方式0可實現(xiàn)除0到F之外的個別特殊字符
22、,如“-”。2、如何實現(xiàn)LED閃爍點亮?答:使用HD7279的純指令88H,通過發(fā)送send_byte(0x88);即可實現(xiàn)。3、如何依次點亮數(shù)碼管?答:通過改變decode0+j中的j即可4、如何實現(xiàn)I/O口的初始化?答:首先對I/O口進(jìn)行輸入輸出配置,然后給端口發(fā)送響應(yīng)值。如:rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000;rGPGDAT = rGPGDAT & 0xeff | 0x200;5、新建的工程要盡可能的避免中文路徑(這個整得我很抓狂,在程序執(zhí)行過程中老是報錯,最終在實驗室老師的指導(dǎo)下得以改正)6、關(guān)于參數(shù)在中斷函數(shù)和主函數(shù)兩個
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 10350-1:2025 EN Plastics - Acquisition and presentation of comparable single-point data - Part 1: Moulding materials
- 2024金融科技服務(wù)平臺業(yè)務(wù)協(xié)作合同
- 2025年度智能溫室大棚建設(shè)與生態(tài)農(nóng)業(yè)示范區(qū)承包合同4篇
- 2024鐵路工程勘察設(shè)計合同范本3篇
- 2025年度物流園區(qū)車位購置及倉儲服務(wù)合同4篇
- 2024水保編制技術(shù)服務(wù)合同-水利設(shè)施養(yǎng)護(hù)與管理3篇
- 2024酒銷售合同范本
- 2024版煤炭運輸合同薦
- 2025年度上市公司股權(quán)轉(zhuǎn)讓代辦服務(wù)協(xié)議4篇
- 2025年度商鋪出售合同模板(含廣告位使用權(quán))4篇
- 神經(jīng)外科進(jìn)修匯報課件
- 2024老年人靜脈血栓栓塞癥防治中國專家共識(完整版)
- 騰訊營銷師認(rèn)證考試題庫(附答案)
- 鄰近鐵路營業(yè)線施工安全監(jiān)測技術(shù)規(guī)程 (TB 10314-2021)
- 四年級上冊脫式計算100題及答案
- 資本市場與財務(wù)管理
- 河南近10年中考真題數(shù)學(xué)含答案(2023-2014)
- 八年級上學(xué)期期末家長會課件
- 2024年大學(xué)試題(宗教學(xué))-佛教文化歷年考試高頻考點試題附帶答案
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 尤文肉瘤的護(hù)理查房
評論
0/150
提交評論