打印

8IO口高两位莫名其妙置低

[复制链接]
1099|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2001myp|  楼主 | 2009-3-10 08:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO, AC, se, ui, FOR
#include <REG51.H>        
#define uchar unsigned char
#define uint unsigned int
uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar ACT[4]={0xfe,0xfd,0xfb,0xf7}; 
/***************************************************************/
uint data cnt;            
bit bdata bitflag;            
/**********************************************/
void init(void)                    
{                            
    bitflag=0;                    
    EX0=1;                    
    IT0=1;                    
    EA=1;                    
}                            
/**************************************************/
void delay(uint k)                
{                            
uint data i,j;                    
    for(i=0;i<k;i++)            
    {                        
    for(j=0;j<121;j++){;}        
    }                        
}                            
/**************************************************/
void main(void)                
{    uchar i;                    
    init();                    
    while(1)                    
    {                        
    if(bitflag)cnt++;            
    if(cnt>999)cnt=0;            
        for(i=0;i<100;i++)        
        {                    
        P0=SEG7[cnt/100];    
        P2=ACT[2];            
        delay(1);                
        P0=SEG7[(cnt%100)/10];
        P2=ACT[1];            
        delay(1);                
        P0=SEG7[cnt%10];    
        P2=ACT[0];            
        delay(1);                
        }                    
    }                        
}                            
/************************************************/
void extern_int0(void) interrupt 0 using 0    
{                            
bitflag=!bitflag;                
}                            
                            
上面的程序是用一按键来实现中断,下降沿有效,按一下开始计数并送数码管显示,再按一下停,现在功能有没有实现我不清楚,但我无论是仿真还是真正调试都发现P0.7和P0.6莫名奇妙的置低了,换到P1口也一样,另外我在初始化函数里面即使把它们都置高或者置低也没效果,很是奇怪,哪位能指点下

相关帖子

沙发
ayb_ice| | 2009-3-10 20:54 | 只看该作者

P0口要接上拉电阻

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

210

帖子

0

粉丝