请帮忙看看程序为什么没有结果?

QIQIONG123 2009-05-27 05:36:12
这是一个利用HS1101测湿度的程序。也就是相当于一个频率计,测量P3.5输入信号的频率,用LED显示。程序运行没有错误,但是在protues里仿真出不了结果,根本就没有显示,请各位帮帮忙……(附件里还附了硬件的连接图。)

#include <AT89X52.H>
#include <INTRINS.H>
#define uchar unsigned char
#define uint unsigned int
#define Disdata P1
#define discan P2

sbit DIN=P3^5;

uchar T1count; //从T1的计数单元读取的计数值
uchar timecount;
uchar RH;
bit flag;
const unsigned int tab[2][11]=
{0,10,20,30,40,50,60,70,80,90,100,
7351,7224,7100,6976,6853,6728,6600,6468,6330,6186,6033};

unsigned char code dispcode[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00,0x40}; //0x40 负,共阴极

unsigned char dispbitcode[]={0xef,0xdf,0xbf,0x7f}; //显示列控制字

unsigned char dispbuf[4]={0x00,0x00,0x00,0x00};//数据显示单元

void digitalshow(unsigned char a1,unsigned char a0)

{
uchar i;

dispbuf[0]=a0;

dispbuf[1]=a1;

for(i=0;i<2;i++)

{
P2=0xff; //关闭所有显示

P0=dispcode[dispbuf[i]];

P2=dispbitcode[i];
}
}
void t0() interrupt 3 using 0
{
TH0=(65536-50000)/256; //定时50ms
TL0=(65536-50000)%256;
timecount++;
if(timecount==20)
{
TR0=0;
timecount=0;
flag=1;
}
}

void t1() interrupt 3 using 0
{
T1count++;
}

void tran(f)
{
uchar i;

for(i=0;i<=10;i++)
if(f<=tab[1][i]&&f>tab[1][i+1])
{
RH=tab[0][i]+tab[1][i]-f/((tab[0][i+1]-tab[0][i])/10);
break;
}

}

void dmsec (unsigned int count)
{
unsigned int i; // 1ms延时
while (count--)
{
for (i=0;i<125;i++){}
}
}

void mian()
{
uchar lhum,hhum;

TMOD=0x51;
TH0=(65536-50000)/256; //定时50ms
TL0=(65536-50000)%256;
TH1=0;
TL1=0;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;

dmsec(1000);

tran(T1count);
hhum=RH/10; //十位数据
lhum=RH%10; //各位数据
digitalshow(5,5);
}
...全文
274 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhjd2010 2011-01-13
  • 打赏
  • 举报
回复
附件在哪?
dhjd2010 2011-01-13
  • 打赏
  • 举报
回复
楼主 资料给我份好吗?305536218@qq.com
yidishuishiye 2010-09-07
  • 打赏
  • 举报
回复
楼主,能不能给我一份啊,我现在也在做,找资料找了好长时间了,373412726@qq.com
panleiwf 2010-05-31
  • 打赏
  • 举报
回复
楼主你好,能发给我一份吗,急用啊,谢谢啊!本人邮箱:panlei6@126.com
Maochangyin 2010-05-06
  • 打赏
  • 举报
回复
我看看
polik_chen 2010-05-02
  • 打赏
  • 举报
回复
附件在哪里啊?我看一下。
yehenhei 2009-06-05
  • 打赏
  • 举报
回复
bang ding
toma2008 2009-06-04
  • 打赏
  • 举报
回复
学习的
光宇广贞 2009-06-04
  • 打赏
  • 举报
回复
.
[Quote=引用 12 楼 lingyin55 的回复:]
.
引用 10 楼 hikaliv 的回复:
纯顶啊
[/Quote]
lingyin55 2009-06-04
  • 打赏
  • 举报
回复
.[Quote=引用 10 楼 hikaliv 的回复:]
纯顶啊
[/Quote]
QIQIONG123 2009-06-04
  • 打赏
  • 举报
回复
还没弄出来啊!留个邮箱,有结果了传给你!
Treazy 2009-06-03
  • 打赏
  • 举报
回复
楼主,建议你将帖子发到单片机版吧

这种case,手边没有datasheet和硬件基础的人是无法帮你分析的
liliangbao 2009-06-03
  • 打赏
  • 举报
回复
帮顶先~
  • 打赏
  • 举报
回复
帮顶
yusiyuang 2009-06-03
  • 打赏
  • 举报
回复
搞定了么? 我也要做这个 麻烦把解决的办法发上来
光宇广贞 2009-06-03
  • 打赏
  • 举报
回复
纯顶啊
andyhuang_one 2009-06-03
  • 打赏
  • 举报
回复
看了你的线路图接法,数据输出端口定义不对哦,#define Disdata P1 应该改为 #define Disdata P0 才对哦。
findcsdn 2009-06-03
  • 打赏
  • 举报
回复
有空帮你看看!
HelloDan 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Treazy 的回复:]
楼主,建议你将帖子发到单片机版吧

这种case,手边没有datasheet和硬件基础的人是无法帮你分析的
[/Quote]

我就不知道这是什么的。
dongpy 2009-06-03
  • 打赏
  • 举报
回复
先确定LED是否工作正常。
加载更多回复(1)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