版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 嵌入式課程設(shè)計(jì)論文 (2014 - 2015 年度第 二 學(xué)期)題 目:基于S3C2410的時(shí)鐘設(shè)計(jì)學(xué) 院:信息工程學(xué)院班 級(jí):12級(jí)計(jì)算機(jī)4班姓 名:劉榮凱指導(dǎo)教師:杜 俊日 期:2015.06報(bào)告(學(xué)生選課系統(tǒng)) 摘要 本文說(shuō)明為多功能時(shí)鐘設(shè)計(jì)方案,基于S3C2410結(jié)合RTC模塊,IIC(控制小鍵盤和數(shù)碼管等)來(lái)做具備定期功能的實(shí)時(shí)時(shí)鐘。 實(shí)時(shí)時(shí)鐘(RTC)單元在系統(tǒng)電源關(guān)閉的情況下可以在備用電池下工作。RTC 可以使用STRB/LDRB ARM操作傳輸二進(jìn)制碼十進(jìn)制數(shù)的 8 位數(shù)據(jù)給 CPU。數(shù)據(jù)包括秒、分鐘、小時(shí)、日期、天、月、年的時(shí)間信息。RTC 單元可以在 32.768KHz
2、的外部晶振下工作,可以可以執(zhí)行報(bào)警功能。關(guān)鍵詞:多功能時(shí)鐘功能時(shí)鐘;S3C2410;RTC;IIC目錄一、實(shí)驗(yàn)題目分析11.1 問(wèn)題描述11.2功能分析11.3 開發(fā)平臺(tái)及工具介紹1二、實(shí)驗(yàn)概要設(shè)計(jì)12.1 實(shí)驗(yàn)基本原理12.2 實(shí)驗(yàn)電路圖4三、實(shí)驗(yàn)詳細(xì)過(guò)程63.1 具體實(shí)驗(yàn)過(guò)程和內(nèi)容63.2 程序流程圖63.3 實(shí)驗(yàn)和程序問(wèn)題分析8四、實(shí)驗(yàn)步驟第一大部分(目標(biāo)機(jī)的連接)12五、ADS軟件的使用12六、調(diào)試部分13七、實(shí)驗(yàn)輸出界面13八、學(xué)習(xí)心得14九、參考文獻(xiàn)15 一、實(shí)驗(yàn)題目分析1.1 問(wèn)題描述結(jié)合實(shí)時(shí)時(shí)鐘,IIC(控制小鍵盤和數(shù)碼管等)來(lái)做具備定期功能的實(shí)時(shí)時(shí)鐘。1.2功能分析至少完成以
3、下功能: (1)能顯示每秒的時(shí)刻 (2)按下功能鍵能切換顯示日期 (3)能設(shè)置定時(shí)鬧鐘,定時(shí)到產(chǎn)生某種輸出 (4)可以擴(kuò)展考慮加入外部中斷,如停止鬧鐘功能等。1.3 開發(fā)平臺(tái)及工具介紹 實(shí)驗(yàn)器材:CITK2410開發(fā)板,JTAG連接線,調(diào)試器,并口數(shù)據(jù)線,串口數(shù)據(jù)線開發(fā)軟件:ADS1.2集成開發(fā)環(huán)境二、實(shí)驗(yàn)概要設(shè)計(jì)2.1 實(shí)驗(yàn)基本原理 IIC總線:IIC總線的器件分為主器件和從器件。主器件的功能是啟動(dòng)在總線上傳送數(shù)據(jù),并產(chǎn)生時(shí)鐘脈沖,以允許與被尋址的器件進(jìn)行數(shù)據(jù)傳送。SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號(hào);SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信
4、號(hào)。 圖1 起始和停止信號(hào)圖 I2C總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號(hào)為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時(shí)鐘線上的信號(hào)為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。圖2 數(shù)據(jù)傳送時(shí)序圖 IIC總線(IICSDA、IICSCL)經(jīng)過(guò)VDD33的上拉后,進(jìn)入ZLG7290數(shù)碼管:實(shí)驗(yàn)使用的數(shù)碼管是廣州周立公司單片機(jī)發(fā)展有限公司自行設(shè)計(jì)的一款數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片。下面是介紹該數(shù)碼管的特點(diǎn)還有電路圖(圖3):1 IIC串行接口提供鍵盤中斷信號(hào)方便與處理器接口2 可驅(qū)動(dòng)8 位共陰數(shù)碼管或64只獨(dú)立LED 和64個(gè)按鍵3 可控掃描位數(shù)可控任一數(shù)碼管閃爍4 提供數(shù)據(jù)譯碼和循環(huán)移位
5、段尋址等控制5 8個(gè)功能鍵可檢測(cè)任一鍵的連擊次數(shù)6 無(wú)需外接元件即直接驅(qū)LED可擴(kuò)展驅(qū)動(dòng)電流和驅(qū)動(dòng)電壓7 提供工業(yè)級(jí)器件多種封裝形式PDIP24 SO24采用24引腳封裝引腳圖如圖所示其引腳功能分述如下: 圖3 ZLG7290引腳圖圖4 IIC LED控制器連接電路 實(shí)時(shí)時(shí)鐘(Real Time Clock):S3C2410提供了一個(gè)實(shí)時(shí)時(shí)鐘,該時(shí)鐘使用獨(dú)立的一路1.8V供電,保證主電源切斷時(shí)能正常維持RTC工作。S3C2410的RTC支持兩個(gè)中斷:Time Tick(固定在一個(gè)頻率內(nèi)發(fā)出的時(shí)鐘中斷) 和Alarm中斷(在某個(gè)時(shí)刻產(chǎn)生鬧鈴中斷)。利用這兩個(gè)中斷可以設(shè)置每一秒中斷一次顯示變化時(shí)間
6、,用Alarm中斷實(shí)現(xiàn)鬧鐘功能。以下為S3C2410內(nèi)部RTC模塊結(jié)構(gòu)圖:圖5 S3C2410內(nèi)部RTC模塊結(jié)構(gòu) 特點(diǎn):1.BCD數(shù):秒、分鐘、小時(shí)、日期、日、月、年;2.閏年生成器;3.報(bào)警功能:報(bào)警中斷或從掉電模式中喚醒;4.已經(jīng)解決2000年問(wèn)題;5.獨(dú)立電源引腳(RTCVDD);6.支持對(duì)于實(shí)時(shí)內(nèi)核時(shí)間節(jié)拍的毫秒節(jié)拍時(shí)間中斷。2.2 實(shí)驗(yàn)電路圖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、時(shí)鐘電路部分2.2.6 按鍵電路部分2.2.7 復(fù)位電路部分2.3 實(shí)驗(yàn)主要步驟1.初始化配置(各種寄存器)。2.編寫各種相關(guān)的中斷程序。3.主函數(shù)調(diào)用這幾個(gè)中斷程序。4.編譯程序。5.使用仿真器調(diào)試。三、實(shí)驗(yàn)詳細(xì)過(guò)程3.1 具體實(shí)驗(yàn)過(guò)程和內(nèi)容(1)實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘功能 設(shè)置rRTCCON、rTICNT、rRTCALM寄存器;ICNT6:0=127;可以設(shè)置rTICNT=(1<<7)|(127)實(shí)現(xiàn)每秒中斷一次;以設(shè)置鬧鈴寄存器,例如每秒的第幾秒中斷一次,實(shí)現(xiàn)定時(shí)鬧鐘的功能;設(shè)置初始化當(dāng)前時(shí)間;里還包括編寫Time Tick中斷和Alarm中斷的中斷服務(wù)程序。(2)初始化IIC總線,寫
8、一個(gè)IIC的操作庫(kù)。包括發(fā)送和接受功能。編寫可以向ZLG7290發(fā)出指令的函數(shù)。(3)編寫鍵盤中斷處理程序 通過(guò)鍵盤中斷,實(shí)現(xiàn)數(shù)碼管顯示日期和時(shí)間的切換,還有停止。(4)使用ADS1.2集成開發(fā)環(huán)境編譯調(diào)試程序(5)使用仿真器調(diào)試。3.2 程序流程圖程序入口點(diǎn)2410初始化主函數(shù)顯示時(shí)間鬧鐘停止延時(shí)N切換Y顯示日期圖9初始化 鍵盤中斷Alarm中斷Time tick中斷數(shù)碼管顯示時(shí)間或日期鬧鐘輸出當(dāng)前時(shí)間圖103.3 實(shí)驗(yàn)和程序問(wèn)題分析 這次試驗(yàn)實(shí)際上是融合了三個(gè)實(shí)驗(yàn)的要求,要實(shí)驗(yàn)實(shí)時(shí)時(shí)鐘的功能,包括顯示當(dāng)前時(shí)間,還有設(shè)置鬧鐘,主要使用到2410的RTC的兩個(gè)中斷:Time Tick和Alar
9、m中斷。而要實(shí)現(xiàn)在數(shù)碼管上顯示當(dāng)前時(shí)間,并且按鍵盤時(shí)實(shí)現(xiàn)時(shí)間與日期的切換,需要用到數(shù)碼管和IIC總線的知識(shí)。而實(shí)現(xiàn)的難處在于如何把幾個(gè)內(nèi)容融合并且實(shí)現(xiàn)所需的功能,這也是實(shí)驗(yà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)用延時(shí)子程序 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所對(duì)應(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所對(duì)應(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;/超過(guò)59s,需要進(jìn)位if(m>59)m-=60; h+=1; send_byte(0x88); /超過(guò)59m,需要進(jìn)位if(h=24)h=0;m=0;counter=0;displed();switch(key_number)
14、 case 0: send_byte(cmd_test); /測(cè)試鍵 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定時(shí)器定時(shí)1秒void Timer1_init(void) rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000; /配置GPG口為信號(hào)輸出 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;四、實(shí)驗(yàn)步驟第一大部分(目標(biāo)機(jī)的連接):把開發(fā)板電源接口、Muilti-ICE Embeded接口連接好,如下圖,然后打開開發(fā)板電源。第一步:打開第二步:選擇File的Load Configuration第三步:選擇第四步:把文件里的內(nèi)容修改一下,把里邊的7改為9第五步:用記事本修改第四步所講的內(nèi)容第六步:即將里面的ARM7TDMI全部改為ARM9TDMI,其
18、他不變。第七步:然后點(diǎn)文件,選擇保存。第八步:把修改后的選中,點(diǎn)擊打開第九步:打開之后,會(huì)出現(xiàn)說(shuō)明宿主機(jī)找到ARM的CPU了,即宿主機(jī)與ARM目標(biāo)開發(fā)板連接上的畫面。五、ADS軟件的使用:第一步:打開,打開效果圖為下圖第二步:將D:ARMWINCE&ADSADS實(shí)驗(yàn)跑馬燈實(shí)驗(yàn)實(shí)驗(yàn)代碼下的拖入上圖中其效果圖為:(本部分是利用已有的工程做的ADS應(yīng)用實(shí)驗(yàn),其他應(yīng)用試驗(yàn)如法炮制;對(duì)于如何新建工程,詳細(xì)步驟見(jiàn)實(shí)驗(yàn)一ADS開發(fā)環(huán)境試驗(yàn))第三步:左擊如圖標(biāo)出的圖標(biāo)(即調(diào)試參數(shù)設(shè)置),效果圖如下圖所示第四步:選擇Target Settings,進(jìn)行設(shè)置。第五步:選擇ARM Linker,進(jìn)行設(shè)置,其
19、中Scatter欄里的文件路徑為:試驗(yàn)程序路徑下的scat文件(如圖)。第六步:選擇ARM fromELF選項(xiàng),設(shè)置具體配置。第七步:最后,點(diǎn)擊上圖中的OK,調(diào)試配置參數(shù)就設(shè)置完成了。第八步:對(duì)程序進(jìn)行Make操作。六、調(diào)試部分:第一步:打開調(diào)試的軟件AXD Debugger第二步:配置目標(biāo)板。第三步:點(diǎn)擊Configure Target,對(duì)其進(jìn)行設(shè)置。第四步:選擇如上圖所示點(diǎn)亮的連接驅(qū)動(dòng)(Muiti-ICE),點(diǎn)擊OK。調(diào)試軟件就發(fā)現(xiàn)了目標(biāo)板的ARM CPU。第五步:下載鏡像文件第六步:調(diào)試運(yùn)行。七、實(shí)驗(yàn)輸出界面選取主要界面的截圖。圖11 鍵盤功能圖12 顯示日期圖13 示時(shí)間八、學(xué)習(xí)心得通
20、過(guò)本次對(duì)ARM920T內(nèi)核的S3C2410進(jìn)行實(shí)驗(yàn),使我對(duì)ARM嵌入式世界有了初步認(rèn)識(shí)。ARM是一種高性能、低功耗、高速的微處理器。S3C2410片上資源豐富,其多大117個(gè)通用I/O,56個(gè)中斷源和24個(gè)外部中斷。我以前研究芯片主要是看數(shù)據(jù)手冊(cè)和芯片的外圍電路,但是在剛開始著手ARM時(shí),我是弄得是一頭霧水。在老師的指點(diǎn)下,我開始從芯片的例子程序入手,一個(gè)一個(gè)地弄明白歷程是怎么執(zhí)行的,I/O口是怎么配置的,中文字符怎么加入、LCD上的點(diǎn)怎么連成線等等。在經(jīng)過(guò)一番自習(xí)琢磨之后,我對(duì)嵌入式有了深一步的理解。在歷程中我們很少是對(duì)系統(tǒng)的硬件資源進(jìn)行直接操作的,大部分時(shí)候我們是調(diào)用歷程里面給出的各種操作
21、函數(shù)對(duì)芯片進(jìn)行控制,這樣就使得整個(gè)程序更加的有條理,操作對(duì)象不再是底層硬件了,而是系統(tǒng)給出的各種函數(shù)。我在實(shí)驗(yàn)調(diào)試的時(shí)候解決了一下幾個(gè)問(wèn)題:通過(guò)此次課程作業(yè),讓我嚴(yán)重地意識(shí)到了自己知識(shí)的不全面,以及動(dòng)手能力的不熟練,當(dāng)然,也并非沒(méi)有收獲。從理論到實(shí)踐,我學(xué)到了很多東西,不僅鞏固了以前所學(xué)的知識(shí),而且也學(xué)到了很多書本上不能學(xué)到的內(nèi)容動(dòng)手實(shí)踐能力。起初剛確定題目時(shí),一點(diǎn)思路都沒(méi)有,通過(guò)組員之間的互相討論,以及在老師的指導(dǎo)幫助下,漸漸開始構(gòu)思,實(shí)驗(yàn),反復(fù)的檢驗(yàn),最終把這次課程作業(yè)完成。實(shí)驗(yàn)過(guò)程中,我遇到了以下幾個(gè)問(wèn)題:1、如何在數(shù)碼管上顯示特殊字符?答:使用解碼方式0可實(shí)現(xiàn)除0到F之外的個(gè)別特殊字符
22、,如“-”。2、如何實(shí)現(xiàn)LED閃爍點(diǎn)亮?答:使用HD7279的純指令88H,通過(guò)發(fā)送send_byte(0x88);即可實(shí)現(xiàn)。3、如何依次點(diǎn)亮數(shù)碼管?答:通過(guò)改變decode0+j中的j即可4、如何實(shí)現(xiàn)I/O口的初始化?答:首先對(duì)I/O口進(jìn)行輸入輸出配置,然后給端口發(fā)送響應(yīng)值。如:rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000;rGPGDAT = rGPGDAT & 0xeff | 0x200;5、新建的工程要盡可能的避免中文路徑(這個(gè)整得我很抓狂,在程序執(zhí)行過(guò)程中老是報(bào)錯(cuò),最終在實(shí)驗(yàn)室老師的指導(dǎo)下得以改正)6、關(guān)于參數(shù)在中斷函數(shù)和主函數(shù)兩個(gè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)冷沖壓數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)T形把手?jǐn)?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)雜醇油市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)醫(yī)用腳輪市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)砂輪修整機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 少子化背景下南昌市中心城區(qū)義務(wù)教育設(shè)施配置優(yōu)化研究
- 新能源汽車企業(yè)經(jīng)營(yíng)績(jī)效評(píng)價(jià)研究
- 二零二四年度中小企業(yè)適用勞動(dòng)合同法免除條件協(xié)議書3篇
- 二零二五年度水利工程鋼管腳手架搭設(shè)及質(zhì)量保障合同4篇
- 個(gè)人交易知識(shí)產(chǎn)權(quán)許可使用合同(2024版)3篇
- 完整版秸稈炭化成型綜合利用項(xiàng)目可行性研究報(bào)告
- 油氣行業(yè)人才需求預(yù)測(cè)-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- 2025年河北省單招語(yǔ)文模擬測(cè)試二(原卷版)
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評(píng)定規(guī)程
- 2024年內(nèi)蒙古中考英語(yǔ)試卷五套合卷附答案
- 2024年電工(高級(jí))證考試題庫(kù)及答案
- 2024年全國(guó)各地中考試題分類匯編:古詩(shī)詞閱讀
- 農(nóng)產(chǎn)品質(zhì)量評(píng)估與分級(jí)
- 華為集團(tuán)干部管理
評(píng)論
0/150
提交評(píng)論