娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

8051單片機-軟件復位

發布者:breakthrough2最新更新時間:2024-07-30 來源: cnblogs關鍵字:單片機  軟件復位 手機看文章 掃描二維碼
隨時隨地手機看文章

ISP_CONTR:ISP/IAP控制寄存器

 

D7

D6

D5

D4

D3

D2

D1

D0

復位值

ISPEN

SWBS

SWRST

-

-

WT2

WT1

WT0

000x,0000

 

  • SWBS:當設置為0時,軟件復位后從用戶應用程序區啟動;當設置為1時,軟件復位從ISP程序區啟動,。要與SWRST直接配合才可以實現。 

 

  • SWRST:當設置為0時,不執行軟件復位;當設置為1時,產生軟件系統復位,硬件自動清零。

 

該復位是整個系統復位,所有的特殊功能寄存器都會復位到初始值,I/O口也會初始化。

 

【例子】通過按鍵中斷來使MCU軟件復位,復位后閃爍LED燈一段時間,然后MCU保持當前狀態,空轉。若要繼續使LED重新閃爍,要求MCU復位來進行。

 

軟件復位代碼:

 1 #include 'stc.h'           

 2 

 3  #define LED_PORT     P2  //定義LED控制端口為P2口

 4 

 5  /********************************************

 6 *函數名稱:Delay

 7 *輸    入:無

 8 *輸    出:無

 9 *說    明:延時一段時間

10 ********************************************/

11  void Delay(void)          

12 {

13     unsigned char i,j;   

14 

15     for(i=0;i<130;i++)     

16         for(j=0;j<255;j++);

17 }

18  /********************************************

19 *函數名稱:SoftReset

20 *輸    入:無

21 *輸    出:無

22 *說    明:軟件復位MCU

23 ********************************************/

24  void SoftReset(void)

25 {

26      ISP_CONTR=0x20;

27 }

28  /********************************************

29 *函數名稱:EXTInit

30 *輸    入:無

31 *輸    出:無

32 *說    明:外部中斷初始化

33 ********************************************/

34  void EXTInit(void)

35 {

36      EX1=1;        //允許外部中斷1中斷

37       IT1=0;        //低電平觸發

38       EA=1;         //允許所有中斷

39  }

40  /********************************************

41 *函數名稱:main

42 *輸    入:無

43 *輸    出:無

44 *說    明:函數

45 ********************************************/

46 void main(void)            

47 {

48    unsigned char i;

49     

50    EXTInit();             //外部中斷初始化

51 

52    for(i=0;i<20;i++)      //循環閃爍LED燈

53    {

54        LED_PORT=~LED_PORT;

55        Delay();       

56    }

57 

58    while(1)

59    {

60       ;//空操作

61    }    

62 }

63 /********************************************

64 *函數名稱:EXT1IRQ

65 *輸    入:無

66 *輸    出:無

67 *說    明:外部中斷1中斷服務函數 復位操作

68 ********************************************/

69 void EXT1IRQ(void)interrupt 2

70 {

71      SoftReset();

72 }

73 


代碼分析:

SoftReset是復位操作函數,對ISP/IAP控制寄存器ISP_CONTR賦值位0x20,即將ISP_CONTR中“SWRST”置1來進行軟件復位。要說明的是這里的軟件復位是真正意義上的復位,同硬件復位的效果一模一樣。

在main函數中,初始化外部中斷后進行LED燈閃爍一陣時間,然后進入while(1)死循環進行空操作。

軟件復位操作放在外部中斷1中斷服務函數函數當中,只要外部中斷1被觸發,單片機就進行復位。


關鍵字:單片機  軟件復位 引用地址:8051單片機-軟件復位

上一篇:模擬軟件復位
下一篇:8051單片機-中斷喚醒

推薦閱讀最新更新時間:2025-06-07 23:38

