大奖娱乐官方网站_大奖娱乐老虎机_在线【大奖娱乐平台】

pic单片机4*4键盘扫描程序

2017-12-06 20:07:22来源: eefocus 关键字:pic单片机  4*4键盘  扫描程序

#include             
 __CONFIG(0x1832);    
const char TABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};  //定义常数0-9的数据表格 

      
 volatile unsigned char  result=0,temp=0,f=0;  
 volatile unsigned int   total=0,ge=0,shi=0,bai=0,qian=0,c=1; 
 void  delay();              //delay函数申明 
 void  init();               //I/O口初始化函数申明 
 void  sCAN();               //按键扫描程序申明 
 void  display(unsigned int x);       //显示函数申明 
//--------------------------------------------------- 
                             //主程序   
void main() 

   init();                  //调用初始化子程序 
  while(1)                   //循环工作 
    { 
          
       scan();                 
       display(result);  
    } 
 } 
  
//--------------------------------------------------- 
//初始化函数 
void init()  
 { 
   
  ADCON1=0X07;               //设置A口为普通I/O口 
  TRISA=0B00000000;          //设置A口高2位为输出,低4位为输入 
  TRISC=0B11110000;          //设置C口高4位为输入,低4位为输出 
  TRISD=0X00;                //设置D口为输出 
  PORTA=0XFF;               
  PORTD=0XFF;                //先清除所有显示 
 } 

//-----------------------------------------------3--- 
//按键扫描程序 
void scan(){  
               PORTC=0xff; 
               RC3=0;                           { if(RC4==0) result=1; if(RC5==0) result=2;  if(RC6==0) result=3; if(RC7==0) result=4;} 
                
               
               PORTC=0xff; 
               RC2=0;                          { if(RC4==0) result=5; if(RC5==0) result=6;  if(RC6==0) result=7; if(RC7==0) result=8;} 

               
               PORTC=0xff; 
               RC1=0;                           { if(RC4==0) result=9; if(RC5==0) result=10;     if(RC6==0) result=11; if(RC7==0) result=12;} 
               
              
               PORTC=0xff; 
               RC0=0;                            { if(RC4==0) result=13; if(RC5==0) result=14;  if(RC6==0) result=15; if(RC7==0) result=16;} 
            //  if(temp!=result) {f++; if(f==1) qian=1000*result; if(f==2) bai=100*result;  if(f==3) shi=10*result; if(f==4) ge=result; } if(f==4)   while(1){total=ge+shi+bai+qian; display(total); }  
  
 } 

//---------------------------------------------------------- 
//显示程序 
 void  display(unsigned int x)                      //电压显示函数   
   { 
    
     unsigned int g,s,b,q;   //定义6个临时变量 
    // temp=result;  c=1; 
     q=x/1000; 
     b=x%1000/100;             //求显示的千位         
     s=x%100/10;             //求显示的百位 
     g=x%10;                  //求显示的十位 
   
     PORTD=TABLE[q];      //显示一个小数点 
     PORTA=0B11111110;             //RA0输出低电平,点亮千位显示      
     delay(1);  

     PORTD=TABLE[b];            //查表得百位显示的代码 
     PORTA=0B11111101;            //RA1输出低电平,点亮百位显示 
     delay(1);                    //延时一定时间,保证显示亮度 

     PORTD=TABLE[s];             //查表得十位显示的代码 
     PORTA=0B11111011;            //RA2输出低电平,点亮十位显示 
     delay(1);                    //延时一定时间,保证亮度 

     PORTD=TABLE[g];             //查表得十位显示的代码 
     PORTA=0B11110111;             //RA3输出低电平,点亮十位显示 
     delay(1);                    //延时一定时间,保证亮度 

     PORTD=0xff; 

   }  
//------------------------------------------------------------------ 
//延时程序 
void  delay()              //延时程序 
    { 
     int i;                 //定义整形变量 
     for(i=0x100;i--;);     //延时 
    } 


关键字:pic单片机  4*4键盘  扫描程序

编辑:什么鱼 引用地址:/mcu/article_2017120636617.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:pic单片机 DS18B20采样 LCD1602显示
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
pic单片机
4*4键盘
扫描程序

小广播

热门关键词

单片机  单片机技术  PIC单片机技术                         

大学堂最新课程

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

大奖娱乐官方网站世界版权所有 京ICP证060456号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright ? 2005-2017 EEWORLD.com.cn, Inc. All rights reserved