c51單片機(jī)第二課筆記
機(jī)器周期:單片機(jī)完成一次獨(dú)立的操作需要的時(shí)間。是震蕩周期的12倍。
指令周期:cpu完成一次完整的操作需要的所有時(shí)間,有單周期指令,雙周期指令等。
2 用循環(huán)左移,循環(huán)右移指令 實(shí)現(xiàn)流水燈。
int temp;
temp=0xfe;
P1=temp;
temp=_crol_(temp,1);
有關(guān)循環(huán)指令包含在intrins.h頭文件中。
3 對(duì)蜂鳴器的操作,類似與對(duì)led的操作,對(duì)相應(yīng)端口輸出第電平。關(guān)于蜂鳴器的數(shù)據(jù)有待補(bǔ)充。
4 共陰極led顯示器16進(jìn)制編碼表
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
從左到有,分別為 0到f的編碼。
5led數(shù)碼管的位選,段選。用2個(gè)鎖存器配合,實(shí)現(xiàn)6個(gè)led數(shù)碼管。先鎖存位選信號(hào)再鎖存段選信號(hào)。
具體操作。 打開鎖存器1
輸出位選信號(hào)。
關(guān)閉鎖存器1
打開鎖存器2
輸出段選信號(hào)。
關(guān)閉鎖存器。
具體例程。
#include
sbit dula=P2^6;
sbit wela=P2^7;
void main()
{
wela=1;
P0=0xc0;
wela=0;
dula=1;
P0=0x06;
dula=0;
while(1);
}
6鎖存器的真值表。
7中斷
與中斷有關(guān)的幾個(gè)寄存器。
A IE中斷允許控制寄存器。其中包括EA EX0 EX1 ET0 ET1 ES
EA(IE.7)CPU中斷運(yùn)行總控制位。
ES(IE.5)串行口中斷允許控制位。
ET1和ET0(IE.3,IE.1)定時(shí)器1和定時(shí)器0中斷允許控制位。
EX1和EX0(IE.2,IE.0)外部中斷1和外部中斷0允許控制位。
8051采用兩級(jí)中斷控制方法。比如要開啟定時(shí)器0的中斷 要分別 在EA 和 ET0 兩位置1.
B TCON 外部中斷0,1 定時(shí)器0,1終端控制寄存器。
TCON包括 TF1, TR1, TF0, TR0, IE1, IT1, IE0, IT0
TF1,TF0(TCON7,TCON5)定時(shí)器T1,T0的計(jì)數(shù)溢出標(biāo)志。
IE1,IE0(TCON,3,TCON.1)外部中斷1,0的中斷請(qǐng)求標(biāo)志位
以上4位 由硬件檢測(cè)到中斷信號(hào)后自動(dòng)置1.
IT1,IT0(TCON,2,TCON.0)外部中斷信號(hào)的觸發(fā)方式選擇位
為0時(shí),是低電平觸發(fā) 為1時(shí),是下降沿脈沖觸發(fā)方式。
C IP中斷優(yōu)先級(jí)控制寄存器。
8c語言中中斷程序的編寫
格式 void 函數(shù)名() interrupt 中斷編碼{函數(shù)體}
其中 中斷編碼分別為
外部中斷0 0
定時(shí)器0 1
外部中斷1 2
定時(shí)器1 3
串口發(fā)送接收 4
中斷函數(shù)不用事先聲明。編寫中斷函數(shù)要注意開中斷。
9 定時(shí)器及相關(guān)寄存器
定時(shí)器的工作原理 16位的加一計(jì)數(shù)器。
相關(guān)寄存器
T0,T1的控制寄存器TCON
TF1,TF0 (TCON7,TCON5)定時(shí)器T1,T0的計(jì)數(shù)溢出標(biāo)志。
TR1,TR0(CON6,TCON4)定時(shí)器運(yùn)行控制器
0時(shí)停止工作,1時(shí)啟動(dòng)。
T0,T1的方式控制寄存器TMOD
TMOD高4位控制T1 低4位控制T0
其中 GATE 門控位 等于0時(shí)
等于1時(shí)
C/T 定時(shí)或計(jì)數(shù)功能選擇位 等于0時(shí) 定時(shí)功能,計(jì)數(shù)脈沖由內(nèi)部提供
等于1時(shí) 計(jì)數(shù)功能,對(duì)外部事件(脈沖)進(jìn)行計(jì)數(shù)
M1和M0:T1和T0操作方式選擇位
計(jì)數(shù)初值與計(jì)數(shù)個(gè)數(shù)的關(guān)系 計(jì)數(shù)個(gè)數(shù)=2的16次方-計(jì)數(shù)初值.
10定時(shí)器的應(yīng)用.
初始化程序應(yīng)完成如下工作:
§對(duì)TMOD賦值,以確定T0和T1的工作方式。
§計(jì)算初值,并將其寫入TH0、TL0或TH1、TL1。
§中斷方式時(shí),則對(duì)IE賦值,開放中斷。
啟動(dòng)定時(shí)器
TMOD=0x01;//設(shè)置定時(shí)器0的工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
EA=1; //開總中斷
ET0=1;//開定時(shí)器0中斷
TR0=1;//啟動(dòng)定時(shí)器0
評(píng)論