欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
問一個單片機pwm波形仿真的問題
[打印本頁]
作者:
天上的一只猩
時間:
2018-12-30 23:30
標題:
問一個單片機pwm波形仿真的問題
本帖最后由 天上的一只猩 于 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_(); //定時器0初始化
/**************定時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;
}
/*********主函數********************/
void main()
{
TMOD=0x01; //定時器0工作于方式1
TH0=(65536-10)/256;
TL0=(65536-10)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
}
}
程序中可以看出pwm周期為1ms 而仿真中根據示波器格數來看 周期卻為22ms 不知大問題出在了哪里 有沒有朋友指導一下 很急
截圖未命名.jpg
(25.67 KB, 下載次數: 48)
下載附件
2018-12-31 09:08 上傳
QQ圖片20181230232724.png
(54.27 KB, 下載次數: 46)
下載附件
2018-12-31 09:08 上傳
作者:
wulin
時間:
2018-12-31 07:31
你中斷周期設置10us,可是執行一次中斷函數內語句需要26us,造成中斷請求信號丟失,這是初學者容易犯的錯誤。Keil單步走一下就明白。
作者:
天上的一只猩
時間:
2019-1-5 22:41
問題已經解決 出在double count=50; 改成int count=50;就好了 但是不明白為什么 有沒有大佬解答一下
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1