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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

藍牙接受單片機的煙霧溫度數據信息,這是一個主程序,求注釋

[復制鏈接]
跳轉到指定樓層
樓主
ID:536181 發表于 2019-5-12 15:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序如下,部分沒注釋,哥哥們能幫我注釋一下嗎
  1. #include <reg52.h>                 //頭文件
  2. #include <LCD1602.h>         //頭文件
  3. #include "DS18B20.h"         //頭文件
  4. #include <ADC0832.H>        //頭文件
  5. #define uint unsigned int        //宏定義
  6. #define uchar unsigned char        //宏定義
  7.                  
  8. sbit key1=P3^2;                    //按鍵定義
  9. sbit key2=P3^3;                  //按鍵定義
  10. sbit key3=P3^4;                  //按鍵定義
  11. sbit key4=P3^5;                  //按鍵定義
  12. sbit beer=P2^4;                         //蜂鳴器定義
  13. sbit ledbai=P2^1;                   //LED定義
  14. sbit hong=P2^0;                  //LED定義

  15. char data  Tim[16]="T:00.0C  Y:00000";//顯示數組
  16. char data  Tes[16]="TH:30C  YH:03000";//顯示數組
  17. int tmp,th=30,yh=3000;                           //變量定義
  18. int tk;                                                           //變量定義
  19. long  yw;                                                   //變量定義

  20. /***********************************************************
  21. 函數名稱:Print_Char
  22. 函數功能:發送單個字符     
  23.           入口參數:ch      出口參數:無
  24. ***********************************************************/
  25. void Print_Char(uchar ch)//發送單個字符
  26. {
  27.         SBUF=ch; //送入緩沖區
  28.         while(TI!=1); //等待發送完畢
  29.         TI=0; //軟件清零
  30. }

  31.             
  32. /***********************************************************
  33. 函數名稱:Print_Str
  34. 函數功能:發送字符串     
  35.           入口參數:*str    出口參數:無
  36. ***********************************************************/
  37. void Print_Str()//發送字符串
  38. {
  39.         uchar i;
  40.         for(i=0;i<16;i++)                        //發送第1組數據
  41.         {
  42.                 Print_Char(Tim[i]);
  43.         }
  44.         Print_Char(' ');
  45.         Print_Char(' ');
  46.         for(i=0;i<16;i++)                        //發送第1組數據
  47.         {
  48.                 Print_Char(Tes[i]);
  49.         }
  50. }            


  51. /***********************************************************
  52. 函數名稱:Ini_UART
  53. 函數功能:串口初始化、定時器初始化     
  54.           入口參數:無     出口參數:無
  55. ***********************************************************/
  56. void Ini_UART(void)//串口初始化、定時器初始化
  57. {
  58.     TMOD = 0x20;
  59.     SCON = 0x50;
  60.     TH1 = 0xFD;
  61.     TL1 = TH1;
  62.     PCON = 0x00;
  63.     TR1 = 1;
  64.         EA = 1;
  65.     ES = 1;
  66. }
  67. void caiji()   //采集數據子函數
  68. {
  69.         tmp=ReadTemperature()/10;
  70.         tk=Adc0832(0);
  71.         yw=10000-970.0*(160-tk)/13.0;//讀AD轉換結果                           
  72.         if(yw>10000)yw=10000;
  73.         else if(yw<300)yw=300;
  74. }

  75. void delay_ms(uint ms)// 延時子函數
  76. {
  77.         while(ms--)
  78.         {        
  79.             unsigned char a,b;
  80.             for(b=4;b>0;b--)
  81.             for(a=113;a>0;a--);
  82.         }
  83. }


  84. void keyscan()                 //按鍵掃描函數
  85. {
  86. //-----------------------------key1----------------------------               
  87.         if(key1==0)  
  88.         {
  89.                  th++;
  90.                  if(th>99)th=99;
  91.         }
  92. //-----------------------------key2----------------------------               
  93.         if(key2==0)
  94.         {
  95.                  th--;
  96.                  if(th<0)th=0;
  97.         }

  98. //-----------------------------key3----------------------------               
  99.         if(key3==0)  
  100.         {
  101.                  yh++;
  102.                  if(yh>9999)yh=9999;                 
  103.         }

  104. //-----------------------------key4----------------------------               
  105.         if(key4==0)  
  106.         {
  107.                  yh--;
  108.                  if(yh<0)yh=0;
  109.         }
  110. }

  111. void display()                 //顯示函數
  112. {
  113.         
  114.          Tim[2]=tmp/100+'0';                 //顯示處理
  115.          Tim[3]=tmp%100/10+'0';
  116.          Tim[5]=tmp%10+'0';

  117.          Tim[11]=yw/10000+'0';                 //顯示處理
  118.          Tim[12]=yw%10000/1000+'0';
  119.          Tim[13]=yw%1000/100+'0';
  120.          Tim[14]=yw%100/10+'0';
  121.          Tim[15]=yw%10+'0';


  122.          Tes[3]=th/10+'0';                   //顯示處理
  123.          Tes[4]=th%10+'0';
  124.                                                                  //顯示處理
  125.          Tes[11]=yh/10000+'0';
  126.          Tes[12]=yh%10000/1000+'0';
  127.          Tes[13]=yh%1000/100+'0';
  128.          Tes[14]=yh%100/10+'0';
  129.          Tes[15]=yh%10+'0';

  130.          ShowString(0,Tim);                     //顯示第0行
  131.      ShowString(1,Tes);                     //顯示第1行
  132. }

  133. void jiance()                                           //檢測報警子函數
  134. {
  135.          if(tmp/10>th||yw>yh)
  136.          {
  137.                     hong=0;
  138.                   beer=0;
  139.                 //  GSM_TEXT_SMS();
  140.                   delay_ms(2000);                  
  141.          }
  142.          else {beer=1;hong=1;}
  143. }

  144. /***********************************************************
  145. 函數名稱:main
  146. 函數功能:主函數
  147. ***********************************************************/
  148. uchar res;
  149. void UARTInterrupt(void) interrupt 4
  150. {
  151.     if(RI)
  152.     {
  153.         RI = 0;
  154.         res=SBUF;
  155.     }
  156.     else
  157.         TI = 0;
  158. }


  159. void main()
  160. {
  161.         char hh;
  162.         tk=Adc0832(0);
  163.         yw=10000-970.0*(160-tk)/11.0;//讀AD轉換結果         
  164.         tmp=ReadTemperature()/10; tmp=ReadTemperature()/10; tmp=ReadTemperature()/10; tmp=ReadTemperature()/10;
  165.         Ini_UART();
  166.         InitLcd();
  167.         tmp=ReadTemperature()/10; tmp=ReadTemperature()/10; tmp=ReadTemperature()/10; tmp=ReadTemperature()/10;
  168.         tk=Adc0832(0);
  169.         delay_ms(1000);
  170. //        Print_Str();
  171.         yw=10000-970.0*(160-tk)/11.0;//讀AD轉換結果         
  172.         yw=10;
  173.         tmp=10;
  174.         while(1)
  175.         {                  
  176.                  caiji();                         //采集數據子函數
  177.                  display();                         //顯示子函數
  178.                  jiance();                         //檢測報警據子函數
  179.                  keyscan();                         //按鍵掃描子函數
  180.                  hh++;if(hh>5){hh=0;EA=0;Print_Str();EA=1;}
  181.                  if(res=='0')ledbai=0;
  182.                  else  if(res=='1')ledbai=1;
復制代碼

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

使用道具 舉報

沙發
ID:314784 發表于 2020-1-4 10:23 | 只看該作者
代碼不全吧
回復

使用道具 舉報

板凳
ID:481073 發表于 2020-1-4 16:18 | 只看該作者
寫的人是覺得這個沒必要注釋,因為這個是主函數部分,不是溫度傳感器,藍牙的配置過程,都是一些調用,沒必要注釋,你哪個地方沒看懂指出來說就行,我們也不知道你問啥。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情五月综合 | 日日夜夜操天天干 | hitomi一区二区三区精品 | 国产伦精品一区二区 | 天堂一区二区三区四区 | www.久久久久久久久久久久 | 性欧美精品一区二区三区在线播放 | 天堂亚洲 | 欧美综合一区 | 久久久久久国产精品免费 | 欧美一级大片 | 最新日韩在线 | 日韩av电影院 | 国产99久久精品一区二区永久免费 | 激情六月天| 国产日韩欧美一区二区在线播放 | 久久精品欧美视频 | 国产免费一区二区三区最新6 | 精品日韩欧美一区二区 | 7777奇米影视 | 日本精品在线一区 | 在线一区二区三区 | 婷婷五月色综合香五月 | 久久久久一区二区三区 | 伊人网在线综合 | 亚洲精品电影网在线观看 | 国产精品国产a级 | 成人一区二区三区 | 99热在线免费 | 欧产日产国产精品视频 | www.色53色.com | 久久亚洲一区 | 在线一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 欧美一区二区三区在线观看视频 | 久久久福利| 欧美日韩精选 | 国产精品免费在线 | 久久一区| 久久久久久久久久爱 | 日韩一级电影免费观看 |