日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]在測試c語言單片機程序的時候,發(fā)現(xiàn)在main函數(shù)的執(zhí)行之前,有很長的一段時間的延時,單片機在這段時間在做什么?進行了一下分析,得到結(jié)論如下:C程序#include sbit p1_7=P1^7;void interrupt0() interrupt 0 using

在測試c語言單片機程序的時候,發(fā)現(xiàn)在main函數(shù)的執(zhí)行之前,有很長的一段時間的延時,單片機在這段時間在做什么?進行了一下分析,得到結(jié)論如下:
C程序

#include

sbit p1_7=P1^7;

void interrupt0() interrupt 0 using 2

{

p1_7=!p1_7;

}

void main()

{

EA=1;

IT0=1;

EX0=1;

p1_7=0;

do{}while(1);

}

生成的機器碼:

:03000300020006F2   中斷入口

:03000600B297327C   中斷程序

:0B000900D2AFD288D2A8C29780FE229E  main函數(shù)

:03000000020014E7   程序的起始

:0C001400787FE4F6D8FD75810702000932

:00000001FF

下面分析一下,機器碼:0B000900D2AFD288D2A8C29780FE229E這一段就是main()內(nèi)部的內(nèi)容,我們發(fā)現(xiàn)還有一段代碼,這段代碼的執(zhí)行是在main函數(shù)的前面,而在main函數(shù)執(zhí)行之前,又執(zhí)行了什么操作呢?

對:0C001400787FE4F6D8FD75810702000932這段代碼進行反匯編

MOV R0,7FH

CLR A

LOOP: MOV @R0,A

DJNZ R0,LOOP

MOV 81H,07H

LJMP 0009H

就會發(fā)現(xiàn)這段代碼的作用實際上在main()函數(shù)執(zhí)行前,把256B的ram區(qū)全清空,根據(jù)這個可以判斷單片機是硬起動還是軟件復位。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