本人不才,开是学习单片机有一年多了。可是到现在还觉得自己是个菜鸟。个人觉得写的最好的一本单片机书是《单片机接口技术实用子程序》,这本书写的很好,内容也不错。
最近在使用WINBOND的单片机,型号是W79E632,这款单片机真的很不错,128K的ROM,4K的LD ROM,具有ISP功能,程序指令完全与51单片机兼容。
现在转如正题,刚开始用这款单片机的时候,我写了个键盘程序,本以为这个程序是没有一点问题的,可是事情却不是这个样子,烧进去了程序,可是却没有什么反应。结果问你一位高手,他叫我加个按键的释放。我加了进去,重新下载,挖!高手就是高手,程序跑了起来,完全按照我的意思来运做。下面便是我的程序:
#include <W79E632.h>
#define uchar unsigned char
#define uint unsigned int
void delay_time(uint t);
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_4=P1^4;
uchar i="0";
void main (void)
{
P1|=0X07;//开始灯都不亮
while(1)
{
if(P1_4==0)
{
delay_time(5000);//看看有没有键按下
if(P1_4==0)
{
i++; //确实有键按下,i加1
switch(i)
{
case 1 : P1_0=0; break;//按第一下,红灯亮
case 2 : P1_1=0; P1_0=1; break;//再第二下,黄灯亮
case 3 : P1_2=0; P1_1=1; break;//按第三下,绿灯亮
case 4 : P1_2=1; i="0"; break;//按第四下,都不亮
default : break;
}
while(P1_4==0);//这就是按键的释放,这个小东西还真是有用啊!
}
}
}
}
void delay_time(uint t)
{
uint j="0";
for(j;j<t;j++);
}
用户1267818 2007-4-1 10:20
mike 你是?
谢谢你给我留言!
用户15237 2007-3-29 14:56