📄 leddiplay.c
字号:
/*
led 显示模块
*/
#include <types.h>
#include <reg51.h>
#include <absacc.h>
#include <intrins.h>
#define Disdata P0
#define discan P2
sbit DIN=P0^7;
u_char code dis_8[12]={0xff,// 0
0xdb, // 1
0xa2, // 2
0x8a, // 3
0x99, // 4
0x8c, // 5
0x84, // 6
0xda, // 7
0x80, // 8
0x88, // 9
0xff, //"灭"
};/*0~9的数码管段码*/
/***********us延时函数*******************/
u_char code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x80,0x08,0x09,0x09};
u_char code scan_con[4]={0xfe,0xfd,0xfb,0xf7};
u_char data wet_data[1]={0x00};
u_char data display[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据,一个运算暂存用
void delay(u_int t)
{
for(;t>0;t--);
}
/*显示扫描***********************/
void scan(void)
{
char k;
for(k=0;k<4;k++)
{
Disdata=dis_8[display[k]];
if(k==1)
{
DIN=0;
}
discan=scan_con[k];
delay(90);
discan=0xff;
}
}
/***************湿度数据处理函数*************/
wetdata_process()
{
display[4]=wet_data[1]&0x0f;
display[0]=ditab[display[4]];
display[4]=((wet_data[0]&0xf0)>>4);
display[3]=display[4]/100;
display[1]=display[4]%100;
display[2]=display[1]/10;
display[1]=display[1]%10;
if(!display[3])
{
display[3]=0x0a;
if(!display[2])
{
display[2]=0x0a;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -