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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

程序在STC89C52RC單片機上不能運行

[復制鏈接]
跳轉到指定樓層
樓主
用藍牙模塊通信,和開發學習板。板子和單片機都沒有壞。燒錄也成功了。RXT對的單片機的RXT,TXD對單片機的TDXD.ER腳通了VCC的電。用KEil模擬仿真,手機可以的到Success.
可是換成RXD對單片機的RTXD.TXD對單片機的RXD.仿真也沒有數據是怎么回事?
剛自學。不知道那有問題。求教各位大神
  1. #include "reg52.h"
  2. #include "intrins.h"

  3. unsigned char SenData,Flag;

  4. char code str1[]="Success";
  5. char code str2[]="Error";

  6. void send_str();
  7. void InitUART(void);
  8. void send_str2();
  9. void delayms(unsigned char ms);
  10. void send_char(unsigned char txd);

  11. void InitUART(void)
  12. {
  13. /*******************設定串口**********************/
  14. SCON=0x50;                        //設置為工作方式1
  15. TMOD=0x20;                        //設置計數器工作方式2
  16. PCON =0x80;                        //波特率加倍
  17. TH1=0xFA;                                //計數器初始值設置,注意波特率是9600的
  18. TL1=TH1;
  19. ES=1;                                                //打開接收中斷
  20. EA=1;                                                //打開總中斷
  21. TR1=1;                                        //打開計數器
  22. /******************設定中斷**********************/
  23. }
  24. void main()  //主函數
  25. {        
  26. InitUART();
  27. while(1){
  28. if(Flag==1)
  29. {
  30. ES = 0;
  31. delayms(50);
  32. //----------------------該段即對接收的數據進行處理
  33. if(SenData==97)//97為字符a的ascii
  34. {
  35. delayms(10);//延時去抖動
  36. send_str();//發送數據
  37. }
  38. else
  39. {
  40. delayms(10);
  41. send_str2();
  42. }
  43. Flag=0;//數據處理完畢后將標志位置0,表示沒有新數據要處理
  44. }
  45. ES = 1;
  46. }
  47. }

  48. void ser_int()interrupt 4//接收字符串
  49. {  

  50. if(RI==1)//RI接受中斷標志
  51. {
  52. SenData = SBUF ;
  53. RI=0;//清除標志.
  54. Flag =1;//標志位置1表示有新數據進來
  55. }
  56. else
  57. TI = 0;
  58. }


  59. void send_str()//發送字串
  60. {
  61. unsigned char i=0;
  62. while(str1[ i]!='\0')
  63. {
  64. SBUF =str1[ i];
  65. while(!TI);//等待數據傳送
  66. TI=0;//清除數據傳輸標志
  67. i++;//下一個字符串
  68. }
  69. }

  70. void send_str2()//發送字串
  71. {
  72. unsigned char i=0;
  73. while(str2[ i]!='\0')
  74. {
  75. SBUF =str2[ i];
  76. while(!TI);//等待數據傳送
  77. TI=0;//清除數據傳輸標志
  78. i++;//下一個字符串
  79. }
  80. }



  81. void delayms( unsigned char ms)//延時子程序
  82. {
  83. unsigned char i;
  84. while(ms--)
  85. {
  86. for(i=0;i<120;i++);
  87. }
  88. }
復制代碼


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

使用道具 舉報

沙發
ID:140371 發表于 2017-6-17 11:02 | 只看該作者
最少這裡SBUF =str1;SBUF =str2;要改成 SBUF =str1[];SBUF =str2[i];

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:164602 發表于 2017-6-17 15:18 | 只看該作者
“用藍牙模塊通信,和開發學習板。板子和單片機都沒有壞。燒錄也成功了。RXT對的單片機的RXT,TXD對單片機的TDXD.ER腳通了VCC的電。”
你說的。程序我就不看了,因為這里錯了啊:藍牙RXT是接收端,那么就應該對應單片機發送端TXD,同理,藍牙TXD發送端應該對應單片機接收端。

1.jpg (9.77 KB, 下載次數: 113)

1.jpg

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜免费福利影院 | 超碰在线播 | 欧美精品综合在线 | 亚洲国产精品久久久久婷婷老年 | 欧美黄色精品 | 美女视频一区 | 亚洲久久一区 | 亚洲一区毛片 | 成人免费福利视频 | 国产农村妇女毛片精品久久麻豆 | 欧美乱做爰xxxⅹ久久久 | 亚洲精品福利在线 | 9191在线播放 | 欧美日韩国产一区二区三区 | 国产在线一区二区三区 | 国产成人午夜精品影院游乐网 | 欧美精品一二区 | 美女久久 | 国产美女一区二区 | 亚洲天堂精品一区 | 91性高湖久久久久久久久_久久99 | 色噜噜色综合 | www.干| 9191av | 日本特黄a级高清免费大片 特黄色一级毛片 | 国产免费一区 | 久久久久久九九九九九九 | 91精品国产欧美一区二区成人 | 免费一区| 亚洲精品美女在线观看 | 久久美女网 | 日日噜噜夜夜爽爽狠狠 | 国产精品一区二区三区久久 | 欧美白人做受xxxx视频 | 天天久久 | 国产精品大片在线观看 | 成人在线视频网 | 日韩电影中文字幕 | 日本亚洲欧美 | 天天舔天天 | 日本精品一区二区三区在线观看视频 |