1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 單片機程序怎么修改?如圖錯誤 [打印本頁]

作者: ovov    時間: 2020-4-17 00:10
標題: 單片機程序怎么修改?如圖錯誤
#include <reg52.h> //調用單片機頭文件
#define uchar unsigned char //無符號字符型 宏定義 變量范圍 0~255
#define uint unsigned int //無符號整型 宏定義 變量范圍 0~65535
#include <intrins.h>
sbit SCL=P1^4; //SCL 定義為 P1 口的第 3 位腳,連接 ADC0832SCL 腳

sbit DO=P1^5; //DO 定義為 P1 口的第 4 位腳,連接 ADC0832DO 腳
sbit CS=P1^3; //CS 定義為 P1 口的第 4 位腳,連接 ADC0832CS 腳

sbit beep = P3^3; //蜂鳴器 IO 口定義
uint temperature,s_temp ; //溫度的變量
uchar shidu; //濕度等級
uchar s_high = 70,s_low = 25;//濕度報警參數

sbit dianji = P1^6; //電機 IO 定義

bit flag_300ms ;
uchar key_can; //按鍵值的變量
uchar menu_1; //菜單設計的變量

sbit rs=P1^0; //1602 數據/命令選擇引腳 H:數據 L:命令
sbit rw=P1^1; //1602 讀寫引腳 H:數據寄存器 L:指令寄存器
sbit e =P1^2; //1602 使能引腳 下降沿觸發
uchar code table_num[]="0123456789abcdefg";


void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void key_with()
{
if(key_can==1)
{
  menu_1++;
  if(menu_1>=3)
  {
   menu_1=0;
   int_1602();
   }
  }
  if(menu_1==1)
  {
   if(key_can==2)
   {
    s_high++;
        if(s_high>99)
              s_high=99;
        }
   }
   if(key_can==3)
   {
     s_high--;
         if(s_high<=s_iow)
               s_high=s_low+1;
        }
     write_sfm2(2,4,s_high);
     write_sfm2(2,12,s_low);
     write_com(0x80+0x40+4);
     write_com(0x0f);
}
if(menu_1==2)
{
  if(key_can==2)
  {
        s_low++;
                if(s_low>=s-high)
                     s_low==s_high-1;
  }
  if(key_can==3)
  {
   s_low--;
   if(s_low<=1)
        s_low=1;
  }
         write_sfm2(2,4,s_high);
     write_sfm2(2,12,s_low);
     write_com(0x80+0x40+4);
     write_com(0x0f);
}
void  clok_h_1()
{
  static  uchar value,value1;
  if(shidu<=s_low)
  {
   value++;
   if(value>=2)
   {
    value=10;
        beep=-beep;
        dianji=0;
        }
  }else
       beep=1;
  if(shidu>=s-high)
  {
   value1++;
   if(value>=2)
   {
    value1=10;
        beep=1;
        dianji=1;
   }
}else
      value1=0;
}
void main()
{
  int_1602();
  time_int();
  while(1)
  {
   key();
   if (key_can<10)
   {
    key_with();
        }
        if(flag_300ms==1)
        {
                  flag_300ms==0;
                 clock_h_1();
                 if(beep==1)
                 {
               
                         shidu=ad0823read(1,0);
                     shid=99-shidu*99/255;
                    }
                         if(menu_1==0)
                         {
                          write_sfm2(1,9,shidu);
                         }
                         }
                          delay_1ms(1);
         }
   }
        


作者: gh001    時間: 2020-4-17 08:14
應該是延時函數缺少原型說明,
在程序開始部分加上函數的原型說明

作者: wulin    時間: 2020-4-17 08:14
delay_uint(  );函數沒有定義
作者: 熱愛科技生活    時間: 2020-4-17 08:24
C32指的是左邊的行數
作者: 熱愛科技生活    時間: 2020-4-17 08:25
看你程序左邊有一長串的c1,c2,c3……
作者: 熱愛科技生活    時間: 2020-4-17 08:25
看錯了是001,002,003……
作者: 熱愛科技生活    時間: 2020-4-17 08:26
032行有錯
作者: 黃youhui    時間: 2020-4-17 08:28
delay_uint(25);這個原函數貼出來
作者: xmfjfhcel    時間: 2020-4-17 09:06
delay_uint(25);  這個函數沒有看到在哪兒啊。大哥
delay_1ms(1);還有這個函數也沒看到。
作者: 火神浪客行    時間: 2020-4-17 09:58
延時函數沒有申明
作者: 我未曾來過    時間: 2020-4-17 13:16
延時函數的定義沒看到。函數需要先定義再使用,特殊功能寄存器需要先初始化再使用,這是單片機編程的基本規則,你要牢記啊
作者: szxcool    時間: 2020-4-17 21:50
延時函數沒有聲明
作者: 火衛三    時間: 2020-4-18 08:59
需要先聲明延時函數啊
作者: xianming    時間: 2020-4-18 11:43
delay_uint();原形在哪里




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1