📄 display_s.h
字号:
/********************************************************************/
/*Display_s.h:显示函数 *******************************/
/* 功能: 用户自己的LED数码管动态显示程序包**************************/
/********************************************************************/
/**********copyright 2002 LJH ***************************************/
#ifndef _display_
#define _display_
#include<intrins.h> //加载相关头文件
sbit SDA=P1^0; //定义串行输入数据位
sbit CLK=P1^1; //定义串行时钟位
unsigned char data display_bit; //定义位码变量
unsigned char code led[20]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8E,0xBF,0x89,0x8c};
void delay(unsigned int k)
{
unsigned int i,j;
for(i=1; i<k; i++)
for(j=1; j<100; j++)
{}
}
void send (unsigned char a) {
unsigned char i; //定义变量
for(i=0; i<8; i++) { //控制发送数据的位数
if(_crol_(a,i)&0x80) //要发送的数据位是1吗?
SDA=1; //是,则发送高电平1
else
SDA=0; //否则,则发送低电平0
CLK=0; //输出一个同步时钟
CLK=1;
}
}
//显示子程序,要显示的5位数据存放在display_buffer数组中
void display(unsigned char display_buffer[5])
{
unsigned char i ,k ; //定义中间变量
display_bit=0x7f; //给位码赋初值
for(i=0; i<=3;i++) //控制显示数据的个数
{
k=led[display_buffer[i]]; //取要显示数据的段码
send(k); //调发送子程序
P1=display_bit; //送位码数据
delay(0x40); //调延时子程序
P1=0xff;
display_bit=_cror_(display_bit,1); //右移一位
}
display_bit=0x7f; //重新赋初值
}
#endif //条件汇编结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -