51單片機的時鐘電路與時序以及 復位電路和電源模式

51單片機的時鐘電路與時序以及 復位電路和電源模式

本文主要涉及51單片機的時鐘電路以及相關時序的知識,也講解了了51單片機的復位電路以及電源模式。

文章目錄

  • 51單片機的時鐘電路與時序以及 復位電路和電源模式
    • 一、時鐘電路與時序
      • 1、 時鐘電路設計
        • 1.1 內部時鐘方式
        • 1.2 外部時鐘方式
        • 1.3 時鐘信號的輸出
      • 2、機器周期、指令周期與指令時序
    • 二、 復位電路和電源模式
      • 1、 復位操作和復位電路
        • 1.1 復位操作
        • 1.2 復位電路設計
      • 2、低功耗節電模式
        • 2.1 空閑模式
        • 2.2 掉電運行模式
        • 2.3 掉電和空閑模式下的WDT

一、時鐘電路與時序

時鐘電路產生AT89S51工作時所必需的控制信號,在時鐘信號的控制下,嚴格按時序執行指令。
執行指令時,CPU首先到程序存儲器中取出需要執行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號完成指令所規定的操作。
CPU發的時序信號兩類,一類用對片內各個功能部件控制,用戶無須了解;另一類用于對片外存儲器或I/O端口的控制,這部分時序對于分析、設計硬件接口電路至關重要。

1、 時鐘電路設計

時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統的穩定性。常用的時鐘電路有兩種方式,一種是內部時鐘方式,另一種是外部時鐘方式。

1.1 內部時鐘方式

AT89S51內部有一個用于構成振蕩器的高增益反相放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩定的自激振蕩器,圖2-8是AT89S51內部時鐘方式的電路。

在這里插入圖片描述

電路中的電容 C1和 C2 的典型值通常選擇為 30pF。晶體振蕩頻率的范圍通常是在1.2~12MHz
AT89S51單片機常選擇振蕩頻率6MHz或12MHz的石英晶體。

1.2 外部時鐘方式

用現成的外部振蕩器產生脈沖信號,常用于多片AT89S51同時工作,以便于多片AT89S51單片機之間的同步。
外部時鐘源直接接到XTAL1端,XTAL2端懸空,見圖2-9。
在這里插入圖片描述

1.3 時鐘信號的輸出

當使用片內振蕩器,XTAL1、XTAL2引腳還能為應用系統中的其他芯片提供時鐘,但需增加驅動能力。其引出的方式有兩種,如圖2-10。
在這里插入圖片描述

2、機器周期、指令周期與指令時序

各種指令時序與時鐘周期相關。
1.時鐘周期
時鐘控制信號的基本時間單位。若晶振頻率為fosc,則時鐘周期Tosc=1/fosc
如fosc=6MHz,Tosc=166.7ns。

2.機器周期
CPU完成一個基本操作所需時間為機器周期。執行一條指令分為幾個機器周期。每個機器周期完成一個基本操作,如取指令、讀或寫數據等。每12個時鐘周期為1個機器周期

1個機器周期包括12個時鐘周期,分6個狀態:S1~S6。每個狀態又分兩拍P1和P2
因此,一個機器周期中的12個時鐘周期表示為S1P1、S1P2、S2P1、S2P2、…、S6P2,如圖2-11。
在這里插入圖片描述

3.指令周期
執行一條指令所需的時間簡單的單字節指令,取出指令立即執行,只需一個機器周期的時間。而有些復雜的指令,如轉移指令則需兩個或多個機器周期。

從指令執行時間看:

  • 單字節和雙字節指令一般為單機器周期雙機器周期;
  • 三字節指令都是雙機器周期;
  • 乘、除指令占用4個機器周期

二、 復位電路和電源模式

1、 復位操作和復位電路

單片機的初始化操作,給復位腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就使AT89S51復位。

1.1 復位操作

復位時,PC初始化為0000H,程序從0000H單元開始執行。
除系統的正常初始化外,當程序出錯(如程序跑飛)或操作錯誤使系統處于死鎖狀態時,需按復位鍵使RST腳高電平,使AT89S51擺脫“跑飛”或“死鎖”狀態而重新啟動程序。

復位操作還對其他一些寄存器有影響,這些寄存器復位時的狀態如表2-8。
在這里插入圖片描述

1.2 復位電路設計

由復位電路實現。AT89S51片內復位電路結構見圖2-12。
在這里插入圖片描述

復位引腳RST通過一個施密特觸發器與復位電路相連,施密特觸發器用來抑制噪聲,在每個機器周期的S5P2,施密特觸發器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需要的信號。

復位電路采用上電自動復位和按鈕復位兩種方式。最簡單的上電自動復位電路如圖2-13所示。
在這里插入圖片描述

上電自動復位是給電容C充電加給RST引腳一個短的高電平信號,此信號隨著VCC對電容C的充電過程而逐漸回落,即RST引腳上的高電平持續時間取決于電容C充電時間。為保證系統可靠復位,RST引腳上的高電平必須維持足夠長的時間。
除了上電復位外,有時還需要按鍵手動復位。按鍵手動復位有電平脈沖兩種方式。

2、低功耗節電模式

兩種低功耗節電工作模式:空閑模式(idle mode)和掉電保持模式(power down mode)。
掉電保持模式下,Vcc可由后備電源供電。圖2-17為兩種節電模式的內部控制電路。
在這里插入圖片描述

兩種節電模式可通過PCON的位IDL和位PD的設置來實現。

格式如圖2-18。
在這里插入圖片描述

PCON寄存器各位定義:
SMOD:串行通信波特率選擇。
━ :保留位。
GF1、GF0:通用標志位,兩個標志位用戶使用。
PD: 掉電保持模式控制位,PD=1,則進入掉電保持模式。
IDL:空閑模式控制位,若IDL=1,則進入空閑運行模式。

2.1 空閑模式
  1. 空閑模式進入
    如把PCON中的IDL位置“1”,通往CPU的時鐘信號關斷,便進入空閑模式。雖然振蕩器運行,但是CPU進入空閑狀態。所有外圍電路(中斷系統、串行口和定時器)仍繼續工作,SP、PC、PSW、A、P0–P3端口等所有其他寄存器、內部RAM和SFR中內容均保持進入空閑模式前狀態

  2. 空閑模式退出
    兩種方法退出,響應中斷方式,硬件復位方式。

空閑模式下,若任一個允許的中斷請求被響應時,IDL位被片內硬件自動清“0”,從而退出空閑模式。當執行完中斷服務程序返回時,將從設置空閑模式指令的下一條指令(斷點處)繼續執行程序。

當使用硬件復位退出空閑模式時,在復位邏輯電路發揮控制作用前,有長達兩個機器周期時間,單片機要從斷點處(IDL位置“1”指令的下一條指令處)繼續執行程序。在這期間,片內硬件阻止CPU對片內RAM的訪問,但不阻止對外部端口(或外部RAM)的訪問。為了避免在硬件復位退出空閑模式時出現對端口(或外部RAM)的不希望的寫入,在進入空閑模式時,緊隨IDL位置1指令后的不應是寫端口(或外部RAM)的指令。

2.2 掉電運行模式
  1. 掉電模式的進入
    用指令把PCON寄存器的PD位置1,便進入掉電模式。在掉電模式下,進入時鐘振蕩器的信號被封鎖振蕩器停止工作
    由于沒有時鐘信號,內部的所有功能部件均停止工作,但片內RAM和SFR的原來的內容都被保留,有關端口的輸出狀態值保存在對應的特殊功能寄存器中。

  2. 掉電模式的退出
    兩種方法:硬件復位外部中斷
    硬件復位時要重新初始化SFR,但不改變片內RAM的內容。只有當Vcc恢復到正常工作水平時,只要硬件復位信號維持10ms,便可使單片機退出掉電運行模式。

2.3 掉電和空閑模式下的WDT

掉電模式下振蕩器停止,意味著WDT也就停止計數。用戶在掉電模式下不需操作WDT。

當用硬件復位退出掉電模式時,對WDT的操作與正常情況一樣。

在系統進入掉電模式前先對寄存器WDTRST復位。在中斷服務程序中復位寄存器WDTRST。

在進入空閑模式前,應先設置AUXR中的WDIDLE位,以確認WDT是否繼續計數。
當WDIDLE=0,空閑模式下的WDT保持繼續計數。為防止復位單片機,用戶可設計一定時器。該定時器使器件定時退出空閑模式,然后復位WDTRST,再重新進入空閑模式。
當WDIDLE=1,WDT在空閑模式下暫停計數,退出空閑模式后,方可恢復計數。

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

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

相關文章

用stl寫一個自動打分比賽的案例

我們要實現六名選手進行隨機平均分為兩組,先分別淘汰兩組中的最后一名, 再決出第一名。 抽象選手 class player { public:string name;int score; }; 一個選手有名字和分數 首先我們需要vector容器保存選手的編號,便于后續的操作。 再用…

導入PR的視頻畫面是黑屏的怎么辦?

在現代視頻編輯領域中,越來越多的人使用Adobe Premiere Pro來編輯和制作視頻,但是在某些情況下,用戶可能需要透明背景的視頻進行創作,那么如何創作透明背景的視頻呢? 要制作具有透明背景的視頻,我們需要使…

如何贏得并留住訂閱者:12 個必須嘗試的訂閱營銷策略

Netflix、Hubspot、Spotify 和 Slack 都是流行的基于訂閱的服務,您可能每天都會使用它們,無論是工作還是娛樂。這些例子表明,訂閱業務模式深受 SaaS 創業者的青睞。 這種模式的吸引力很容易理解,特別是考慮到訂閱市場預計到 2025…

C //例10.5 有一個磁盤文件,內有一些信息。要求第1次將它的內容顯示在屏幕上,第2次把它復制到另一文件上。

C程序設計 (第四版) 譚浩強 例10.5 例10.5 有一個磁盤文件,內有一些信息。要求第1次將它的內容顯示在屏幕上,第2次把它復制到另一文件上。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差異。 代碼塊 方法&a…

mysql支持的整數類型、各類型整數能夠表示的數值范圍

MySQL :: MySQL 8.2 Reference Manual :: 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT mysql支持的整數有:TINYINT、SMALLINT、MEDIUMINT、INT(INT和INTEGER是同義詞)、BIGINT,各…

【C#】序列化和反序列化,以及System.Text.Json和Newtonsoft.Json比較

給自己一個目標,然后堅持一段時間,總會有收獲和感悟! 序列化和反序列化,在實際項目開發過程中用的最多。特別是有對接接口的小伙伴就深有體會。本篇文章就簡單聊聊這個知識點。 目錄 一、基本概念1.1、序列化1.2反序列化1.3、舉例…

AI 賦能 | 智能制造的 AI 算法開發和工程實現

談到智能制造、智慧工廠,愿景是美好的,借助計算機視覺技術和 AI 算法,為自動化生產線賦予環境感知的能力,從而改善工藝流程,提高生產效率。但是,隨著柔性化生產的需求增長,產線的布局調整和功能…

鎖的策略及synchronized詳解

加鎖過程中,處理沖突的過程中,涉及到的一些不同的處理方式。鎖的策略決定了線程如何獲取和釋放鎖以及在何種情況下阻塞和喚醒線程。 1. 常見的鎖策略 1.1 樂觀鎖和悲觀鎖 樂觀鎖:在加鎖之前,預估當前出現鎖沖突的概率不大&am…

Docker三 | 數據卷

目錄 Docker數據卷簡介 添加數據卷的命令 容器數據卷的繼承 Docker數據卷簡介 Docker容器產生的數據,如果不備份,當容器實例刪除后,容器中的數據也會消失,為了保存數據可以在Docker中使用數據卷。Docker數據卷是宿主機的一個可以…

vue3中子組件調用父組件的方法

<script lang"ts" setup>前提 父組件&#xff1a; 子組件&#xff1a; const emit defineEmits([closeson]) 在子組件的方法中使用&#xff1a; emit(closeson)

EP15:動態內存管理概述(c語言)malloc,calloc,realloc函數的介紹使用及柔性數組的介紹

如果學習方向是c方向那么c語言有三個板塊的知識是非常重要的. 1:指針 2:結構體 3;動態內存管理. 序言:在c語言中,什么是動態內存 C語言中的動態內存是指在程序運行時&#xff0c;根據需要動態地分配內存空間的一種內存管理方式。與靜態內存相比&#xff0c;動態內存的大小和生…

12.ROS導航模塊:gmapping、AMCL、map_server、move_base案例

目錄 1 導航概述 2 導航簡介 2.1 導航模塊簡介 1.全局地圖 2.自身定位 3.路徑規劃 4.運動控制 5.環境感知 2.2 導航坐標系odom、map 1.簡介 2.特點 3.坐標系變換 2.3 導航條件說明 1.硬件 2.軟件 3 導航實現 3.1 創建本篇博客的功能包 3.2 建圖--gmapping 3.…

JavaScript基礎知識整理(最全知識點, 精簡版,0基礎版)

文章目錄 一、輸入和輸出內容 1.1 輸出 1.1.1 在瀏覽器的控制臺輸出打印 1.1.2 直接在瀏覽器的頁面上輸出內容 1.1.3 頁面彈出警告對話框 1.2 輸入 二、變量 2.1 變量是什么 2.2 變量的聲明和賦值 2.3 變量的命名規范和規范 三、變量擴展&#xff08;數組&#xff09; 3.1 數組…

Cypress:前端自動化測試的終極利器

引言&#xff1a; 在現代軟件開發中&#xff0c;前端自動化測試已經成為了一個不可或缺的環節。它不僅可以提高開發效率&#xff0c;減少手動測試的工作量&#xff0c;還可以保證軟件的穩定性和質量。而在眾多的前端自動化測試工具中&#xff0c;Cypress無疑是其中的佼佼者。本…

openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷

文章目錄 openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷144.1 背景信息144.2 前提條件 openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷 144.1 背景信息 在SQL語句執行性能不符合預期時&#xff0c;可以查看SQL語句執行信息&#xff0c;便…

文章解讀與仿真程序復現思路——中國電機工程學報EI\CSCD\北大核心《考慮垃圾處理與調峰需求的可持續化城市多能源系統規劃》

這個標題涵蓋了城市多能源系統規劃中的兩個重要方面&#xff1a;垃圾處理和調峰需求&#xff0c;并強調了規劃的可持續性。 考慮垃圾處理&#xff1a; 含義&#xff1a; 垃圾處理指的是城市廢棄物的管理和處置。這可能涉及到廢物分類、回收利用、焚燒或填埋等方法。重要性&…

GIS入門,Leaflet介紹,Leaflet可以做什么,網頁中如何使用Leaflet地圖,vue中如何使用Leaflet地圖

VueLeafLet教程推薦&#xff1a;《VueLeaflet入門》 Leaflet介紹 Leaflet是一個開源的JavaScript庫&#xff0c;用于創建交互式的地圖和地圖應用。Leaflet框架具有輕量級、靈活性強、易于使用和擴展等特點&#xff0c;支持各種地圖服務商&#xff08;如OpenStreetMap、Google…

前端知識筆記(三十八)———HTTPS:保護網絡通信安全的關鍵

當談到網絡通信和數據傳輸時&#xff0c;安全性是一個至關重要的問題。在互聯網上&#xff0c;有許多敏感信息需要通過網絡進行傳輸&#xff0c;例如個人身份信息、銀行賬戶信息和商業機密等。為了保護這些信息不被未經授權的人訪問和篡改&#xff0c;HTTPS&#xff08;超文本傳…

【開源】基于Vue+SpringBoot的河南軟件客服系統

文末獲取源碼&#xff0c;項目編號&#xff1a; S 067 。 \color{red}{文末獲取源碼&#xff0c;項目編號&#xff1a;S067。} 文末獲取源碼&#xff0c;項目編號&#xff1a;S067。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 系統管理人員2.2 業務操作人員 三、…

搞懂內存函數

引言 本文介紹memcpy的使用和模擬實現、memmove的使用和模擬實現、memcmp使用、memset使用 ? 豬巴戒&#xff1a;個人主頁? 所屬專欄&#xff1a;《C語言進階》 &#x1f388;跟著豬巴戒&#xff0c;一起學習C語言&#x1f388; 目錄 引言 memcpy memcpy的使用 memcpy的…