?? hd7279.c
字號(hào):
#include<regx51.h>
#include"HD7279.h"
uchar digit[5]={0,0,0,0,0} ;
uchar keynumber;
uchar cnt,k1,k2;
void main()
{
reset=0;
delay1ms(10);
reset=1;
delay1ms(30);//reset接高電平時(shí),HD7279大約要經(jīng)過18-25ms的時(shí)間才會(huì)進(jìn)入正常工作狀態(tài)
send_byte(CMD_RESET);//復(fù)位
send_byte(CMD_TEST);//測(cè)試
delay1ms(3000);//延時(shí)3s
send_byte(CMD_RESET);//清除顯示
cnt=0;
keynumber=0xff;
write7279(FLASH,0XFC);//1,2兩位閃爍
write7279(UNDECODER,0X08);//第1位顯示‘—’
write7279(UNDECODER+1,0X08);//第2位顯示‘—’
do
{
if(!key)
{
keynumber=read7279(CMD_READ);//讀出鍵碼
write7279(DECODER1+1,keynumber/16);//讀出高四位
write7279(DECODER1,keynumber&0x0f);//讀出低四位
while(!key);//等待按鍵釋放
cnt=0;
}
cnt++;
}while(keynumber!=0&&cnt<0x30000);//如果按鍵為0或超時(shí)進(jìn)入下一步
write7279(FLASH,0XFF);
//下載數(shù)據(jù)但不譯碼演示
write7279(UNDECODER+7,0X49);//第8位顯示“三”
delay1ms(1000);
//循環(huán)左/右移
for(k1=0;k1<23;k1++)
{
send_byte(RTR_CYCLE);
delay1ms(200);
}
for(k1=0;k1<23;k1++)
{
send_byte(RTL_CYCLE);
delay1ms(200);
}
//譯碼方式0,左移
for(k1=0;k1<16;k1++)
{
send_byte(RTL_UNCYL);
write7279(DECODER0,k1);
delay1ms(200);
}
delay1ms(1000);
send_byte(CMD_RESET);//清除顯示
//譯碼方式1,右移
for(k1=0;k1<16;k1++)
{
send_byte(RTR_UNCYL);
write7279(DECODER1+7,k1);
delay1ms(200);
}
delay1ms(1000);
send_byte(CMD_RESET);//清除顯示
//消隱指令
k2=0xff;
for(k1=0;k1<6;k1++)
{
k2=k2/2;//右移
write7279(BLINK,k2);
delay1ms(200);
}
write7279(BLINK,0XFF);//恢復(fù)8位顯示
delay1ms(1000);
send_byte(CMD_RESET);//清除顯示
//段點(diǎn)亮段
for(k1=0;k1<64;k1++)
{
write7279(SEG_ON,k1); //將64段逐一點(diǎn)亮
write7279(SEG_OFF,k1-1);//關(guān)閉前一段
delay1ms(200);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -