久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機程序編譯錯誤求大神幫助!新手上路! [打印本頁]

作者: LUOLI    時間: 2018-11-8 21:42
標題: 單片機程序編譯錯誤求大神幫助!新手上路!
求大神幫助!新手上路!
#include <reg52.h>   
#define uchar unsigned char  
#define uint  unsigned int  
#include <intrins.h>
sbit CS=P1^4;  
sbit SCL=P1^5;
sbit DO=P1^6;  
sbit beep = P1^3;  
sbit rs=P1^0;  
sbit rw=P1^1;
sbit e =P1^2;  
sbit c_send   = P3^2;  
sbit c_recive = P3^3;  
uchar flag_hc_value;      
long distance;            
uint set_d;               
bit flag_csb_juli;         
uint  flag_time0;         
bit flag_200ms = 1 ;
uchar guangxian;           
uchar qiang_gx;      
uchar ruo_gx;      
uchar value;
uchar flag_alarm;      
uchar miao = 0,fen = 0,shi;
uchar s_miao = 55,s_fen = 44,s_shi=0;
bit xuexi_start;  
uchar menu_1;   
uchar i;
uchar flag_gx  ;   
uchar flag_juli ;  
uchar flag_time = 0;
void delay_1ms(uint q)
{
uint i,j;
for(i=0;i<q;i++)
  for(j=0;j<120;j++);
}
void write_eeprom()
{
SectorErase(0x2000);
byte_write(0x2000, set_d % 256);
byte_write(0x2001, set_d / 256);
byte_write(0x2002, qiang_gx);
byte_write(0x2003, ruo_gx);
byte_write(0x2004, s_miao);
byte_write(0x2005, s_fen);
byte_write(0x2006, s_shi);
byte_write(0x2057, a_a);
}
void read_eeprom()
{
set_d = byte_read(0x2001);
set_d  = set_d * 256 + byte_read(0x2000);  
qiang_gx = byte_read(0x2002);
ruo_gx   = byte_read(0x2003);
s_miao   = byte_read(0x2004);
s_fen   = byte_read(0x2005);
s_shi   = byte_read(0x2006);
a_a    = byte_read(0x2057);
}
void init_eeprom()
{
read_eeprom();  
if(a_a != 2)  
{
  set_d = 40;
  a_a = 2;
  qiang_gx = 80;
  ruo_gx = 20;
  s_miao = 0,s_fen = 45,s_shi=0;
  write_eeprom();
}
}
void delay_uint(uint q)
{
while(q--);
}
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;
}
部分程序
萬分感謝!!!!!!

3NJ`[}93V0Q633_(P}UIF2K.jpg (46.61 KB, 下載次數: 51)

是原型未聲明嗎 不會啊 求大神!

是原型未聲明嗎 不會啊 求大神!

作者: new_hand    時間: 2018-11-9 14:42
SectorErase();這個函數在哪寫的

作者: LUOLI    時間: 2018-11-9 20:32
求幫助 NKYproteus 仿真.rar (70.57 KB, 下載次數: 7)




作者: wushiye54    時間: 2018-11-12 16:55
你還是貼代碼上來吧,別人哪有那么多時間下載來看
作者: wulin    時間: 2018-11-12 20:53
LUOLI 發表于 2018-11-9 20:32
求幫助

沒有發現編譯錯誤,下載程序如下:
#define uint unsigned int
#define uchar unsigned char
#define DUAN P0          
#include <reg52.h>

unsigned char code tab[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0xff};          
unsigned char code tab_dian[]={0x80,0x9b,0x42,0x0a,0x19,0x0c,0x04,0x9a,0x00,0x08,0xdf};  
uchar pdata tt[51];                 
uchar scale=20,rsd_sec;               
char min,sec;                               

bit bdata flag_auto,ss,flag_bs,flag_rsd,flag_jiejin=1;          
uchar flag_set=0;                       
uchar lum;                                       
void delay(uchar i);   
sbit LED = P3^4;       
sbit change= P2^3;          
sbit set = P2^2;         
sbit add = P2^1;       
sbit sub = P2^0;       
sbit rsd = P3^6;   
sbit jiejin=P3^5;  
sbit buzz=P3^7;          

sbit W0=P2^7;
sbit W1=P2^6;
sbit W2=P2^5;
sbit W3=P2^4;          
void display()
{
        if(flag_set==0)                         
        {
                DUAN=tab[min/10];          
                W0=0;                                  
                delay(1);                          
                W0=1;                                  
                DUAN=tab_dian[min%10];
                W1=0;
                delay(1);
                W1=1;
                DUAN=tab[sec/10];
                W2=0;
                delay(1);
                W2=1;
                DUAN=tab[sec%10];
                W3=0;
                delay(1);
                W3=1;
        }
        else if(flag_set==1)                 
        {
                if(ss==1)                       
                {
                        DUAN=~tab[min/10];
                        W0=0;
                        delay(1);
                        W0=1;
                        DUAN=~tab_dian[min%10];
                        W1=0;
                        delay(1);
                        W1=1;
                }
                else                                          
                {
                        DUAN=~tab[10];
                        W0=0;
                        delay(1);
                        W0=1;
                        DUAN=~tab_dian[10];
                        W1=0;
                        delay(1);
                        W1=1;
                }
                DUAN=~tab[sec/10];
                W2=0;
                delay(1);
                W2=1;
                DUAN=~tab[sec%10];
                W3=0;
                delay(1);
                W3=1;
        }
        else
        {
               
                DUAN=~tab[min/10];
                W0=0;
                delay(1);
                W0=1;
                DUAN=~tab_dian[min%10];
                W1=0;
                delay(1);
                W1=1;
                if(ss==1)
                {
                        DUAN=~tab[sec/10];
                        W2=0;
                        delay(1);
                        W2=1;
                        DUAN=~tab[sec%10];
                        W3=0;
                        delay(1);
                        W3=1;
                }
                else
                {
                        DUAN=~tab[10];
                        W2=0;
                        delay(1);
                        W2=1;
                        DUAN=~tab[10];
                        W3=0;
                        delay(1);
                        W3=1;
                }
        }
}
void KEY()
{
        uint lum_mean,lum_all;
        uchar b,c;
        if(change==0)                                 
        {
                delay(10);                               
                if(change==0)                         
                {
                        buzz=0;                                 
                        flag_auto=!flag_auto;
                        if(flag_auto==1)         
                        scale=20;
                       
                }
                while(!change) display();buzz=1;
        }
        if(jiejin==0&&flag_jiejin==1)         
        {
                buzz=0;
                flag_jiejin=0;
        }
        if(jiejin!=flag_jiejin)                          
        {
                buzz=1;
                flag_jiejin=1;
        }
        if(set==0)                                               
        {
                delay(10);
                if(set==0)
                {
                        buzz=0;
                        flag_set++;                                  
                        if(flag_set==3)                         
                        flag_set=0;
                        flag_bs=0;                                 
                }
                while(!set) display(); buzz=1;       
        }
        if(flag_set==1)                                         
        {                                                                  
                if(add==0)                                         
                {
                        delay(10);
                        if(add==0)
                        {
                                buzz=0;
                                min++;                                 
                                if(min>=60)
                                min=0;
                        }
                        while(!add) display(); buzz=1;
                }
                if(sub==0)                                         
                {
                        delay(10);
                        if(sub==0)
                        {
                                buzz=0;
                                min--;                                  
                                if(min>0)
                                min=59;
                        }
                        while(!sub) display(); buzz=1;
                }
        }
        if(flag_set==2)
        {                                                               
                if(add==0)                                       
                {
                        delay(10);
                        if(add==0)
                        {
                                buzz=0;
                                sec++;                                 
                                if(sec>=60)
                                sec=0;                               
                        }
                        while(!add) display(); buzz=1;
                }
                if(sub==0)                                       
                {
                        delay(10);
                        if(sub==0)
                        {
                                buzz=0;
                                sec--;                                 
                                if(sec<0)
                                sec=59;                               
                        }
                        while(!sub) display();        buzz=1;
                }
                while(!sub);
        }
               
        if(flag_auto==0)                                       
        {
                if(flag_rsd==1)                                       
                {
                        for(b=0;b<49;b++)                        
                        {
                                tt=tt[b+1];                       
                        }               
                        for(c=0;c<50;c++)                       
                        {
                                lum_all=lum_all+tt[c];
                        }
                        lum_mean=lum_all/50;                       
                        if(lum_mean<=30) scale=1;                          
                        else if(lum_mean>=150) scale=41;          
                        else scale=((lum_mean-30)/3)+1;                  
                }
                else
                scale=1;                                         
        }
        else                                               
        {
                if(flag_set==0)                               
                {
                        if(add==0)                       
                        {
                                delay(10);
                                if(add==0)
                                {
                                //        buzz=0;
                                        scale++;                 
                                        if(scale>=41)
                                        scale=41;
                                        display();
                                }
                        }
                        if(sub==0)                                  
                        {
                                delay(10);
                                if(sub==0)
                                {
                                        scale--;                  
                                        if(scale>1)
                                        scale=1;
                                        display();
                                }
                        }
                }
        }
}
void init()
{
        TMOD=0x11;          
        TH1=0x3c;
        TL1=0xb0;          
        TH0=0xff;
        TL0=0xe7;                 
        ET0=1;
        ET1=1;                  
        EA=1;                  
        TR0=1;
        TR1=0;                  
}
void main()
{
        init();                  
        flag_auto=1;  
        rsd=0;                  
        delay(500);       
        while(1)                  
        {
                KEY();                 
                display();       
        }
}
void delay(uchar i)
{
  uchar j,k;
  for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}
void time0() interrupt 1
{
        uchar n;
        TH0=0xff;
        TL0=0xe7;                 
        n++;                         
        if(n>scale)
        {
                LED=1;
        }
        else if(n<=scale)
        {
                LED=0;
        }
        if(n==40)               
        {
                n=0;                 
        }
        else ;       
}
void time1() interrupt 3
{
        uchar m;
        TH1=0x3c;
        TL1=0xb0;               
        m++;                         
        if((m==10||m==20)&&flag_set!=0)          
        {
                ss=!ss;                                               
        }
        if(m==20)                                               
        {
                m=0;                                                  
                if(rsd==0)                                       
                rsd_sec++;                                          
                if(rsd_sec<=30&&rsd==1)                  
                {
                        rsd_sec=0;                               
                        flag_rsd=1;                               
                }
                else if(rsd_sec>30&&rsd==0)          
                {
                        flag_rsd=0;                                  
                        rsd_sec=0;                                 
                }
                if(flag_set==0&&flag_bs==0&&((min+sec)!=0))               
                {
                        sec--;
                        if(sec<0)
                        {
                                sec=59;                                                                       
                                min--;                                                                         
                        }
                        if(min<=0&&sec==0)                                                         
                        {
                                min=0;
                                flag_bs=1;
                                buzz=0;                                                                         
                        }
                }       
        }       
}

作者: zhouwen    時間: 2018-11-13 11:51
函數聲明要放在調用之前




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区三区回区在观看免费视频 | 成人在线视频一区 | 欧美一区二区视频 | 女同久久另类99精品国产 | 免费视频一区二区 | 福利网站导航 | 国产精品久久av | 看片国产 | 天天看天天干 | 丝袜 亚洲 另类 欧美 综合 | 欧美激情一区二区 | 81精品国产乱码久久久久久 | 欧美a在线看| 最新国产视频 | 欧美日韩在线视频一区 | 国产中的精品av涩差av | 中文字幕一区二区三区不卡 | 自拍视频在线观看 | 成人福利网 | 久久精品在线 | 欧美精品在线一区 | 9191av| 精品久久久久久久久久久久 | 国产精品中文字幕在线观看 | 国产激情一区二区三区 | 亚洲欧美在线视频 | 日韩免费电影 | 女生羞羞视频 | 久久av一区二区三区 | 91亚洲精品久久久电影 | 91免费在线| 手机在线不卡av | 午夜网| 午夜性色a√在线视频观看9 | 午夜大片 | 久久人体视频 | 999精品视频 | 国产精品国产精品 | 亚洲www啪成人一区二区 | 欧美日韩综合视频 | 在线观看免费av网站 |