#include
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xff,0xff,0xff,0xff};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={0,0,0,0,0,0,0,0};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i,m=1;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
/********延时字程序************/
void delay10ms()
{
unsigned char j,k;
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
/********键盘扫描************
void scan_key()
{
}
/********主程序************/
void main(void)
{
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ST=1;
ST=0;
while(1)
{
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*250;
temp=temp/128;
i=0;
dispbuf[0]=0;
dispbuf[1]=0;
dispbuf[2]=0;
dispbuf[3]=0;
dispbuf[4]=10;
dispbuf[5]=10;
dispbuf[6]=10;
dispbuf[7]=10;
// scan_key();
while(temp/10)
{
dispbuf=temp%10;
temp=temp/10;
i++;
}
dispbuf=temp;
ST=1;
ST=0;
}
}
}
/********中断程序************/
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
/*if(dispcount>2)
{
P1=P1 | 0x80;
}
if(dispcount==4)
{
P1=dispcode[m];
}*/
if(dispcount==8)
{
dispcount=0;
}
}
上一篇:八路AD采集电压表
下一篇:经典 函数信号发生器
推荐阅读最新更新时间:2024-03-16 15:47
设计资源 培训 开发板 精华推荐
- 答题赢好礼|e络盟Ready for Tomorrow
- Deyisupport博文阅读季:推荐你喜欢的放大器博文,抢楼赢好礼!
- TE有奖活动|当代物联网智能天线设计趋势
- 有奖直播:英飞凌工业半导体在电机驱动行业中的应用 2020年4月21日 上午10:00-11:30 准时开启!
- MPS 隔离式稳压 DC/DC 模块——MIE系列首发,邀你一探究竟!
- 直播已结束|TI C2000 Piccolo 单芯片——实现双轴伺服电机和马达控制
- 有奖调查——We want you!好的参考设计网站什么样?
- 与英飞凌一起,探索Matter奥义!
- 有奖直播:英飞凌 MERUS™ D 类音频放大器的多电平技术及其优势