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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6778|回復: 3
打印 上一主題 下一主題
收起左側

已經設置了全局變量,為何還顯示沒有定義變量?

[復制鏈接]
跳轉到指定樓層
樓主
ID:23515 發表于 2013-5-7 08:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

//89c52rc 11.0592晶振,學習使用EEPROM功能
#include <STC89.H>      //STC89系列單片機頭文件
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define RdCmd 0x01     //定義ISP的操作命令 讀
#define WrCmd 0x02    //定義ISP的操作命令 寫
#define EsCmd 0x03  //定義ISP的操作命令 刪除
#define Error 1
#define Ok 0
#define WaitTime 0x01 //定義CPU的等待時間

sbit dula=P2^6;  //申明U1鎖存器的鎖存端
sbit wela=P2^7;  //申明U2鎖存器的鎖存端
uchar code duan[]={
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code wei[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar lssj[9],num;
//uchar
uint dz;
ulong numl;
//===============
void delayms(uint xms);   //毫秒延時
void display(uchar du,uchar we); //在指定的位置顯示指定的字符
void ISPenb(void);  //ISP_IAP 使能
void ISPdsb(void);  //ISP_IAP 關閉
void ISPgo(void);  //ISP_IAP 觸發
uchar readb(uint byte_addr);   //讀字節
void escEra(uint sector_addr); //扇區刪除
void writeb(uint byte_addr, uchar original_data); //寫字節
void xlongd(uint addr,ulong ldat);//寫ulong型數據
void ledxs1();//數碼顯示
//===============================================
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)        //i=xms即延時約xms毫秒
for(j=110;j>0;j--);
}
//===============================================
void display(uchar du,uchar we)  //顯示子函數
{
dula=1;
P0=duan[du];    //送段碼
dula=0;
P0=0xff;  //送位選數據前關閉所有顯示,防止打開位選鎖存時
wela=1;  //原來段選數據通過位選鎖存器造成混亂
P0=wei[we];  //送位選數據
wela=0;
delayms(3); //延時
}
//================ 打開 ISP,IAP 功能 =================
void ISPenb(void)
{
EA = 0;       // 關中斷   //
ISP_CONTR =ISP_CONTR & 0x18;       // 0001,1000 //
ISP_CONTR =ISP_CONTR | WaitTime; // 寫入硬件延時 //
ISP_CONTR =ISP_CONTR | 0x80;       // ISPEN=1  //
}
//=============== 關閉 ISP,IAP 功能 ==================
void ISPdsb(void)
{
 ISP_CONTR =ISP_CONTR & 0x7f; // ISPEN = 0 //ISP_CONTR &=0x7f;
 ISP_TRIG  =0x00;
 EA        =1;   // 開中斷 //
}
// ================ 公用的觸發代碼 ====================
void ISPgo(void)
{
// ISPenb();   // 打開 ISP,IAP 功能 //
 ISP_TRIG = 0x46;  // 觸發ISP_IAP命令字節1 //
 ISP_TRIG = 0xb9;  // 觸發ISP_IAP命令字節2 //
 _nop_();
}
// ==================== 字節讀 ======================== //
uchar readb(uint byte_addr)
{
 ISP_ADDRH = (uchar)(byte_addr >> 8);// 地址賦值 //
 ISP_ADDRL = (uchar)(byte_addr & 0x00ff);
 ISP_CMD   = ISP_CMD & 0xf8;   // 清除低3位  //
 ISP_CMD   = ISP_CMD | RdCmd; // 寫入讀命令 //
 ISPgo();       // 觸發執行  //
 //ISPdsb();    // 關閉ISP,IAP功能 //
 return (ISP_DATA);    // 返回讀到的數據 //
}
// ================== 扇區擦除 ======================== //
void escEra(uint sector_addr)
{
 unsigned int iSectorAddr;
 iSectorAddr = (sector_addr & 0xfe00); // 取扇區地址 //
 ISP_ADDRH = (uchar)(iSectorAddr >> 8);
 ISP_ADDRL = 0x00;
 ISP_CMD = ISP_CMD & 0xf8;   // 清空低3位  //
 ISP_CMD = ISP_CMD | EsCmd; // 擦除命令3  //
 ISPgo();       // 觸發執行  //
 //ISPdsb();    // 關閉ISP,IAP功能 //
}
// ==================== 字節寫 ======================== //
void writeb(uint byte_addr, uchar original_data)
{
 ISP_ADDRH =(uchar)(byte_addr >> 8);  // 取地址  //
 ISP_ADDRL =(uchar)(byte_addr & 0x00ff);
 ISP_CMD   =ISP_CMD & 0xf8;    // 清低3位 //
 ISP_CMD   =ISP_CMD | WrCmd;  // 寫命令2 //
 ISP_DATA  =original_data;   // 寫入數據準備 //
 ISPgo();       // 觸發執行  //
//ISPdsb();     // 關閉IAP功能 //
}
//=========================
void xlongd(uint addr,ulong ldat)  //寫long型數據
{ uchar i,ucdat;
uint dz=addr;
ISPenb();   // 打開 ISP,IAP 功能
escEra(addr);//擦除扇區
for (i=0;i<4;i++)
{ucdat=ldat;
writeb(addr,ucdat);//寫一個字節數據
ldat>>=8;//右移8位
addr++;  //地址加1
}
ISPdsb();     // 關閉IAP功能
}
//==========================
void ledxs1()
{
 lssj[1]=num1/100000%10;
 lssj[2]=num1/10000%10;
 lssj[3]=num1/1000%10;
 lssj[4]=num1/100%10;
 lssj[5]=num1/10%10;
 lssj[6]=num1%10;
lssj[0]=0;
lssj[0]+=lssj[1];
if (lssj[0]) display(lssj[1],1); //十萬
lssj[0]+=lssj[2];
if (lssj[0]) display(lssj[2],2); //萬
lssj[0]+=lssj[3];
if (lssj[0]) display(lssj[3],3); //千
lssj[0]+=lssj[4];
if (lssj[0]) display(lssj[4],4); //百
lssj[0]+=lssj[5];
if (lssj[0]) display(lssj[5],5); //十個
lssj[0]+=lssj[6];
if (lssj[0]) display(lssj[6],6); //個
}
//===============================================
void main()
{
uchar i;
TMOD=0x01; //設置定時器0為工作方式1(0000 0001)
TH0=(65536-50000)/256;    
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
EX0=1; //外部中斷0使能
//IE0=1;//下降沿觸發
ISPenb();   // 打開 ISP,IAP 功能
dz=0x2000; //初始地址
for (i=0;i<4;i++){
num1<<=8;//左移8位
num1+=readb(dz);//程序開始時讀取EEPROM中數據
dz++;}  //地址加1
ISPdsb();     // 關閉IAP功能
     
while(1)
 {
if(num>9){num=0; num1++;}
ledxs1();
 }
}
//===============================================
void timer0() interrupt 1  
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 num++;
}
 void int0() interrupt 0
{xlongd(0x2000,numl);} // 保存ulong數據

 

 

 

 

 

