| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4148 人关注过本帖
标题:80C51F020单片机关于外部中断的简单问题
只看楼主 加入收藏
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
结帖率:75%
收藏
 问题点数:0 回复次数:2 
80C51F020单片机关于外部中断的简单问题
#include <c8051f020.h>   
#define uchar unsigned char
#define uint unsigned int
void SYSCLK_Init (void);
void PORT_Init (void);
sbit lcdrs=P2^5;
sbit lcden=P2^7;
sbit lcdwr=P2^6;
sbit    key1=P2^0;
sbit    key2=P2^1;
sbit    key3=P2^2;
sbit    key4=P2^3;
uchar k=0;
uchar i=1;
void delay(void)
{
    int a=10000;
    while(a!=0)
    {
        a--;
    }
 }
void write_com(uchar com)
{
 lcdrs=0;
 P3=com;
 delay();
 lcden=1;
 delay();
 lcden=0;
}
void write_date(uchar dat)
{
 lcdrs=1;
 P3=dat;
 delay();
 lcden=1;
 delay();
 lcden=0;
}
void init()
{
 lcdwr=0;
 lcden=0;
 write_com(0x38);
 write_com(0x0c);
 write_com(0x06);
 write_com(0x01);
}
void main()
{

    WDTCN = 0xde;
    WDTCN = 0xad;                       
    SYSCLK_Init ();                                                                  
    PORT_Init ();                        
 init();   
 EA=1;
 EX0=1;
 IT0=1;
 while(1)
 {

 for(i=1;i<=233;i++)
 {write_com(0x80);
 write_date(0x31+i);
 if(key1==0)
    {
        key1=1;
        delay();
        if(key1==0)
        {
P0=0XFF;
        } }
 }
  i++;}
}
 void SYSCLK_Init (void)
{
   OSCICN = 0x05;                                                                                   
 }
 void PORT_Init (void)
{

   XBR0     = 0x00;  
    XBR1=0X04;                    
   XBR2     = 0x40;
    P0MDOUT  = 0xFF;
  P1MDOUT  = 0xFF;   
   P2MDOUT  = 0xFF;
    P3MDOUT  = 0xFF;                          
}
void timer0 () interrupt 0
{
 write_com(0X01);

}
我的程序是按下外部中断的键就清屏不知道为什么我按下了,KEY1键没反应,我不知道是不是我交叉开关设错了,我要将交叉开关的外部中断0连到P0.0去。是不是我写错了代码呢
搜索更多相关主题的帖子: include void 
2012-10-20 15:46
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
收藏
得分:0 
2012-10-23 08:45
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
在为不中断中写一条点亮led的程序就可以检测开关有没有问题

最基础的往往是你最容易忽略的!
2012-10-25 21:55
快速回复:80C51F020单片机关于外部中断的简单问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036834 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved