📄 zlg7290demo.c
字号:
/******************************************************
ZLG7290键盘读取程序
******************************************************/
#include "I2C.h"
#include "ZLG7290.h"
char KeyValue = 'D';
char buff;
char KEY_INT = 0;
/***********************************************************************
函 数 名:Init_Series()
功 能:单片机串行口初始化
输入参数:
返 回 值:无
说 明:
/***********************************************************************/
void Series_Init()
{
SCON=0x50; //在11.0592MHz下,设置串行口波特率为9600,方式1,并允许接收
PCON=0x00; //波特率不加倍
TMOD=0x20; //定时器工作于方式2,自动装载方式
TL1=0xfd;
TH1=0xfd;
TR1 = 1;
ET1 = 0;
EA = 1; // 开总中断
ES = 1; // 允许串口中断
RI = 0;
}
void main()
{
Series_Init(); // 串行口初始化
ZLG7290_Init(); // ZLG7290B初始化
while(1)
{
if(KEY_INT == 1)
{
ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);
KEY_INT = 0;
}
while (buff == 'b')
{
SBUF = KeyValue;
while(TI==0);
TI=0;
KeyValue= 'D';
buff = 'c';
}
}
}
/*******************************************************
函数:INT0_ZLG7290
功能:ZLG7290键盘中断服务程序
说明:中断触发方式选择下降沿触发,因此不必等待中断请求信号恢复为高电平
*******************************************************/
void INT0_ZLG7290(void) interrupt 0 using 3
{
KEY_INT = 1;
}
/*******************************************************
函数:receive
功能:串行口中断服务程序
说明:
*******************************************************/
void receive (void) interrupt 4 using 3
{
EA=0;
RI=0;
buff = SBUF;
EA=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -