如何用51单片机定时20ms
答案:2 悬赏:50
解决时间 2021-01-24 07:19
- 提问者网友:趣果有间
- 2021-01-23 18:28
如何用51单片机定时20ms
最佳答案
- 二级知识专家网友:有你哪都是故乡
- 2021-01-23 20:04
void Device_Init(void) //系统初始化
{
TMOD = 0x21; //串口使用定时器1,工作在方式2(常数自动装入的8位定时器)
//定时器0工作方式1(16位定时器)
//TH0 = -5000/256;
//TL0 = -5000%256; //12M晶振,设置定时器溢出时间为5ms*/
TH0 = 0xEE; //11.0592M晶振定时器5ms
TL0 = 0x00;
TH1 = 0xFD; //波特率位9600
TL1 = 0xFD;
SCON=0x58; //串口工作在方式1,由定时器控制
PCON=0x00; //不加倍
EA = 1; //开CPU中断
ET0 = 1; //开定时器0中断
TR0 = 1; //定时器0开始计数
TR1 = 1; //定时器1开始计数(串口)
ES = 1; //开串口中断
PS = 1; //设置串口中断等级最高
P3M1 = 0x00;
P3M0 = (1 << 2); //设置p3.2为输入高阻
P1=0xff; //初始化io口状态
P3=0xff;
}
void Timer(void) interrupt 1 using 1
{
TH0 = 0xEE; TL0 = 0x00;
//TH0=-5000/256; TL0=-5000%256;
你的代码写在这里,终端是5ms,你可以计数4次在做你的代码,也可以计算出20ms的值来初始化,书上讲的很清楚,也有相关的计算软件帮你算好!
}
{
TMOD = 0x21; //串口使用定时器1,工作在方式2(常数自动装入的8位定时器)
//定时器0工作方式1(16位定时器)
//TH0 = -5000/256;
//TL0 = -5000%256; //12M晶振,设置定时器溢出时间为5ms*/
TH0 = 0xEE; //11.0592M晶振定时器5ms
TL0 = 0x00;
TH1 = 0xFD; //波特率位9600
TL1 = 0xFD;
SCON=0x58; //串口工作在方式1,由定时器控制
PCON=0x00; //不加倍
EA = 1; //开CPU中断
ET0 = 1; //开定时器0中断
TR0 = 1; //定时器0开始计数
TR1 = 1; //定时器1开始计数(串口)
ES = 1; //开串口中断
PS = 1; //设置串口中断等级最高
P3M1 = 0x00;
P3M0 = (1 << 2); //设置p3.2为输入高阻
P1=0xff; //初始化io口状态
P3=0xff;
}
void Timer(void) interrupt 1 using 1
{
TH0 = 0xEE; TL0 = 0x00;
//TH0=-5000/256; TL0=-5000%256;
你的代码写在这里,终端是5ms,你可以计数4次在做你的代码,也可以计算出20ms的值来初始化,书上讲的很清楚,也有相关的计算软件帮你算好!
}
全部回答
- 1楼网友:神也偏爱
- 2021-01-23 20:10
void Device_Init(void) //系统初始化
{
TMOD = 0x21; //串口使用定时器1,工作在方式2(常数自动装入的8位定时器)
//定时器0工作方式1(16位定时器)
//TH0 = -5000/256;
//TL0 = -5000%256; //12M晶振,设置定时器溢出时间为5ms*/
TH0 = 0xEE; //11.0592M晶振定时器5ms
TL0 = 0x00;
TH1 = 0xFD; //波特率位9600
TL1 = 0xFD;
SCON=0x58; //串口工作在方式1,由定时器控制
PCON=0x00; //不加倍
EA = 1; //开CPU中断
ET0 = 1; //开定时器0中断
TR0 = 1; //定时器0开始计数
TR1 = 1; //定时器1开始计数(串口)
ES = 1; //开串口中断
PS = 1; //设置串口中断等级最高
P3M1 = 0x00;
P3M0 = (1 << 2); //设置p3.2为输入高阻
P1=0xff; //初始化io口状态
P3=0xff;
}
void Timer(void) interrupt 1 using 1
{
TH0 = 0xEE; TL0 = 0x00;
//TH0=-5000/256; TL0=-5000%256;
你的代码写在这里,中断是5ms,你可以计数4次再做你的代码,也可以计算出20ms的值来初始化,书上讲的很清楚,也有相关的计算软件帮你算好!
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