请教2407的一个问题

[复制链接]
 楼主| wjyspring 发表于 2007-8-19 19:38 | 显示全部楼层 |阅读模式
<br />各位,请教一下,下面程序中的&nbsp;&nbsp;&nbsp;<br />MCRC=MCRC&nbsp;&&nbsp;0xFF00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//IOPE0-7设为IO口模式<br />这一句中,MCRC是个什么东东?在书上找了半天都没找到。<br />芯片用的是2407,程序功能是点亮LED使之闪烁,在开发板上已经实现这个功能。<br /><br />请高手指点。<br /><br />/*LED与定时器程序*/<br />#include&nbsp;&quot;global.c&quot;&nbsp;<br />void&nbsp;SystemInit();<br />void&nbsp;Timer1Init();&nbsp;<br />void&nbsp;KickDog();<br /><br />int&nbsp;numled=200;<br /><br />main()<br />{&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;SystemInit();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*系统初始化*/<br />/***********就是下面这一行*************************************/<br />&nbsp;&nbsp;&nbsp;MCRC=MCRC&nbsp;&&nbsp;0xFF00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//IOPE0-7设为IO口模式<br />/***********就是上面这一行*************************************/<br />&nbsp;&nbsp;&nbsp;PEDATDIR=0xFF00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//所有LED=0,&nbsp;<br />&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;INTM&nbsp;&quot;);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Timer1Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*定时器初始化*/<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;while(1);<br />&nbsp;&nbsp;&nbsp;<br />}<br /><br />void&nbsp;SystemInit()&nbsp;<br />{&nbsp;&nbsp;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;SETC&nbsp;&nbsp;&nbsp;&nbsp;INTM&nbsp;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;关闭总中断&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;&nbsp;SXM&nbsp;&nbsp;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;禁止符号位扩展&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;&nbsp;CNF&nbsp;&nbsp;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;B0块映射为&nbsp;on-chip&nbsp;DARAM*/<br />&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;&nbsp;OVM&nbsp;&nbsp;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;累加器结果正常溢出*/<br />&nbsp;&nbsp;&nbsp;&nbsp;SCSR1=0x02FC;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;系统时钟CLKOUT=20*2=40M&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;打开ADC,EVA,EVB,CAN和SCI的时钟,系统时钟CLKOUT=40M&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;WDCR=0x006F;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;禁止看门狗,看门狗时钟64分频&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;KickDog();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;初始化看门狗&nbsp;*/&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IFR=0xFFFF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;清除中断标志&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IMR=0x0002;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;打开中断2*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;&nbsp;<br /><br />void&nbsp;Timer1Init()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;EVAIMRA=0x0080;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定时器1周期中断使能&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;EVAIFRA=0xFFFF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清除中断标志&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;GPTCONA=0x0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;T1PR=2500;&nbsp;&nbsp;&nbsp;&nbsp;//定时器1初值,定时0.4us*2500=1ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;T1CNT=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;T1CON=0xd446;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//增模式,&nbsp;TPS系数40M/16=2.5M,T1使能<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />void&nbsp;interrupt&nbsp;&nbsp;&nbsp;&nbsp;c_int2()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*定时器1中断服务程序*/<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if(PIVR!=0x27)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;INTM&nbsp;&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;T1CNT=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;numled--;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(numled==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numled=200;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((PEDATDIR&&nbsp;0x0002)==0x0002)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PEDATDIR=PEDATDIR&nbsp;&&nbsp;0xFFFD;&nbsp;&nbsp;&nbsp;&nbsp;//IOPE1=0;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PEDATDIR=PEDATDIR&nbsp;|0x0002;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//IOPE1=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;EVAIFRA=0x80;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;&nbsp;CLRC&nbsp;&nbsp;&nbsp;&nbsp;INTM&nbsp;&quot;);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;&nbsp;<br /><br />void&nbsp;KickDog()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*踢除看门狗&nbsp;*/<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;WDKEY=0x5555;<br />&nbsp;&nbsp;&nbsp;&nbsp;WDKEY=0xAAAA;<br />}
ljtianya 发表于 2007-8-20 17:07 | 显示全部楼层

是多功能引脚的选择寄存器

共有MCRA、MCRB、MCRC,手册是有的,找TI的PDF
alleluia 发表于 2007-8-21 16:01 | 显示全部楼层

书上不可有没有吧?很多参考书都会有这个寄存器的介绍的

  
hyhjjg 发表于 2007-8-22 19:59 | 显示全部楼层

那只是个代号罢了

引脚功能复用选择寄存器的地址<br />代号尔尔
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部