05:定時器中斷

中斷

  • 1、定時器T0中斷
  • 2、案例:通過定時器T0中斷來實現燈間隔1s亮滅

1、當中央處理機CPU正在處理某件事的時候外界發生了緊急事件請求,要求CPU暫停當前的工作,轉而去處理這個緊急事件,處理完以后,再回到原來被中斷的地方,繼續原來的工作,這樣的過程稱為中斷。
2、通常根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求源,即規定每一個中斷源有一個優先級別。CPU總是先響應優先級別最高的中斷請求。
3、C51單片機有8個中斷請求源:

在這里插入圖片描述

1、定時器T0中斷

在這里插入圖片描述

如圖:中斷也需要配置寄存器,一共有2種寄存器,第一種位中斷控制寄存器(IE和XICON),第二種為優先級控制寄存器。這里我們只學習定時器T0的一個中斷。
要使用定時器T0中斷:

ET0 = 1;ET0為定時器T0的中斷開關,為1時打開中斷
EA = 1;  EA為中斷源的總開關。

定的時間到了后,去執行中斷函數里面的程序,那么怎樣才知道哪個函數是中斷函數喃?— 查詢中斷號(不同中斷源產生的中斷號不同)
在這里插入圖片描述

2、案例:通過定時器T0中斷來實現燈間隔1s亮滅

#include <REGX52.H>sbit LED1 = P3^7;
int cnt = 0;void Timer0_Init_10ms(void)		//10毫秒@11.0592MHz
{TMOD &= 0xF0;		//設置定時器模式TMOD |= 0x01;		//設置定時器模式TL0 = 0x00;		//設置定時初值TH0 = 0xDC;		//設置定時初值TF0 = 0;		//清除TF0標志TR0 = 1;		//定時器0開始計時
}void Timer0_interrupt_Init(void)//定時器T0中斷初始化
{ET0 = 1;EA = 1;
}void main(void)
{ LED1 = 1;//先讓燈熄滅的狀態Timer0_Init_10ms();//打開定時器T0Timer0_interrupt_Init();//打開定時器T0中斷while(1){}
}/*定義中斷函數*/
void Timer0Hander() interrupt 1
{TF0 = 0;//軟件清零TL0 = 0x00; //重新給初值TH0 = 0xDC;cnt++;if(cnt == 100)//數100次,相當于1s{cnt = 0;LED1 = !LED1;}
}
  • 當中斷開啟時,每隔10ms就跳出主函數,執行中斷函數里面的程序。
  • 定時的第一個10ms到了,執行中斷函數,重新給定時器計時10ms,cnt = 1,燈還是滅
  • 定時的第二個10ms到了,執行中斷函數,重新給定時器計時10ms,cnt = 2,燈還是滅
  • 定時的第100個10ms到了,執行中斷函數,重新給定時器計時10ms,cnt = 100,燈變亮

這樣就實現了間隔1s的亮滅。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45059.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安裝lap和cython_bbox失敗了很多次!!!終于被我發現了!

先說 lap 試了很多種方式&#xff0c;pip install lap / conda install -c conda-forge lap … 全失敗了后面發現 lap 不支持 python > 3.9 的版本使用 pip install lapx 成功&#xff01; cython_bbox 更難了 一直提示缺少MicroSoft C 14.0 … 大家有需要自行下載&#x…

[PaddlePaddle飛槳] PaddleDetection-通用目標檢測-小模型部署

PaddleDetection的GitHub項目地址 推薦環境&#xff1a; PaddlePaddle > 2.3.2 OS 64位操作系統 Python 3(3.5.1/3.6/3.7/3.8/3.9/3.10)&#xff0c;64位版本 pip/pip3(9.0.1)&#xff0c;64位版本 CUDA > 10.2 cuDNN > 7.6pip下載指令&#xff1a; python -m pip i…

面向本科生的智能品牌傳播策略優化

面向本科生的智能品牌傳播策略優化 一、引言 在數字化時代,品牌傳播已不再是簡單的信息傳遞,而是需要借助智能技術實現精準、高效、創新的傳播策略。作為本科畢業生,選擇“面向本科生的智能品牌傳播策略優化實踐”作為研究課題,不僅有助于深入理解品牌傳播的理論知識,還…

【數據結構】一文了解七大排序算法

文章目錄 前言一.直接插入排序插入排序思想插入排序代碼實現插入排序總結 二.希爾排序希爾排序思想希爾排序代碼實現希爾排序總結 三.選擇排序選擇排序思想選擇排序代碼實現選擇排序總結 四.堆排序堆排序思想堆排序代碼實現堆排序總結 五、冒泡排序冒泡排序思想冒泡排序代碼實現…

Dify 與 Xinference 最佳組合 GPU 環境部署全流程

背景介紹 在前一篇文章 RAG 項目對比 之后&#xff0c;確定 Dify 目前最合適的 RAG 框架。本次就嘗試在本地 GPU 設備上部署 Dify 服務。 Dify 是將模型的加載獨立出去的&#xff0c;因此需要選擇合適的模型加載框架。調研一番之后選擇了 Xinference&#xff0c;理由如下&…

易我分區大師18.8.0更新:兩大功能改進

近日&#xff0c;易我分區大師18.8.0更新上線。此次更新重點改進了系統克隆功能&#xff0c;支持從第二塊系統盤&#xff08;從盤&#xff09;克隆系統&#xff1b;同時&#xff0c;軟件支持將分區的文件系統格式從FAT轉換成exFAT。 01、系統克隆 系統克隆功能旨在幫助用戶在…

pinia學習

conuter.ts <template><div><!-- 顯示當前的計數 --><p>Count: {{ count }}</<!-- 顯示計算的雙倍計數 --><p>Double Count: {{ doubleCount }}</p><!-- 點擊按鈕以增加計數 --><button click"increment">…

基于紅黑樹對map和set的封裝

前言 前面我們已經對紅黑樹做了介紹和實現&#xff0c;本期我們來對紅黑樹進一步改造&#xff0c;然后基于改造后的紅黑樹封裝出map和set&#xff01; 本期內容介紹 ? 紅黑樹的改造 ? 紅黑樹的迭代器實現 ? map的封裝 ? set的封裝 ? 全部源碼 ● 紅黑樹的改造 我們目前…

未來互聯網的新篇章:深度解析Facebook的技術與戰略

隨著科技的飛速發展和社會的不斷變遷&#xff0c;互聯網作為全球信息交流的重要平臺&#xff0c;正經歷著前所未有的變革和演進。作為全球最大的社交媒體平臺之一&#xff0c;Facebook不僅是人們溝通、分享和互動的重要場所&#xff0c;更是科技創新和數字化進程的推動者。本文…

音視頻開發—FFmpeg 從MP4文件中抽取視頻H264數據

文章目錄 MP4文件存放H264數據方式MP4 文件結構概述H.264 數據在 MP4 中的存儲1. ftyp 盒子2. moov 盒子3. mdat 盒子 H.264 數據在 stsd 盒子中的存儲&#xff08;AVC1&#xff09;AVC1與Annex-B 格式&#xff08;裸 H.264 流&#xff09;的區別 從MP4文件中提取H264裸流步驟&…

java使用easypoi模版導出word詳細步驟

文章目錄 第一步、引入pom依賴第二步、新建導出工具類WordUtil第三步、創建模版word4.編寫接口代碼5.導出結果示例 第一步、引入pom依賴 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><…

怎么壓縮視頻?推薦7款必備視頻壓縮軟件免費版(強烈建議收藏)

如今&#xff0c;視頻內容日益豐富&#xff0c;并占據了許多人的日常娛樂和工作生活。然而&#xff0c;隨著高清和超高清視頻的普及&#xff0c;視頻文件的體積也越來越大&#xff0c;給存儲和傳輸帶來了挑戰。因此&#xff0c;學會如何壓縮視頻文件成為了許多人的需求之一。本…

小米官網的數據是怎么優化的?

小米PC端官網首頁的“全部商品分類”功能是用戶瀏覽和選擇商品的重要入口。為了優化這一功能的數據展示和用戶體驗&#xff0c;可以采取以下幾個步驟&#xff1a; 數據加載優化&#xff1a; 懶加載&#xff08;Lazy Loading&#xff09;&#xff1a;當鼠標劃過“全部商品分類”…

實現前端登錄注冊功能(有源碼)

引言 用戶登錄和注冊是任何現代Web應用程序的基本功能。在前端開發中&#xff0c;實現一個安全且用戶友好的登錄注冊系統至關重要。本文將介紹如何使用HTML、CSS和JavaScript&#xff08;包括Vue.js&#xff09;來實現前端的登錄和注冊功能。 1. 項目結構 首先&#xff0c;我們…

軟設之訪問者模式

設計模式中訪問者模式的意圖是&#xff1a; 表示一個作用于某對象結構中的各元素的操作&#xff0c;使得在不改變各元素的類的前提下定義作用于這些元素的新操作。 舉個例子&#xff0c;比如說有個游客想去幾個景點&#xff0c;去每個景點都想按統一的流程。但是每個景點都有…

vue3 學習筆記04 -- axios的使用及封裝

vue3 學習筆記04 – axios的使用及封裝 安裝 Axios 和 TypeScript 類型定義 npm install axios npm install -D types/axios創建一個 Axios 實例并封裝成一個可復用的模塊&#xff0c;這樣可以在整個應用中輕松地進行 API 請求管理。 在 src 目錄下創建一個 services 文件夾&…

關于鋰電池的充電過程

鋰電池的充電階段大概可以分為四個階段&#xff1a;涓流充電、恒流充電、恒壓充電以及充電終止。 涓流充電&#xff1a;這是充電過程的第一階段&#xff0c;主要用于對完全放電的電池單元進行預充&#xff08;恢復性充電&#xff09;。當電池電壓低于大概3V時&#xff0c;采用最…

【學習css1】flex布局-頁面footer部分保持在網頁底部

中間內容高度不夠屏幕高度撐不開的頁面時候&#xff0c;頁面footer部分都能保持在網頁頁腳&#xff08;最底部&#xff09;的方法 1、首先上圖看顯示效果 2、奉上源碼 2.1、html部分 <body><header>頭部</header><main>主區域</main><foot…

PaintsUndo - 一張照片一鍵生成繪畫過程視頻 本地一鍵整合包下載

這就是ControlNet作者張呂敏大佬的新作&#xff0c;PaintsUndo。只要你有一張圖片&#xff0c;PaintsUndo 就能讓它變成完整的繪畫過程視頻。這科技&#xff0c;絕了。 你有沒有想過&#xff0c;一張靜態圖片也能變成一個繪畫教程? PaintsUndo 就是這么神奇。你只需要提供一…

通過手機供網、可修改WIFI_MAC的網絡設備

一、修改WIFI mac&#xff08;bssid&#xff09; 取一根網線&#xff0c;一頭連著設備黃色網口、一頭連著電腦按住設備reset按鍵&#xff0c;插入電源線&#xff0c;觀察到藍燈閃爍后再松開reset按鍵 打開電腦瀏覽器&#xff0c;進入192.168.1.1&#xff0c;選擇“MAC 地址修改…