关于单片机按键编程的问题~~其中p1口接矩阵按键。

[复制链接]
查看11 | 回复1 | 2011-4-12 12:48:44 | 显示全部楼层 |阅读模式
/**************按键开关应用之数码管变数****************/
//按s1键从0到9,若s2从9到0;一开始数码管默认显示0
#includereg52.h
#define uchar unsigned char
sbit S1=P1^0;
sbit S2=P1^1;
sbitGROUND=P1^4;

ucharcode table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9数字
voiddebouncer();
main()
{


int i;
while(1)
{
GROUND=0x00;
P2=0xff;//选中一个数码管
P0=0x3f;//默认亮0
if (S1==0)
{
debouncer() ;
P0=table;
if(i==10)
P0=0x3f;



}
else if(S2==0)
{i=9;
debouncer() ;
P0=table[i--];
if(i==-1)
P0= 0x6f;

}


}
}





void debouncer()
//防抖函数,延迟20ms

{

int i;

for(i=0;i200;i);


}
回复

使用道具 举报

千问 | 2011-4-12 12:48:44 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">,开发板上应该要有流水灯,矩阵键盘,数码管或者液晶,以及一些传感器,这些基本的东西,学习使用它们,能使你快速上手。51单片机,一般都在10RMB以下,开发板不是只看单片机的价格,外接的元器件,有的也很耗RMB啊!比如接个12864液晶,现在大概50RMB左右。如果你想省钱,那就让别人给你搭个电路,去买些电子元件,个把小时就能搞定,然后基本就是每天实验,有什么不会了,在看书,查资料。但我建议还是买个开发板,不要功能太多,只要有那些普通的东西就行,因为自己搭的电路,对于硬件上的问题,有时候会使你很头疼。学单片机,你至少手头得有一个块开发板,这是必须的,没有硬件,想学好单片机,就是空谈。看不看视频教程并不重要,重要的你要先弄懂,用什么下程序(软件和硬件),给你一段程序,你能不能正确的把它下进单片机,编程的软件怎么使用。有了这基本的东西,就开始写最简单的C程序,当程序down进去,看不到现象,那就开始找错误,然后在改,这样反复进行,慢慢的你就会喜欢上单片机的。个人的经验,我学单片机的时候也没看过视频,看理论方面的书籍,最多也不超过5天。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行