📄 key.c
字号:
/******************************************************************
本程序只供学习使用,未经作者许可,不得用于其它任何用途
欢迎光临天祥电子 www.txmcu.cn
*******************************************************************/
#include "Key.h"
#include "MyType.h"
#include "config.h"
volatile uint8 idata KeyCurrent,KeyOld,KeyNoChangedTime;
volatile uint8 idata KeyPress;
volatile uint8 idata KeyDown,KeyUp,KeyLast;
volatile uint8 KeyCanChange;
extern unsigned char s6,s7,s10,s11,s14,s15,s,again1,again2,again3,again4,again5,again6,pp,qq,rr,ss,tt,uu;
/********************************************************************
函数功能:定时器0初始化,用来做键盘扫描。
入口参数:无。
返 回:无。
备 注:无。
********************************************************************/
void InitTimer0(void)
{
TMOD&=0xF0;
TMOD|=0x01;
ET0=1;
TR0=1;
}
/*******************************************************************/
/********************************************************************
函数功能:键盘初始化
入口参数:无。
返 回:无。
备 注:无。
********************************************************************/
void InitKeyboard(void)
{
KeyIO=0xFF; //键盘对应的口设置为输入状态
KeyPress=0; //无按键按下
KeyNoChangedTime=0;
KeyOld=0;
KeyCurrent=0;
KeyLast=0;
KeyDown=0;
KeyUp=0;
InitTimer0(); //初始化定时器
KeyCanChange=1; //允许键值改变
}
/*******************************************************************/
/********************************************************************
函数功能:定时器0中断处理。
入口参数:无。
返 回:无。
备 注:22.1184M晶体约5ms中断一次。
********************************************************************/
void Timer0Isr(void) interrupt 1
{
//定时器0重装,定时间隔为5ms,加15是为了修正重装所花费时间
//这个值可以通过软件仿真来确定,在这里设置断点,调整使两次运行
//时间差刚好为5ms即可。
TH0=(65536-Fclk/1000/12*5+15)/256;
TL0=(65536-Fclk/1000/12*5+15)%256; //
if(!KeyCanChange)return; //如果正在处理按键,则不再扫描键盘
P3|=0x34;
csda=0;
if(lcden==0)
{
again1=1;
s14=1;
}
if(lcden&again1)
{
pp=1;
again1=0;
}
if(rs==0)
{
s15=1;
again2=1;
}
if(rs&again2)
{
again2=0;
qq=1;
}
s=s14|s15|pp|qq;
}
/*******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -