音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

怎么仿真可以通過,燒片后程序不運行,大家?guī)臀铱纯窗?/h1>

作者:landysky 欄目:技術交流
怎么仿真可以通過,燒片后程序不運行,大家?guī)臀铱纯窗?br>// LCD MODULE:        LM3037
// DISPLAY Size:      144x32
// Driver/Controller: ST7920
// Interface:         P0--LCDBUS  P2.4--RS
//                    P2.3--RW    P2.2--E
// by:                Landy
// Date:          2006-05-25
// SYSTEM;            AT89S52/12MHZ/PLCC44
// Edith:             1.0
//-------------------------------------------------
// P.S.:              p3.6,P3.7正式使用時取消
//-------------------------------------------------

#include <stdio.h>
#include <reg52.h>
#include <intrins.h>

//-----------------------------------

#define uCHAR unsigned CHAR // 0~255
#define uint  unsigned int   // 0~65535
#define LcdBus      P0      //LCDM數(shù)據(jù)總線
#define DataPortB   P1      //PIC16C74B PORTB
#define BitPortB    P3      //接138,讀位信息

//-----------------------------------
uCHAR bdata  FlagBit;
uCHAR bdata  CodeNum[5];
uCHAR  data  PortBData;
uCHAR bdata  SegValue[5];

//------------------------------------
sbit   ENABLE1  = P3^6;
sbit   ENABLE2  = P3^7;
sbit   ENABLE3  = P2^7;
sbit   ENABLE4  = P2^6;
sbit   ENABLE5  = P2^5;

sbit   RS       = P2^4;
sbit   RW       = P2^3;
sbit   E        = P2^2;
sbit   ENABLE6  = P2^1;
sbit   ENABLE7  = P2^0;

sbit   FlagBit0 =FlagBit^0;
sbit   FlagBit1 =FlagBit^1;
sbit   FlagBit2 =FlagBit^2;
sbit   FlagBit3 =FlagBit^3;
sbit   FlagBit4 =FlagBit^4;
sbit   FlagBit5 =FlagBit^5;
sbit   FlagBit6 =FlagBit^6;
sbit   FlagBit7 =FlagBit^7;

//-----------------------------------
//SubRoutine
//-----------------------------------

//-----------------------------------
/* 定時器1的10ms中斷服務程序 */
//void timer1() interrupt 3 using 2{
  //    TF1=0;
    //  _nop_();
      //ReadPortB();
      //TEST();
      //_nop_();_nop_();
//}

// Delay Routine
//-----------------------------------
void delayms(uint);
void delayms(uint m)        // 12MHZ XTAL, CLOSE to ms VALUE
{
    uint data j;
    uint data i;
    for(i=0; i<m; i++)
        for(j=0; j<109; j++)
                    _nop_();
}

//send command
void SdCmd(uCHAR);
void SdCmd(uCHAR Command)
{

    RW = 0;
    RS = 0;
     E = 0;
    LcdBus = Command;
       E =1;
       _nop_();
       E =0;
    _nop_(); _nop_();
    _nop_(); _nop_();
    _nop_(); _nop_();
    _nop_(); _nop_();
}

//send DISPLAY data
void SdData(uCHAR);
void SdData(uCHAR DData)
{

    RW =0;
    RS =1;
     E =0;
    LcdBus =DData;
     E =1;
    _nop_();
     E =0;
    _nop_(); _nop_();
    _nop_(); _nop_();
    _nop_(); _nop_();
    _nop_(); _nop_();
}


void ClrScr(void);
void ClrScr(void)
     {
      SdCmd(0x01);
     }

//DISPLAY
void hzkdis(uCHAR code *);
void hzkdis(uCHAR code *s)
{while(*s>0)
      {SdData(*s);
           s++;
           delayms(2);
      }
}

//Read PortB
void ReadPortB(void);
void ReadPortB(void)
{      P3=0xff;
       FlagBit=BitPortB;
       FlagBit=BitPortB;
       FlagBit=~FlagBit;
       PortBData=DataPortB;
       _nop_();
       _nop_();
       PortBData=DataPortB;
       if (FlagBit7)
          { CodeNum[0]=PortBData; }
  else if (FlagBit6)
          { CodeNum[1]=PortBData; }
  else if (FlagBit5)
          { CodeNum[2]=PortBData; }
  else if (FlagBit4)
          { CodeNum[3]=PortBData; }
  else if (FlagBit3)
          { CodeNum[4]=PortBData; }
       else {_nop_();}
}



//DISPLAY data
void DDData(void);
void DDData(void)
{   CHAR data *strs=SegValue+2;
   uCHAR t1;
   delayms(5);
   SdCmd(0x90);
   _nop_();
   _nop_();
   _nop_();
    for(t1=0;t1<3;t1++)
       {
       _nop_();
       _nop_();
     SWITCH(*strs)
           {
            case 0:hzkdis("0");break;
            case 1:hzkdis("1");break;
            case 2:hzkdis("2");break;
            case 3:hzkdis("3");break;
            case 4:hzkdis("4");break;
   
2樓: >>參與討論
maple078
試下
檢查IC的腳位有沒有接線問題,如31腳有沒有接高電位.我以前調試時就碰上了你這問題.就是31腳沒拉高電壓,程序飛到外部去了.后來多方網(wǎng)上參考別人的調試經(jīng)驗后解決的.

3樓: >>參與討論
dai_weis
你調整一下優(yōu)化級別,我遇到過
因為優(yōu)化級別的問題,程序運行到某些位置會停掉。

4樓: >>參與討論
landysky
大家能不能談談優(yōu)化的有關知識。
   剛接觸C,碰到很多問題,希望大家多多指點!

5樓: >>參與討論
457878
wave 與 keil 編譯時處理過程有些不一樣
如果你用wave 仿真,就應下載wave生成的 hex

6樓: >>參與討論
landysky
我是下載wave生成的 hex
    不知道是什么問題,都快瘋了!

參與討論
昵稱:
討論內容:
 
 
相關帖子
擊穿電纜高阻故障點的電壓一般需要是電纜額定電壓的幾倍?
請問上電瞬間對PCB上哪些元件的沖擊最厲害?
關于TK71630SCL和TK71633SCL的問題
關于三極管基極和發(fā)射極端并聯(lián)電阻與二極管的區(qū)別
如何提高電子產(chǎn)品的抗干擾能力和電磁兼容性
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號