?? main.c
字號:
/*
程序名:
ZLG7289演示程序
文件名:
main.c
說明:
采用查詢方式讀取鍵盤值
*/
#include <reg52.h>
#include "ZLG7289.h"
/*
功能:延時0.01~655.36s
晶振:12MHz
參數(shù):
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(); //調(diào)用ZLG7289的初始化函數(shù)
Delay(100);
//測試
ZLG7289_Test();
Delay(200);
//復位
ZLG7289_Reset();
Delay(100);
//用不同的模式下載數(shù)據(jù),并顯示
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);
//循環(huán)左移
for ( n=0; n<8; n++ )
{
ZLG7289_ROL();
Delay(120);
}
Delay(100);
//循環(huán)右移
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++; //數(shù)據(jù)0xFE循環(huán)左移
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++; //數(shù)據(jù)0xFE循環(huán)左移
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);
}
//段關(guān)閉
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 + -