求做单片机课程设计:4×4 键盘在LCD显示屏上的应用

具体要求:键盘控制LCD显示屏显示不同内容。每个数字键均有对应图片显示;当按下数字键时,数字键对应的图片在LCD显示屏上显示。要求有protuse的图及C程序。要RMB就... 具体要求:键盘控制LCD显示屏显示不同内容。每个数字键均有对应图片显示;当按下数字键时,数字键对应的图片在LCD显示屏上显示。 要求有protuse的图及C程序。要RMB就算了,求好心人 吧。344509088 展开
 我来答
百度网友9f617fa
2012-07-08 · 超过12用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:36.6万
展开全部

这是C语言写的:

#include<reg51.h>

#include<intrins.h>

#include<absacc.h>

#define uchar unsigned char

#define uint unsigned int

#define led P0

sbit  c1=P2^0;

sbit c2=P2^1;

uchar j,b;

uchar num;

uchar code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

///////////////////////////////////////////delay 

void delay(unsigned int c)

{

while (c!=0)

  {

    unsigned int i;

 for(i=0;i<100;i++);

 c--;

  }

}

////////////////////////////////////////////

uchar checkkey()

{

uchar i,j;

j=0x0f;

P3=j;

i=P3;

if(i==j) return(0);

else return (1);

}

//////////////////////////////////////

uchar scan()

{

uchar scancode,codevalue;

uchar i,j;

uchar m=0;

uchar k,x;

if(checkkey()==1) 

{

     delay(100);

     if(checkkey()==1)//key_presss

    {

     scancode=0xfe;

  m=0x00;

    for(i=1;i<=4;i++)//line_scan

     {

         k=0x10;

         P3=scancode;

         x=P3;

           for(j=1;j<=4;j++)//row_scan

           {

             if((x&k)==0)

              {

                codevalue=m+j;

                while(checkkey()!=0);

                return (codevalue);

               }

      else k=k<<1;

    }

   m=m+4;

   scancode=~scancode;

   scancode=scancode<<1;

   scancode=~scancode;

   }

}

}

}

//////////////////////////////////////////////////////////

void display(uchar num)

{

 if(num<10)

 { 

   c1=0;

   c2=1;

 

   led=a[num];

   delay(800);

 }

 else

 {

 for(j=0;j<10;j++)

   {

   c2=0;

   c1=1;

   led=a[num/10];

   delay(400);

   c1=0;

   c2=1;

   led=a[num%10];

   delay(40);

   c2=0;

   c1=0;

   

}

 }

 }

///////////////////////////////////////////////////////

void main()

 {

uchar d;

 while(1)

 {

 if(checkkey()==1)

      {

   

      d=scan();

   delay(100);

  display(d);

   }

 

}

}

 

 

Hatsune_miku3
2012-06-29
知道答主
回答量:1
采纳率:0%
帮助的人:2.7万
展开全部
LS那个叫summmoner的就是一脑 残。
你有空看看他给人回答的问题,哪有好好答的,不是装X就是冷嘲热讽的,这就是做人就有问题。
人类不需要你这样的,你配做人么?一天BB的,你是不是觉得自己可美了?
这种人,LZ别跟他一般见识,信我的,他在这么造孽,明天他母亲就出车祸了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琴柏涓6
2012-06-28 · TA获得超过213个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:113万
展开全部
没有RMB 没有分数。。。

要求还不少

呵呵
更多追问追答
追问
分是真没有 哥不玩百度这玩意 钱哥有的是 就是不乐意给你这种吃软饭的
对你这种人无话可说 只能说 呵呵
追答
对你这种伸手的乞丐,哥就是不给你

连这个都写不出来,最多是个在大学里面天天泡网吧的穷矮撮,还装
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式