單片機執行程序的過程,實際上就是執行我們所編制程序的過程。即逐條指令的過程。計算機每執行一條指令都可分為三個階段進行。即取指令-----分析">

极品日韩av_永久免费在线观看_成人免费在线电影网_午夜一区不卡_国产人妖乱国产精品人妖_日本成人中文字幕在线视频_亚洲欧美日韩视频一区_成人av综合一区

大學校園網

大學生活網 > 大學生學習 > 電氣工程

單片機執行指令過程詳解實操

單片機執行指令過程詳解

單片機執行程序的過程,實際上就是執行我們所編制程序的過程。即逐條指令的過程。計算機每執行一條指令都可分為三個階段進行。即取指令-----分析指令-----執行指令。

取指令的任務是:根據程序計數器PC中的值從程序存儲器讀出現行指令,送到指令寄存器。

分析指令階段的任務是:將指令寄存器中的指令操作碼取出后進行譯碼,分析其指令性質。如指令要求操作數,則尋找操作數地址。

計算機執行程序的過程實際上就是逐條指令地重復上述操作過程,直至遇到停機指令可循環等待指令。

一般計算機進行工作時,首先要通過外部設備把程序和數據通過輸入接口電路和數據總線送入到存儲器,然后逐條取出執行。但單片機中的程序一般事先我們都已通過寫入器固化在片內或片外程序存儲器中。因而一開機即可執行指令。

下面我們將舉個實例來說明指令的執行過程:

開機時,程序計算器PC變為0000H。然后單片機在時序電路作用下自動進入執行程序過程。執行過程實際上就是取出指令(取出存儲器中事先存放的指令階段)和執行指令(分析和執行指令)的循環過程。

例如執行指令:MOVA,#0E0H,其機器碼為“74HE0H”,該指令的功能是把操作數E0H送入累加器,0000H單元中已存放74H,0001H單元中已存放E0H。當單片機開始運行時,首先是進入取指階段,其次序是:

1程序計數器的內容(這時是0000H)送到地址寄存器;

2程序計數器的內容自動加1(變為0001H);

3地址寄存器的內容(0000H)通過內部地址總線送到存儲器,以存儲器中地址譯碼電跟,使地址為0000H的單元被選中;

4CPU使讀控制線有效;

5在讀命令控制下被選中存儲器單元的內容(此時應為74H)送到內部數據總線上,因為是取指階段,所以該內容通過數據總線被送到指令寄存器。

至此,取指階段完成,進入譯碼分析和執行指令階段。

由于本次進入指令寄存器中的內容是74H(操作碼),以譯碼器譯碼后單片機就會知道該指令是要將一個數送到A累加器,而該數是在這個代碼的下一個存儲單元。所以,執行該指令還必須把數據(E0H)從存儲器中取出送到CPU,即還要在存儲器中取第二個字節。其過程與取指階段很相似,只是此時PC已為0001H。指令譯碼器結合時序部件,產生74H操作碼的微操作系列,使數字E0H從0001H單元取出。

因為指令是要求把取得的數送到A累加器,所以取出的數字經內部數據總線進入A累加器,而不是進入指令寄存器。至此,一條指令的執行完畢。單片機中PC=0002H,PC在CPU每次向存儲器取指或取數時自動加1,單片機又進入下一取指階段。這一過程一直重復下去,直至收到暫停指令或循環等待指令暫停。CPU就是這樣一條一條地執行指令,完成所有規定的功能。

對于一款MCU來說,在性能描述的時候都會告訴sram,flash的容量大小,對于初學者來說,也不會去考慮和理會這些東西,拿到東西就只用。其實不然,這些量都是十分重要的,仔細想想,代碼為什么可以運行,代碼量是多少,定義的int、short等等類型的變量究竟是怎么分配和存儲的,這些問題都和內寸有關系。

