51系列单片机各中断初始化及子程序模板.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:6 大小:55KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

51系列单片机各中断初始化及子程序模板.pdf

51系列单片机各中断初始化及子程序模板.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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-715:05,OK!*************************************************************/#include<reg52.h>//如果是使用51单片机,则应该是reg51.h,//且不能使用定时器2#include<intrins.h>//以下两个包含文件在本代码中实际不需要,#include<absacc.h>//但经常用到,所以列出#defineucharunsignedchar#defineuintunsignedint#defineTimeDelay2//程序所用变量声明bitTime0Int;bitInt0Flag,Int1Flag;ucharTime0Count,Time1Count,Time2Count;ucharReceiveData;//程序所用函数声明voidMcuInitial(void);voidInitialTime0(void);voidInitialTime1(void);voidInitialTime2(void);voidIntialSerialComm(void);voidSerialSend(ucharSendData);voiddelay(uintn);/*************************************************************Function:主函数*parameter:*Return:*Modify:*************************************************************/voidmain(void){uchari;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;}}/*************************************************************Function:单片机初始化处理*parameter:*Return:*Modify:*************************************************************/voidMcuInitial(void){//外部中断0初始化IT0=1;EX0=1;//外部中断1初始化IT1=1;EX1=1;InitialTime0();//定时器0初始化//InitialTime1();//定时器1初始化InitialTime2();//定时器2初始化IntialSerialComm();//串行中断初始化,占用定时器1,//如果用串行中断,定时器1不能用于定时EA=1;//打开中断}/*************************************************************Function:定时器1初始化*parameter:*Return:*Modify:*********************