串口中断应用实例
来源:互联网 发布:mac解压软件 知乎 编辑:程序博客网 时间:2024/06/12 01:19
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint j=0;
uint num=0;
uchar sl,sh,ml,mh,hl,hh;
uchar code x[13]={'0','1','2','3','4','5','6','7','8','9',':',0x0d,0x0a};
//--------------------------------------------------------------------------------------------
void Time0_int() interrupt 1 using 1
{
TH0=(65536-40000)/256;
TL0=(65536-40000)%256;
num++;
if(num>50)
{
num=0;sl++;
if(sl>9)
{
sl=0;sh++;
if(sh>5)
{
sh=0;ml++;
if(ml>9)
{
ml=0;mh++;
if(mh>5)
{
mh=0;hl++;
if(hl>9)
{
hl=0;hh++;
if(hh>5)
hh=0;
}
}
}
}
}
SBUF=x[hh];
while(TI==0);
TI=0;
SBUF=x[hl];
while(TI==0);
TI=0;
SBUF=x[10];
while(TI==0);
TI=0;
SBUF=x[mh];
while(TI==0);
TI=0;
SBUF=x[ml];
while(TI==0);
TI=0;
SBUF=x[10];
while(TI==0);
TI=0;
SBUF=x[sh];
while(TI==0);
TI=0;
SBUF=x[sl];
while(TI==0);
TI=0;
SBUF=x[11];
while(TI==0);
TI=0;
SBUF=x[12];
while(TI==0);
TI=0;
}
}
//------------------------------------------------------------------------------------------------------
main()
{
TMOD=0x21;
TH0=(65536-40000)/256; //20ms 中断周期,共中断3000次,显示1分钟
TL0=(65536-40000)%256;
TL1=0xfd;
TH1=0xfd;
SCON=0xd8;
PCON=0x00;
EA=1;
ET0=1;
TR0=1;
TR1=1;
while(1);
}
#define uchar unsigned char
#define uint unsigned int
uint j=0;
uint num=0;
uchar sl,sh,ml,mh,hl,hh;
uchar code x[13]={'0','1','2','3','4','5','6','7','8','9',':',0x0d,0x0a};
//--------------------------------------------------------------------------------------------
void Time0_int() interrupt 1 using 1
{
TH0=(65536-40000)/256;
TL0=(65536-40000)%256;
num++;
if(num>50)
{
num=0;sl++;
if(sl>9)
{
sl=0;sh++;
if(sh>5)
{
sh=0;ml++;
if(ml>9)
{
ml=0;mh++;
if(mh>5)
{
mh=0;hl++;
if(hl>9)
{
hl=0;hh++;
if(hh>5)
hh=0;
}
}
}
}
}
SBUF=x[hh];
while(TI==0);
TI=0;
SBUF=x[hl];
while(TI==0);
TI=0;
SBUF=x[10];
while(TI==0);
TI=0;
SBUF=x[mh];
while(TI==0);
TI=0;
SBUF=x[ml];
while(TI==0);
TI=0;
SBUF=x[10];
while(TI==0);
TI=0;
SBUF=x[sh];
while(TI==0);
TI=0;
SBUF=x[sl];
while(TI==0);
TI=0;
SBUF=x[11];
while(TI==0);
TI=0;
SBUF=x[12];
while(TI==0);
TI=0;
}
}
//------------------------------------------------------------------------------------------------------
main()
{
TMOD=0x21;
TH0=(65536-40000)/256; //20ms 中断周期,共中断3000次,显示1分钟
TL0=(65536-40000)%256;
TL1=0xfd;
TH1=0xfd;
SCON=0xd8;
PCON=0x00;
EA=1;
ET0=1;
TR0=1;
TR1=1;
while(1);
}
- 串口中断应用实例
- STC89C52串口应用实例
- 串口中断
- 【51单片机学习过程记录】16 中断之 串口中断的应用2(中断方式)
- 中断处理--串口中断
- SerialApp-zigbee串口应用实例
- VS2010 + QT5 SerialPort 串口应用实例总结
- NVIC中断优先级管理+串口通信基本原理+串口通信基于库函数的配置实例
- 【51单片机学习过程记录】14 中断之串口中断的应用1(查询方式)
- 中断处理(串口中断)
- 【中断】中断编程实例
- Wince 串口中断驱动
- 搞定串口中断发送
- LPC2138串口中断总结
- ARM9串口中断
- STM32串口中断使用
- STM32 串口中断 BUG
- STM32串口中断使用
- 关闭窗口
- asp.net 2.0中设定默认焦点按钮
- 地铁债券、打工皇帝
- C/C++开发过程中的一些bug
- ADC0809采样转换
- 串口中断应用实例
- 解决: 安装MSN7.0的1603的问题
- 我写的市电、发电机组供电自动转换控制柜单片机程序
- 我写的一个简单的聊天程序(bcb)
- 摘要:MIDAS 中动态强制约束编程
- MySQL在Win2000下的安装
- asp.net 2.0中的弹出对话框
- 感谢 Graham Bradshaw 的帮助
- 游民稗史-程序员的小说(15)