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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7767|回復: 0
打印 上一主題 下一主題
收起左側

51單片機串口顯示字符串(c語言)

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 wake_up_smiling 于 2018-1-20 12:51 編輯

基于51單片機的串口顯示字符串程序
目的:
通過串口調試助手像單片機發送字符串(文本模式),字符串將在數碼管上顯示,字型碼需要根據原理圖自己計算代碼如下
頭文件RS323.H:

  1. #include "stc15fxxxx.h"     //調用stc15f系列頭文件

  2. #define Fosc                    11059200L       //下載晶振頻率

  3. #define serial_one_baud_rate        9600L         //串口通訊波特率
  4. #define Timer1_Reload          (65536UL -(Fosc / 4 / serial_one_baud_rate))      //用定時器1做波特率發生器,計算定時器1的重裝值   


  5. u8 num2[4]={10,10,10,10};
  6. u8 num=0;
  7. u8 n1,n2,n3,n4,n5;
  8. //初始化串口
  9. void serial_one_init()
  10. {
  11.     SCON |= 0x40;               //8位數據
  12.     P_SW1 &=  ~0xc0;
  13.     TR1 = 0;                    //關閉定時器
  14.     AUXR &= ~0x01;   
  15.     TMOD &= ~(1<<6);  
  16.     TMOD &= ~0x30;   
  17.     AUXR |=  (1<<6);   
  18.     TH1 = (u8)(Timer1_Reload >> 8);
  19.     TL1 = (u8)Timer1_Reload;
  20.     TR1  = 1;                   //打開定時器1
  21.     PS = 1;                                                 //高優先級中斷
  22.     REN = 1;                                            //允許接收
  23.     ES  = 1;                                            //打開串口中斷

  24.     EA = 1;                                                     //打開全局中斷
  25. }

  26. /********************* 串口1中斷函數************************/
  27. void UART1_int (void) interrupt UART1_VECTOR
  28. {
  29.     if(RI)
  30.     {
  31.         RI = 0;//清除接受標志
  32.         num2[num]= (SBUF-48);
  33.                 num++;
  34.                 if(num==4)num=0;
  35.     }
  36. }
復制代碼

c文件:
  1. /*4位數碼管,數碼管使用P2口作為段選端,p3.7,p3.6,p3.5,p3.4分別為4位數碼管的位選端,
  2. 數碼管為共陽數碼管,其中字型碼部分需要自己計算,附帶計算小工具,程序編譯成功無任何問題,有問題聯系q:1606260309 */
  3. #include"rs232.h"
  4. char led_mod[] = { 0x82,0xe7,0x2a,0x26,0x47,0x16,0x12,0xa7,0x02,0x06
  5. ,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x03,0x52,
  6. 0x9a,0x62,0x1a,0x1b,0x92,0x43,0xdb,0xe6};//0123456789*******ABCDEFGHIJ,需要自己算,中間的‘*’按個數任意填寫(訪問不到)這里以0xff補齊(共陽數碼管)
  7. unsigned int key=0;
  8. void delay()
  9. {
  10. int i=1000;
  11. while(i--);
  12. }
  13. void display(unsigned char m,unsigned char n)
  14. {
  15. if(m==1)
  16. {
  17. P37=0;
  18. P36=1;
  19. P35=1;
  20. P34=1;
  21. P2=led_mod[n];
  22. delay();
  23. }
  24. if(m==2)
  25. {
  26. P37=1;
  27. P36=0;
  28. P35=1;
  29. P34=1;
  30. P2=led_mod[n];
  31. delay();
  32. }
  33. if(m==3)
  34. {
  35. P37=1;
  36. P36=1;
  37. P35=0;
  38. P34=1;
  39. P2=led_mod[n];
  40. delay();
  41. }
  42. if(m==4)
  43. {
  44. P37=1;
  45. P36=1;
  46. P35=1;
  47. P34=0;
  48. P2=led_mod[n];
  49. delay();
  50. }

  51. }

  52. void main()
  53. {         
  54. serial_one_init();//串口初始化
  55. while(1)
  56. {
  57. if(num==1)
  58. {
  59. num2[1]=10;
  60. num2[2]=10;
  61. num2[3]=10;
  62. }
  63. else if(num==2)
  64. {
  65. num2[2]=10;
  66. num2[3]=10;
  67. }
  68. else if(num==3)
  69. {
  70. num2[3]=10;
  71. }
  72.         display(1,num2[0]);
  73.         display(2,num2[1]);
  74.         display(3,num2[2]);
  75.         display(4,num2[3]);
  76. }


  77.         
  78. }
復制代碼

附件:
串口顯示字符串(c語言).zip (60.44 KB, 下載次數: 36)



評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青久视频| 蜜桃臀av一区二区三区 | 亚洲精品永久免费 | 91秦先生艺校小琴 | 国产视频欧美 | 韩日一区 | 二区高清 | av电影一区二区 | 精品精品 | 综合色站导航 | 做a视频 | 久久精品视频99 | 国产女人叫床高潮大片免费 | 黄色一级片在线播放 | 美女天堂 | 亚洲国产欧美一区 | 一色一黄视频 | 国产福利91精品一区二区三区 | 99久久亚洲 | 视频一区二区在线观看 | 亚洲成人三级 | 亚洲久久一区 | 亚洲精品一区二区 | 欧美日韩1区2区3区 欧美久久一区 | 国产中文字幕亚洲 | 在线观看视频91 | 一区二区三区免费在线观看 | 欧美美女被c | 国产精品美女www爽爽爽视频 | 在线91 | 97精品超碰一区二区三区 | 人人鲁人人莫人人爱精品 | 国产线视频精品免费观看视频 | 日日日干干干 | 国产极品车模吞精高潮呻吟 | 欧美激情国产日韩精品一区18 | 综合久久综合久久 | 国产成人精品久久二区二区 | 青青草一区二区 | 国产一区二区在线播放 | 成人免费在线视频 |