久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4042|回復: 1
打印 上一主題 下一主題
收起左側

單片機重要寄存器

[復制鏈接]
跳轉到指定樓層
樓主
ID:313368 發表于 2018-7-16 21:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、中斷:
52單片機一共有6個中斷源:
INTO0--外部中斷0,由P3.2端口線引入,低電平或下降沿引起。
INTO1--外部中斷1,有P3.3端口線引入,低電平或下降沿引起。
T0--定時器/計數器0中斷,由T0計數器計滿回零引起。
T1--定時器/計數器1中斷,由T1計數器計滿回零引起。
T2--定時器/計數器2中斷,由T2計數器計滿回零引起。
TI/RI--串口中斷,串行端口完成一幀字符發送/接收后引起。
52單片機的中斷級別

單片機在使用中斷功能時,通常需要設置兩個與中斷有關的寄存器:
①中斷允許寄存器IE
②中斷優先級寄存器IP
一,中斷允許寄存器 IE





功能:
EA-- 全局中斷允許位
EA=1 打開全局中斷控制,在此條件下,有各個中斷控制位確定相應中斷的打開或關閉
EA=0 關閉全部中斷
ET2  定時器/計數器2中斷允許位
ET2=1   打開T2中斷
ET2=0 關閉T2中斷
ES 串行中斷允許位
ET1 定時器1中斷允許位
EX1 外部中斷1允許位
ET0 定時器/計數器0中斷允許位
EX0 外部中斷允許位
二、定時器
單片機在使用定時器/計數器功能時,通常需要設置兩個與定時器有關的寄存器:
①工作方式寄存器TMOD
②控制計數器TCON
一,工作方式寄存器TMOD
GATE 門控位
GATE=0 定時器/計數器啟動與停止僅受TCON寄存器中TRX(X=0,1)來控制
GATE=1 定時器/計數器啟動與停止由TCON寄存器中TRX(X=0,1)和外部中斷引腳(INT0或INT1)上的電平狀態來共同控制
C/T 定時器模式和計數器模式選擇位(1為計數器模式,0為定時器模式)
M1M0 工作方式選擇位
每個定時器有4個工作方式,他們由M1M0設定
二,定時器/計數器控制寄存器TCON
IF1   定時器1溢出標志位
TR1  定時器1運行控制位
由軟件清零關閉定時器1,當GATE=1,且INT1為高電平時,TR1置1啟動定時器1;當GATE=0時,TR1置1啟動定時器1
IE1  外部中斷1請求標志
IT0=1時為電平觸發方式,每個機器周期的S5P2采樣INT1引腳,若INT1腳為低電平。則置1,否則IE1清0.
IT1=0時,INT1為跳變沿觸發,當第一個機器周期采樣到INT1為低電平時,則IE1置1,便是外部中斷1正向CPU申請中斷,當CPU響應中斷,轉向中斷服務程序時,該位由硬件清0.
IT1   外部中斷1觸發方式選擇位
IT1=0  為電平觸發模式,引腳INT1上低電平有效
IT1=1 為跳變沿觸發模式,引腳INT1上下降沿有效
IE0 同上
IT0 同上
計算定時器的初值問題
52單片機內部有12倍的分頻,假設采用的是12MHZ的晶振,那么12個時鐘周期為一個機器周期,那么此時機器周期就是1us。以定時器1,工作方式1為例。16位的計數器
溢出一次需要計數2^16-1個數=65536。約為65.5ms
如果要定時50ms的話,(65536-50000)/256 轉載到THX
     (65536-50000)/256 轉載到TLX
