📄 display._c
字号:
#include<io8515.h>
//***************************************************
//显示子程序,用于显示一个数字,小数点在最高位。
//传递一个0-9的数字
//DisPort——显示的端口。DisPortD——端口方向。
//DisTab[10]——显示码(const unsigned char)
//74ls4093三个输入口 str,dada,clock
//and3=str+data+clock.
//**************************************************
//P0 data
//P1 clock
//P2 TRO
//STR-PB0 CLOCK-PB1 DATA-PB2
#define DisPort PORTB
#define DisDdr DDRB
#define str 0b00000100
#define data 0b00000001
#define clock 0b00000010
#define and3 0b00000111
//===============================================================
unsigned char num[4];
//最后三条为"E""-""全灭"
const unsigned char DisTab[13]={ 0x3f,0x6,0x5b,0x4f,0x66,
0x6d,0x7d,0x7,0x7f,0x6f,0x79,0x40,0x00};
//===============================================================
void Display(unsigned char DisNum)
{ unsigned char DisTem;
unsigned char Disi=8;
DisTem= DisNum;
DisTem=DisTem&0b01111111;
DisTem=DisTab[DisTem];
DisNum=DisNum&0b10000000;
DisNum=DisNum|DisTem;
DisNum=~DisNum;
DisDdr=and3;
DisPort=DisPort|str;//set str=1
while(Disi)
{DisTem=DisNum;
DisPort=DisPort&~clock;//clock=0
DisTem=DisTem>>(Disi-1);
DisTem=DisTem&0b00000001;
if(DisTem==1)
{DisPort=DisPort|data;
DisPort=DisPort|clock;}
else
{DisPort=DisPort&~data;
DisPort=DisPort|clock;}
Disi--;
}
}
//=============================================================
//***************************************************************
//计算显示一个不带小数点的四位数
void Cacu_Display(unsigned int temp)
{ unsigned char num[3]={0,0,0};
while(temp>=1000)
{
temp=temp-1000;
num[2]=num[2]+1;
}
while(temp>=100)
{
temp=temp-100;
num[1]=num[1]+1;
}
while(temp>=10)
{
temp=temp-10;
num[0]=num[0]+1;
}
Display(temp);
Display(num[0]);
Display(num[1]);
Display(num[2]);
}
//**************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -