历史上的今天
返回首页

历史上的今天

今天是:2024年11月18日(星期一)

正在发生

2019年11月18日 | PIC单片机开发板之独立键盘扫描C语言代码

2019-11-18 来源:51hei

/*

为自已写的独立键盘扫描

犯的错:unsigned密写成了unsigner一直提示找不到a,b

  PORTD0=1;不行,要写成PORTD=0x01;才可以,如果一定要写,应写为RD0=1; 

  PORTD=0x03;不是第三个灯亮,而是0000 0011是两个灯亮

  PORTD=0x8则是0000 1000是第4个灯亮。。。。。出错因原进制转化,刚开始写程序进制转化混掉了。

*/

#include

#define uchar unsigned char

#define uint unsigned int

__CONFIG(0x3B31);

const unsigned char table[] = {0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7c,0x7,0x7f,0x6f}; //数码管数组

void delay(uchar x)  //延时函数

{

     uint a,b;

     for(a=x;a>0;a--)

      for(b=110;b>0;b--);

}

void scan();   //扫描键盘函数  声明

void init()        //初始化函数

{

     TRISB=0xff;  


     TRISD=0x00;  


     TRISC=0X00; 


     TRISD=0x00;  


     PORTC=0Xff;  


     PORTD=0x00; 


}


//-------------------主函数-----------------------------------------------------------

void main()

{

     init ();

     while(1)

     {

         scan();   //扫描键盘

     }

}

//-------------------------------------------------------------------------------------


void scan()  

{

if(RB0==0)

      {

      delay(10);

      while(!RB0)  PORTD=0x01;    


      }

if(RB1==0)

      {

      delay(10); 


      while(!RB1) PORTD=0x02;

      }

if(RB2==0)

  {

      delay(10); 


      while(!RB2)       PORTD=0x04;

  }

if(RB3==0)

  {

      delay(10); 


      while(!RB3)       PORTD=0x08;

  }

}

推荐阅读

史海拾趣

Easy Braid公司的发展小趣事

在技术创新和品质保证的基础上,Easy Braid开始积极拓展市场。公司不仅在国内市场取得了良好的业绩,还逐步将目光投向了国际市场。通过与国外知名企业的合作,Easy Braid成功地将自己的产品打入国际市场,实现了品牌的全球化布局。这一过程中,Easy Braid展现出了强大的市场竞争力和适应能力。

Ampex Data Systems Group公司的发展小趣事

品质一直是Easy Braid公司的生命线。在竞争激烈的市场环境中,Easy Braid始终坚持使用高品质的材料和严格的生产工艺,确保每一件产品都达到最高标准。正是这种对品质的执着追求,让Easy Braid赢得了客户的信任和口碑。随着客户群的扩大,Easy Braid的品牌影响力也逐渐增强。

ADI Electronics Inc公司的发展小趣事

ADI在发展过程中始终坚持创新,不断推出新产品和新技术。例如,在数字化转型的浪潮中,ADI积极拥抱变革,推出了一系列针对物联网、人工智能等新兴领域的解决方案。这些创新举措不仅满足了客户的需求,也进一步巩固了ADI在电子行业的领先地位。

Component Research Co公司的发展小趣事

随着公司规模的扩大,Component Research Co面临着管理上的挑战。为了提升运营效率,公司引入了一系列创新管理措施,如引入先进的生产管理系统、优化供应链管理、推行员工激励机制等。这些措施的实施使得公司的运营效率得到了显著提升,产品质量也得到了更好的保障。

Einfochips公司的发展小趣事

为了加强与芯片设计领域的合作,Einfochips公司加入了Tensilica公司的Xtensions设计伙伴计划。作为计划的一部分,Einfochips将为采用Tensilica的Xtensa可配置处理器以及Diamond Standard处理器内核的SoC设计提供服务。这一合作不仅提升了Einfochips在SoC设计领域的技术实力,还为其带来了更多的商业机会。

ENSIGN公司的发展小趣事

ENSIGN不仅关注传统电子行业的发展,还积极探索新的业务领域。最近,ENSIGN集团宣布收购位于亚利桑那州的医疗保健园区River Park Post Acute和Elmwood Senior Living,以及其他七家公司。这一收购标志着ENSIGN正逐步向医疗保健领域进军,寻求多元化的发展机会。

问答坊 | AI 解惑

Lyrtech LSP快速原型开发平台提供了全套系统级开发流程

加拿大Lyrtech公司推出的LSP快速原型开发平台集成了MATLAB/Simulink软件仿真环境和DSP+FPGA的快速原型开发板,为用户提供了一个从软件仿真到硬件测试的系统级开发流程。这套平台的软件环境是工程师们熟悉的MATLAB/Simulink,开发人员不需要花太多时 ...…

查看全部问答>

利用光纤收发器实现长距离组网

在以前的工程施工中使用了大量光纤收发器进行组网,祥子对于这一类设备还是比较了解的,因此结合这次组网(也有以前组网)的经验,向大家介绍一下光纤收发器在网络组建过程中的使用。 最近这一个月以来一直在忙一个大工程,即市至县的数字电视传输 ...…

查看全部问答>

每次都要发帖 然后才能下载

本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 每次都要发帖 然后才能下载  …

查看全部问答>

MSCAN相关编程资料求助!!感激不尽!!

毕设在做一个用freescale的DSP56F8037做的CAN多点通信协议(主要内容就是收发程序加上上层网络协议),但是外网半天找不到可以参考的程序(太久没有写程序,完全SB了),就把官网上的DSP用户手册下下来看了半天 不知道这里有没有好心人指点下哪里 ...…

查看全部问答>

西思科技诚聘Windows Mobile/CE 应用软件工程师

工作职责 1、编写基于Windows Mobile/Wince平台的手机应用程序,实现2D/3D人机交互、数据库访问、与互联网服务器交互数据等功能。 2、编写PC客户端程序,实现与手机数据同步,与互联网服务器交互数据等功能。 3、对部分模块化的代码或算法基 ...…

查看全部问答>

关于S3C2410的UART接收中断

我所做的是用S3C2410驱动ZLG500B读卡模块 以实现读卡功能 之间为UART通信 问: 在wince下 用 EVC 4 如何用C编写 arm的中断初始化 以及uart接收中断服务程序…

查看全部问答>

捕获按键

现在打开了2个Dialog,一个是CMain,一直打开不会关闭,还有一个CXXX窗体,是在CMain上方,这个是不确定的。当CXXX打开的时候,如何捕获硬键(上下左右这四个键)的消息呢?…

查看全部问答>

ucos ii 下GPRS模块通过拨号方式进行tcp连接,不知如何下手?

    现在mcu是stm32 芯片,gprs模块是华为gtm900 ,通过查找资料如果不用模块内部的协议栈的话,自己得在ucos ii上实现ppp协议与tcp/ip协议栈,现在在网上下载了ucip1-0-3,里面就是src 目录下,有相关代码,里面还有makefile,似乎应该在li ...…

查看全部问答>

STM32FLASH读保护测试,片子挂了,高手帮忙请进!

int main(void){   ....   FLASH_ReadOutProtection(ENABLE);   while(1)   {    ....   }}现在通过J-Link下载不了程序了。Debug  ...…

查看全部问答>

【MSP430共享】智能涡街流量计的设计与实现

涡街流量计众多的优点使其跻身通用流量计之一,但是当流速较低时。会存在测量不稳定的缺点。针对涡街流量传感器的非线性特性, 本系统采用16位微处理器MSP430F435为核心, 将传感器特性曲线存储在F l a s h存储器中. 实现了对涡街传感器的非 ...…

查看全部问答>