如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
课件版本:200602第三章嵌入式硬件平台编程示例引导程序最简单的程序.Word中断向量的重定义一般引导程序.globalBOOTBOOT:xld.w%r8,SP_TOPld.w%sp,%r8;设置堆栈指针xld.w%r8,GP_ADDR;设置全局指针xcall_init_bcu;引导时初始化BCUxcall_init_sys;初始化仿真I/Oxcallmain;转到主程序xcall_exit;转到_exit(Loop)设置BCU程序段完整设置程序段xld.w%r4,0xA0;重载数据;运行/停止寄存器xld.w%r5,T8P_PTRUN0_ADDRextT8P_RLD0_ADDR-T8P_PTRUN0_ADDRld.b[%r5],%r4中断处理程序16位定时器溢出中断;16位定时器3计数器数据xld.w[timer00],%r10xld.w%r12,T16P_PRUN00_ADDRxcallstop_16timer;16位定时器0运行/停止寄存器地址ld.w%r4,0x01;打开16位定时器0中断标记xld.w[t16int00_flg],%r4xld.w%r5,INT_F16T0_F16T1_ADDR;中断因子寄存器地址xld.w%r4,INT_F16TU00;中断因子寄存器标记复位ld.b[%r5],%r4popn%r15;弹栈reti;恢复执行过程算术操作寄存器寄存器保存与恢复8位定时器设置;设置8位定时器0;允许时钟划分xld.w%r0,0x40146(b)xld.w%r1,0x00ld.b[%r0],%r1;中断优先级为3xld.w%r0,0x40269(d)xld.w%r1,0x03ld.b[%r0],%r1;时钟划分比率为1/256xld.w%r0,0x4014d(b)xld.w%r1,0x0fld.b[%r0],%r1;允许定时器中断xld.w%r0,0x40275(d)xld.w%r1,0x01ld.b[%r0],%r1;定时器中断标记复位xld.w%r0,0x40285(d)xld.w%r1,0x01ld.b[%r0],%r1;设置重载数据xld.w%r0,0x40160(c)xld.w%r1,0x0ld.b[%r0]+,%r1;运行/停止位置0xld.w%r1,0x75;每30000时钟中断一次ld.b[%r0]+,%r1;运行/停止位置1,开始xld.w%r0,0x40160(e)xld.w%r1,0x1ld.b[%r0],%r1popn%r1ret.globalTIME_INT(f)TIME_INT:pushn%r1xld.w%r1,0x40285xld.w%r0,0x01ld.b[%r1],%r0;复位定时器0中断标记popn%r1reti主要操作次序设置中断控制器中断优先级为3复位中断因子标记开8位定时器中断中断产生时的处理.globalTIME_INTTIME_INT:……串口设置串口初始化;I/O端口设置xld.w%r0,PIO_SET(c)xld.b[PIO],%r0;SCR设置xld.w%r0,SCR_EN|SCR_SET(d)xld.b[SCR],%r0ret主要操作次序发送程序主要操作次序接收程序xbclr[SSR],0x4;清帧检验位ld.w%r10,x1;报错:1rcv010:xbtst[SSR],0x3;校验是否有错?jreqrcv020xbclr[SSR],0x3;校验位ld.w%r10,0x2;报错:2rcv020:xbtst[SSR],0x2;是否溢出jreqrcv030xbclr[SSR],0x2;清溢出位ld.w%r10,0x3;报错:3rcv030:(c)xld.b%r0,[SRDR];读数据xld.b[m_rcv_data],%r0;合并数据popn%r3;弹栈ret主要操作次序3.5基本外围电路3.5.1电源支持DC-DC转换器预防噪音的方法:四种3.5.2复位RCResetICReset3.5.3存储器连接支持连接ROM连接Flash连接SRAM驱动程序——Flashflash_loadl