中斷程序不需要聲明;
中斷響應條件:1,中斷源有中斷請求 2,中斷允許位為1 3,CPU開總中斷;
子程序調用帶參數聲明時,類型必寫,變量隨便;函數體寫在主函數前不需要聲明;
注意uchar的范圍0-255;
檢測單片機是否正常工作:ALE是否為晶振頻率的1/6方波;
晶振正常工作時,引腳處為正弦波;
EA引腳:內外ROM的選擇,一般接VCC,不接時無法正常工作;EA=0時,P3只能當做普通IO使用;
IO口做輸入時,之前先需要寫1;
復位后,P0-P3寄存器為FF,其他寄存器一般為清零;
一個工程中可有多個C文件,但是main還是只能有一個;
按鍵兩端并電容可以實現硬件消抖;
定時器工作設置:1,初始化:對TMOD賦值,確定T0.T1工作方式 2,計初值,寫入TH0,TL0,TH1,TL13,中斷設置,對IE賦值,開放中斷 4,啟動
定時器,TR0/TR1置1;
數碼管使用時注意消隱;按鍵使用時注意消抖,松手檢測;
數組聲明時,前加code會把數據放入程序存儲器里面;(因為51的RAM很小)
DA轉換器的性能指標:1,分辨率,eg:對于5V滿量程,采用8位,分辨率則為5/256=19.5mv;2,建立時間,電流輸出型DAC的建立時間短,轉換為電壓時可
加運放轉換;
串行通信的傳輸:單工-單向; 半雙工-分時雙向; 全雙工-同時雙向;
中斷程序過程:中斷發生-中斷響應-中斷服務-中斷返回;
51單片機中斷最多就2級嵌套;52有四個中斷優先級,即可實現四級中斷服務嵌套:IE0(0),TF0(1),IE1(2),TF1(3),RI/TI(4)(都是硬
件自動置位的);
定時器/計數器工作原理:輸入的計數脈沖有兩個來源,一個是由系統的時鐘振蕩器12分頻后送來,一個是T0/T1引腳輸入的外部脈沖源,每一個脈沖來,計數器加一,加滿
時再輸入一個脈沖,計數器歸0,使標志位置位,向CPU發出中斷請求;
串口的工作設置:1,確定T1的工作方式(TMOD)2,計算T1初值,裝載TH1,TH0 3,啟動T1 4,確定串行口控制(SCON);串口是一個全雙工的,通過SBUF寄存器,發生和接
收占用的是同一地址;
漏極開路--場效應管(壓Vgs控流id) 集電極開路--三極管(流ib控流ic);在允許從信號源取較少電流時,應用場效應管,相反應用三極管;
頭文件reg51/52區別:52比51多定義一個定時器T2,其他區別不大;
C51的數據類型擴充定義(與C不一樣):sfr(16):特殊功能寄存器聲明,sbit:特殊功能位聲明,bit:位變量聲明;
《》:位左移位右移,空位補0;& |:多字節相與相或;&& ||:一位相與相或;~:按位取反;
&與==優先級:&的優先級小于==,所以在判斷時應為“(A&B)==0”;
異步通信:通信的發生和接收設備使用各自的時鐘;傳輸速率:比特率是每秒鐘傳輸二進制位數單位位/秒(bps);
串口通信時,距離應不超過15m,最高傳輸速度20kbps;邏輯1:-3~-15,邏輯0:3~15;
51:一個機器周期=6個狀態周期=12個時鐘周期;
檢測51單片機晶振引腳是否工作:在沒有示波器的情況下,可以使用萬用表測量2個引腳的對地電壓估計晶振的工作狀態,一般情況如下:5V系統中,2腳的對地電壓是 2V左右,且壓差不大,如果出現引腳電壓為0V
或者5V(VCC)表明晶振沒有起振,需要檢查連接可靠性或者更換晶振;
ISP:In system programming;
keil仿真時,如果更改代碼,退出debug:改之后必須編譯一下在debug;
電池的容量:放電電流*放電時間(以固定電流放電,測出電壓終止時的放電時間)eg:600mah
看門狗:就是一定時器,mCU需要每隔一定時間輸入一個信號(喂狗),給WDT清零,否則就會引起中斷(復位);
紅外線是一種通過紅外線光速傳輸data的設備;
電池的記憶效應(以前的電池):假如手機電池具有600mah的電量,若在電量損耗到一半時充電,它就會記住這一特性,每當放電到300mah即停止工作,必須重新充電;
DSP:1,digital signal processing 2,digital signal processor;
OEM:原始設備制作商;
對于0805封裝:0.08in*0.05in-----0.08*1000mil=0.08*25.4mm = 2mm ;
SPI缺點:沒有流控制機制,也沒有應答機制確認是否接收到數據;但是速度快;
PCB:按住ctrl選擇一條線,其他部分變暗,只有與其相連的net變高亮;
|