8051單片機C語言創新教程》筆記 02
內部資源: 定時器、計數器:兩個16位 串行口:串行收發數據 (SBUF) 中斷系統:5個,6個。兩個中斷優先級 IE IPTCON 常用單片機型號: 結構圖:
[單片機]
《<font color='red'>8051</font><font color='red'>單片機</font>C語言創新教程》筆記 02
基于單片機C8051F021和時鐘芯片實現定時采集存儲系統的設計
隨著科技的高速發展,現代工業測控領域的很多應用中都需要實現大量數據的定時采集存儲。以為海流計設計的海流數據采集存儲接口電路為例,介紹一種定時采集存儲系統的工作原理及其實現方法。 1 總體結構 在很多情況下,尤其是惡劣的工作環境下,高性能的單片機和大容量的Flash存儲器是數據采集存儲系統的最佳選擇,本文介紹的系統也是基于這樣的考慮。系統硬件結構并不復雜,包括高性能單片機C8051F021、實時時鐘芯片SD2300、大容量Flash存儲器K9G8G08及其外圍電路,如圖1所示。工作原理也較為簡單,通過串口將單片機C8051F021與海流計相連,通過對單片機的編程實現對海流計的控制和使用。同時,為了實現定時采集和數據存儲的功能,還
[單片機]
基于<font color='red'>單片機</font>C<font color='red'>8051</font>F021和時鐘芯片實現定時采集存儲系統的設計
8051單片機實戰分析(以STC89C52RC為例) | 02 - LED延時約5s閃爍
代碼修改如下: #include reg52.h //此文件中定義了單片機的一些特殊功能寄存器 typedef unsigned int u16; //對數據類型進行聲明定義 typedef unsigned char u8; sbit led=P2^2; //將單片機的P2.2端口定義為led /******************************************************************************* * 函 數 名 : delay * 函數功能 : 延時函數,i=1時,大約延時10us *************************
[單片機]
8051單片機基礎6:通用指針和定向指針
參考來源:Keil Help uVision Help Cx51 Compiler User’s Guide Language Extensions Pointers 關于C51代碼中指針的疑問 int *ptr; /* 指向:任意空間的int變量, 存儲在:RAM(data) 區, 占用:3字節 */ int xdata *ptr; /* 指向:RAM(xdata)區的int變量,存儲在:RAM(data) 區, 占用:2字節 */ int * xdata ptr; /* 指向:任意空間的int變量, 存儲在:RAM(xdata)區, 占用:3字節 */ int xdata * xdata ptr;
[單片機]
<font color='red'>8051</font><font color='red'>單片機</font>基礎6:通用指針和定向指針
8051單片機(STC89C52)實現可修改計時初值的單倒計時器(Version1.0)
程序啟動后計時初值為15, 之后可通過串口發來的數據(如 99 )來修改下一次計時初值. #include STC89C5xRC.H unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//對應數碼管顯示0~9 char buf ; int tcount = 0;//記錄經過的10ms區間段個數 int sec = 15;//倒計時初始值記錄 int sec2 = 15;//倒計時初始值 void T0_INT() interrupt 1 //timer0中斷, 每10ms觸
[單片機]
8051單片機復位狀態
  復位就是指通過某種手段使單片機內部某些資源一種固定的初始狀態,以確保單片機每次復位后都能在某一固定的環境中從某一固定的入口地址處開始運行,8051復位后片內各特殊功能寄存器狀態如下:   PC內容為0000H,使單片機從起始地址0000H開始執行程序。所以單片機運行出錯或進入死循環,可以按復位鍵重啟。   ACC內容為00H。   PSW內容為00H,意義為復位后,上次運算沒有產生進位或借位,也沒有產生半進位或半借位,工作寄存器組R0—R7定位在內部RAM的00-07單元,上次運算沒有溢出,累加器中“1”的個數為偶數。   SP內容為07H,意義為堆棧指針SP指向內部數據存儲器的07單元,即堆棧從08單元開始。   DPT
[單片機]
<font color='red'>8051</font><font color='red'>單片機</font>的<font color='red'>復位</font>狀態
8051單片機設計倒計時牌
;************* 電子定時器的設計******************; ;*MCU: AT892051 ; ;*MCU-crystal: 12M ; ;*Version: 01 ; ;*Last Updata: 2009-5-4 ; ;*Author: HaiZhiZi ; ;*Description: ; ;定時器T0、T1溢出周期為50MS,T0為秒計數用 ; ;S2為功能鍵、S3為方式選擇鍵 ; ;P1口為字符輸出口,采用共陽顯示管 ; ;P3.2~P3.5為位選,P1.7為報警發音,P3.7為被控繼電器 ; ;****************************************
[單片機]
C8051F單片機PWM輸出程序
//PWM輸出腳P0.3 //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- #include // SFR declarations #include #include //----------------------------------------------------------------------------- // Fun
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 梅河口市| 县级市| 太湖县| 文水县| 米易县| 铁岭市| 宁远县| 兴宁市| 同心县| 汉源县| 大埔区| 五大连池市| 屏南县| 兴安县| 昌宁县| 凤山市| 饶阳县| 安庆市| 南康市| 淄博市| 洪江市| 东源县| 娄底市| 临湘市| 公安县| 乳山市| 修水县| 如东县| 顺昌县| 宝山区| 黑山县| 西城区| 吉木乃县| 榆树市| 南城县| 西城区| 桂平市| 舞阳县| 固镇县| 本溪市| 南雄市|