1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
求助!51單片機輸出方波問題
[打印本頁]
作者:
2602482600
時間:
2020-3-15 17:00
標題:
求助!51單片機輸出方波問題
題目:12晶振 輸出周期1s 占空比70%的方波;
我的代碼:
#include "reg51.h"
#define uchar unsigned char //數據類型宏定義
#define uint unsigned int
/*********************引腳定義********************/
#define TICK 10000
#define T100us 256-100
uchar C100us;
sbit out=P1^6;
/*********************主函數**********************/
void main(void)
{
TMOD&=0xf0;
TMOD|=0x02;
TH0=T100us;
TL0=T100us;
TR0=1;
EA=1;
ET0=1;
C100us=TICK;
while(1);
}
void timer0int(void) interrupt 1
{
C100us--;
if(C100us==3000)
{
out=~out;
}
if(C100us==0)
{
C100us=TICK;
out=~out;
}
}
作者:
2602482600
時間:
2020-3-15 17:00
仿真出來的方波是50%的,為什么會這樣呢
作者:
wanghz12
時間:
2020-3-15 18:22
#define TICK 10000 #define T100us 256-100 uchar C100us;
作者:
wanghz12
時間:
2020-3-15 18:23
#define TICK 10000 uchar C100us; TICK如何給 C100us賦值;數據類型不對
作者:
人中狼
時間:
2020-3-15 19:45
uchar C100us;,變量類型錯了吧,uchar應該最大只到255,應該要用uint
作者:
tyrl800
時間:
2020-3-15 19:54
改成
void timer0int(void) interrupt 1
{
C100us--;
if(C100us<=3000)
{
out=1;
}
else out=0;
if(C100us==0)
{
C100us=TICK;
}
}
作者:
YYB_123456
時間:
2020-3-15 20:32
uchar C100us; 數據類型裝不下10000,也比較不出3000,倒是可以比較0。改成uint吧
作者:
odfggf
時間:
2020-3-15 22:17
out=~out;總在取反,占空比當然就是50%了,另外 C100us要定義成uint
作者:
odfggf
時間:
2020-3-15 22:26
本帖最后由 odfggf 于 2020-3-16 08:40 編輯
改寫成這樣也行
uchar C100us=0;
void timer0int() interrupt 1
{
if(C100us<3000)
{ out=1; }
else
{ out=0; }
C100us++; C100us%=10000;
}
作者:
wulin
時間:
2020-3-16 08:14
2602482600 發表于 2020-3-15 17:00
仿真出來的方波是50%的,為什么會這樣呢
#include "reg51.h"
#define uchar unsigned char //數據類型宏定義
#define uint unsigned int
/*********************引腳定義********************/
#define TICK 10000
#define T100us 256-100
sbit out=P1^6;
uint C100us;
/*********************主函數**********************/
void main(void)
{
TMOD&=0xf0;
TMOD|=0x02;
TH0=T100us;
TL0=T100us;
TR0=1;
EA=1;
ET0=1;
C100us=0;
while(1);
}
void timer0int(void) interrupt 1
{
C100us++;
if(C100us<=7000)
out=1;
if(C100us>7000)
out=0;
if(C100us==TICK)
C100us=0;
}
復制代碼
作者:
2602482600
時間:
2020-3-19 18:22
謝謝大家,是類型不對
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1