首先單片機的內存可以大小分為ram和rom,這里就不再解釋ram和rom的區別了,我們可以將其等效為flash和sram,其中根據flash和sram的定義可得,flash里面的數據掉電可保存,sram中的并不可以,但是sram的執行速度要快于flash,可以將單片機的程序分為code(代碼存儲區)、RO-data(只讀數據存儲區)、RW-data(讀寫數據存儲區)和ZI-data(零初始化數據區)。在MDK編譯器下可以觀察到在代碼中這4個量的值,如下圖1所示:

圖1:

其中code和RO-data存儲在flash中,所以兩者之和為單片機中flash需要分配給它們的空間大小(并且等于代碼所生成的.bin文件大小),另外RW-data和ZI-data存儲在sram中,同樣兩者之和為單片機中sram需要分配給它們的空間大小。

另外,我們必然會想到棧區(stack)、堆區(heap)、全局區(靜態區)(staTIc)、文字常量區和程序代碼區和上面所介紹的code、RO-data等的關系。

1、棧區(stack):由編譯器自動分配釋放,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。這些值是可讀寫的,那么stack應該被包含在RW-data(讀寫數據存儲區),也就是單片機的sram中。

2、堆區(heap):一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收。可以理解,這些也是被包含在單片機的sram中的。

3、全局區(靜態區)(staTIc):全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域,未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域,程序結束后由系統釋放。這些數據也是可讀可寫的,和stack、heap一樣,被包含在sram中。

4、文字常量區:常量字符串就是放在這里的。這些數據是只讀的,分配在RO-data(只讀數據存儲區),則被包含在flash中。

5、程序代碼區:存放函數體的二進制代碼,可以想象也是被包含在flash,因為對于MCU來說,當其重新上電,代碼還會繼續運行,并不會消失,所以存儲在flash中。

綜上所述,MCU的內存分配基本如此,其中并沒有提到存儲空間所對應的flash和sram地址,這些后面還會講到!如有錯誤,請指正。
日韩一区二区三区电影在线观看| 免费成人在线观看| 亚洲黄色在线| 国产一区二区三区美女| 中文字幕免费在线观看视频一区| 亚洲国产美女搞黄色| 欧美人狂配大交3d怪物一区| 亚洲第一区第一页| 四虎在线免费观看| 久草在线视频福利| 成人线上播放| 在线 亚洲欧美在线综合一区| 激情五月播播久久久精品| 中文字幕第一区综合| 欧美性三三影院| 视频黄页在线| 一区一区三区| 精品一区亚洲| 日韩中文字幕区一区有砖一区| 99精品视频在线观看免费| 黑人精品xxx一区一二区| 国产视频久久久久久久| 九七久久人人| 欧美深夜视频| 蜜臀av亚洲一区中文字幕| 综合av第一页| 亚洲国产小视频| 久久77777| 希岛爱理av免费一区二区| 久久精品观看| 专区另类欧美日韩| 亚洲国产精品久久久| av网站大全在线| 亚洲男人都懂第一日本| 久久精品国产精品青草| 亚洲超丰满肉感bbw| 日本天堂一区| 少妇高潮一区二区三区99| 欧美三级不卡| 中文幕一区二区三区久久蜜桃| 日韩一区二区三| av激情在线| 欧美日韩一二| 2020国产精品| 精品成人一区二区三区四区| 日本www在线观看视频| 欧美尿孔扩张虐视频| 卡一卡二国产精品| 色综合久久久久网| 国产精品视频二区三区| 看全色黄大色大片免费久久久| 精品中文av资源站在线观看| 黑人与娇小精品av专区| 国产精品秘入口| 日韩中出av| 337p日本| 欧美日本三区| 久久精品一区八戒影视| 日韩欧美的一区二区| 污污视频在线看| 999国产精品视频| 国产精品美女久久福利网站| 亚洲女人天堂色在线7777| 日韩欧美少妇| 日韩专区一卡二卡| 欧美色图免费看| 国产精品186在线观看在线播放| 欧美日韩午夜| 午夜免费久久看| 色哟哟免费在线观看| 欧美a级成人淫片免费看| 国产精品污www在线观看| 久久小说免费下载| 精品资源在线| 久久久三级国产网站| 国产视频一二区| 国产调教精品| 国产精品妹子av| 头脑特工队2免费完整版在线观看| 99久久精品一区二区| 最新精品国产| 午夜伊人狠狠久久| 黄色av电影在线播放| 伊人久久成人| 欧美亚洲国产bt| 亚洲精品88| 狠狠久久亚洲欧美| 日韩精品免费在线视频| 日本在线成人| 亚洲国产精华液网站w| 黄色片在线免费观看| 国产综合婷婷| 6080国产精品一区二区| 日韩欧美激情| 国产调教视频一区| eeuss影院在线观看| 99精品99| 日韩精品高清视频| 国产欧美日韩精品一区二区免费| 亚洲综合在线视频| 51av在线| 丰满亚洲少妇av| 桃乃木香奈av在线| 国内精品福利| 精品美女在线观看| 日本一区福利在线| 疯狂蹂躏欧美一区二区精品| 免费看av不卡| 国产日韩欧美精品在线| 老司机在线视频二区| 麻豆视频观看网址久久| 91在线电影| 亚洲区第一页| 亚洲精品久久久久| 亚洲综合色站| 精品日韩欧美一区二区| 视频一区中文| 欧美日韩国产一级片| 欧美国产极品| 色综合久久九月婷婷色综合| 国产精品777777在线播放| 亚洲资源在线观看| 免费成人毛片| 午夜欧美大尺度福利影院在线看| 国产情侣一区二区三区| 亚洲国产岛国毛片在线| 激情aⅴ欧美一区二区欲海潮| 久久综合精品国产一区二区三区| av软件在线观看| 国产欧美日韩另类一区| 激情国产在线| 亚洲精品中文字幕在线观看| 欧美精品资源| 亚欧色一区w666天堂| 日韩一区网站| 欧美视频三区在线播放| 精品国产乱码久久久久久1区2匹| 精品视频999| 日韩亚洲一区在线| 日韩电影大全免费观看2023年上| 欧美福利电影在线观看| xxxx影院| 麻豆91小视频| av在线免费网站| 中文字幕精品综合| 国产乱子精品一区二区在线观看| 婷婷综合在线观看| 牛牛视频精品一区二区不卡| 日韩一级片网址| 影音先锋中文字幕一区| 三级在线电影| 91麻豆国产精品久久| 深夜成人影院| 一本大道久久精品懂色aⅴ| 久久99国产精品视频| 精品在线观看国产| 七七婷婷婷婷精品国产| 亚洲综合伊人久久大杳蕉| 综合av第一页| 亚洲精品蜜桃乱晃| 精品亚洲一区二区三区| 日本伊人色综合网| 在线观看中文字幕的网站| 亚洲欧美精品午睡沙发| 欧美18免费视频| 亚洲免费小视频| 丁香六月久久综合狠狠色| av资源亚洲| 欧美视频一区二区三区在线观看| 亚洲欧洲中文字幕| 亚洲aⅴ优女av综合久久久| 99久久精品国产一区| 日韩电影精品| 欧美成人艳星乳罩| 精品一区二区三区免费毛片爱| 伊人网在线播放| 欧美精选一区二区| 人人狠狠综合久久亚洲| 国产理论电影在线| 欧美影院一区二区| 国产日韩一区二区三区在线| 国产成人l区| 狠狠色噜噜狠狠狠狠97| 亚洲精品麻豆| 在线免费看h| 日韩欧美在线影院| 国产美女主播视频一区| 另类一区二区| 亚洲欧美另类人妖| 久久久久久久精| 成人无号精品一区二区三区| 亚洲kkk444kkk在线观看| 一区二区三区高清不卡| 亚洲欧美综合久久久| www久久日com| 91精品午夜视频| 成人午夜激情在线| 女同另类激情重口| a天堂在线资源| 欧美日韩一区二区三区在线 |