那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機工作原理詳解

我快閉嘴 ? 來源:電子技術控 ? 作者:電子技術控 ? 2022-08-29 09:37 ? 次閱讀

8f464374-26f8-11ed-ba43-dac502259ad0.png

圖1

這張圖第一眼看過去,可能會讓人覺得頭皮發麻,但稍微想一下,其實并不復雜。

這里以定時器中斷T0為例。先看

8f6bcbee-26f8-11ed-ba43-dac502259ad0.png

圖2

定時器(也就是計數器)T0到達PT0H之前,先要經過TF0,開關ET0和開關EA。事實上,TF0也是一個開關,那么,為了讓定時器T0的中斷順利到達PT0H,這三個開關就必須都閉合。

為什么說TF0也是一個開關呢?注意到TF0所在的那一列,一共有8位,這8位剛好可以用一個寄存器來保存和控制,這個寄存器就叫做定時器控制寄存器:

8f789bf8-26f8-11ed-ba43-dac502259ad0.png

圖3圖3和TF0所在的那一列不是完全相同,我們暫且不管。這個TF0其實是定時器0的溢出中斷標志位 ,當T0從初值開始加1計數到產生溢出時,由硬件使TF0置1,也就是說,TF0等于1的時候(相當于這個開關接通),表示T0(一個8位寄存器)這個定時器(計數器)已經由8個0通過加1計數變成了8個1,再加1將產生溢出。這個時候就會引起CPU硬件復位,讓T0重新變成8個0。那么,TF0等于1的作用其實相當于把T0這個寄存器重新置0,當然,重新置0之后這個開關又重新斷開。

再看ET0所在的那一列。這一列同樣由一個寄存器來控制,叫做中斷允許控制寄存器IE:

8f9092f8-26f8-11ed-ba43-dac502259ad0.png

圖4

那么,將ET0這個開關閉合,就只要將寄存器IE中的那一位置1就可以了。ET0置1以后,就相當于定時器T0所引起的操作已經被CPU允許了。

再看圖1中EA所在的那一列。這一列的所有開關要么全斷開,要么全閉合。全斷開的時候,CPU不響應任何中斷;全閉合的時候,CPU響應全部中斷。所以,EA叫做中斷允許控制位。至此,圖1中左邊的三個開關已經解釋清楚了,那么右邊的呢?

右邊的更簡單了。我們注意到,圖1中一共有六個不同的中斷源:定時器T0,T1和T2,外中斷0和外中斷1,還有一個串口中斷。這六個不同的中斷源要是同時產生中斷請求怎么辦呢?這個時候就有一個優先級的問題,那么

8f9ffacc-26f8-11ed-ba43-dac502259ad0.png

圖5

優先級就由PT0H和PT0這兩位來設置:

8fbb5920-26f8-11ed-ba43-dac502259ad0.png

圖6

也就是說,六個不同的中斷源中的任何一個,都可以通過這兩位設置成0到3中的任何一個優先級。再看圖1中任何一個優先級的左邊

8fcfe372-26f8-11ed-ba43-dac502259ad0.png 圖7

是不是都有6根連線?

通過上述解釋,圖1就可以這樣簡單理解:

一個中斷源如果想得到CPU的響應,就必須先閉合左邊的三個開關,再按照被設定的優先級順序進行響應。

是不是很簡單?

當定時器T0中斷經過左邊三個開關以及優先級設定后,到達圖7的位置以后,這個時候就要把定時器T0的中斷服務程序的入口地址放到CPU的PC寄存器里邊以便執行這個中斷程序。

最后以一個簡單的定時器程序來說明:

MOV TMOD,A ; 將工作方式控制字寫入TMOD

MOV TL0, #9CH ; 送初值

MOV TH0, #9CH ; 送重裝初值,這個程序的前三句是設定定時器T0的初值,可以不管

SETB ET0 ; 圖1中的ET0開關閉合,允許定時器T0中斷

SETB EA ; 圖1中EA開關閉合,CPU允許全部中斷

SETB TR0 ; 啟動定時器T0,這一句和圖1中的TF0開關閉合不同,可以這樣理解:TF0開關 閉合是讓計數器T0重新變成0,這個過程是自動進行的;而計數器T0重新變成0 以后,要重新開始計數,TR0置1就是啟動這個過程。

HERE: SJMP HERE ; 循環等待,當計數器T0沒有變成全1的時候重復執行這個指令,就是 空轉

; 定時器T0的中斷服務程序

CTC0: 當計數器T0變成全1的時候 ,將 CTC0這個中斷程序的入口地址送人PC寄存 器

CPL P1.7

這個程序的作用是在P1.7引腳輸出周期為200 μs的方波,所以中斷程序只有一句,就是對P1.7引腳的電壓不斷進行取反操作。

上面程序的編寫思路是這樣的:主程序中設置好中斷發生的所有條件,即把該閉合的開關閉合,然后啟動定時器,等待定時器計數,當定時器計數未滿時,主程序空轉;當計數器滿了以后,相當于圖1中最左邊的那個開關TF0閉合,從而將中斷程序的入口地址CTC0送入PC讓CPU執行,并同時將計數器清0。

當中斷程序執行完成以后(執行了一遍CPL P1.7指令),CPU又回到主程序的空轉指令

HERE: SJMP HERE ;繼續等待,這個時候因為計數器已經重新清0并已經開始重新計數(定時器只要啟動一次),并且TFo這個開關已經重新斷開,所以主程序就在那里等待計數器下一次計滿溢出,如此周而復始。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638567
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121169
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115372

原文標題:單片機工作原理,一張圖幾個步驟理解很清晰

文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機工作原理詳解

      單片機是將中央處理單元(CPU)、儲存器、輸入輸出集成在一片芯片上,可以說單片機就是一臺微型計算機,只是和我們平常使用的計算機相比它的功能有所不同,也沒有我們用的計算機那樣強大。
    發表于 11-22 16:49 ?4674次閱讀
    <b class='flag-5'>單片機工作原理</b><b class='flag-5'>詳解</b>

    煤矸石驗煤機工作原理-磚坯大卡化驗機詳解

    煤矸石驗煤機工作原理-磚坯大卡化驗機詳解,煤矸石驗煤機工作原理-磚坯大卡化驗機詳解由【鶴壁生物質燃料大卡測定儀】提供的顆粒熱值分析儀大卡機:186.3920.3323煤矸石卡數化驗機,
    發表于 08-30 18:34

    有刷直流電機工作原理詳解 相關資料分享

    有刷直流電機工作原理詳解來源有刷直流電機被廣泛用于從玩具到按鈕調節式汽車坐椅的應用中。有刷直流 (Brushed DC,BDC)電機價格便宜、易于驅動并且易于制造成各種尺寸和形狀。本應用筆記將討論BDC電機的工作原理、驅動BDC
    發表于 06-30 06:08

    51單片機步進電機工作原理

    51單片機步進電機工作原理,51單片機步進電機控制程序,本來接觸單片機挺久了的,但是一直只是停留在非常初級的認識階段,本科的時候上過幾門課,但是從來沒有自己搗鼓過
    發表于 07-08 09:02

    單片機工作原理

    單片機工作原理:1、主要器件cpu(負責運算與控制)、存儲器(程序存儲在ROM存儲器中,臨時變量存放在RAM存儲器中)、IO(輸入、輸出),三者相互配合實現單片機的運行。2、同步:多個獨立的部分按照
    發表于 11-23 07:25

    單片機工作原理

    單片機工作原理
    發表于 02-21 20:16

    CD刻錄機工作原理

    CD刻錄機工作原理 CD刻錄機工作原理 C
    發表于 07-24 09:16 ?9631次閱讀

    8051單片機工作原理介紹

    8051單片機工作原理 8051單片機工作原理
    發表于 10-28 11:19 ?43次下載

    氬弧焊機工作原理

    氬弧焊基礎知識--------氬弧焊機工作原理
    發表于 11-30 15:58 ?31次下載

    單片機輸入/輸出端口的工作原理

    單片機的功能主要是通過向特殊寄存器輸送0 或1 二進制數來實現的,所以,了解0和1 的作用對理解單片機工作的基本原理非常重要,下面就以一個程序實例來說明輸入/輸出端口的工作原理
    發表于 07-21 10:36 ?1.1w次閱讀
    <b class='flag-5'>單片機</b>輸入/輸出端口的<b class='flag-5'>工作原理</b>

    通俗易懂的單片機工作原理

    單片機工作原理: 1、主要器件cpu(負責運算與控制)、存儲器(程序存儲在ROM存儲器中,臨時變量存放在RAM存儲器中)、IO(輸入、輸出),三者相互配合實現單片機的運行。 2、同步:多個獨立的部分
    的頭像 發表于 10-21 15:03 ?3.3w次閱讀

    串口 單片機 文件_通俗易懂的單片機工作原理

    單片機工作原理: 1、主要器件cpu(負責運算與控制)、存儲器(程序存儲在ROM存儲器中,臨時變量存放在RAM存儲器中)、IO(輸入、輸出),三者相互配合實現單片機的運行。 2、同步:多個獨立的部分
    發表于 11-15 11:36 ?18次下載
    串口 <b class='flag-5'>單片機</b>  文件_通俗易懂的<b class='flag-5'>單片機工作原理</b>

    哈默納科Harmonic精密行星齒輪箱減速機工作原理

    哈默納科Harmonic精密行星齒輪箱減速機工作原理詳解
    的頭像 發表于 01-13 17:21 ?2368次閱讀
    哈默納科Harmonic精密行星齒輪箱減速<b class='flag-5'>機工作原理</b>

    SMT貼片機工作原理詳解

    SMT貼片機工作原理詳解
    的頭像 發表于 09-04 11:08 ?3045次閱讀

    單片機時鐘電路的概念/工作原理/基本結構/作用

    單片機時鐘電路是指用于控制單片機工作頻率的電路,其主要作用是為單片機提供穩定的時鐘信號,保證單片機正常工作
    發表于 09-08 17:08 ?6915次閱讀
    修武县| 百家乐赌钱| tt娱乐城开户| 现场百家乐官网的玩法技巧和规则 | 平注打百家乐官网的方法| 莫斯科百家乐官网的玩法技巧和规则 | 百家乐翻天qvod粤语| 乌兰察布市| 百家乐破解仪| 游戏房百家乐官网赌博图片| 联合百家乐的玩法技巧和规则| 澳门顶级赌场娱乐平台| 做生意如何风水| 战神国际娱乐| 澳门百家乐威尼斯| 百家乐官网合作代打| 澳门百家乐娱乐平台| 赌场百家乐官网赢钱| 大发888真钱电玩游戏| 百家乐官网软件代理打| 太阳城77scs| 百家乐赌博论谈| 太阳城百家乐官网赌博害人| 威尼斯人娱乐场 28| 联众百家乐官网的玩法技巧和规则 | 大发888娱乐城网页版lm0| 免费百家乐官网预测工具| 新泰市| 成都百家乐的玩法技巧和规则| 网上百家乐官网软件大全酷| 六合彩官方| 百家乐最新道具| 大世界百家乐官网娱乐平台| 东方夏威夷网站| 伯爵百家乐赌场娱乐网规则| 百家乐官网网络赌场| 网球比赛比分直播| 上市百家乐评论| 红桃K百家乐官网的玩法技巧和规则| 吴堡县| 老虎机破解|