/********************************1毫秒方波************************************ * 描述 : 用定时器0方式0的程序代码。 用定时器产生一个1毫秒的方波,通过P1.7输出,可以通过示波器看到波形。 ***********************************************************************/ #include<reg52.h> #define uchar unsigned char #define uint unsigned int uint Count = 0; sbit OUT = P1^7; /******************************************************************** * 名称 : Time0_Init() * 功能 : 定时器的初始化,11.0592MZ晶振,1ms * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Time0_Init() { TMOD = 0x00; TH0 = 0x1c; TL0 = 0x66; IE = 0x82; TR0 = 1; } /******************************************************************** * 名称 : Time0_Int() * 功能 : 定时器中断,中断中实现 Count 加一 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Time0_Int() interrupt 1 { TH0 = 0x1c; TL0 = 0x66; OUT = ~OUT; } /******************************************************************** * 名称 : Main() * 功能 : 主函数 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void main() { uchar i = 0; Time0_Init(); while(1) { } }
/*******************************10毫秒方波************************************* * 描述 : 用定时器0方式1的产生一个10毫秒的方波。 晶振用11.0592的,输出方波为10毫秒。 通过P1.0口输出,可以通过示波器看到方波形状。 ***********************************************************************/ #include<reg52.h> #define uchar unsigned char #define uint unsigned int uint Count = 0; sbit OUT = P1^0; /******************************************************************** * 名称 : Time0_Init() * 功能 : 定时器的初始化,11.0592MZ晶振,10ms * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Time0_Init() { TMOD = 0x01; TH0 = 0xdc; TL0 = 0x00; IE = 0x82; TR0 = 1; } /******************************************************************** * 名称 : Time0_Int() * 功能 : 定时器中断,中断中实现 Count 加一 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Time0_Int() interrupt 1 { TH0 = 0xdc; TL0 = 0x00; OUT = ~OUT; } /******************************************************************** * 名称 : Main() * 功能 : 主函数 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void main() { uchar i = 0; Time0_Init(); while(1) { } }