欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我想用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://m.raoushi.com/bbs/) Powered by Discuz! X3.1