资源简介
可以实现基本的频率测量,很使用,而且很简单!
代码片段和文件信息
#include
unsigned char code dispbitcode[]={0xfe0xfd0xfb0xf7
0xef0xdf0xbf0x7f};
unsigned char code dispcode[]={0x3f0x060x5b0x4f0x66
0x6d0x7d0x070x7f0x6f0x00};
unsigned char dispbuf[8]={101010100000};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
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*235;
temp=temp/128;
i=5;
dispbuf[0]=10;
dispbuf[1]=10;
dispbuf[2]=10;
dispbuf[3]=10;
dispbuf[4]=10;
dispbuf[5]=0;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{
dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=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];
if(dispcount==7)
{
P1=P1 | 0x80;
}
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5562 2009-05-21 00:11 频率计程序\频率计程序
文件 1873 2009-02-28 16:21 频率计程序\频率计程序.c
文件 1460 2009-05-21 00:11 频率计程序\频率计程序.hex
文件 37 2009-05-21 00:11 频率计程序\频率计程序.lnp
文件 5371 2009-05-21 00:11 频率计程序\频率计程序.LST
文件 6333 2009-05-21 00:11 频率计程序\频率计程序.M51
文件 5963 2009-05-21 00:11 频率计程序\频率计程序.OBJ
文件 1044 2009-05-21 00:12 频率计程序\频率计程序.Opt
文件 399 2009-05-21 00:11 频率计程序\频率计程序.plg
文件 2152 2009-02-25 13:26 频率计程序\频率计程序.Uv2
....... 1046 2009-05-15 21:50 频率计程序\频率计程序_Opt.Bak
文件 2004 2007-03-28 23:04 频率计程序\频率计程序_Uv2.Bak
目录 0 2009-05-21 00:12 频率计程序
----------- --------- ---------- ----- ----
33244 13
- 上一篇:管家婆加密狗工具dogtools
- 下一篇:treeview详细使用(delphi)
评论
共有 条评论