公式:
THX=(65536-50000)/256
LTX =(65536-50000)/256
定時器的初始化過程如下
①對TMOD賦值,以確定T0和T1的工作方式
②計算初值,并將初值寫入TH0,TL0,或TH1,TL1
③中斷方式,則對IE賦值,開放中斷
④使TR0或TR1置位,啟動定時器/計數器定時或計數
程序實例
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
uchar num;
void main()
{
TMOD=0X01; //設置定時器工作方式1(M1M0為01)
TH0(65536-45872)/256; //裝初值11.0592M晶振時為50ms數為45872
HL0=(65536-45872)%6;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器0
while(1); //程序停止在這等待中斷發生
}
void T0_time() interrupt 1
{
TH0(65536-45872)/256; //裝初值11.0592M晶振時為50ms數為45872
HL0=(65536-45872)%6;
num++;
if(num==20)
{
num=0;
led1=~led1;
}
}
串行口控制寄存器SCON
串行口控制寄存器SCON如表12.2所示。
12.2  串行口控制寄存器SCON
SCON
D7
D6
D5
D4
D3
D2
D1
D0
SM0/FE
SM1
SM2
REN
TB8
RB8
TI
RI
1)SM0/FE:當PCON寄存器中的SMOD0 = 1時,該位用于幀錯誤檢測,當檢測到無效停止位時,由硬件將該位置"1",該位必須由軟件清零。當SMOD0 = 0時,該位和SM1一起用來設置串行口通信的方式。
2)SM1:SM1和SM0一起用來設置串行口通信的方式,如表12.3所示。
12.3  串行口工作方式
SM0
SM1
工作方式
功能說明
波特率
0
0
方式0
同步移位寄存器方式
fosc  / 12
0
1
方式1
8位數據,10位異
步收發,波特率可變
(2SMOD / 32) ×
定時器1溢出率
1
0
方式2
9位數據,11位
異步收發
(2SMOD / 64) × fosc
1
1
方式3
9位數據,11位異步
收發,波特率可變
(2SMOD / 32) ×
定時器1溢出率
關于串行口的4種工作方式和波特率的計算方法我們在后面詳細說明。
3)SM2:允許方式2或方式3多機通信位。如果SM2 = 1,REN = 1,則從機只有接收到RB8位為1時才將中斷請求位RI置1,并向系統申請中斷。如果SM2 = 0,則無論RB8收到什么數據都會將RI位置1,請求中斷。通過設置SM2的值,可以區分主機和從機,實現多機通信。在方式0時,SM2必須為0,在方式1時,只有收到有效停止位,就將RI置1。
4)REN:允許串行口接收位。當REN = 1時,允許串行口接收數據;當REN = 0時,禁止串行口接收數據。
5)TB8:在方式2和方式3,TB8作為發送數據的第9位,其值由軟件修改。
6)RB8:在方式2和方式3,RB8保存接收到的第9位數據。在方式0,不用RB8。在方式1,如果SM2 = 0,則RB8是接收到的停止位。
7)TI:發送完成中斷標志位。當1幀數據發送完成時,由硬件將該位置位,請求中斷,響應中斷后,用軟件清零。
8)RI:接收完成標志位。當接收完1幀數據時,由硬件將該位置位,請求中斷,響應中斷后,用軟件清零。


詳細信息下載word文檔

單片機寄存器.docx

59.47 KB, 下載次數: 8, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:313368 發表于 2018-7-16 21:04 | 只看該作者
文檔很詳細,網頁版有些不完整
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天爽夜夜爽精品视频婷婷 | 一区二区三区四区在线 | 午夜资源 | 国产精品18久久久久久白浆动漫 | 中文字幕在线看第二 | 成人毛片在线视频 | 日韩高清中文字幕 | 精品国产乱码久久久久久丨区2区 | 伊人免费视频二 | 人人看人人射 | 超碰8| 亚洲在线免费观看 | 一区二区三区久久久 | www.久| 在线日韩视频 | 国产精品99视频 | 久久99精品久久久久久噜噜 | 国内自拍偷拍视频 | 国产激情视频在线 | 免费观看黄色片视频 | 国产精品国产精品国产专区不片 | 欧美一区二区免费 | 国产欧美日韩精品一区二区三区 | wwwsihu| 91香蕉视频在线观看 | 久久精品国产99国产精品 | 密色视频| 美女天天操 | 91av免费看| 成人久久18免费网站麻豆 | 欧洲色综合 | 国产a级黄色录像 | 91免费观看在线 | 欧美日韩一区二区三区视频 | 日韩精品免费一区二区在线观看 | 国产免费av在线 | 久久精品成人 | 中文字幕亚洲视频 | 久久国产精品免费 | 日韩a| 一区在线免费视频 |