【開發板簡要說明】 一、尺寸:長73mmX寬73mmX高23mm 二、主要芯片:STC12C5A60S2單片機 三、工作電壓:直流6到40伏(LM2576穩壓) 四、特點: 1、具有電源指示; 2、所有I/O口以引出; 3、可以實現與電腦串口通信; 4、可以實現雙串口通訊; 5、具有上電復位和手動復位 6、支持STC串口下載; 7、雙串口通訊(注:只能使用串口一下載程序); 8、八路LED燈 9、可端子接線供電、可排針引電; 10、LM2576穩壓 輸入電壓范圍寬(直流6到40V),且確保AD參考電壓準確(注:因無外部參考電壓點) 五、提供相關軟件、資料、原理圖 適用場合:單片機學習、電子競賽、產品開發、畢業設計。。。
單片機源程序如下:
- /********************************************************************
- 匯誠科技
- 實現功能:STC12C5A60S2單片機開發板之整板測試
- 使用芯片:STC12CA60S2
- 晶振:11.0592MHZ
- 編譯環境:Keil
- 硬件環境:STC12C5A60S2雙485單片機開發板
- 作者:yang
- 【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
- 功能 :串口一發送tab數據,串口二接收,接收后數據顯示在P0口的led燈上
- 串口二發送tab數據,串口一接收,接收后數據顯示在p0口的led燈上
- 按key1,P0口顯示0xAA
- 按key2,P0口顯示0x55
- 按key3,P0口顯示0xf0
- 按key4,P0口顯示0x0f
- 其他 :采用查詢方式發送穩定,但是接收數據極不穩定由于
- 官方資料使用的是中斷方式,所以建議使用中斷方式收發數據。
- 注意 :下載完程序后請復位系統后運行!(切記!!)
- *********************************************************************/
- #include "STC12C5A60S2.h" //庫文件
- #define uchar unsigned char//宏定義無符號字符型
- #define uint unsigned int //宏定義無符號整型
- /********************************************************************
- 初始定義
- *********************************************************************/
- uchar dat1=0,dat2=0;
- uchar tab[8]={0xfe,0xfd,0xfB,0xf7,0xef,0xdf,0xBf,0x7f};
- sbit key1=P2^0;
- sbit key2=P2^1;
- sbit key3=P2^2;
- sbit key4=P2^3;
- /********************************************************************
- 串口初始化
- *********************************************************************/
- void init ()
- {
- TMOD = 0x20; //定時器1產生波特率
- SCON = 0x50; //方式1,8位數據,波特率可變
- TH1= TL1 = 0xfd; //波特率 9600
- S2CON= 0x50; //方式1,八位數據,可變波特率
- BRT= 0XFD; //設置波特率9600
- TR1= 1; //啟動定時器產生波特率
- AUXR= 0x10; //啟動波特率發生器
- IP= 0x00; //優先級默認
- EA = 1; //開總中斷
- ES= 1; //開串口1中斷
- IE2=0x01; //開串口2中斷
- }
- /********************************************************************
- 串口一 發送一個字符
- *********************************************************************/
- void uart1_txd(uchar x)
- {
- SBUF = x;
- }
- /********************************************************************
- 串口二 發送一個字符
- *********************************************************************/
- void uart2_txd(uchar x)
- {
- S2BUF = x;
- }
- /********************************************************************
- 延時函數
- *********************************************************************/
- void delay ( uint t )
- {
- uint i,j;
- for( i=0; i<t; i++)
- for( j=0; j<250; j++);
- }
- /********************************************************************
- 主函數
- *********************************************************************/
- void main()
- {
- uchar i;
- init();
- for(i=0;i<8;i++)
- {
- uart1_txd(tab[i]);//串口一發送數據
- delay(500);
- P0=dat2; //串口二接收數據在led燈顯示
- delay(500);
- uart2_txd(tab[7-i]); //串口二發送數據
- delay(500);
- P0=dat1; //串口一接收數據在led燈顯示
- delay(500);
- }
- while(1)
- {
- if(key1==0){delay(20);while(!key1){P0=0xAA;} }
- if(key2==0){delay(20);while(!key2){P0=0x55;} }
- if(key3==0){delay(20);while(!key3){P0=0xf0;} }
- if(key4==0){delay(20);while(!key4){P0=0x0f;} }
- }
- }
- /********************************************************************
- 串口二 發送接收中斷函數
- *********************************************************************/
- void uart2_isr() interrupt 8
- {
- if( S2CON & 0x01 )
- {
- S2CON &= ~0x01;
- dat2= S2BUF;
- }
- if( S2CON & 0x02 )
- {
- S2CON &= ~0x02;
- }
- }
- /********************************************************************
- 串口一 發送接收中斷函數
- *********************************************************************/
- void uart_isr() interrupt 4
- {
- if( RI )
- RI = 0;
- dat1 = SBUF;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
GYJ-0048_STC12C60S2雙485通訊開發板發貨資料.rar
(4.33 MB, 下載次數: 258)
2018-2-5 01:04 上傳
點擊文件名下載附件
|