最近找一些資料,發現關于STC12C5A60S2的資料很少,STC12C5A60S2是新一代的8051,是屬于1T的單片機,我們先說一下12T的單片機和1T的單片機的區別,首先就是速度上,1T的單片機是12T單片機的10~12倍左右,我們在用軟件延時的時候,都是死循環,同樣的軟件延時,但是延時的時間就不一樣,就是為1T的單片機比12T的快12倍,還有就是功能上,也有很多地方很好用,剛開始使用STC12C5A60S2,有些地方我也是不太懂,大家可以一起交流,
這是官網上給出的關于stc12C5a60s2的數據手冊,我也會把源代碼和數據手冊放到最后,有需要的可以自行下載,我們的stc12c5a60s2和89c52的引腳是完全一樣的,我們可以直接插到89c52的開發板上,以下是引腳圖
還有我們使用的晶振是11.0592MHz的(這個非常重要)
還有我們使用的LED的原理圖
當P1^4引腳位低電平時,LED燈會亮,但是我們采用的是取反。
剩下的就是控制相關的寄存器了
第一個我們設置電源控制寄存器,當SMOD=1,波特率加倍
第二個就是串行控制寄存器我們用的是方式2 9位UART,SCON=0x50;
剩下的一個就是總中斷了
ES表示定時器中斷,EA表示總中斷;這些具體的參數都在STC官網的數據手里面有,第八章串口通信,
設置好TH1和TL1的初值就算弄好了。
我們調試的過程
成功點亮LED燈,證明串口通信成功~!~
單片機源程序如下:- #include "stc15f2k60s2.h"
- #include "intrins.h"
- sbit LED=P1^5;
- typedef unsigned char u8;
- typedef unsigned int u16;
- u16 receiveData;
- void SendByte(unsigned char dat);
- void UART_Send_Str(char *pStr);
- /*******************************************
- 函數名稱:void main()
- 函數功能:主函數
- 輸入參數:無
- 輸出參數:無
- *******************************************/
- void main()
- {
- SCON=0x50;
- PCON=0X80; //波特率加倍
- TMOD|=0x20;
- TH1=0xfA; //定時器1方式2 8位數據加一位檢驗位
- TL1=0xfA;
- TR1=1;
- EA=1; //總中斷
- ES=1; //定時器中斷允許位
- while(1)
- {
- //UART_Send_Str("中國!!\r\n"); //發送字符串
- }
- }
- /*******************************************
- 函數名稱:void SendByte(unsigned char dat)
- 函數功能:發送單個字節
- 輸入參數:dat
- 輸出參數:無
- *******************************************/
- void SendByte(unsigned char dat)
- {
- SBUF=dat;
- while(!TI);
- TI=0;
- }
- /*******************************************
- 函數名稱:void UART_Send_Str(char *pStr)
- 函數功能:發送字符串
- 輸入參數:*pStr
- 輸出參數:無
- *******************************************/
- void UART_Send_Str(char *pStr)
- {
-
- while(*pStr != '\0')
- {
- SendByte(*pStr++);
- }
- }
- /*******************************************
- 函數名稱:void Uart1() interrupt 4
- 函數功能:串口中斷函數
- 輸入參數:無
- 輸出參數:無
- *******************************************/
- void Uart1() interrupt 4
- {receiveData=SBUF; //接收數據
- RI=0; //關閉計時器
- SBUF=receiveData; //發送數據
- while(!TI);
- TI=0; //發送完成標志位
- if(receiveData=='2')
- {
- LED=~LED;//LED取反
-
- }
- }
復制代碼 程序:
程序.7z
(179.45 KB, 下載次數: 27)
2020-10-2 21:47 上傳
點擊文件名下載附件
pdf:http://www.zg4o1577.cn/bbs/dpj-96160-1.html
|