📄 display.c
字号:
#define display_c
#include "main.h"
/*
共阴4位一体数码管
上 1 2 3 4 5 6
s1 a f s2 s3 b
下 1 2 3 4 5 6
e d dp c g s4
msb=p,lsb=a.顺序为pgfedcba
*/
SIGNAL (SIG_OVERFLOW0)
{
uchar i=0;
uchar data_seg=display_buffer[display_count];
uchar data_bit=~(1<<display_count);
if((1<<display_count)==flash_control) data_bit|=flash_var;
display_count++;
if(8==display_count) display_count=0;
//送位选
for(i=0;i<8;i++)
{
if(data_bit&0x80) set_hc595_ser();
else clr_hc595_ser();
clr_hc595_srclk();
set_hc595_srclk();
data_bit<<=1;
}
//送段码
for(i=0;i<8;i++)
{
if(data_seg&0x80) set_hc595_ser();
else clr_hc595_ser();
clr_hc595_srclk();
set_hc595_srclk();
data_seg<<=1;
}
clr_hc595_srclk();
clr_hc595_rclk();
set_hc595_rclk();
clr_hc595_rclk();
TCNT0=t0_tcnt;//定时10ms
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -