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

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

我的程序仿真運(yùn)行正常,燒到片子里運(yùn)行不正常,不知何故!

作者:beyond314 欄目:單片機(jī)
我的程序仿真運(yùn)行正常,燒到片子里運(yùn)行不正常,不知何故!
mcu:AT89C51
仿真器:周立功TKS-58B
燒錄器:LABTOOL-48
目標(biāo)板:自己焊的
功能描述:斷電檢測(cè)RF板上相鄰焊點(diǎn)是否焊接短路,共有11個(gè)焊點(diǎn)待測(cè),我用P0.0~P0.7和P2.5~P2.7直接連這11個(gè)焊點(diǎn),檢測(cè)思路是分別將每個(gè)腳置0,其他置1,若能將其他腳拉低,有些特殊情況(由于對(duì)地阻值小的原因會(huì)將某些腳拉低)可忽略掉(通過檢測(cè)),程序如下:

#define uCHAR unsigned CHAR
#define uint unsigned int

#include <reg51.h>
#include <intrins.h>

sbit non_green = P1^1;    /*檢測(cè)通過亮綠燈*/
sbit non_red     = P1^3;    /*檢測(cè)不通過亮紅燈*/


void Delay(uint delay_times)
{
    uint j;
    for(;delay_times>0;delay_times--)
        for(j=0;j<=114;j++)
            {
            ;    
            }
}

void ShowError(void)
{
    non_red = 0;            
    while(1);
}

void ShowFine(void)
{
    non_green = 0;
    while(1);
}

main()
{
    uCHAR BYTE0 = 0x7F;
    uCHAR BYTE2 = 0xFF;
    register uCHAR i;    
    for(i=8;i>0;i--)
        {
        P0 = 0xFF;
        P0 = BYTE0;
        Delay(5);
        SWITCH(i)                 /*特殊情況*/            {
            case 7 :
                if(P0 != 0xAE||P2 != BYTE2)
                ShowError();
                break;
            case 6 :
                if(P0 != 0x8E||P2 != BYTE2)
                ShowError();
                break;
            case 5 :
                if(P0 != 0xAE||P2 != BYTE2)
                ShowError();
                break;
            case 4 :
                if(P0 != 0xA6||P2 != BYTE2)
                ShowError();
                break;    
            case 3 :
                if(P0 != 0xAA||P2 != BYTE2)
                ShowError();
                break;    
            case 1 :
                if(P0 != 0xAE||P2 != BYTE2)
                ShowError();
                break;    
            default :         /*一般情況*/                if(P0 != BYTE0||P2 != BYTE2)
                ShowError();
                break;
            }    
        BYTE0 = _cror_(BYTE0,1);   *循環(huán)右移一位*/
        }    
    BYTE2 = 0x7F;
    BYTE0 = 0xFF;
    for(i=3;i>0;i--)
        {
        P2 = 0xFF;
        P0 = BYTE0;
        P2 = BYTE2;
        Delay(5);
        if(P0 != BYTE0||P2 != BYTE2)
            ShowError();                
        BYTE2 = _cror_(BYTE2,1);        
        }
    ShowFine();
}


程序很簡單,調(diào)試時(shí)能夠達(dá)到檢測(cè)目的,程序運(yùn)行10ms就有正確的反應(yīng),但是燒到片子里執(zhí)行時(shí),等大概2s鐘后就亮了紅燈,重?zé)撕芏啻危际沁@個(gè)結(jié)果,不知到是哪里的問題,請(qǐng)教老蝦們幫忙,給出解決思路也很感謝,在線等。。。

2樓: >>參與討論
conanfans
VPP上拉沒?
 
3樓: >>參與討論
wolfsnow
呵呵
你要先考慮上仿真和燒片子的區(qū)別:
  1。仿真時(shí)用的是內(nèi)部晶振和外部晶振(燒片子時(shí)晶振起振了沒有)
  2。復(fù)位腳的復(fù)位電位正常不?(用示波器盯)
  3。程序清看門狗沒有?
 

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪個(gè)高手幫幫忙啊,郁悶好幾星期了
請(qǐng)教:一個(gè)關(guān)于P3.4,P3.5腳的問題
那里有可以學(xué)習(xí)單片機(jī)的QQ群?
急切請(qǐng)教!搞了一個(gè)月了,依然沒搞定
74HC273該怎么用。我有兩個(gè)想法,大蝦指點(diǎn)一下吧?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)