編譯時顯示的信息:

 

Build target 'Target 1'
compiling text2.c...
TEXT2.C(128): error C202: 'num1': undefined identifier
TEXT2.C(129): error C202: 'num1': undefined identifier
TEXT2.C(130): error C202: 'num1': undefined identifier
TEXT2.C(131): error C202: 'num1': undefined identifier
TEXT2.C(132): error C202: 'num1': undefined identifier
TEXT2.C(133): error C202: 'num1': undefined identifier
TEXT2.C(163): error C202: 'num1': undefined identifier
TEXT2.C(164): error C202: 'num1': undefined identifier
TEXT2.C(170): error C202: 'num1': undefined identifier
Target not created

 

 

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2013-5-7 09:39 | 只看該作者

沒看到你在哪兒設置的“num1”??

 

ulong numl;??

回復

使用道具 舉報

板凳
ID:23515 發表于 2013-5-10 18:02 | 只看該作者

哦哦,把1 寫成了 l  ,

  找不到原因,睡了一覺,再看,就發現了這問題。

回復

使用道具 舉報

地板
ID:1 發表于 2013-5-17 18:25 | 只看該作者
呵呵 原來如此
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 亚洲国产aⅴ精品 | 日本特黄a级高清免费大片 特黄色一级毛片 | 国产精品欧美一区二区三区不卡 | 国产精品福利视频 | 色久五月 | 综合一区二区三区 | 91在线中文字幕 | 雨宫琴音一区二区在线 | 色吊丝2 | 成人免费一级视频 | 日韩精品一区二区三区老鸭窝 | 欧美一区二区黄 | 波霸ol一区二区 | 国产一区免费 | 人人干人人干人人干 | 久久久久久久一区二区三区 | 中文字幕亚洲区一区二 | 久久亚洲视频 | 丁香六月伊人 | 亚洲在线免费 | 欧美久久久久久 | 国产精品国产a级 | 91久久北条麻妃一区二区三区 | 国产免费看 | 欧美在线成人影院 | 国产中文字幕亚洲 | 欧美一区免费在线观看 | 国产亚洲一区二区在线观看 | 福利视频一区二区 | 精品国产31久久久久久 | 成人精品一区二区三区 | 欧美精品在线播放 | 久久综合国产 | 精品久久一| 欧美精品一区在线发布 | 一道本在线 | 中文字幕日韩欧美一区二区三区 | 日日夜夜天天 | 国产欧美精品区一区二区三区 | 国产日韩一区二区三区 |