stc8实用外部晶振程序@
stc8实用外部晶振程序(这里写自`#include “stc8f.h”
#include “intrins.h”
void main()
{
long int a,b,c;
P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1=0x00; P2M0=0x00;P3M1=0x00; P3M0=0x00;
P4M1=0x00; P4M0=0x00;P5M1=0x00; P5M0=0x00;P6M1=0x00; P6M0=0x00;P7M1=0x00; P7M0=0x00;
P_SW2 = 0x80;
XOSCCR = 0xc0;
for(a=4;a>0;a--); //启动外部晶振
while (!(XOSCCR & 1)); //等待时钟稳定
CLKDIV = 0x00; //时钟不分频
CKSEL = 0x01; //选择外部晶振
PWMCKS = 0x00; // PWM时钟为系统时钟
PWMC = 0x1000; //设置PWM周期为1000H个PWM时钟
PWM0T1= 0x0100; //在计数值为100H地方输出低电平
PWM0T2= 0x0500; //在计数值为500H地方输出高电平
PWM0CR= 0x80; //使能PWM0输出,P20引脚输出
P_SW2 = 0x00;
PWMCR = 0x80; //启动PWM模块
while (1)
{
P1=0x00;
for(a=200;a>0;a--)
for(b=40;b>0;b--)
for(c=40;c>0;c--);
P1=0xff;
for(a=200;a>0;a--)
for(b=40;b>0;b--)
for(c=40;c>0;c--);
}
;
}
`