📄 display.c
字号:
#include "all_func.h"
#include "display.h"
#include "main_func.h"
void hex_bcdDisplay(unsigned char hexs,unsigned char j)
{
unsigned char va;
unsigned char i;
unsigned char *p;
unsigned char BCD_buffer[3];
va = 100;
for (i=2;i>0;i--)
{
BCD_buffer[i] = 0;
while ((hexs>=va)&&(va>9))
{
hexs -= va;
BCD_buffer[i]++;
}
va /= 10;
}
BCD_buffer[0]=hexs;
p=&digTAB[0];
for (i=0;i<3;i++)
{
dis_buffer[i]=*(p+BCD_buffer[i]);
}
if ((BCD_buffer[2]==0)&&(BCD_buffer[1]==0))
{
i=5;
}
else if(BCD_buffer[2]==0)i=4;
for (i;i>0;i--)
{
dis_buffer[6-i]=0;
}
display();
}
void Send_to_16311(unsigned char dabuf)
{
unsigned char i=8;
while(i)
{
if(dabuf&0x01)DAT16311_PIN=1;
else DAT16311_PIN=0;
_nop_();
_nop_();
_nop_();
_nop_();
CLK16311_PIN=0;
_nop_();
_nop_();
_nop_();
_nop_();
CLK16311_PIN=1;
dabuf>>=1;
i--;
}
DAT16311_PIN=1;
}
void Set16311_Mode(unsigned char Mode)
{
STB16311_PIN=0;
_nop_();
_nop_();
_nop_();
_nop_();
Send_to_16311(Mode);
_nop_();
_nop_();
_nop_();
_nop_();
STB16311_PIN=1;
_nop_();
_nop_();
_nop_();
_nop_();
}
void Set16311_Address(unsigned char Address)
{
STB16311_PIN=0;
_nop_();
_nop_();
_nop_();
_nop_();
Send_to_16311(Address);
}
void display(void)
{
unsigned char i=24;
unsigned char ADD=START_ADDRESS;
Set16311_Mode(D12_S16);
Set16311_Mode(INC_WRITE_DISPLAY_MEM);
Set16311_Address(ADD);
while(i)
{
Send_to_16311(dis_buffer[i]);
i--;
Send_to_16311(dis_buffer[i]);
i--;
Send_to_16311(0x00);
_nop_();
}
Set16311_Mode(LUMINANCE_ON);
_nop_();
}
void write_LED_port(unsigned char kk)
{
STB16311_PIN=0;
Send_to_16311(WRITE_LED_PORT);
Send_to_16311(kk);
STB16311_PIN=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -