导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[warmsmile]初学者:救命!!!很着急呀!!



No.17974
作者:warmsmile
邮件:
ID:3895
登陆:3次
文章数:15篇
最后登陆IP:61.145.234.125
最后登陆:2003/6/27 15:04:09
注册:2002/11/15 18:49:00
财富:82
发帖时间:2003/1/24 10:49:00
发贴者IP:61.145.234.235
标题:warmsmile:初学者:救命!!!很着急呀!!
摘要:No.17974初学者:救命!!!很着急呀!! 各位DX,我编了一个键盘程序,很简单的,可是不知道为什么总是无法正确执行。请大家帮
帮忙。以下是我的程序:
               #include <reg51.h>
               unsigned char oldkey1, KeyVal=0,Key1,Key2,Key3,oldKey1, oldKey2,
       oldKey3,ch;
               unsigned int cn;
                unsigned char buffer[3];
                unsigner char table[41]={,,,,,}//显示数据
       void wait_free(uchar k){  
            uchar  t;             
           t=k;                 
            while(--t);
       } 
                
           void ShowKeyInit(void) {
           uchar i;
           scan=0;
           KeyVal=0;
           Key1=0;
       Key2=0;
       Key3=0;
           oldKey1=1;
           oldKey2=1;
       oldKey3=1;
           cn=0;
       ch=0;
           KeyCounter=0;                //键值计数器
          for(i=0;i<3;i++) 
              buffer[i]=i*10;            //显示缓冲区清
            fKey=0;
           }   
                     
          void HardwareInit(void){           
                 TMOD=0x21;               // 初始化Timer0模式1,Timer1模式2,
                 TH0=-TH0_HIGH;           //for 2.5ms,3个数码管
                 TL0=-TL0_LOW;    
                 ET0=1;
                 TR0=1;
                 EA=1;
         } 
         
                  
          #pragma disable
          void display(uint ShowData){
                uint tmp;                           // 计算显示结果
             uchar i;
             tmp=ShowData;
             for(i=0;i<3;i++){
                buffer[i]=(uchar)(tmp)%10+10*i;
                tmp=tmp/10;  
             }  
             if(buffer[2]==20){                          //屏蔽无效0
                buffer[2]=41;
                if(buffer[1]==10)
                   buffer[1]=41;
              }    
        }
        void KeyAlter(void){
              if(KeyVal==ADDKEY){               //增量键处理
                     cn++;
                      if(cn>=56)
                      cn=2;
               }       
              else {                              //减量键处理
                     cn--;
                      if(cn==0)
                          cn=56;    
                }
           display(cn);
              return ;
         
      }  
 &nb ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:78531毫秒 查询6次