高级会员
- 积分
- 634
- 威望
- 320
- 贡献
- 198
- 兑换币
- 193
- 注册时间
- 2012-12-2
- 在线时间
- 58 小时
|
128超频,总线时钟分别设置为32Mhz,40Mhz,48Mhz,64Mhz,80Mhz,88Mhz,96Mhz,104Mhz,120Mhz,依次实验。5ms一次pit中断,中断函数里通过oled函数显示A的值,主函数里只做A++;我想这样就可以测出5ms内主函数运行了多少次,从而确定超频究竟能超到多少Mhz和超频到低能起到多大的作用在运行速度上。(设置每一个总线时钟时,pit都重新设置了5ms定时中断)
实验现象:
1.当超频超到96Mhz时,oled屏上乱码,而且不稳定,当超到104Mhz和120Mhz时oled上无显示,最小系统版上用来表示oled屏是否工作的红灯不亮
2.当超到32Mhz,40Mhz,48Mhz,64Mhz,80Mhz,88Mhz,时oled屏显示A的值都是9和10跳变。
3.将中断时间改为10ms时,1的状况还是一样,2的值加倍,变成18和19,20跳变。
为什么会这样?难道超频没用起到效果,但是为什么超到96Mhz以上是系统紊乱,不稳定,甚至不工作。希望大家多给点看法。真心感谢!
下面是部分程序:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0 (void) //5ms 定时中断程序
{
PITTF_PTF0 = 1;
AS = A;
A= 0;
LED_PrintShort(25,0,AS);
PITTF_PTF0 = 1;
}
#pragma CODE_SEG DEFAULT
void main(void)
{
DisableInterrupts
PLL_INIT ();
IO_INIT ();
LED_INIT ();
PIT_INIT0();
EnableInterrupts;
while(1)
{
A++;
}
}
|
|