基本元器件原理及功能 常用元器件 CAP 電容 RES 電阻 CRYSTAL 晶振 7SEG 數位管 sounder 蜂鳴器 BUTTON LED-BIBY 發光二極體 二極體PN結,P陽極N陰極,電流方向P極流向N極 共陰極高電平亮,共陽極低電平亮 數位管 dp g f e d c b a 0 0 ...
基本元器件原理及功能
常用元器件
CAP 電容
RES 電阻
CRYSTAL 晶振
7SEG 數位管
sounder 蜂鳴器
BUTTON
LED-BIBY
發光二極體
二極體PN結,P陽極N陰極,電流方向P極流向N極
共陰極高電平亮,共陽極低電平亮
數位管
dp g f e d c b a
0 0 1 1 1 1 1 1 //0x3F顯示0
共陰com口接地高電平亮,共陽極com口接電,低電平亮
LED數位管的顯示方式
1.靜態顯示
公共端直接接地(共陰極)或接電源(共陽極),每個數位管的段選線對應一組I/O介面,每個數位管一直顯示
2.動態顯示
所有數位管的段選線與一組I/O介面線並聯,公共端由一根I/O線控制,逐個顯示
按鍵
按鍵按下不會立刻改變電平,延時10ms-20ms再獲取電平消除抖動
獨立式按鍵:
每個鍵獨占跟並口線,處理簡單直接判斷並口線
行列鍵盤(矩陣鍵盤):
鍵位分佈在行列交叉點上,占用並口線少,鍵位越多越明顯
行列鍵盤按鍵編碼:
高位為1,低位為0,按鍵按下時高位為0。再將其取反再檢測即可知道是哪一個按鍵
H3 H2 H1 H0 L3 L2 L1 L0
1 1 1 1 0 0 0 0 //0xf0,
1 1 1 0 0 0 0 0 //當位於H0,L0的按鍵按下時,H0變為低電平
0 0 0 0 1 1 1 0 //0xf0取反,按鍵按下時L0變低電平
行和列編碼相加就等於鍵值
鍵值= 0xe0+0x0e;
定時計數器
51單片機有T0、T1兩個定時/計數器,52多一個T2
由加法計數器(16位)、方式寄存器TMOD、控制寄存器TCON和內部匯流排組成
初值X=最大計數值M - 計數值N
計數方式工作時,引腳T0(P3.4)或T1(P3.5)上的輸入脈衝計數
定時/計數器由一下特殊功能寄存器組成:
(T0)TH0, TL0, (T1)TH1, TL1, TMOD, TCON
TMOD D7 D6 D5 D4 | D3 D2 D1 D0
(89H) GATE C/T M1 M0 | GATE C/T M1 M0
定時器1 | 定時器0
M1, M0 工作方式選擇位
0 0 方式0, 13位定時/計數器 X=8192-N/(12/fosc)
0 1 方式1, 16位定時/計數器 X=65536-N/(12/fosc)
1 0 方式2, 8位自動重置定時/計數器 X=256-N/(12/fosc)
1 1 方式3, 兩個8位定時/計數器(只有T0有)
C/T: 定時或計數方式選擇位,1位計數方式,0位定時
GATE:門控位,用於控制定時/計數器的啟動是否受外部中斷請求信號影響
TCON D7 D6 D5 D4 D3 D2 D1 D0
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF1 T1的標誌位,當定時/計數器溢出時標誌位置1
TR1 T1的啟動和停止,1啟動0停止
TF0,TR0 控制T0,效果同上
IE1 IT1 IE0 IT0 外部中斷
串列口控制寄存器SCON
CS-51單片機1個全雙工串列非同步通信介面。發送接收共用SBUF寄存器,串列口控制寄存器SCON,電源控制寄存器PCON
波特率(bps)=一個字元的二進位位數*字元/秒
ex: 每秒傳送200個字元,每個字元1位起始位、8位數據位、1位校驗位和1位停止位。波特率為2200bps
SCON D7 D6 D5 D4 D3 D2 D1 D0
98H SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0, SM1 串口工作方式選擇
0 0 方式0,移位寄存器方式 波特率 fosc/12
0 1 方式1,8位非同步通信方式 波特率可變
1 0 方式2,9位非同步通信方式 fosc/32或fosc/64
1 1 方式3,9位非同步通信方式 波特率可變
SM2多設備通信,REN是否允許接收,TB8、RB8在9位非同步通信時用到,TI給0表示允許發送、RI給0表示允許接收
ex:
SCON=0x50; //0101 0000
對於方式1和方式3:T1的初值=256-fosc2SMOD/(12波特率*32)
TXD: 發送數據端
RXD: 接收數據端
通信晶振頻率為11.0592MHz
中斷系統
中斷源及中斷請求
1.外部中斷 ~INT0 和 ~INT1
外部引腳P3.2和P3.3輸入,兩種觸發方式:電平觸發及邊沿觸發。由特殊功能寄存器TCON管理
TCON D7 D6 D5 D4 D3 D2 D1 D0
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0(IT1): 外部中斷0(或1)觸發方式控制位,0電平觸發方式,1邊沿觸發方式
IE0(IE1):外部中斷請求標誌位
ex:
邊沿觸發方式時,當機器周期採樣P3.2(P3.3)引腳為高電平,下一個周期為低電平,IE0(IE1)置1,向cpu請求中斷,cpu相應後硬體自動清0
電平觸發方式時,若引腳為高電平,IE0(IE1)清0,低電平置1,cpu響應後不能由硬體自動清0。為避免多次中斷情況,只有在中斷服務程式返回前使引腳為高電平,通常外接電路實現
2.定時/計數器T0和T1中斷
當定時計數器溢出時,硬體置TF0(TF1)為1,cpu響應中斷後硬體自動清0
3.串口中斷
串列口發送標誌位TI和接收標誌位RI,任意一個為1,都請求中斷,由軟體清0
中斷允許與中斷屏蔽
IE D7 D6 D5 D4 D3 D2 D1 D0
(A8H) EA ET2 ES ET1 EX1 ET0 EX0
EA: 中斷允許控制位。0屏蔽,1開放(下同)
ET2:定時/計數器T2溢出中斷允許位(c52)
ES:串列口中斷允許位
ET1:T1溢出中斷允許位
EX1: 外部中斷INT1中斷允許位
ET0:T0
EX0: INT0
中斷優先權控制
IP D7 D6 D5 D4 D3 D2 D1 D0
(B8H) PT2 PS PT1 PX1 PT0 PX0
PT2:定時/計數器T2溢出中斷優先順序控制位(c52),1高優先順序,0低優先順序(下同)
PS:串列口中斷優先順序控制位
PT1:T1
PX1: 外部中斷INT1
PT0:T0
PX0: INT0
當優先順序相同,預設優先順序(由高到低)
外部中斷0,入口編號0
定時/計數器0,1
外部中斷1,2
定時計數器1,3
串列口,4
定時/計數器2,5
中斷過程中不能被同級或低優先順序中斷,低優先順序可能被高優先順序中斷
指令位RETI或訪問IE、IP的指令時,不會響應中斷
51單片機與DAC的介面
D/A轉換器是把輸入的數字量轉換為與之成正比的模擬量的器件,輸入數字量,輸出模擬量
如輸入的數字量為D, 輸出的模擬量為V0, 則有:
V0=D*VREF
其中:VREF為基準電壓, D為二進位轉換為十進位的數