找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4020|回复: 0
打印 上一主题 下一主题
收起左侧

单片机响应中断时中断程序和主程序同时执行,求大神帮忙看看我的程序是不是有错误...

[复制链接]
跳转到指定楼层
楼主
ID:93371 发表于 2015-10-23 20:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
void delay(uint z);
sbit D1=P1^4;
void main()                        //进入主函数之前设置中断。
{           //所有地址能被8整除的寄存器均可进行位寻址(即直接操作某一位)。
uint LED=0;        //一定要先定义变量,否则程序无法编译。
EA=1;         //开总中断。
EX0=1;                         //开外部中断0(电平触发和跳变沿触发两种触发方式)。
IT0=0;         //电平触发方式(默认的触发方式,单片机上电后即为电平触发)。
while(1)
{
  D1=1;
  LED++;                //变量的自加1,等价于LED=LED+1;
  P0=LED7Code[LED%16];   //%为求余符号,a%b的结果是a除以b的余数,0x7f是显示小数点。
  delay(200);
}
}

void delay(uint z)
{
uint x,y;
for(x=500;x>0;x--)
  for(y=z;y>0;y--);
}

void exter0() interrupt 0   //中断函数不需要声明。
{
D1=0;
}





十分感谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表