
1, 设单片机晶振频率为12MHZ,试编写一延时1s的子程序.
3个回答
展开全部
//----假设,系统工作于 12MHz/12T的传统51单片机下.#include <reg51.h>
sbit Test = P1^0;
void Delay_50ms(unsigned char Times)
{
while(Times -- )
{
TH0 = 0x3C; //----装入初值,定时器0定时50ms
TL0 = 0xB0;
TR0 = 1; //-----启动定时器
while(!TF0); //-----等等定时时间到达
TF0 = 0; //-----清零定时到达标志
}
}
void Delay_1s(unsigned char Times)
{
while(Times -- )
{
Delay_50ms(20);
}
}
void main(void)
{
TMOD = 0x01; //----定时器0工作于方式1
while(1)
{
Delay_1s(2);
Test = ~Test;
}
}
sbit Test = P1^0;
void Delay_50ms(unsigned char Times)
{
while(Times -- )
{
TH0 = 0x3C; //----装入初值,定时器0定时50ms
TL0 = 0xB0;
TR0 = 1; //-----启动定时器
while(!TF0); //-----等等定时时间到达
TF0 = 0; //-----清零定时到达标志
}
}
void Delay_1s(unsigned char Times)
{
while(Times -- )
{
Delay_50ms(20);
}
}
void main(void)
{
TMOD = 0x01; //----定时器0工作于方式1
while(1)
{
Delay_1s(2);
Test = ~Test;
}
}

2025-07-10 广告
深圳市华昕电子有限公司成立于1996年,专注频率器件研产销,致力于整体方案解决,是一家集晶振研发、生产和销售于一体的高新技术企业。主营石英晶体谐振器(无源晶振)、石英晶体振荡器(有源晶振)、MEMS可编程晶振等,已通过车载AEC-Q200认...
点击进入详情页
本回答由古先生提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询