📄 main.c
字号:
/*
程序名:
ZLG7289演示程序
文件名:
main.c
说明:
采用查询方式读取键盘值
*/
#include <reg52.h>
#include "ZLG7289.h"
/*
功能:延时0.01~655.36s
晶振:12MHz
参数:
t>0时,延时(t*0.01)s
t=0时,延时655.36s
*/
void Delay(unsigned int t)
{
do
{
TH0 = 0xD8;
TL0 = 0xF0;
TR0 = 1;
while ( !TF0 );
TF0 = 0;
TR0 = 0;
} while (--t);
}
void main()
{
unsigned char mod;
unsigned char addr;
bit dp;
unsigned char dat;
unsigned char k;
unsigned char n;
TMOD = 0x01;
Delay(30); //延时300ms,等待ZLG7289复位完毕
ZLG7289_Init(); //调用ZLG7289的初始化函数
Delay(100);
//测试
ZLG7289_Test();
Delay(200);
//复位
ZLG7289_Reset();
Delay(100);
//用不同的模式下载数据,并显示
for ( mod=0; mod<3; mod++ )
{
for ( dat=0; dat<16; dat++ )
{
dp = 0;
for ( addr=0; addr<8; addr++ )
{
ZLG7289_Download(mod,addr,dp,dat);
}
Delay(80);
dp = 1;
for ( addr=0; addr<8; addr++ )
{
ZLG7289_Download(mod,addr,dp,dat);
}
Delay(90);
}
Delay(100);
}
Delay(100);
//显示0.1234567
ZLG7289_Download(1,7,1,0);
for ( addr=1; addr<8; addr++ )
{
dat = addr;
ZLG7289_Download(1,7-addr,0,dat);
}
Delay(100);
//循环左移
for ( n=0; n<8; n++ )
{
ZLG7289_ROL();
Delay(120);
}
Delay(100);
//循环右移
for ( n=0; n<8; n++ )
{
ZLG7289_ROR();
Delay(120);
}
//左移2位
for ( n=0; n<2; n++ )
{
ZLG7289_SHL();
Delay(150);
}
//右移3位
for ( n=0; n<3; n++ )
{
ZLG7289_SHR();
Delay(150);
}
//显示01234567
for ( addr=0; addr<8; addr++ )
{
dat = addr;
ZLG7289_Download(1,7-addr,0,dat);
}
Delay(100);
//闪烁控制
dat = 0xFE;
for ( n=0; n<8; n++ ) //逐位闪烁
{
ZLG7289_Flash(dat);
dat <<= 1; dat++; //数据0xFE循环左移
Delay(150);
}
ZLG7289_Flash(0x5A); //多位可以同时闪烁
Delay(200);
ZLG7289_Flash(0xFF); //停止闪烁
Delay(100);
//消隐控制
dat = 0xFE;
for ( n=0; n<8; n++ )
{
ZLG7289_Hide(dat);
dat <<= 1; dat++; //数据0xFE循环左移
Delay(150);
}
ZLG7289_Hide(0x5A); //多位可以同时消隐
Delay(200);
ZLG7289_Hide(0xFF); //停止消隐
Delay(100);
//复位
ZLG7289_Reset();
Delay(100);
//段点亮
for ( n=0; n<64; n++ )
{
dat = n;
ZLG7289_SegOn(dat);
Delay(40);
}
//段关闭
for ( n=0; n<64; n++ )
{
dat = n;
ZLG7289_SegOff(dat);
Delay(40);
}
//键盘测试
ZLG7289_Reset();
for (;;)
{
if ( ZLG7289_pinKEY == 0 ) //有键按下
{
//读取按键值
k = ZLG7289_Key();
//显示按键值
dat = k / 10;
ZLG7289_Download(1,7,0,dat);
dat = k - dat * 10;
ZLG7289_Download(1,6,0,dat);
//等待按键抬起
while ( !ZLG7289_pinKEY );
}
Delay(5);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -