timer0.c

来自「自己的平时一些制作 现在整理一下 与大家一起分享」· C语言 代码 · 共 46 行

C
46
字号
/*****头文件包含******/
//各种单片机的寄存器定义,方便我门使用者,..
//只需要知道这些名字就可以了,其他的具体地址在这里定义好了..
//没必要一个一个记。
/********************/
#include <reg51.h>

/*****定义输出接口*******/
//beep=0;响  beep=1; 不响 
/*****这里beep表示蜂鸣器,电路板上它连接到P1^7****/
sbit beep=P1^7;


/******定时器初始化函数*********/
void Init_Timer(void)
{
TMOD=0x11;  //定时器方式控制字  T0 :16位定时  T1:16位定时
TH0=0x3C;   //定时器0高位
TL0=0xB0;   //定时器0低位
EA=1;       //开CPU中断
ET0=1;      //开定时器0中断
TR0=1;      //启动定时器0
}

/*******定时器0中断服务程序********/
//在定时器0工作在16定时器时,需要手动载入定时常数..
//..这里在中断服务程序中加入这样一个定时常数的载入
/***************/
void timer0 (void) interrupt 1 using 1
{
TH0=0x3C;    //定时常数的重新载入
TL0=0xB0;
beep=!beep;  //让蜂鸣器一会50ms响 一会50ms停  
}

/*******主函数********/
//除了初始化函数之外..
//就是一个while死循环
//最简单的一个结构
/***************/
main()
{
Init_Timer();  //初始化函数
while(1);      //while 死循环
}

⌨️ 快捷键说明

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