久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6624|回復: 9
收起左側

關于51單片機跳過中斷向量地址的問題

[復制鏈接]
ID:284637 發表于 2018-2-21 17:30 | 顯示全部樓層 |閱讀模式
單片機程序代碼是存入在程序存儲器里,那代碼是怎樣跳過程序存儲器中斷向量的地址的呢?如下:

ORG   0JMP   START
ORG  03H
JMP INT0
START........

我的問題是START后的程序代碼是怎樣跳過中斷向量的地址03H的?

我的理解:

ORG 03H
JMP INT0

說明了03H存放了JMP  INT0這個指令。其它程序代碼會跳過這個地址存放。

不知這樣理解是不正確。

請老師指教。
回復

使用道具 舉報

ID:155507 發表于 2018-2-21 22:42 | 顯示全部樓層
(ORG的解釋:該偽指令的功能是規定其后面的目標程序或數據塊的起始地址。它放在一段源程序(主程序、子程序)或數據塊的前面,說明緊跟在其后的程序段或數據塊的起始地址就是ORG后面給出的地址。)


00h這個地址能存8位的二進制數,00h后對應的就是01h以此類推,程序寄存器里面中斷源入口地址是固定的屬于保留地址 這個你最好不要再里面寫入程序指令,寫程序保持良好的習慣這很有好處的,如果說你寫的程序過大裝不下的話,可以外接存儲設備來保存程序指令。


關于后ORG 03H 是被執行的問題。

ORG 03H 是外部中斷0的中斷服務地址,如果外部中斷0被觸發程序的pc指針就會指到org 03h ,不要問為什么 這是匯編的規定 。

到03h這后依然順序執行 通過jmp ext1跳到存放中斷服務程序的地方。這樣0rg 03h被執行了,如果沒有中斷觸發那么這個org 03h 就永遠不會被執行

ORG 00H ;開始地址
JMP MAIN ;跳轉到主程序
ORG 03H ;外部中斷0地址
JMP EXT1 ;跳轉
ORG 13H ;外部中斷1地址
JMP EXT2 ;跳轉

評分

參與人數 1黑幣 +8 收起 理由
arthuryu + 8 贊一個!

查看全部評分

回復

使用道具 舉報

ID:111634 發表于 2018-2-22 08:01 | 顯示全部樓層
你的問題很簡單,但需要從頭從基礎學起,否則給你解釋了也理解不了。先學理論,打基礎,否則,問題多多,事倍功半。
回復

使用道具 舉報

ID:111634 發表于 2018-2-22 08:01 | 顯示全部樓層
先學理論,打基礎,就不會有這么多問題了,本壇至少有50%的問題屬于此類情況。
回復

使用道具 舉報

ID:282439 發表于 2018-2-22 08:22 | 顯示全部樓層
我的理解:00H-100H是系統的保留區。用于安排中斷向量的跳轉。用戶程序從ORG 100H開始,安排初始化即后面的MAIN.
回復

使用道具 舉報

ID:284637 發表于 2018-2-22 11:23 | 顯示全部樓層
angmall 發表于 2018-2-21 22:42
(ORG的解釋:該偽指令的功能是規定其后面的目標程序或數據塊的起始地址。它放在一段源程序(主程序、子程序 ...

START 后面的程序會放在程序存儲器中的什么地址呢?它不是在ROM里順序放么,不會有可能放到03H   13H 這些地址里去?

因為這個START 前面沒有用ORG指令指定地址。
回復

使用道具 舉報

ID:123289 發表于 2018-2-22 12:24 | 顯示全部樓層
5#的理解是不完全對的。
51系統:
當RESET引腳作用時,程序自動從0000H取指令;
當INT0引腳作用時,且INT0中斷被允許時,程序將現行的下一條指令地址壓堆棧,再轉向0003H取指,直到遇見RETI指令再返回(彈出運行的地址,回到原來位置)。
樓主要細讀這些原理,理解了就不會有這些問題了。
51系統的中斷地址是硬件固定好的,不可變。為了機動,所以這此地址上通常是放LJMP指令。當然可以直接放程序,但是程序會占用其它中斷地址。如果沒有其它中斷,則是可以直接放程序的。
任何程序都可以運行到0000H-0100H中去,不是只有中斷可以用這些地址的。
我們經常用:JMP 0000H,進行軟件強制復位。
我處理這此地址的方案有兩種,當然需要視情況決定采用哪一種:
1、放一條跳轉指令:LJMP START (START是我的主程序起點);
2、放一條 RETI 指引令。

出兩個題目給你做做,做對了你的單片機水平就大用長勁了。
1、JMP 0000H 與RESET,都會使用程序從0000H單元開始執行程序。有區別嗎?
2、中斷服務程序遇到RETI會返回,將 RETI 改為 RET,會怎樣?

回復

使用道具 舉報

ID:111634 發表于 2018-2-22 13:06 | 顯示全部樓層
arthuryu 發表于 2018-2-22 08:22
我的理解:00H-100H是系統的保留區。用于安排中斷向量的跳轉。用戶程序從ORG 100H開始,安排初始化即后面的 ...

100H,誰規定的?
回復

使用道具 舉報

ID:284637 發表于 2018-2-23 12:24 | 顯示全部樓層
yzwzfyz 發表于 2018-2-22 12:24
5#的理解是不完全對的。
51系統:
當RESET引腳作用時,程序自動從0000H取指令;

1,RESET,會初始化單片機,但JMP 不會



2,RETI可以清除優先級激活觸發器,以保證后續中斷源的及時響應
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人精品在线 | 久久久久国产精品 | 国产精品久久久久久婷婷天堂 | 国产成人自拍一区 | 在线观看成年人视频 | 久久久久亚洲精品 | 午夜影院在线观看免费 | 亚洲精品麻豆 | 日韩精品久久久久 | 欧美极品少妇xxxxⅹ免费视频 | 91国语清晰打电话对白 | 久久伊人一区 | 亚洲成网站 | 国产色片在线 | 亚洲精品一区中文字幕乱码 | 久久鲁视频 | 国产精品久久久久久二区 | 精品欧美乱码久久久久久 | 日韩成人影院在线观看 | 欧美在线成人影院 | 欧美在线一区二区三区 | 欧美一区二区三区在线播放 | 精品国产一区二区三区免费 | 欧美1区 | 成人综合视频在线观看 | 天天干天天插 | 久久91 | 欧美精品video | 亚州春色| 在线一区二区国产 | 亚洲福利在线观看 | 午夜在线 | av国产精品 | 涩涩99| 中文字幕一区二区不卡 | 日韩精品一区二区三区久久 | 日韩成人免费 | 一区二区中文字幕 | 91色在线视频| 91色网站 | 国产99久久精品一区二区300 |