• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一份寄存器匯總讓你成為單片機編程高手

    一份寄存器匯總讓你成為單片機編程高手

    作者: 時間:2018-10-29 來源:網絡 收藏

      中斷源

    本文引用地址:http://www.czjhyjcfj.com/article/201810/393508.htm

      一、一般而言,MCS-51有5個中斷源,分別是:

      1、外部中斷0;

      2、外部中斷1;

      3、定時/計數器0中斷;

      4、定時/計數器1中斷;

      5、串行口發送或接受中斷;

      1)用到外部中斷時:

      EX0 = 1;//中斷允許開關

      IT0 = 0;//下降沿觸發方式

      EA = 1;//總開關

      2)用到定時/計數器中斷時

      ET0 = 1;//啟動計數器中斷開關

      EA = 1;//總開關

      //定時器的核心在這下面這段代碼

      TMOD = 0x09;

      TH0 = 0x0D8;

      TL0 = 0x0F0;

      TR0 = 1;//啟動定時器

      3)用到串口中斷時

      EX1 = 1;//外部中斷1分開關

      IT1 = 1;//觸發方式:下降沿

      PX1 = 1;//設置為高優先級

      //步驟一:波特率配置,由定時器1的益處率決定

      TMOD = 0x20;//0010 0000 = 0x20,定時器1設置為工作方式2,8位自動裝載的定時器

      TH1 = 0xF4;//初值

      TL1 = 0xF4;//波特率4800

      ET1 = 1;//定時器1允許分開關

      TR1 = 1;//啟動定時

      //設置串口工作方式

      SCON = 0x50;//等同于TMOD,方式一,允許接收 0101 0000

      //PCON = 0x00;

      //TI = 0;發送中斷標志位

      //RI = 0;接收中斷標志位

      ES = 1;//IE第四位,串口中斷允許位

      EA = 1;//外部中斷總開關

      二、

      1、中斷允許IETimeInterrupt

      2、定時器控制TCON 8位寄存器

      3、中斷優先級寄存器IP(不常用)

      4、定時器方式寄存器TMOD

      5、串行口控制寄存器SCON

      1、中斷允許寄存器IE

      (EX中斷 、ET定時器/計數器)

      位7 位6 位5 位4 位3 位2 位1 位0

      EA ES ET1 EX1 ET0 EX0

      EX0: 中斷0中斷允許位。1為允許,0否則相反。

      EX1: 中斷1中斷允許位。1為允許,0否則相反。

      ET0:定時器/計數器0中斷允許位。1為允許,0否則相反。

      ET1:定時器/計數器1中斷允許位。1為允許,0否則相反。

      ES:串口中斷允許位

      EA:總開關

      (如果定時器工作在中斷方式下,則當定時器的當前值計滿溢出時,就會觸發定時器溢出中斷)

      2、定時器控制寄存器TCON(低4位用作外部中斷,高4位用作定時)

      IT0:外部中斷0觸發方式。1為低電平,0為下降沿信號。

      IT1:外部中斷1觸發方式。1為低電平,0為下降沿信號。

      IE0:外部中斷0請求標志位。IE0=1,有中斷請求,0則沒有。

      IE1:外部中斷1請求標志位。IE0=1,有中斷請求,0則沒有。

      TR0:定時器/計數器0啟動停止。1為啟動,0為停止。

      TR1:定時器/計數器1啟動停止。1為啟動,0為停止。

      TF0:定時器/計數器標志位。1為溢出,0則沒有溢出。

      TF1:定時器/計數器標志位。1為溢出,0則沒有溢出。

      3、中斷優先級寄存器IP(不常用)

      PX0:外部中斷0

      PX1:外部中斷1

      PT0:定時器/計數器0中斷

      PT1:定時器/計數器1中斷

      PS:串口中斷

      4、定時器方式寄存器TMOD

      位7 位6 位5 位4 位3 位2 位1 位0

      GATE C/T M1 M0 GATE C/T M1 M0

      T1方式 T0方式

      工作方式選擇表

      M1 M0 方式 說明

      0 0 0 13位定時器/計數器,TL存放低5位,TH存放高八位

      0 1 1 16位定時器/計數器

      1 0 2 初值自動裝載的8位定時器/計數器

      1 1 3 (不重要)

      GATE:門控制位,相當于總開關

      C/T:0定時器 1計數器

      5、串行口控制寄存器SCON

      位7 位6 位5 位4 位3 位2 位1 位0

      SM0 SM1 SM2 REN TB8 RB8 TI RI

      SM0 SM 1 組合選擇位

      串行口方式選擇

      SM0 SM1 方式 說明 波特率

      0 0 0 8位全部數據發送 fosc/12

      0 1 1 10位數據發送,包括起始位,停止位 可變

      1 0 2 11位數據發送,包括起始位,停止位 ,校驗位 fosc/64

      1 1 3 同方式2

      SM2 多機通信使能位

      REN:串口數據接收允許位 1允許,0禁止。該位有軟件置位或清0

      TB8:在方式2和方式3中,這位發送的是第9位,就是校驗位。

      RB8:在方式2和方式3中,這位發送的是第9位,就是校驗位。

      TI:發送中斷標志位 ,用完時要用軟件清0

      RI:接受中斷標志位,用完時要用軟件清0

      嵌入式時代已經來了,不要糾結要不要踏入嵌入式的領域了,以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。



    關鍵詞: 寄存器 單片機

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 桐庐县| 莱阳市| 四会市| 洪雅县| 宁德市| 息烽县| 基隆市| 南和县| 淄博市| 当阳市| 礼泉县| 得荣县| 陈巴尔虎旗| 叙永县| 武强县| 湖北省| 娄烦县| 方山县| 金塔县| 凤阳县| 贵定县| 松潘县| 循化| 特克斯县| 泰和县| 彰化县| 韶山市| 阿合奇县| 北川| 平昌县| 邵阳县| 桓台县| 芜湖市| 长泰县| 通州市| 什邡市| 伽师县| 桐柏县| 读书| 酒泉市| 台湾省|