找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机外部中断0实验程序

[复制链接]
跳转到指定楼层
楼主
ID:76556 发表于 2015-4-10 03:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


我用的数码管静态显示与外部中断和蜂鸣器结合起来的
也就是说当没有中断时 数码管正常显示数字 当中断启动时数码管暂停数字显示(这里值得注意的是暂停显示并不是将数码管熄灭只是暂停在那个位置^v^)
>>>>一旦中断启动单片机会暂停数码管显示>然后让蜂鸣器以间隔100鸣叫
提示:(这里  我选择的是电平触发方式  低电平接口我用的P3^6口 )



#include<reg51.h>
#define xx unsigned int
#define qq unsigned char
xx code ww[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71};
qq code ee[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
#define dd P2
#define ff P0
sbit d37=P3^7;
sbit d10=P3^6;
void time(xx);

void main()
{

EX0=1;
IT0=0;
EA=1;
P2=0;
P0=1;
d10=0;

                 
        while(1)
        {

qq o;
                for(o=0;o<8;o++)
                {
                     P2=ww[o];
                     P0=ee[o];
                     time(100);
                 
                 
                }
        }
}
void time(xx l)
{
xx x,y;
for(x=100;x>0;x--)
    for(y=l;y>0;y--);
}
void wbzd0() interrupt 0
{
    d37=1;
    time(100);
    d37=0;
    time(100);
}




设计者:薛yh


评分

参与人数 1黑币 +5 收起 理由
神奇国度 + 5 很给力!

查看全部评分

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

使用道具 举报

沙发
ID:76556 发表于 2015-4-10 03:15 | 只看该作者
中断功能是单片机的最重要功能之一,是必须掌握的,
回复

使用道具 举报

板凳
ID:61484 发表于 2015-4-14 23:34 | 只看该作者
学习一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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