找回密码
 立即注册

QQ登录

只需一步,快速开始

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

高手速来解,程序好像发生了冲突,有数码管显示,但是流水灯不正常工作?

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

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit leds=P1^4;
sbit dula=P2^6;
sbit wela=P2^7;
uchar temp,aa,num;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6b,0x7d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//表格的定义
void delay(uint z);
void main()

 
 leds=0;
 num=0;
 aa=0;//初始化
 TMOD=0x01;
 TH0=(65535-50000)/256;
 TL0=(65535-50000)%256;
 EA=1;//开总中断
 ET0=1;//开定时器中断
 TR0=1;//起动定时器
 
 temp=0xfe;
 P0=temp;//
 dula=1;
 P0=table[0];
 dula=0;
 wela=1;
 P0=0xc0;
 wela=0;

 
     while(1)
  {
   delay(1000);
   temp=_crol_(temp,1);
   P0=temp;
   
        }
}
void delay(uint z)//延时
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void timer0() interrupt 1
{
 TH0=(65535-50000)/256;
 TL0=(65535-50000)%256;
 aa++;
 if(aa==40) 
    
    { aa=0;
     num++;
     if(num==16)
      num=0;
     dula=1;
     P0=table[num]; 
     dula=0;//以上3,
     
     
    }
 

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

使用道具 举报

沙发
ID:1 发表于 2012-10-14 14:01 | 只看该作者

你这个程序的目的是什么  想要达到什么样的效果呢?

回复

使用道具 举报

板凳
ID:45467 发表于 2012-10-14 18:37 | 只看该作者
实验啊?请问流水灯不正常为什么呢?
回复

使用道具 举报

地板
ID:42386 发表于 2012-10-23 15:07 | 只看该作者
延时时间和中断时间的冲突
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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