一、基本介紹
STC89c51和STC89c52是電腦介面程序設計、自動化控制、工業控制、安防等諸多領域中經常運用到的一種單片機晶元。這兩種晶元均採用8051核心,能夠完全兼容C51指令,採用16位定時器、4組可編程計數器、六組通用輸入輸出介面等,具有RAM和FLASH等硬體存儲器資源,並且還具備較高的運算速度、可靠性等基本特性。
二、應用領域
STC89c51與STC89c52主要應用於以下領域:
1、電腦介面程序設計:如電腦外設控制、多媒體音效、遊戲控制等;
2、自動化控制:如家居智能控制、工業裝備控制、感測器監測等;
3、工業控制:如機器人控制、生產線控制、儀錶監控等;
4、安防領域:如門禁控制、生物識別系統、智能警報等。
三、編程環境
編程環境是使用STC89c51和STC89c52進行編程的重要基礎之一,下面介紹幾種常用的編程環境:
1、Keil C51編譯軟體:官方推薦的編譯環境,能夠提供完整的開發工具鏈,包括編譯器、調試器、模擬器等;
2、IAR環境:該環境是很多ARM單片機開發的首選,IAR以其快速與穩定性成為Keil之外的另一強大的開發環境;
3、C51極限編程環境:該環境相較於前兩個來說具有優秀的易用性,包括代碼加速器、鏈接器、編輯器等,其中代碼加速器能夠大量節省用戶進行編程所需的時間;
/* Sample Code */#include //頭文件定義void main(){ while(1) // 循環執行 { P1 = 0xff; // 點亮P1口指示燈 delay(1000);// 延時函數 P1 = 0x00; // 滅掉P1口指示燈 delay(1000);// 延時函數 }}void delay(unsigned int xms) { unsigned int i,j; for(i=xms;i>0;i--) for(j=600;j>0;j--);// 延時一毫秒}
四、串口通信
串口通信一般是指在計算機與單片機之間進行通信,下面介紹單片機串口與PC串口之間的通訊:
1、硬體串口:將串口晶元與單片機外部引腳相連接,這種方式支持PC與單片機之間的數據雙向傳輸;
2、軟體串口:調用單片機內部定時器進行標準波特率的硬體計算,將計算結果處理後,通過單片機的I/O口來模擬一個串口;
/* Sample Code */#include #define BAUD 9600 //通訊波特率/*波特率計算公式:(1/時鐘頻率)*12=偏差率,1-偏差率=實際通訊速率*/void InitUART() //初始化串口{ TMOD = 0x20; //選擇自動重裝方式 SCON = 0x50; //選擇波特率不可變的工作方式,開啟接受中斷 TH1 = TL1 = -(FOSC/12/32/BAUD); //設置計數器自動重裝載初值 TR1 = 1; //打開定時器1,開始計時 ES = 1; //使能串口中斷 }void SendData( unsigned char dat ) //向串口發送數據{ TI = 0; SBUF = dat; while( TI == 0 ); }void main() //主程序{ InitUART(); //初始化串口為9600 SendData('H');//開始向串口發送單片機數據 SendData('e'); SendData('l'); SendData('l'); SendData('o'); SendData(','); SendData('w'); SendData('o'); SendData('r'); SendData('l'); SendData('d'); while(1);}
五、脈寬調製
脈寬調製是指單片機根據需要產生一個變化的電脈衝來實現對電路硬體參數變化的調節。下面簡單介紹兩種實現脈寬調製的方法:
1、定時器方式:在單片機中定時器是實現脈衝信號的重要組成部分,通過計算定時器中所設定的時間長度,可以產生具有不同頻率和占空比的周期性信號;
2、計數器方式:通過對計數器內部設定初值和計數器溢出次數的判定,可以得出不同長度和頻率的脈衝信號;
/*Sample Code */#include#define T PWMOUT //設定占空比值sbit PWMOUT = P1^0; //設定PWM波形輸出口void Delay10ms() //單片機延時函數{ unsigned char n, i; for (n = 1; n > 0; n--) for (i = 0; i < 240; i++);}void main() //主函數{ while (1) { for (T = 0; T 0; T--) //PWM減小 { Delay10ms(); //延時10ms } }}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152234.html