久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3639|回復: 0
收起左側

STC12C5A60S2單片機的串口實驗程序

[復制鏈接]
ID:692965 發表于 2020-10-2 14:07 | 顯示全部樓層 |閱讀模式
最近找一些資料,發現關于STC12C5A60S2的資料很少,STC12C5A60S2是新一代的8051,是屬于1T的單片機,我們先說一下12T的單片機和1T的單片機的區別,首先就是速度上,1T的單片機是12T單片機的10~12倍左右,我們在用軟件延時的時候,都是死循環,同樣的軟件延時,但是延時的時間就不一樣,就是為1T的單片機比12T的快12倍,還有就是功能上,也有很多地方很好用,剛開始使用STC12C5A60S2,有些地方我也是不太懂,大家可以一起交流,


這是官網上給出的關于stc12C5a60s2的數據手冊,我也會把源代碼和數據手冊放到最后,有需要的可以自行下載,我們的stc12c5a60s2和89c52的引腳是完全一樣的,我們可以直接插到89c52的開發板上,以下是引腳圖
51hei截圖20201002133944.png 功能.png

還有我們使用的晶振是11.0592MHz的(這個非常重要)
還有我們使用的LED的原理圖
51hei截圖20201002130916.png

當P1^4引腳位低電平時,LED燈會亮,但是我們采用的是取反。
剩下的就是控制相關的寄存器了
串口1的相關的寄存器.png

第一個我們設置電源控制寄存器,當SMOD=1,波特率加倍




SCON.png


第二個就是串行控制寄存器我們用的是方式2 9位UART,SCON=0x50;
剩下的一個就是總中斷了
總中斷.png

ES表示定時器中斷,EA表示總中斷;這些具體的參數都在STC官網的數據手里面有,第八章串口通信,
處置.png

設置好TH1和TL1的初值就算弄好了。
我們調試的過程
調試.png

1601616621835.jpg

成功點亮LED燈,證明串口通信成功~!~

單片機源程序如下:
  1. #include "stc15f2k60s2.h"
  2. #include "intrins.h"
  3. sbit LED=P1^5;
  4. typedef unsigned char u8;
  5. typedef unsigned int u16;

  6. u16 receiveData;
  7. void SendByte(unsigned char dat);
  8. void UART_Send_Str(char *pStr);
  9. /*******************************************
  10. 函數名稱:void main()
  11. 函數功能:主函數
  12. 輸入參數:無
  13. 輸出參數:無
  14. *******************************************/
  15. void main()
  16. {

  17.    SCON=0x50;
  18.    PCON=0X80;  //波特率加倍
  19.    TMOD|=0x20;
  20.    TH1=0xfA;        //定時器1方式2        8位數據加一位檢驗位
  21.    TL1=0xfA;
  22.    TR1=1;
  23.    EA=1;        //總中斷
  24.    ES=1;   //定時器中斷允許位

  25. while(1)
  26. {
  27.   //UART_Send_Str("中國!!\r\n");  //發送字符串
  28. }
  29. }
  30. /*******************************************
  31. 函數名稱:void SendByte(unsigned char dat)
  32. 函數功能:發送單個字節
  33. 輸入參數:dat
  34. 輸出參數:無
  35. *******************************************/
  36. void SendByte(unsigned char dat)  
  37. {
  38.   SBUF=dat;
  39.   while(!TI);
  40.   TI=0;
  41. }
  42. /*******************************************
  43. 函數名稱:void UART_Send_Str(char *pStr)
  44. 函數功能:發送字符串
  45. 輸入參數:*pStr
  46. 輸出參數:無
  47. *******************************************/
  48. void UART_Send_Str(char *pStr)         
  49. {
  50.    
  51.         while(*pStr != '\0')
  52.         {
  53.                 SendByte(*pStr++);
  54.         }

  55. }
  56. /*******************************************
  57. 函數名稱:void Uart1() interrupt 4
  58. 函數功能:串口中斷函數
  59. 輸入參數:無
  60. 輸出參數:無
  61. *******************************************/
  62. void Uart1() interrupt 4         
  63. {receiveData=SBUF;                         //接收數據
  64. RI=0;                                                 //關閉計時器
  65. SBUF=receiveData;                          //發送數據
  66. while(!TI);
  67. TI=0;                                                   //發送完成標志位
  68. if(receiveData=='2')
  69. {
  70.    LED=~LED;//LED取反

  71. }
  72. }
復制代碼
程序:
程序.7z (179.45 KB, 下載次數: 27)
pdf:http://www.zg4o1577.cn/bbs/dpj-96160-1.html

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线欧美小视频 | 久久伊人影院 | 一区二区三区不卡视频 | 99re热精品视频国产免费 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 一级片在线观看 | 91av在线视频观看 | 日韩一二区 | 久久精品欧美一区二区三区不卡 | 羞羞的视频网站 | 国产综合久久久久久鬼色 | 黄色片在线 | 欧美黄 片免费观看 | 自拍亚洲 | 欧美三级久久久 | 日韩电影免费在线观看中文字幕 | 一级毛片播放 | 国产精品视频免费观看 | 国产xxxx搡xxxxx搡麻豆 | 久草在线影| 日韩一区二区三区在线播放 | 7777精品伊人久久精品影视 | av在线免费观看不卡 | 一区二区三区四区国产 | 羞羞的视频在线 | 天天爽天天操 | 在线黄色网 | 国产粉嫩尤物极品99综合精品 | 日本黄色一级片视频 | 又黄又色| 免费观看色 | 国产欧美日韩综合精品一区二区 | 亚洲精品大片 | 91精品国产综合久久久久 | 玖玖国产| 国产成人99久久亚洲综合精品 | 日日综合| 日韩国产高清在线观看 | 在线日韩欧美 | 永久免费在线观看 | 毛片a级毛片免费播放100 |