irqkeyread.c

来自「led驱动采用ch451驱动芯片」· C语言 代码 · 共 56 行

C
56
字号
#include<reg51.h>
#include<intrins.h>
#include"ch451.h"
//#include"LEDDisplay.c"

//sbit CH451_DOUT=P3^3;
uint ReadCh451()
{
    uchar i;
    uchar cmd ,keycode;
    EA=1;
    EX1=0;
    cmd=0x07;
    CH451_LOAD=0;
    for(i=0;i<4;i++)
    {
      if((cmd&0x1)==1)
         CH451_DIN=1;
      else
         CH451_DIN=0;    
      CH451_DCLK=0;
      cmd>>=1;
      CH451_DCLK=1;  
    }
    CH451_LOAD=1;
    keycode=0;
    for(i=0;i<7;i++)
    {
       keycode<<=1;
       keycode|=CH451_DOUT;
       CH451_DCLK=0;
       CH451_DCLK=1;
     }
     IE=0;                //清除中断标志   
     EX1=1;
     return(keycode);
} 

void IRQKeyRead() interrupt 2
{
    uchar key;
    uchar key0,key1;
    key=ReadCh451();
    key0=key/10;
    key1=key%10;
    if(key0!=0)
        LEDDisplay(0,CH451_DIG1|key0);
    else
        LEDDisplay(0,CH451_DIG1|0x10);
    LEDDisplay(0,CH451_DIG0|key1);
}
   
    
    
       

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?