20080815.c

来自「定时器的应用」· C语言 代码 · 共 32 行

C
32
字号
#include<regx52.h>
#define  uchar unsigned char
#define  uint unsigned int

sbit LED_G=P3^2;//LED灯接到 MCU 的P3_2引脚上
uchar time;//定义全局变量

/////////////////初始化函数/////////////////////
void init()
{
 TH0=(65536-50000)/256;//50MS定时 (用12M的晶振)---高8位
 TL0=(65536-50000)%256;//低8位
 TMOD=0x01;//定时计数器采用计数方式1
 EA=1;//开总中断
 ET0=1;//开定时器T0中断                          
 TR0=1;//定时器开始计数                                 
}
///////////////////////中断入口/////////////////////////
void timer0(void) interrupt 1 using 1{
 TH0=(65536-50000)/256;//50MS定时 (用12M的晶振)---高8位
 TL0=(65536-50000)%256;//低8位

  if(time<20){time=time+1;}//1秒钟亮,1秒钟灭
  else {time=0;LED_G=!LED_G;}//1秒钟到来,对LED亮灯状态取反
 }
//////////////////////////主函数////////////////////////
void main (void){
 init(); //调用初始化函数
  LED_G=1;//赋初值,让LED上电后不亮---低电平点灯
	while(1){;;}//空操作,等待中断的到来
}////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?