- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51 单片机各中断初始化及子程序模板
/************************************************************
*51 单片机各中断初始化及子程序模板,几乎包括了传统 51 单片机的全部中断
*1 、外部中断 0
*2 、定时器中断 0
*3 、外部中断 1
*4 、定时器中断 1
*5 、串行中断
*6 、定时器中断 2---本中断在 52 时才有
* 以上所有中断已经在 Keil 软件环境上经过测试,工作正常
* 在使用定时中断的时候需要根据实际需要重设定时器的初值和工作方式
* 在串行通讯中,使用 11.0592M 晶振,通讯波特率为 9600bps
* 为了保证文件的单一和方便保存,本项目只用了一个文件,
没有进行模块化处理,在实际应用中不建议这样做
* 本程序在 UE11.00b 下编辑,在 KeilV3.23 (C8.01 )下编译调试
* 本程序仅供初学者参考使用,细节问题未涉及,在实际项目中请谨慎使用
*Author: 大灵通
* 昌宁科技,欢迎您提出宝贵意见!
*2006-12-7 15:05 ,OK!
*************************************************************/
#includereg52.h// 如果是使用 51 单片机,则应该是 reg51.h ,
// 且不能使用定时器 2
#includeintrins.h// 以下两个包含文件在本代码中实际不需要,
#includeabsacc.h// 但经常用到,所以列出
#define uchar unsigned char
#define uint unsigned int
#define TimeDelay 2
// 程序所用变量声明
bit Time0Int;
bit Int0Flag,Int1Flag;
uchar Time0Count,Time1Count,Time2Count;
uchar ReceiveData;
// 程序所用函数声明
void McuInitial(void);
void InitialTime0(void);
void InitialTime1(void);
void InitialTime2(void);
void IntialSerialComm(void);
void SerialSend(uchar SendData);
void delay(uint n);
/************************************************************
*Function: 主函数
*parameter:
*Return:
*Modify:
*************************************************************/
void main(void)
{
uchar i;
McuInitial();
delay(TimeDelay);
while(1)
{
if(Int0Flag==1)// 各中断的具体处理
{
Int0Flag = 0;
}
if(Int1Flag==1)
{
Int1Flag = 0;
}
if(Time0Count==5)
{
Time0Count = 0;
}
if(Time1Count==5)
{
Time1Count = 0;
}
if(Time2Count==5)
{
Time2Count = 0;
}
SerialSend(i);
i++;
if(i=0xff)
i=0;
}
}
/*************
原创力文档


文档评论(0)