pic 4*4键盘扫描程序

发布者:Tiger8最新更新时间:2017-12-07 来源: eefocus关键字:pic  4*4  键盘扫描 手机看文章 扫描二维码
随时随地手机看文章

#includeIC.h>             
 __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  键盘扫描 引用地址:pic 4*4键盘扫描程序

上一篇:LCD1602 C程序
下一篇:PIC单片机LED流水灯程序

推荐阅读最新更新时间:2024-03-16 15:48

机构预计三星电子Q2将出现营业亏损 上一次还是2008年Q4
据报道,预计一季度的营业利润将同比下滑近96%,降至6000亿韩元的三星电子,目前的处境并不乐观,消费电子产品、芯片需求仍不理想,他们二季度的业绩也预计将承受更大的压力。 对于二季度,目前已有多家机构预计三星电子将时隔近15年再次出现营业亏损。 从外媒的报道来看,Hi Investment&Securities公司是预计三星电子在二季度将出现最多1.28万亿韩元的营业亏损;SK证券是预计三星电子在这一季度营业亏损6000亿韩元;三星证券则是预计会出现2790亿韩元的营业亏损。 在报道中,外媒提到,三星电子在二季度若真如相关机构预计的那样出现营业亏损,就将是他们自2008年的四季度以来,再次出现营业亏损。在2008年的四
[半导体设计/制造]
基于PIC单片机芯片的三相半控整流电路设计
  整流电路广泛应用在直流电机调速,直流稳压电压等场合。而三相半控整流桥电路结构是一种常见的整流电路,其容易控制,成本较低。本文中介绍了一种基于 PIC690单片机与专用集成触发芯片TC787的三相半控整流电路,它结合专用集成触发芯片和数字触发器的优点 ,获得了高性能和高度对称的触发脉冲。它充分利用单片机内部资源 ,集相序自适应、系统参数在线调节和各种保护功能于一体,可用于对负载的恒电压控制。主电路采用了三相半控桥结构,直流侧采用LC滤波结构来提高输出的电压质量。       系统总体设计   本系统通过PIC690单片机作为主控制芯片,用晶闸管作为主要开关器件。设计的目标是保持输出的直流电压稳定,输出电压纹波小,交流输出测电
[单片机]
Strategy Analytics: 4x4 MIMO为用户带来千兆级体验
Strategy Analytics网络和服务平台以及射频&无线元件咨询服务近期发布的研究报告《4x4 MIMO推动4G发展,并为消费者带来千兆级体验》指出,近期在商用网络的现场测试结果证明了4x4 MIMO能够有效的提高网络表现和用户体验,终端生态系统正快速的发展以支持4x4 MIMO。该报告预计,4x4 MIMO将会在4G基础设施市场保持发展势头,并将成为主流的旗舰手机的配置。 Strategy Analytics无线网络和服务总监杨光表示,“现场测试的结果证明4x4 MIMO 能够成为移动运营商有效的工具来提高网络承载能力以及用户体验,从而满足快速发展的移动数据需求。由于5G覆盖率在部署早期将会相对有限,消费者无缝的移动
[网络通信]
华人运通L4全自主代客泊车系统完成开发,落地投入试生产
蓝鲸汽车9月14日讯,华人运通宣布L4全自主代客泊车系统(AVP)在上海完成开发,并在高合HiPhi X量产车上完成测试投入试生产。这也是国内首个基于车路协同的L4全自主代客泊车系统在量产电动车上的落地。 全自主代客泊车系统AVP(Automated Valet Parking)是基于车路协同开发的L4高阶自动驾驶,能克服停车场内无GPS定位信号、转折遮蔽较多、传感器盲区大等单车智能难以解决的困难,使高合HiPhi X拥有目前最可靠的全自主泊车功能。 据悉,即将于北京车展上市的华人运通旗下首款智能电动车高合HiPhi X将搭载该技术,并成为国内首个实现了量产L4全自主泊车的智能电动车。 除了实现了AVP,高合HiPh
[汽车电子]
华人运通L<font color='red'>4</font>全自主代客泊车系统完成开发,落地投入试生产
三星宣布Galaxy设备安全更新周期延长到4年以上
在最近几年时间里,三星在系统更新方面有了非常大的改进,并向用户承诺及时提供系统和安全更新。去年,三星宣布所有 Galaxy 旗舰机型和大部分中端设备都能获得 3 年的 Android 操作系统升级。而今天三星再次宣布 Galaxy 设备将至少获得 4 年的安全更新。 三星此前的更新政策是为支持的设备提供 2 年的 Android OS 更新以及提供 3 年的安全更新。现在安全支持时间已经延长到 4 年。然而,这项新政策仅适用于较新的设备。三星表示除了最新的设备外,自 2019 年以来符合条件的设备将获得 4 年的安全更新。该政策变化适用于每月和每季度的安全补丁发布时间表。   符合条件的设备包括 Galaxy Z、
[手机便携]
IBM将在英增设4处数据中心 全欧合计达16处
随着客户需求不断增加,IBM宣布将扩大在英国投资,增设4处具有认知智能运算能力的数据中心服务。这些服务开放后,该公司在英国提供数据中心数将达6处,在欧洲总数达16处。目前IBM已在全球设有超过50处的数据中心服务。 根据IBM官网,过去5年英国云端服务采用率已提高到84%,并且使用两项或更多项云端服务的用户占78%。此外,预估2020年全球公共云服务市场规模有望超越1,950亿美元。 此次IBM在英国的投资,将使客户在数据管理上具有更大的灵活性、透明度与控制性,并可使业者直接运用当地数据中心,部署IT作业与运行云端业务。其中位于英国Fareham地区的新数据中心服务,预计会率先于2016年底开放使用,其余三处则会于2017
[手机便携]
我国TD—LTE成为4G国际主流标准
    TD—LTE已在全球开通试验网36个 杭州、深圳等地TD—LTE试商用,年内在香港开始商业服务 中东、日本、巴西、英国等地9家运营商启动商用TD—LTE服务 全球几乎所有通信系统和芯片制造商都支持TD—LTE制式 本报北京7月5日电 (记者王政)步入中国移动(微博)厦门分公司无线城市体验厅,两台大尺寸显示屏上,4路720P高清视频,将高崎机场周边道路的实时影像显示得分外清晰。 走进位于杭州河东路上的布丁酒店,免费租用4G网关设备,搜索并连接上名为“CMCC—4G”的无线热点,客户便可实现高速无线上网。最高可达到每秒40MB、稳定在2MB左右的下载速度,同时打开七八个视频,一点都不卡。 在中国移动南方基地智慧南方馆体验现场,一
[手机便携]
基于PIC16F877单片机的简易数字电压表设计及proteus仿真
1.系统功能 1.1可测0~5V的8路输入电压值; 1.2在LED数码管上轮流显示; 1.3单路选择显示; 2.系统硬件设计 2.1 单片机采用PIC16F877 2.2 键盘为4×4行列式键盘,按键设有10个数字键0……9,和5个功能键依次是:各通道轮流显示键、单通道显示键、向左滚动显示键、显示启动/停止键、回车键。 2.3有3位LED管,左边1位用于指示显示通道,右边2位显示电压值,保留到小数点后面1位。 3系统软件设计 3.1键盘管理程序(包括键扫描、键处理程序); 3.2LED动态显示程序; 3.3各通道轮流显示,共显示8个通道,每通道显示1s; 3.4 单通道显示,仅显示指定通道电压,并保持到其他功能键按下。 仿真原理图
[单片机]
基于<font color='red'>PIC</font>16F877单片机的简易数字电压表设计及proteus仿真
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved