AT89S52單片機的最小應用系統

目錄

?一.時鐘電路設計

1.內部時鐘方式

2.外部時鐘方式

3.時鐘信號的輸出

二.機器周期,指令周期與指令時序

1.時鐘周期

2.機器周期

3.指令周期

三.復位操作和復位電路

1.復位操作

2 復位電路設計

四.低功耗節電模式


AT89S52本身片內有8KB閃爍存儲器,256B的RAM單元,4個I/0口,外接時鐘電路和復位電路即構成了一個AT89S52單片機最小應用系統,如圖所示:

該最小應用系統只能作為小型的數字量的測控單元


一.時鐘電路設計

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

1.內部時鐘方式

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

C1和C2的典型值通常選擇為30pF。電容大小會影響振蕩器頻率高低振蕩器的穩定性和起振的快速性。晶振頻率范圍通常是1.2~12MHz串口通信時,為了得到準確的波特率,多采用11.0592M晶體。晶體頻率越高,單片機速度就越快
常選6MHz或12MHz的石英晶體。隨著集成電路制造工藝技術的發展單片機的時鐘頻率也在逐步提高,已達33MHz。

2.外部時鐘方式

用現成的外部振蕩器產生脈沖信號,常用于多片AT89S52同時工作,以便于多片AT89S52單片機之間的同步,一般為低于12MHz的方波。外部時鐘源直接接到XTAL1端,XTAL2端懸空,見圖:

3.時鐘信號的輸出

當使用片內振蕩器,XTAL1、XTAL2引腳還能為應用系統中的其他芯片提供時鐘,但需增加驅動能力。引出的方式有兩種,如圖所示。

二.機器周期,指令周期與指令時序

各種指令時序與時鐘周期相關。

1.時鐘周期

時鐘控制信號的基本時間單位。若晶振頻率為f_{osc},則時鐘周期T_{osc}=1/f_{osc}f_{osc}=6MHZ,T_{osc}=166.7ns

2.機器周期

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

1個機器周期包括12個時鐘周期,分6個狀態: S1~S6。每個狀態又分兩拍: P1和P2。因此,一個機器周期中的12個時鐘周期表示為S1P1、S1P2、S2P1、S2P2、··、S6P2,如圖所示。

3.指令周期

執行一條指令所需的時間。簡單的單字節指令,取出指令立即執行,只需一個機器周期的時間。而有些復雜的指令,如轉移、乘、除指令則需兩個或多個機器周期
從指令執行時間看:
?單字節和雙字節指令一般為單機器周期和雙機器周期;

?三字節指令都是雙機器周期;

?乘、除指令占用4個機器周期;

三.復位操作和復位電路

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

1.復位操作

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

復位操作還對其他一些寄存器有影響,這些寄存器復位時的狀態如圖:


由表可看出,復位時,SP=07H ,而P0~P3引腳均為高電平
在某些控制應用中,要注意考慮PO~P3引腳的高電平對接在這些引腳上的外部電路的影響
例如,當P1口某個引腳外接一個繼電器繞組,當復位時,該引腳為高電平繼電器繞組就會有電流通過,就會吸合繼電器開關,使開關接通,可能會引起意想不到的后果。

2 復位電路設計

AT89S52單片機的復位是由外部的復位電路實現的。復位電路應兼有上電復位(一開機就復位? )和人工按鍵復位兩種功能。典型的復位電路如圖:

注:信號一定要>2個機器周期,要想做到這一點,就要使復位的時間長一點,上電復位(電容的充放電速率緩慢),人工按鍵復位(按下按鍵的時候停留一會兒,保證>2個機器周期)



當時鐘頻率選用6MHz時,電容C的參考取值為22uF,兩個電阻Rs和Rk的參考阻值分別為220\Omega和1k\Omega

四.低功耗節電模式

兩種低功耗節電工作模式:空閑模式(idle mode)和掉電保持模式(power down mode)

空閑模式:表示使CPU停止工作,單片機的中斷,串行口定時/計時器繼續工作。

掉電模式:使外部時鐘停止工作,沒有外部時鐘信號,內部的部件都不會進行工作。


掉電保持模式下,Vcc可由后備電源供電。圖中為兩種節電模式的內部控制電路。


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

PCON寄存器各位定義:

SMOD:串行通信波特率選擇。

一:保留位。

GF1、GF0:通用標志位,兩個標志位用戶使用。

PD:掉電保持模式控制位,PD=1,則進入掉電保持模式

IDL:空閑模式控制位,若IDL=1,則進入空閑運行模式

恢復方式:

空閑模式恢復:1.中斷信號使IDL=0? ? ?2.硬件復位使IDL=0

掉電模式恢復:1.外部中斷信號使PD=0? ? 2.硬件復位使PD=0

注:如果是硬件復位,那么之前運行的程序,需要重新開始,如果是中斷信號,那么只需要從中斷程序繼續開始

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

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

相關文章

Redisson分布式鎖源碼解析

一、使用Redisson步驟 Redisson各個鎖基本所用Redisson各個鎖基本所用Redisson各個鎖基本所用 二、源碼解析 lock鎖 1) 基本思想: lock有兩種方法 一種是空參 另一種是帶參 * 空參方法:會默認調用看門狗的過期時間30*1000&…

kubernetes|云原生|Deployment does not have minimum availability 的解決方案(資源隱藏的由來)

前言: 最近在部署prometheus的過程中遇到的這個問題,感覺比較的經典,有必要記錄一下。 現象是部署prometheus主服務的時候,看不到pod,只能看到deployment,由于慌亂,一度以為是集群有毛病了&am…

c# 基礎語法

c# 程序結構 using System.Collections.Generic; namespace demo1; //一個命名空間可以包含多個類 using System.IO; using System.Drawing;class proj {/// <summary>/// c#是微軟開發的&#xff0c;基于c和c的一種面象對象編程語言&#xff0c;用于快速開發windows桌…

真實網絡中的 bbr

本文包含中心極限定理&#xff0c;大數定律&#xff0c;經濟規律等&#xff0c;bbr 倒沒多少&#xff0c;不過已經習慣把 bbr 當靶子了。 上周寫了 揭秘 bbr 以及 搶帶寬的原理&#xff0c;我對自己說&#xff0c;這都是理論上如何&#xff0c;可實際上呢。于是有必要結合更實際…

ubuntu cutecom串口調試工具使用方法(圖形界面)

文章目錄 Ubuntu下使用CuteCom進行串口調試使用指南什么是CuteCom&#xff1f;主要特點 安裝CuteCom使用APT包管理器從源碼編譯安裝 配置串口CuteCom界面解析&#xff08;啟動cutecom&#xff09;使用CuteCom進行數據發送和接收配置串口參數數據接收數據發送 高級功能和技巧流控…

Vatee萬騰的數字化掌舵:Vatee科技解決方案的全面引領

隨著數字化時代的到來&#xff0c;Vatee萬騰憑借其卓越的科技實力和全面的解決方案&#xff0c;成功地在數字化探索的航程中掌舵引領。 首先&#xff0c;Vatee萬騰以其強大的數字化科技實力成為行業的引領者。vatee萬騰不僅在人工智能、大數據分析、云計算等前沿領域取得了顯著…

PLC通過Modbus轉Profinet網關連接安華變頻器通訊控制電機案例

背景&#xff1a;近年來&#xff0c;隨著自動化技術的不斷進步&#xff0c;Modbus與Profinet之間的轉換成為了許多工廠和企業普遍關注的問題。 Modbus轉Profinet網關作為兩個不同協議設備連接的橋梁&#xff0c;安華變頻器作為一種電氣設備&#xff0c;能夠改變電源的頻率和電…

負載均衡lvs

簡介 ipvsadm 是 Linux 內核中的 IP 虛擬服務器&#xff08;IPVS&#xff09;管理工具。IPVS是 Linux 內核提供的一種負載均衡解決方案&#xff0c;它允許將入站的網絡流量分發到多個后端服務器&#xff0c;以實現負載均衡和高可用性。IPVS通過在內核中維護一個虛擬服務器表&a…

Pytorch中的tensor維度理解

Pytorch中的tensor維度理解 文章目錄 Pytorch中的tensor維度理解摘要打消心理恐懼&#xff0c;從三維學起三維tensor參考文獻 摘要 面對pytorch編程中的tensor時&#xff0c;我不時會感到恐懼。對里面數據是怎么排布的&#xff0c;一直沒有一個直觀的理解。今天我想把這個事情…

springboot(ssm中醫學習服務管理系統 醫學生在線學習平臺Java(codeLW)

springboot(ssm中醫學習服務管理系統 醫學生在線學習平臺Java(code&LW) 開發語言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服務器&#xff1a;tomcat 數據庫&#xff1a;mysql 5.7&#xff08;或…

基于VM虛擬機下Ubuntu18.04系統,Hadoop的安裝與詳細配置

參考博客&#xff1a; https://blog.csdn.net/duchenlong/article/details/114597944 與上面這個博客幾乎差不多&#xff0c;就是java環境配置以及后面的hadoop的hdfs-site.xml文件有一些不同的地方。 準備工作 1.更新 # 更新 sudo apt update sudo apt upgrade2.關閉防火…

MS2401隔離Σ-Δ調制器,可替代ADI的AD7401

產品簡述 MS2401 是一款二階 Σ-Δ 調制器&#xff0c;集成片上數字隔離器&#xff0c;能 將模擬輸入信號轉換為高速 1 位碼流。調制器對輸入信號連續 采樣&#xff0c;無需外部采樣保持電路。模擬信號輸入滿量程為 320 mV &#xff0c;轉換后的數字碼流的最高數據速率為 2…

C++ Boost Thread 編程總結

1.前言 標準C線程即將到來。CUJ預言它將衍生自Boost線程庫&#xff0c;現在就由Bill帶領我們探索一下Boost線程庫。 就在幾年前&#xff0c;用多線程執行程序還是一件非比尋常的事。然而今天互聯網應用服務程序普遍使用多線程來提高與多客戶鏈接時的效率&#xff1b;為了達到最…

統計voc格式數據中的xml標簽、bndbox到excel表格中

有這么個需求是將xml的內容: 1,filename 2.label 3.bndbox:xmin,xmax,ymin,ymax。 … 將這些東西寫入excel表格中,方便我統計標簽數量和框的分布! 于是撰寫了腳本:xml2csv.py 我的xml文件形式如下。大家的目標檢測格式大同小異! <annotation><folder>UAV_d…

【MySQL】多表查詢、子查詢、自連接、合并查詢詳解,包含大量示例,包你會。

復合查詢 前言正式開始一些開胃菜多表查詢自連接子查詢單行子查詢多行子查詢in關鍵字all關鍵字any關鍵字多列子查詢在from中使用子查詢 合并查詢union 和 union all 前言 我前面博客講的所有的查詢都是在單表中進行的&#xff0c;從這里開始就要專門針對查詢這個話題進行進一步…

ansible學習

一文掌握 Ansible 自動化運維 - 知乎 ansible的安裝與簡單的使用_堅持到所有人都放棄!!!的技術博客_51CTO博客

GIT | 基礎操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤銷修改 | 刪除文件

GIT | 基礎操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤銷修改 | 刪除文件 文章目錄 GIT | 基礎操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤銷修改 | 刪除文件前言一、安裝git二、git基本操作2.1 初始化git2.2 配置局部生效2.3 配置全局生效 三、認識工作區…

淺談堆和棧內存以及編程語言

淺談堆和棧內存以及編程語言 棧和堆C 和 C# 的區別&#xff1a;C#總結 編程語言C匯編語言&#xff08;Assembly Language&#xff09;&#xff1a;機器語言&#xff08;Machine Language&#xff09;&#xff1a; 拓展C#依賴注入&#xff08;Dependency Injection&#xff09;模…

2018年全國碩士研究生入學統一考試管理類專業學位聯考數學試題——解析版

文章目錄 2018 年考研管理類聯考數學真題一、問題求解&#xff08;本大題共 5 小題&#xff0c;每小題 3 分&#xff0c;共 45 分&#xff09;下列每題給出 5 個選項中&#xff0c;只有一個是符合要求的&#xff0c;請在答題卡上將所選擇的字母涂黑。真題&#xff08;2018-01&a…

DRF-項目-(1):構建純凈版的drf項目,不再使用django的后臺管理,django的認證,django的session等功能,作為一個純接口項目

項目的目錄結構&#xff1a; -HeartFailure |-- apps |--user |--HeartFailure |-- static |--manage.py 一、django項目相關的 1、命令行中創建django項目 #1、切換到指定的虛擬環境中 workon my_drf#2、該虛擬環境已經安裝好django和rest_framework了 django-admin startp…