📄 hd7279.c
字号:
#include <pic.h>
#include "main.h"
#include "system.h"
unsigned char key_number;
unsigned char j, k;
unsigned int temp;
unsigned long t;
void long_delay(void)//delay 52us
{
unsigned char i;
for (i=0;i<10;i++);
}
void short_delay(void)//delay 6us
{
unsigned char i;
for (i=0;i<3;i++);
}
void send_byte( unsigned char out_byte)//send a byte
{
unsigned char i;
// cs=0;
long_delay();
for (i=0;i<8;i++)
{
if (out_byte&0x80)
{
H7279_dat=1;
}
else
{
H7279_dat=0;
}
H7279_clk=1;
short_delay();
H7279_clk=0;
short_delay();
out_byte=out_byte*2;
}
H7279_dat=0;
}
unsigned char receive_byte(void)//receive a byte
{
unsigned char i;
unsigned char dump=0;
TRISD3=1;
long_delay();
for (i=0;i<8;i++)
{
H7279_clk=1;
short_delay();
dump=(dump<<1);
dump|=H7279_dat;
H7279_clk=0;
short_delay();
}
TRISD3=0;
return (dump);
}
void write7279(unsigned char cmd, unsigned char dta)//write HD7279
{
H7279_cs=0;
send_byte (cmd);
send_byte (dta);
H7279_cs=1;
}
unsigned char read7279(unsigned char command)//read HD7279
{unsigned char temp;
H7279_cs=0;
send_byte(command);
temp=receive_byte();
H7279_cs=1;
return(temp);
}
void key_int(void)
{
if (!key)
{
// key_number=read7279(CMD_READ);
// write7279(DECODE0+7,key_number/16);
// write7279(0x90+6,key_number);
while (!key);
}
}
void display(void)
{
//write7279(0x80+7,0x0e);
//write7279(0x80+6,3);
write7279(DECODE0+7,key_number/16);
write7279(DECODE0+6,key_number&0x0f);
temp=(t%100000);
write7279(0x80+5,t/100000);
write7279(0x80+4,temp/10000);
write7279(0x80+3,((temp)%10000)/1000);
write7279(0x80+2,(((temp)%10000)%1000)/100);
write7279(0x80+1,((((temp)%10000)%1000)%100)/10);
write7279(0x80+0,((((temp)%10000)%1000)%100)%10); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -