女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)硬件仿真與燒寫程序結(jié)果同的原因分析

GReq_mcu168 ? 來源:未知 ? 作者:工程師曾玲 ? 2018-10-02 11:45 ? 次閱讀

一.配置問題:

實(shí)際燒片時(shí)單片機(jī)的配置字與仿真的時(shí)候是不是一樣?燒寫時(shí)是否配置正確?

二.資源問題:

單片機(jī)的ROMRAM大小與仿真器的ROM、RAM大小是不一樣的!

三.驅(qū)動(dòng)能力問題:

通常仿真器的驅(qū)動(dòng)能力比單片機(jī)要強(qiáng);可以分兩步檢查,一是分別用仿真器與單片機(jī)時(shí)對(duì)應(yīng)IO口波形進(jìn)行對(duì)比,二是當(dāng)仿真器與外設(shè)連接與不連接時(shí)波形的對(duì)比;

要進(jìn)行基本要素分析:?jiǎn)纹瑱C(jī)供電正常?起振沒有?復(fù)位電路正常?芯片損壞?

單片機(jī)上電不運(yùn)行情況的分析

1.單片機(jī)是沒有運(yùn)行,還是運(yùn)行不正確?

2.如果是沒有運(yùn)行,檢測(cè)單片機(jī)的基本參數(shù)是否已經(jīng)滿足<工作電壓要在芯片的引腳處測(cè)量><復(fù)位引腳的復(fù)位曲線如何><晶振是否已經(jīng)起振><芯片損壞,或者部分功能損壞>。

3.如果是運(yùn)行不正確,檢測(cè)<用了看門狗,沒有處理好,芯片上電后處于不停的復(fù)位狀態(tài),看起來就象沒有沒有工作起來><是否進(jìn)入了ISP狀態(tài)><對(duì)單片機(jī)寫入對(duì)所有的IO口以1秒取反一次的程序進(jìn)行測(cè)試>

單片機(jī)調(diào)試辦法

LED進(jìn)行狀態(tài)指示,用串口進(jìn)行數(shù)據(jù)指示,比用其它外設(shè)指示更可靠;

加入斷點(diǎn),燒寫時(shí)是在不同的語句后面加入WHILE(1);

分模塊調(diào)試,把每個(gè)小功能先調(diào)試通過,再進(jìn)行組合。

Keil C本身就是編譯與仿真一體的,當(dāng)不要外部數(shù)據(jù)時(shí)很方便,當(dāng)要外部輸入時(shí)(比如用定時(shí)器作計(jì)數(shù)器用)它提供幾個(gè)調(diào)試輸入用的窗口可用它們來摸擬輸入,同時(shí)Keil C本身提供一種調(diào)試函數(shù)用來配置摸擬外部輸入的功能,這我在學(xué)習(xí)時(shí)看的一本書上講過如用定時(shí)器作外部事件計(jì)數(shù),調(diào)試函數(shù)由自己根據(jù)需要按特定的格式來編輯再按KEIL C的要求調(diào)入即可。學(xué)習(xí)時(shí)可用這種方法,做產(chǎn)品時(shí)最好是用仿真器調(diào)試。下面我給出我以前試過的用定時(shí)器作外部事件計(jì)數(shù)時(shí)摸擬外部輸入的調(diào)試函數(shù),并寫出Keil C調(diào)用的步驟如下:

1、編寫如下信號(hào)函數(shù):

single void t0_singal(void)

{

while(1)

{

PORT3|=0x10;//pull INT0(P3.4) high again

PORT3&=~0x10;//pull INT0(P3.4) low and generate interruptPORT3|=0x10;//pull INT0(P3.4) high again

twatch(CLOCK);//wait for 1 second

}

}

2、在DEBUG狀態(tài)下單擊DEBUG菜單在下拉菜單中單擊“Function Editor(Open Ini File)... "選項(xiàng), 彈出新屏幕后,將“打開”窗口關(guān)閉,這時(shí)屏上有Function Edito窗;

3、在Function Editor窗中輸入上面的函數(shù);

4、保存(注意:擴(kuò)展名為.ini),編譯該程序,成功后關(guān)閉Function Editor窗口;

5、執(zhí)行用戶程序(必須連續(xù)執(zhí)行);

6、在屏幕左下腳的命令窗口中,鍵入t0_singl()后(必須回車)媽可向P3.4源源不斷地提供脈沖信號(hào)。

Keil C調(diào)試某系統(tǒng)時(shí)積累的一些經(jīng)驗(yàn)1、由于Keil C對(duì)中文支持不太好,因而會(huì)出現(xiàn)顯示的光標(biāo)與光標(biāo)實(shí)際所在不一致的現(xiàn)象,這會(huì)對(duì)修改中文注釋造成影響。在Windows2000下面,我們可以把字體設(shè)置為Courier,這樣就可以顯示正常。

2、當(dāng)使用有片外內(nèi)存的MCU(如W77E58,它有1K片外內(nèi)存)的時(shí)候,肯定要設(shè)置標(biāo)志位,并且編譯方式要選擇大模式,否則會(huì)出錯(cuò)。

3、當(dāng)使用Keil C跟蹤程序運(yùn)行狀態(tài)的時(shí)候,要把引起Warning的語句屏蔽,否則有可能跟蹤語句的時(shí)候會(huì)出錯(cuò)。

4、在調(diào)用數(shù)組的時(shí)候,Keil C是首先把數(shù)組Load進(jìn)內(nèi)存。如果要在C中使用長(zhǎng)數(shù)組的時(shí)候,我們可以使用code關(guān)鍵字,這樣就實(shí)現(xiàn)了匯編的DB的功能,Keil C是不會(huì)把標(biāo)志code的數(shù)組Load入內(nèi)存的,它會(huì)直接讀取Rom。

5、當(dāng)編程涉及到有關(guān)通信,時(shí)序是很重要的。拉高管腳的執(zhí)行速度遠(yuǎn)遠(yuǎn)比檢查管腳電平的要快。

6、在等待管腳電平變化的時(shí)候,我們需要設(shè)置好超時(shí)處理,否則程序就會(huì)因?yàn)橐粋€(gè)沒有預(yù)計(jì)的錯(cuò)誤而死鎖。

7、能用C語言實(shí)現(xiàn)的地方,盡量不要用匯編,尤其在算法的實(shí)現(xiàn),用匯編是晦澀難懂。

8、程序的幾個(gè)參數(shù)數(shù)組所占篇幅很大,其中液晶背景數(shù)組最長(zhǎng),有四千個(gè)Byte,因而把那些初始化數(shù)組都放在另外一個(gè)C文件,在主文件使用使用關(guān)鍵字extern定義,這樣就不會(huì)對(duì)主文件的編寫造成干擾。

9、所有函數(shù)之間的相關(guān)性越低越有利于以后功能的擴(kuò)展。

10、6.20版在編譯帶code關(guān)鍵字的數(shù)組時(shí),編譯通過但是單片機(jī)運(yùn)行結(jié)果是錯(cuò)誤的,改用6.14版后正常。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6063

    文章

    44915

    瀏覽量

    646807
  • 仿真
    +關(guān)注

    關(guān)注

    51

    文章

    4234

    瀏覽量

    135293

原文標(biāo)題:總結(jié)硬件仿真與燒寫程序結(jié)果不一樣的原因

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    51單片機(jī)程序的方法

    STC89C51是應(yīng)用廣泛的51單片機(jī),很多人都是通過該單片機(jī)入門學(xué)習(xí)的,單片機(jī)的學(xué)習(xí)需要勤動(dòng)手。單片機(jī)需要
    的頭像 發(fā)表于 09-11 10:10 ?6553次閱讀
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>燒</b><b class='flag-5'>寫</b><b class='flag-5'>程序</b>的方法

    單片機(jī)軟件

    單片機(jī)軟件,單片機(jī)軟件,單片機(jī)
    發(fā)表于 12-09 18:40 ?17次下載

    AVR單片機(jī)程序progisp172

    AVR單片機(jī)程序progisp172,感興趣的可以看看。
    發(fā)表于 03-23 17:46 ?111次下載

    單片機(jī)程序軟件

    單片機(jī)程序軟件
    發(fā)表于 01-07 21:01 ?17次下載

    51單片機(jī)怎么用usb程序

    ,用來進(jìn)行通信下載程序和數(shù)據(jù);;對(duì)自己搭建的電路板來說,仍會(huì)有MAX232芯片和RS232串口用來實(shí)現(xiàn)程序,實(shí)現(xiàn)對(duì)單片機(jī)寫入數(shù)據(jù)和
    發(fā)表于 11-16 11:18 ?6w次閱讀
    51<b class='flag-5'>單片機(jī)</b>怎么用usb<b class='flag-5'>燒</b><b class='flag-5'>寫</b><b class='flag-5'>程序</b>

    對(duì)于單片機(jī)晶振不起振,不能程序原因分析和解決方法

    ; 3、懷疑單片機(jī)復(fù)位腳,用示波器測(cè)量發(fā)現(xiàn)復(fù)位腳為低,終于找到問題點(diǎn); 4、復(fù)位腳為低,原因硬件復(fù)位狗打開了,而剛開始下載的程序沒有使能復(fù)位狗,故失效; 5、將復(fù)位
    的頭像 發(fā)表于 01-18 16:46 ?2.7w次閱讀
    對(duì)于<b class='flag-5'>單片機(jī)</b>晶振不起振,不能<b class='flag-5'>燒</b><b class='flag-5'>寫</b><b class='flag-5'>程序</b>的<b class='flag-5'>原因</b><b class='flag-5'>分析</b>和解決方法

    什么是單片機(jī)軟件?如何

    什么是單片機(jī)軟件? 什么是單片機(jī)軟件? 簡(jiǎn)單點(diǎn)說,就是把你寫好代碼(C或者是匯編)專程的
    發(fā)表于 04-14 11:04 ?3.5w次閱讀

    單片機(jī)方法總結(jié)

    單片機(jī)學(xué)習(xí)、使用非常重要的一個(gè)步驟就是把寫好的程序寫到單片機(jī)里,好多初學(xué)者,好不容易才寫好一個(gè)程序,馬上想讓他跑起來,但是如何
    發(fā)表于 07-07 09:55 ?1.1w次閱讀

    51單片機(jī)程序的方法

    STC89C51是應(yīng)用廣泛的51單片機(jī),很多人都是通過該單片機(jī)入門學(xué)習(xí)的,單片機(jī)的學(xué)習(xí)需要勤動(dòng)手。單片機(jī)需要
    的頭像 發(fā)表于 04-04 15:54 ?2.4w次閱讀

    STC單片機(jī)問題原因分析

    大家可能開始學(xué)單片機(jī)都是學(xué)的STC的單片機(jī),因?yàn)樗恍枰檬裁淳幊唐骶涂梢灾苯?b class='flag-5'>燒,但我看到還是有人在
    發(fā)表于 07-15 15:11 ?4179次閱讀

    51單片機(jī)(二)—— 如何51單片機(jī)程序

    學(xué)習(xí)單片機(jī)很重要的一步就是為單片機(jī)程序
    發(fā)表于 11-12 10:06 ?14次下載
    51<b class='flag-5'>單片機(jī)</b>(二)—— 如何<b class='flag-5'>燒</b><b class='flag-5'>寫</b>51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b>

    PIC OTP 單片機(jī)程序方法

    作者最近需要對(duì)PIC品牌的8位OPT 單片機(jī)進(jìn)行程序;作者第一次使用這種OTP單片機(jī),按照慣性遇到的問題一一記錄一下;MCU最小系統(tǒng)與
    發(fā)表于 11-16 12:51 ?12次下載
    PIC OTP <b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b><b class='flag-5'>燒</b><b class='flag-5'>寫</b>方法

    單片機(jī)的四種方式

    JTAG/SWD/ISP/SWIM詳解單片機(jī)的四種方式單片機(jī)是一種可編程控制器,搭好硬件電路后,可以利用
    發(fā)表于 11-24 18:21 ?7次下載
    <b class='flag-5'>單片機(jī)</b>的四種<b class='flag-5'>燒</b><b class='flag-5'>寫</b>方式

    串口 單片機(jī) 文件_單片機(jī)入門教程之程序方法

    單片機(jī)入門教程主要講的51單片機(jī),和其他的單片機(jī)編程所涉及的軟件會(huì)有出入,51單片機(jī)是最基
    發(fā)表于 12-03 19:36 ?27次下載
    串口 <b class='flag-5'>單片機(jī)</b>  文件_<b class='flag-5'>單片機(jī)</b>入門教程之<b class='flag-5'>燒</b><b class='flag-5'>寫</b><b class='flag-5'>程序</b>方法

    單片機(jī)仿真器和器的區(qū)別

    程序需要驗(yàn)證的時(shí)候都得一次芯片,然后接到板子上,再上電運(yùn)行,而且不支持多種調(diào)試方式。仿真器是通過硬件和相應(yīng)的軟件對(duì)單片機(jī)進(jìn)行
    發(fā)表于 12-29 19:49 ?13次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>仿真</b>器和<b class='flag-5'>燒</b><b class='flag-5'>寫</b>器的區(qū)別