标题:
我想用AT89C52做个仿真,麻烦懂的人帮我看看主程序前的定义是对的吗?还要加哪些东?
[打印本页]
作者:
wdx_ccc
时间:
2020-4-23 16:17
标题:
我想用AT89C52做个仿真,麻烦懂的人帮我看看主程序前的定义是对的吗?还要加哪些东?
#include <reg52.h>
#include <math.h>
#define uchar unsigned char
#define _18B20_work()
#define _18B20_read()
#define _18B20_init()
#define Adc0832()
void main()
{
uchar i,ad_data;
_18B20_init(); //
while(1)
{
_18B20_work(_18B20_read()); //
ad_data = Adc0832(0) ;
data_pro(); /
for (i=0;i<100;i++)
leddisp(); //
alarm(); //
keycontrol(); //
}
}
//LED???????:
uchar dispbuf[8],dispcount;
uchar code dispbitcode[]=
{
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f
}; //?????
uchar code dispcode[]=
{
0x3F,0x06,0x5B,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x00,0x7C,
0x39,0x5E,0x79,0x71,
0x40,0x00,0x76
}; //?????
//0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F,-,NULL,H
void leddisp()
{
dispbuf[0]=display[2];
dispbuf[1]=display[1];
dispbuf[2]=display[0];
dispbuf[3]=12;
dispbuf[4]=temp1/100; dispbuf[5]=(temp1%100)/10; dispbuf[6]=temp1%10;
dispbuf[7]=18;
WEI=0xff; DUAN=dispcode[dispbuf[dispcount]]; if(dispcount==1)
DUAN |= 0X80;
WEI=dispbitcode[dispcount]; dispcount++;
if(dispcount==8)
dispcount=0;
}
//
_18B20_work(unsigned int tem)
{
unsigned char n=0;
if(tem>6348) // ???????
{
tem=65536-tem;
n=1;
}
display[4]=tem&0x0f;
display[0]=ditab[display[4]];
display[4]=tem>>4;
display[3]=display[4]/100;
display[1]=display[4]%100;
display[2]=display[1]/10;
display[1]=display[1]%10;
if(!display[3])
{
display[3]=0x0a;
if(!display[2])
display[2]=0x0a;
}
if(n)
display[3]=0x0b; //?????????"-"
}
//??????????
void alarm()
{
if(temp1<=100)
ALARM1=0;
else ALARM1=1;
if(display[4]<=59)
ALARM2=0;
else ALARM2=1;
}
keycontrol()
{
if (KEY==0)
{
conflag=~conflag;
while(!KEY);
}
if(conflag)
ALARM2=~ALARM2;
}
以下是目前的编译错误:
adx.c(15): error C141: syntax error near ';'
adx.c(15): warning C307: macro 'Adc0832': parameter count mismatch
adx.c(57): warning C307: macro '_18B20_work': parameter count mismatch
adx.c - 1 Error(s), 2 Warning(s).
作者:
51hei**1140
时间:
2020-4-24 09:02
你好!
1、仿真是要结合你要实现的功能来做;
2、你的程序是找来的吧,文件都不全;
3、程序的编写,也是要结合实现功能;
4、慢慢学习吧,踏踏实实来打好基础。
作者:
hantu
时间:
2020-4-24 12:22
不对
函数原型声明不是用宏定义来搞的
作者:
郑汉松
时间:
2020-4-24 13:57
错的,函数声明是函数返回值+函数名+函数参数,不是#define
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1