⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex4-9.c

📁 键盘 显示程序
💻 C
字号:
#include <reg51.h>
#define TIMER0_COUNT 0xEE11 /* 10000h - ((12,000,000/(12*200))*/
code seven_seg[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
code scan[4] = {0X0E,0X0D,0X0B,0X07};
unsigned char counter[4] = {0, 0, 0, 0};
unsigned char timer0_tick, k = 0;
unsigned char gotkey();
unsigned char TOMD;
static void timer0_isr (void) interrupt 1
{
  TR0 = 0;
  TL0 = (TIMER0_COUNT & 0x00FF);
  TH0 = (TIMER0_COUNT >> 8);
  TR0 = 1;
  P1 = seven_seg[counter[k]];
  P3 = scan[k];
  k++;
  if (k == 4) k = 0;
  timer0_tick++;
  if (timer0_tick == 200) timer0_tick = 0;
}

static void timer0_initialize(void)
{
 EA = 0;
 timer0_tick = 0;
 TR0 = 0;
 TOMD &= 0XF0;
 TOMD |= 0X01;
 TL0 = (TIMER0_COUNT & 0x00FF);
 TH0 = (TIMER0_COUNT >> 8);
 PT0 = 0;
 ET0 = 1;
 TR0 = 1;
 EA = 1;

}
void main(void)
{
  unsigned char c=0;
  char ch;
  timer0_initialize();
  do{
     ch = gotkey();
	 for (c=3;c>0;c-- )
	   counter[c] = counter[c-1];
	   counter[0] = ch;

  } while(1);
}

⌨️ 快捷键说明

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