當前位置:編程學習大全網 - 編程軟體 - 在8051中,已知晶振頻率為12MHz,試編程使P1.0和P1.1分別輸出周期為2ms和500ms的方波

在8051中,已知晶振頻率為12MHz,試編程使P1.0和P1.1分別輸出周期為2ms和500ms的方波

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

uint Time_Num_2ms,Time_Num_500ms;

sbit PWM1=P1^0;// 位定義2ms方波輸出的端口

sbit PWM2=P1^1;// 位定義500ms方波輸出的端口

void InitTimer0(void)

{

TMOD=0x01;//設定定時器0為工作方式1

TH0=(65536-1000)/256;//裝初值,1ms初值

TH0=(65536-1000)%256;//裝初值,1ms初值

EA=1;//開總中斷

ET0=1;//開定時器0中斷

TR0=1; //啟動定時器0

}

void T0Timer() interrupt 1

{

TH0=(65536-1000)/256;//重裝初值,1ms初值

TH0=(65536-1000)%256;//重裝初值,1ms初值

Time_Num_2ms++;

Time_Num_500ms++;

}

void main(void)

{

P1=0xff;

InitTimer0();

while(1)

{

if(Time_Num_2ms==2)

{

Time_Num_2ms=0;

PWM1=~PWM1;

}

if(Time_Num_500ms==500)

{

Time_Num_500ms=0;

PWM2=~PWM2;

}

}

}

  • 上一篇:編程抓取包
  • 下一篇:迷妳世界定制動作咋在裝扮用
  • copyright 2024編程學習大全網