资源简介
代码无错误,注释详细,用keil将代码编译后生成hex文件,添加至单片机中即可仿真运行。
代码片段和文件信息
#include“reg51.h“
#include“LCM1602_b.c“
sbit P32=P3^2;
unsigned char fen[1]=“/“;
unsigned char io;
unsigned int s0=0s1=0t0t1;
void timer0(void) interrupt 1 //定时器0服务程序
{
s0++;
}
void timer1(void)interrupt 3 //定时器1服务程序
{
s1++;
}
void main(void)
{
unsigned char word[]=“dd1/“;
lcd1602_init();
TMOD=0xa2; //定时器模式,1为2方式,但GATE为1
EA=1;
P32=0; //p32int0口先给低电平
ET0=1;
TH0=0x9c;
TL0=0x9c;
ET1=1;
TH1=0x9c;
TL1=0x9c;
display_5numbers(0t0);
display_chars(5fen1);
display_5numbers(6t1);
display_chars(11word4);
display_a_number(15io);
while(1)
{
while(P32==0); //这两次是为了去除半沿
while(P32==1);
TR0=1; //开始计时
TR1=1;
while(P32==0);
TR0=0; //T0停
while(P32==1);
TR1=0; //T1停
if(s0>50&&s1>50)
{
t0=s0;
t1=s1;
}
else
{
t0=s0*100+(TL0-0x9c);
t1=s1*100+(TL1-0x9c);
}
io=(t1/t0);
display_5numbers(0t0); // 显示
display_chars(5fen1);
display_5numbers(6t1);
display_chars(11word4);
display_a_number(15io);
delay(300);
t0=0t1=0s0=0s1=0; //清值
TL0=0x9c;
TL0=0x9c;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3964 2008-07-31 13:51 测占空比\LCM1602_b.C
文件 1396 2008-08-01 14:29 测占空比\占空比测量.c
目录 0 2009-06-27 22:30 测占空比
----------- --------- ---------- ----- ----
5360 3
评论
共有 条评论