C51微控制器 定時器模擬單路輸出PWM

2021-09-10 01:27:14 字數 979 閱讀 9432

本博文基於stc89c52rc和keil5 c51環境開發;

如有不足之處還請多多指教;

需要的東西

定時器0;

管腳p1.0;

**如下:

#include #define enable 1

#define disenable 0

typedef unsigned char uchar8;

sbit p1_0 = p1^0;

bit flag = 0;

/*占空比的時間計算:

占空比 = 高電平時間 /(高電平時間+低電平時間);

*/

//高電平時間(初始值為:0x02ee,即十進位制750)

uchar8 timer0_th0_high_level_time = 0x02; //定時器0高八位高電平時間;

uchar8 timer0_tl0_high_level_time = 0xee; //定時器0低八位高電平時間;

//低電平時間(初始值為:0x00fa)

uchar8 timer0_th0_low_level_time = 0x00; //定時器0高八位低電平時間;

uchar8 timer0_tl0_low_level_time = 0cfa; //定時器0低八位低電平時間;

void time0_init(void);

void main()

/*定時器的配置:

1.假設微控制器晶振頻率為12mhz;則定時器累加週期為1us;

2.定時器初值為:高電平溢位時間0x02ee,即十進位制750;低電平溢位時間0x00fa,即十進位制250;

3.定時器0設定成16位自動重裝載工作方式;

*/void time0_init(void)

void timer0_it() interrupt 1

else

}

51微控制器 定時器

定時 計數器的結構和工作原理 定時 計數器的實質是加1計數器 16位 由高8位和低8位兩個暫存器組成。80c51 微控制器定時 計數器的工作是由兩個特殊功能暫存器控制的。tmod是定時 計數器的工 作方式暫存器,確定工作方式和功能,低四位用於t0,高四位用於t1。t con是控制寄 存器,控制t0和...

51微控制器 定時器

標準的51微控制器內部有t0和t1兩個定時器。定時器的計數值儲存在暫存器中。th0 tl0用於t0,th1 tl1用於t1.定時器儲存暫存器 名稱描述 sfr位址 復位值th0 t0高位元組 0x8c 0x00 tl0t0低位元組 0x8a 0x00 th1t1高位元組 0x8d 0x00 tl1t...

51微控制器定時器 彙編

定時器控制流水燈的速度,但流水燈到邊緣的時候,自動調整方向,先反方向繼續流動 使用的是 定時器0 org 0000h ljmp mian org 000bh ljmp t0 break org 0200h init mov tmod,01h 定時器0為方式1 定時器0計時100us mov tl0,...