单片机 c语言 占空比,51单片机占空比规划
Proteus仿真
P3.0輸出占空比
T+、T-設置占空比時刻,每按一次加或減100ms
R+、R-設置占空比加減1% 初始為100ms 占空比50%
數(shù)碼管前兩位顯現(xiàn)時刻單位s,后兩位顯現(xiàn)占空比單位%
示波器顯現(xiàn)
運用定時器,防止了數(shù)碼管顯現(xiàn)和按鍵掃描延時,完成占空比實時輸出。防止因延時等候。 12MHz晶振程序如下 #include #define CLOCK 12000L#define Fosc 12000000L#define TMR 1#define TMR_BASE (unsigned int)(65536-(Fosc*TMR/CLOCK))#define TMR_BASEH TMR_BASE/0x100#define MASK 0xaa#define AddT 0xa8 #define CutT 0xa2#define AddR 0x8a#define CutR 0x2asbit OUT=P3^0;code unsigned char Num[10]={0xc0,0xf9,0xa4,0x30,0x99,0x92,0x82,0xf8,0x80,0x90};bit T1ms_Fg;void Timer0_interrupt(void) interrupt 1{TR0=0;TH0=TMR_BASEH;TL0+=TMR_BASE;TR0=1;T1ms_Fg=1;}void TMR0_Init(void){TMOD=0x01;TH0=TMR_BASEH;TL0=TMR_BASE;TR0=1;ET0=1;} bit Tmr_1ms_Fg, Tmr_10ms_Fg, Tmr_100ms_Fg;unsigned char T100ms_count=10; void timer(void){Tmr_1ms_Fg=0;Tmr_10ms_Fg=0; Tmr_100ms_Fg=0; if (T1ms_Fg){T1ms_Fg=0; Tmr_1ms_Fg=1;--T100ms_count; if (T100ms_count%10==0){Tmr_10ms_Fg=1; }if (T100ms_count==0){T100ms_count=10;Tmr_100ms_Fg=1; }}} unsigned char T=1,R=50;
總結(jié)
以上是生活随笔為你收集整理的单片机 c语言 占空比,51单片机占空比规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 37种传感器(六)之声音传感器模块+St
- 下一篇: 群组