新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一份寄存器匯總讓你成為單片機(jī)編程高手

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

作者: 時(shí)間:2018-10-29 來源:網(wǎng)絡(luò) 收藏

  中斷源

本文引用地址:http://www.butianyuan.cn/article/201810/393508.htm

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

  1、外部中斷0;

  2、外部中斷1;

  3、定時(shí)/計(jì)數(shù)器0中斷;

  4、定時(shí)/計(jì)數(shù)器1中斷;

  5、串行口發(fā)送或接受中斷;

  1)用到外部中斷時(shí):

  EX0 = 1;//中斷允許開關(guān)

  IT0 = 0;//下降沿觸發(fā)方式

  EA = 1;//總開關(guān)

  2)用到定時(shí)/計(jì)數(shù)器中斷時(shí)

  ET0 = 1;//啟動(dòng)計(jì)數(shù)器中斷開關(guān)

  EA = 1;//總開關(guān)

  //定時(shí)器的核心在這下面這段代碼

  TMOD = 0x09;

  TH0 = 0x0D8;

  TL0 = 0x0F0;

  TR0 = 1;//啟動(dòng)定時(shí)器

  3)用到串口中斷時(shí)

  EX1 = 1;//外部中斷1分開關(guān)

  IT1 = 1;//觸發(fā)方式:下降沿

  PX1 = 1;//設(shè)置為高優(yōu)先級(jí)

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

  TMOD = 0x20;//0010 0000 = 0x20,定時(shí)器1設(shè)置為工作方式2,8位自動(dòng)裝載的定時(shí)器

  TH1 = 0xF4;//初值

  TL1 = 0xF4;//波特率4800

  ET1 = 1;//定時(shí)器1允許分開關(guān)

  TR1 = 1;//啟動(dòng)定時(shí)

  //設(shè)置串口工作方式

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

  //PCON = 0x00;

  //TI = 0;發(fā)送中斷標(biāo)志位

  //RI = 0;接收中斷標(biāo)志位

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

  EA = 1;//外部中斷總開關(guān)

  二、

  1、中斷允許IETimeInterrupt

  2、定時(shí)器控制TCON 8位寄存器

  3、中斷優(yōu)先級(jí)寄存器IP(不常用)

  4、定時(shí)器方式寄存器TMOD

  5、串行口控制寄存器SCON

  1、中斷允許寄存器IE

  (EX中斷 、ET定時(shí)器/計(jì)數(shù)器)

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

  EA ES ET1 EX1 ET0 EX0

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

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

  ET0:定時(shí)器/計(jì)數(shù)器0中斷允許位。1為允許,0否則相反。

  ET1:定時(shí)器/計(jì)數(shù)器1中斷允許位。1為允許,0否則相反。

  ES:串口中斷允許位

  EA:總開關(guān)

  (如果定時(shí)器工作在中斷方式下,則當(dāng)定時(shí)器的當(dāng)前值計(jì)滿溢出時(shí),就會(huì)觸發(fā)定時(shí)器溢出中斷)

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

  IT0:外部中斷0觸發(fā)方式。1為低電平,0為下降沿信號(hào)。

  IT1:外部中斷1觸發(fā)方式。1為低電平,0為下降沿信號(hào)。

  IE0:外部中斷0請(qǐng)求標(biāo)志位。IE0=1,有中斷請(qǐng)求,0則沒有。

  IE1:外部中斷1請(qǐng)求標(biāo)志位。IE0=1,有中斷請(qǐng)求,0則沒有。

  TR0:定時(shí)器/計(jì)數(shù)器0啟動(dòng)停止。1為啟動(dòng),0為停止。

  TR1:定時(shí)器/計(jì)數(shù)器1啟動(dòng)停止。1為啟動(dòng),0為停止。

  TF0:定時(shí)器/計(jì)數(shù)器標(biāo)志位。1為溢出,0則沒有溢出。

  TF1:定時(shí)器/計(jì)數(shù)器標(biāo)志位。1為溢出,0則沒有溢出。

  3、中斷優(yōu)先級(jí)寄存器IP(不常用)

  PX0:外部中斷0

  PX1:外部中斷1

  PT0:定時(shí)器/計(jì)數(shù)器0中斷

  PT1:定時(shí)器/計(jì)數(shù)器1中斷

  PS:串口中斷

  4、定時(shí)器方式寄存器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位定時(shí)器/計(jì)數(shù)器,TL存放低5位,TH存放高八位

  0 1 1 16位定時(shí)器/計(jì)數(shù)器

  1 0 2 初值自動(dòng)裝載的8位定時(shí)器/計(jì)數(shù)器

  1 1 3 (不重要)

  GATE:門控制位,相當(dāng)于總開關(guān)

  C/T:0定時(shí)器 1計(jì)數(shù)器

  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位全部數(shù)據(jù)發(fā)送 fosc/12

  0 1 1 10位數(shù)據(jù)發(fā)送,包括起始位,停止位 可變

  1 0 2 11位數(shù)據(jù)發(fā)送,包括起始位,停止位 ,校驗(yàn)位 fosc/64

  1 1 3 同方式2

  SM2 多機(jī)通信使能位

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

  TB8:在方式2和方式3中,這位發(fā)送的是第9位,就是校驗(yàn)位。

  RB8:在方式2和方式3中,這位發(fā)送的是第9位,就是校驗(yàn)位。

  TI:發(fā)送中斷標(biāo)志位 ,用完時(shí)要用軟件清0

  RI:接受中斷標(biāo)志位,用完時(shí)要用軟件清0

  嵌入式時(shí)代已經(jīng)來了,不要糾結(jié)要不要踏入嵌入式的領(lǐng)域了,以下課程可免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。



關(guān)鍵詞: 寄存器 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