如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验1基于ARM处理器的看门狗实验一、实验目的1、了解看门狗的作用2、掌握看门狗定时器的使用方二、实验准备硬件:JXARM9-2410教学实验箱,PC机软件:WindowsXP操作系统,ADS集成开发工具三、实验过程1、实验代码及分析文件一:Watchdog_enable.sWTCONEQU;看门狗控制寄存器WTCNTEQU;看门狗计数寄存器AREAWATCHDOG_ENABLE,CODE,READONLY;设置看门狗控制寄存器ldrr0,;加载WTCON寄存器地址;0x4a21=[15:8]=74,[5]=1,[0]=1ldrr1,=0x4a21;将0x4a21保存到r1里;将r1里的值存入r0指向的地址;设置看门狗计数寄存器,该寄存器的值在上电后被加载,1秒超时;加载WTCNT寄存器地址;将0x186a0保存到r1里;将r3里的值存入r2指向的地址;引入led_on符号;调用led_on代码loopBloop;死循环END该文件主要完成看门狗控制寄存器的配置,然后启动看门狗开始工作,并调用led_on控制LED灯的闪烁。由于看门狗的设置为1秒超时,所以LED灯闪烁1秒后,系统重启。Led_on.s主要控制Led灯的闪烁四、实验结果(文字描述)实验2基于ARM处理器的实时时钟实验一、实验目的1、了解ARM处理器实时时钟记时作用2、掌握实时时钟相关寄存器的配置二、实验准备硬件:JXARM9-2410教学实验箱,PC机软件:WindowsXP操作系统,ADS集成开发工具三、实验过程1、实验代码及分析实验代码(1)相关寄存器#definerRTCCON(*(volatileunsignedchar*))//RTCcontrol#definerRTCRST(*(volatileunsignedchar*))//RTCroundreset#definerBCDSEC(*(volatileunsignedchar*)0x57000070)//BCDsecond#definerBCDMIN(*(volatileunsignedchar*)0x57000074)//BCDminute#definerBCDHOUR(*(volatileunsignedchar*)0x57000078)//BCDhour#definerBCDDATE(*(volatileunsignedchar*)0x5700007c)//BCDday#definerBCDDAY(*(volatileunsignedchar*)0x57000080)//BCDdate#definerBCDMON(*(volatileunsignedchar*)0x57000084)//BCDmonth#definerBCDYEAR(*(volatileunsignedchar*)0x57000088)//BCDyear(2)设备实时时钟寄存器voidrtc_set_date(st_date*p_date){=0x01;=p_date->year;=p_date->mon;=p_date->day;=p_date->week_day;=p_date->hour;=p_date->min;=p_date->sec;=0x00;}(3)获取实时时钟当前时间、日期voidrtc_get_date(st_date*p_date){rRTCCON=0x01;=rBCDYEAR;=rBCDMON;=rBCDDAY;=rBCDDATE;=rBCDHOUR;=rBCDMIN;=rBCDSEC;rRTCCON=0x00;}(4)主要代码:;//设置实时时钟寄存器,其中printf("\r\n\r\n");while(1){rtc_get_date(&m_date);printf("RTCTIME:%4x/%02x/%02x%s-%02x:%02x:%02x\n",m_date.year,m_date.mon,m_date.day,datea[m_date.week_day],m_date.hour,m_date.min,m_date.sec);//printf(/*时钟数据为BCD码格式,以16进制显示*///"\b\b\b\b\b\b\b\b%02x:%02x:%02x",m_date.hour,m_date.min,m_date.sec);