新聞中心

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

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

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

          中斷源

        本文引用地址:http://www.104case.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、安卓等。



        關鍵詞: 寄存器 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兰西县| 河西区| 汪清县| 丽江市| 晋中市| 屯留县| 共和县| 漳平市| 沙雅县| 界首市| 巫溪县| 交城县| 盐津县| 博客| 阜平县| 洛宁县| 巫溪县| 双流县| 巍山| 托克托县| 内丘县| 元朗区| 镇原县| 贵阳市| 民县| 崇仁县| 阜平县| 班玛县| 安龙县| 尚志市| 八宿县| 南平市| 油尖旺区| 湘阴县| 马公市| 泰兴市| 石阡县| 宜兰市| 黄浦区| 广昌县| 镇安县|