版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海土力等相嵌入式软件开发基础实验报告题目:【ARM】实时时钟实验专业:电子科学与技术年级:姓名:学号:—
)//writethedataintortcregirBCDMON=nTmp;//->month;sternTmp=szStr[--i]&0x0f:if(cN09)if(i){nTmp|=(szStr[-i]<<4)&0xff;rRTCCON=0x01;//R/Wenable,1if(nTmp>0x99)/32768,CN09=0:Normal(merge),NoresetrBCDYEAR=nTmp://->year;i=nTmp;rRTCCON=0x00://R/Wdisab1enTmp=szStr[i]&0x0f;uart_printf("Currentdateis:20%0if(nTmp==7)2x-%02x-%02x%s\n"rBCDDATE=1;//s3c44bOx:SUN:1MON:,rBCDYEAR,rBCDMON.rBCDDA2Y,f_szdate[rBCDDATE]):TUE:3WED:4THU:5FRI:6SAT:7if(!cN09)eIseuart_printf("Wrongvalue!\n");rBCDDATE=nTmp+1://->weekday:}elseuart_printf("Wrongva1ue!\n");nTmp=szStr[i—=2]&0x0f;return(int)cN09;cN09=0;if(szStr[-i]!=if(nTmp>0x12)nTmp|=(szStr[i-]«4)&0xff;厂**********♦******«**«***♦****文****♦**♦♦**if(nTmp>0x31)*♦***火+CN09=0;*************rBCDDAY=nTmp://->day;*name:rtc_set_timenTmp=szStr[--i]&0x0f;*func:getandchecktheTIMEstringif(szStr[—i]!=fromuartchannelIosetrtcnTmp|=(szStr[i-—]«4)&0xff;*para:nonc*ret:cN09=0:invalidstring
okelse*modify:(*comment:nTmp=i-1;★★★★**•♦*****♦**表**for(i=nTmp:i>=0;i-)*mm*m*******夫*(*”*♦♦*★♦••♦•***if(SzStr[i]!=,:,)intrtc_set_time(char*pString)if((szStr[i]<*O'|szStr[i]>'9'))(cNO9=0;charcYn,cN09=1;)charszStr[8];//xx:xx:xx)inti.nTmp;//writethedataintortcregistermemcpy{(void*)szStr,pString,8);if(cN09)//checktheformatofthedata(nTmp=0;rRTCCON=Ox01;//RAA/enable,1/cN09=1:32768,for(i=0;((i<8)&(szStr[i]!='\0'));Normal(merge),Noreseti++)i=nTmp;{nTmp=szStr[i]&0xOf;if(szStr[i]==':')if(szStr[-i]!=*:z)nTmp+=1;nTmp|=(szStr[i]«4)&0xff;)if(nTmp>0x59)if(nTmp!=2)//atIeast3cN09=0;(rBCDSEC=nTmp;//->second;CN09=0;nTmp=szStr[-i]&OxOf;cNO9=1:settimebyinputstringand)uart_printf("InValidformat!!\n\r");if(szStr[-i]!=,:*)
nTmp|=(szStr[i-]<<4)&0xff;nTmp|=(szStr[i-]<<4)&0xff;if(nTmp>0x59)CN09=0;rBCDMIN=nTmp;//—>min;nTmp=szStr[-i]&0x0f;if(i)nTmp|=(szStr[-i]<<4)&0xff;if(nTmp>0x24)CNO9=0;nTmp|=(szStr[i-]<<4)&0xff;if(nTmp>0x59)CN09=0nTmp|=(szStr[i-]<<4)&0xff;if(nTmp>0x59)CN09=0;rBCDMIN=nTmp;//—>min;nTmp=szStr[-i]&0x0f;if(i)nTmp|=(szStr[-i]<<4)&0xff;if(nTmp>0x24)CNO9=0;rBCDHOUR=nTmp://->hour;rRTCCON=0x00;//R/wdisableif(!cN09)uart_printf("Wrongva1ue!\n");ARM7基础实验教程-200-}elseuart_printf('*Wrongvalue!\n")return(int)cN09;第一、对ARM的相关理论知识有了初步的了解。了解工作原理和程序环节等。这些知识不仅在课堂上有效,对这次的实践的学习加深了印象,并且在将来的工作中也一定会有帮助。第二、自己的动手能力和自学能力有了很大的提高。实践出真知,今天,我其实才深刻感受到这句话的实在意义。涉及在碰到问题的时候,我通过问老师,问同学、自己找资料的方式得出了答案,更加深了我的理解和认知。一、实验目的1、了解实时时钟的硬件控制原理及设计方法。2、掌握S3C44B0X解决渊的RTC模块程序设计方法。二、实验设备1、硬件:EmbestEduKit-III实验平台,EmbestARM标准/增强型仿真器套件,PC机。2、软件:EmbestIDEProARM集成开发环境,Windows98/2023/NT/XPo三、实验内容学习和掌握EmbestEduKit-III实验平台中RTC模块的使用,进行以下操作:1、编写应用程序,修改时钟日期及时间的设立。2、使用EMBESTARM教学系统的串口,在超级终端显示当前系统时间。四、实睑原理1•实时时钟(RTC)实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设立存储电路。RTC具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化限度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出,这些新品不仅具有准确的RTC,尚有大容量的存储器、温度传感器和A/D数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别合用于以微控制器为核心的嵌入式系统。RTC器件与微控制器之间的接口大都采用连线简朴的串行接口,诸如I2C、SPI、MICROWIRE和CAN等串行总线接口。这些串口由2〜3根线连接,分为同步和异步。2.S3C44B0X实时时钟(RTC)单元S3C44B0X实时时钟(RTC)单元是解决器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运营。RTC发送8位BCD码数据到CPU。传送的数据涉及秒、分、小时、星期、日期、月份和年份。RTC单元时钟源由外部32.768KHz晶振提供,可以实现闹钟(报警)功能。S3C44B0X实时时钟(RTC)单元特性:BCD数据:秒、分、小时、星期、日期、月份和年份1、闹钟(报警)功能:产生定期中断或激活系统2自动计算闰年3、无2023年问题4、独立的电源输入5、支持亳秒级时间片中断,为RTOS提供时间基准读/写寄存器访问RTC模块的寄存器,一方面要设RTCCON的bitO为1。CPU通过读取RTC模块中寄存器BCDSEC、BCDMIN.BCDHOUR.BCDDAY、BCDDATE.BCDMON和BCDYEAR的值,得到当前的相应时间值。然而,由于多个寄存器依次读出,所以有也许产生错误。比如:用户依次读取年(1989)、月(12)、日(31)、时(23)、分(59)、秒(59)。当秒数为1到59时,没有任何问题,但是,当秒数为0时,当前时间和日期就变成了1990年1月1日0时。分。这种情况下(秒数为0),用户应当重新读取年份到分钟的值(参考程序设计)。后备电池:RTC单元可以使用后备电池通过管脚RTCVDD供电。当系统关闭电源以后,CPU和RTC的接口电路被阻断,后备电池只需要驱动晶振和BCD计数器,从而达成最小的功耗。闹钟功能RTC在指定的时间产生报警信号,涉及CPU工作在正常模式和休眠(powerdown)模式下。在正常工作模式,报警中断信号(ALMINT)被激活。在休眠模式,报警中断信号和唤醒信号(PMWKUP)同时被激活。RTC报警寄存器(RTCALM)决定报警功能的使能/屏蔽和完毕报警时间检测。时间片中断RTC时间片中断用于中断请求。寄存器TICNT有一个中断使能位和中断计数。该中断计数自动递减,当达成0时,则产生中断。中断周期按照下列公式计算:Period=(n+1)/128second其中,n为RTC时钟中断计数,可取值为(IT27)置零计数功能RTC的置零计数功能可以实现30、40和50秒步长重新计数,供某些专用系统使用。当使用50秒置零设立时,假如当前时间是11:59:49,则下一秒后时间将变为12:00:00o注意:所有的RTC寄存器都是字节型的,必须使用字节访问指令(STRB、LDRB)或字符型指针访问。五、实验设计.硬件电路设计.软件程序设计(1)时钟设立时钟设立程序必须实现时钟工作情况以及数据设立有效性检测功能。具体实现可以参考示例程序设计。(2)时钟显不时钟参数通过实验系统串口0输出到超级终端,显示内容涉及年月日时分秒。参数以BCD码形式传送,用户使用串口通信函数(参见串口通信实验)将参数取出显示。
******/********************************4★★name:******/********************************4★★name:func:readdatafromrtcmodify:commenvoidrtc_read(void)(while(1)(//readthedatafromRTCregistersif(rBCDYEAR==0x99)g_nYear=0x1999;eIseg_nYcar=Ox2023+rBCDYEAR;gnMonth=rBCDMON;g_nDay=rBCDDAY:g_nWeekday=rBCDDATE;g_nHour=rBCDHOUR:g_nMin=rBCDMIN;g_nSec=rBCDSEC;if(g_nSec!=0)
break;***广*************★********mm*************»***♦*«*★★*★****•*****★★★★★★★★★*★★★*name:rtc_display***func:displaydatafromrlcpara:noneret:nonemodify:*comment:voidrtc_display(void)★*火★*火★★★**火★★★**♦*****rtc_read();uart_prinlf("\n\rCurrentTimeis%O2x-%O2x-%02x%s",g_nYear»g_nMonth,g_nDay,Jszdate[g_nWeekday]);uartprintf("%02x:%02x:%02x\r\n'',g_nHour,gnMin,g_nScc);)六、实验操作环节.准备实验环境使用Embest仿真器连接Fl的板,使用EmbestEduKit-III实验板附带的串口线,连接实验板上的UARTO和PC机的串口。.串口接受设立在PC机上运营windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。.打开实验例程1)拷贝光盘CD1\S。ftware\EduKit44bO文献夹到EmbestIDE\Examp1es\Samsung\目录下:2)使用EmbestIDE通过EmbestJTAG仿真器连接实验板,打开实验例程目录4.5_rtc_test子目录下的rtc_test.pjf例程,编译链接工程;3)点击IDE的Debug菜单,选择RemoteConnect项或F8键,远程连接目的板;4)点击IDE的Debug菜单,选择Download下载调试代码到目的系统的RAM中;5)点击Debug菜单的G。或F5犍运营程序。4.观测实验结果.在PC机上观测超级终端程序主窗口,可以看到如下界面:bootsuccess...RTCTestExampleRTCCheck(Y/N)?.用户可以选择是否对RTC进行检查,检核对的的话,继续执行程序,检查不对的时也会提醒是否重检查:RTCCheck(Y/N)?ySetDefau11Timeat2023-12-31FRI23:59:59SetAlarmTimeat2023-01-0100:00:01...RTCAlarmInterruptO.K....CurrentTimeis2023-01-01SAT00:00:01RTCWorkingnow.Tosetdate(Y/N)?.用户可以选择是否重新进行时钟设立,当输入不耐的时也会提醒是否重新设立:RTCWorkingnow.Tosetdate(Y/N)?yCurrentdateis(2023,01,0lfSAT).inputnewdate(yy-mm-ddw):5—2—233Currentdateis:2023-02-23WEDRTCWorkingnow.Tosettime(Y/N)?yCurrenttimeis(00:02:57).Tosettime(hh:mm:ss):19:32:5.最终超级终端输出信息如F:CurrentTimeis2023—02—23WED19:32:0519:32:07七、实验参考程序1.环境及函数声明ARM7基础实验教程--*/-196-/*functiondec1are*//*-————-------——————-———/*一....———--------————*/rgloba1variables,/inttest_rtc_alarm(void):---———-voidrtcjnit(void):—————―______―一voidread_rtc(void);————一-*/voiddisplay_rtc(void);intg_nYear;voidtest_rtc_tick(void):intg_nMonth,g_nDay,g_nWeekday,voidrtc_int(void);g_nHour,g_nMin,g_nSec;voidrtc_tick(void);j・—一・・—一—2.时钟设立控制程序/***********•*****•文••••***
o));i++)**♦****★★★★★★★★***★★★★********♦♦*★*****if((szStr[i]==',)|(szStr[i]==''******•*……文•*・・nTmp+=1;*name:rtc_set_date}*func:getandchecktheDATEsif(nTmp<3)//atIeast2and1tringfromuartchan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年青年发展型城市建设政策测试
- 2026年海事系统海洋工程与海底管线铺设通航安全题库
- 2026年乌鲁木齐市新市区卫生健康系统人员招聘笔试参考题库及答案解析
- 2026年机械工程师招聘考试题集及答案参考
- 2026年工会劳动法律监督办法及一函两书制度适用与实施实务测试题
- 2026年文化创意产业从业者能力测试题目
- 2026年森林防火检查站工作规范知识竞赛
- 2026年供销社农产品电商知识测试
- 2026年河南单招健康管理大类职业适应性题
- 2026年场车事故分析与预防知识试题
- 2026年幕墙工程专项安全监理实施细则
- 2025年高速路巡查员入职考试题库及答案
- 阿司匹林应用指南2025年版
- 卵巢早衰的课件
- 2025长三角新材料行业市场供需现状投资评估规划分析研究报告
- 园林景观品质第三方评估(可编辑)
- 湖南省生地会考真题卷岳阳市2025年及答案
- 数据库系统概论(泰山学院)知到智慧树网课答案
- 南部隔墙工程施工方案
- 2025年食品工业报告4
- 接触器的电工知识培训课件
评论
0/150
提交评论