EDN首页   博客首页

7

关于投票
快乐至上

 

其实很简单——天天保持快乐的心情,就是一种无敌境界。

现在测试一下你是否有“无敌”的底子吧:

 

1、有钱男子汉,没钱汉子难! 

2、我要是妞,早爱上我了…… 

3、思想有多远,你就给我滚多远! 

4、你的就是我的,我的还是我的! 

5、我不是一个随便的人,我随便起来不是人…… 

6、大学毕业才明白,原来不是我上大学,而是大学“上”我! 

7、我是个演员,一看见漂亮MM眼就圆…… 

8、这个世界上我只相信两个人,一个是我,另一个不是你。

9、以后不要在我面前说英文,OK  

11、有钱人终成眷属。 

13、只有在大排长龙时,才能真正意识到自己是“龙的传人”。 

14、开车无难事,只怕有新人! 

15、水至清则无鱼;人至贱则无敌。 

16、男人喜欢像猫一样的女人;女人喜欢像狗一样的男人。 

18、很多人都问我为何如此有品位?其实我哪里有什么秘诀,我只不过是把别人学习的时间都用在了喝咖啡上。 

20、夏天就是不好,穷的时候连西北风都没得喝。

 

看了以上的话你觉得:

 (1)没趣。

 (2)有一点好笑。

 (3)还没有看完就认为写这话的人SB。

 (4)没品位。

 (5)很搞笑。

 (6)有想像力,有创意,并且想把这些话收藏,以后再看。 

五一节对联   上联:乡村早早鸡叫人,下联:城市晚晚人叫鸡,横批:和谐社会

青年节的问候:   平时总是强调工作忙没时间与你联络,看了《满城尽带黄金甲》后才意识到,时间就像乳沟,本来没有但挤挤总会有的,祝你青年节快乐!落款: 一个老团员向你致敬

大象和蚂蚁离婚的真实原因:  大象和蚂蚁结婚才两天就要闹离婚,法官问他们原因。“能不离吗?”蚂蚁气愤的说“接个吻还得爬20分钟。”大象更气,说,“是啊,接个吻还得拿放大镜找半天,还不能喘气!”

股市和恋爱婚姻的关系:  谈朋友叫选股,订婚叫建仓,结婚叫成交,生子叫配股,超生叫增发,感情不和叫套牢,离婚叫解套,吵架叫震荡,分手叫割肉,失恋叫跌停,第三者叫黑马,再婚叫资产重组,复婚叫反弹,再婚又离婚叫崩盘,五一节叫休市。

小保姆和男主人的关系:  农村小保姆嗓门大,男主人提醒她来客都是有地位的人,说话要小声一点。某天晚上,客人饭后玩牌,保姆想早点休息,凑近男主人耳边轻声说,“我先去睡了啊。”

                            

系统分类: 单片机
用户分类: 单片机开发
标签: 如诗心情
来源: 原创
发表评论 阅读全文(564) | 回复(0)

7

关于投票
键盘驱动

 

超逼真PDF下载版:

                            pdf

即时复制版(这里没英文注释,想要注释版请下载上面文件):

#include<reg52.h>

#include<intrins.h>

 

#define display  P1

#define keyboardCode  P2

#define uint  unsigned int

#define uchar unsigned char

 

uchar code initialKeyboardCode[] = { 0xef, 0xdf, 0xbf, 0x7f };                   //Set the initial keyboard code.

uchar code getKeyboardCode[] = { 0xee, 0xed, 0xeb, 0xe7, 0xde, 0xdd, 0xdb, 0xd7,  //When the keyboard pressed

0xbe, 0xbd, 0xbb, 0xb7, 0x7e, 0x7d, 0x7b, 0x77 }; // down ,the mcu will get one of them.

uchar code theActionCode[] = { 0xf7, 0xf4, 0xf1, 0xf0, 0xf8, 0xf5, 0xf2, 0xf0,  //The display code, you can rewrite

0xf9, 0xf6, 0xf3, 0xf0, 0xf8, 0xf5, 0xf2, 0xf0 }; // them if you want . But the code you rewrite must correspondence

// with the ”getkeyboardCode”.

 

void KeyboardScan(void)

{

    uchar sender = 0x00;

    uchar counterOne = 0x00;

       uchar counterTwo = 0x00;

 

       for(counterOne=0x00; counterOne<4; counterOne++)

       {

              keyboardCode = initialKeyboardCode[counterOne]; //Load the initialKeyboardCode

              sender = keyboardCode;                          //Get the keyboardCode when the keyboard press down

            //perhaps a delay here.

                     for(counterTwo=0x00; counterTwo<16; counterTwo++)

                     {

                            if(sender==getKeyboardCode[counterTwo]) //When a geyKeyboardCode equal to the sender ,

                            {                                    

                                   display = theActionCode[counterTwo];//Then load the display code from the theActioncode

                    //You can write you control functions here too.

                }                          

                     }                                                    

        }   

}

 

//The test main function.

void main(void)

{

    display = 0x00;

       while(1)

       {

              KeyboardScan();

       }

}

 

系统分类: 单片机
用户分类: 单片机开发
标签: 键盘驱动 键盘扫描
来源: 原创
发表评论 阅读全文(770) | 回复(2)
总共 , 当前 /