|
10黑幣
本帖最后由 天上的一只猩 于 2018-12-31 09:08 編輯
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar time;
double count=50; //定義占空比,并初始占空比為50%
sbit PWM=P3^0; //P2^0口輸出PWM
void timer0_(); //定時(shí)器0初始化
/**************定時(shí)0中斷處理******************/
void timer0() interrupt 1
{
TR0=0;
TH0=(65536-10)/256;
TL0=(65536-10)%256;
TR0=1;
time++;
if(time>100)
time=0;
if(time<=count)
PWM=1;
else
PWM=0;
}
/*********主函數(shù)********************/
void main()
{
TMOD=0x01; //定時(shí)器0工作于方式1
TH0=(65536-10)/256;
TL0=(65536-10)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
}
}
程序中可以看出pwm周期為1ms 而仿真中根據(jù)示波器格數(shù)來看 周期卻為22ms 不知大問題出在了哪里 有沒有朋友指導(dǎo)一下 很急
|
|