找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10181|回復(fù): 1
收起左側(cè)

基于51單片機火焰?zhèn)鞲衅髂K源碼與資料

[復(fù)制鏈接]
ID:310327 發(fā)表于 2018-4-17 19:39 | 顯示全部樓層 |閱讀模式
根據(jù)導(dǎo)師分部的制作一個嵌入式系統(tǒng)的對于壓力的實時控制與測量,自己先做了個基于51單片機傳感器的實現(xiàn)。包含模擬電路圖和代碼,請大家多多指教。

電路原理圖如下:
0.jpg

單片機源程序如下:
  1.   /******************************************
  2. 傳感器觸發(fā)測試
  3. 單片機:STC89C52
  4. 波特率:9600
  5. *****************************************/
  6. #include <reg52.h>
  7. unsigned char date;
  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. sbit key1=P0^1;


  11. /* 函數(shù)申明 -----------------------------------------------*/
  12. void delay(uint z);
  13. void Initial_com(void);


  14. /*
  15. ********************************************************************************
  16. ** 函數(shù)名稱 : delay(uint z)
  17. ** 函數(shù)功能 : 延時函數(shù)
  18. ********************************************************************************
  19. */
  20. void delay(uint z)
  21. {                                                                                                                                                                                          
  22.     uint i,j;
  23.     for(i=z;i>0;i--)
  24.         for(j=110;j>0;j--);
  25. }


  26. //******************************

  27. //*****串口初始化函數(shù)***********

  28. //******************************
  29. void Initial_com(void)
  30. {
  31. EA=1;        //開總中斷
  32. ES=1;        //允許串口中斷
  33. ET1=1;        //允許定時器T1的中斷
  34. TMOD=0x20;   //定時器T1,在方式2中斷產(chǎn)生波特率
  35. PCON=0x00;   //SMOD=0
  36. SCON=0x50;   // 方式1 由定時器控制
  37. TH1=0xfd;    //波特率設(shè)置為9600
  38. TL1=0xfd;
  39. TR1=1;       //開定時器T1運行控制位

  40. }




  41. //*************************
  42. //**********主函數(shù)*********
  43. //*************************
  44. void main()
  45. {
  46.          Initial_com();
  47.          while(1)
  48.          {
  49.        
  50.                   if(key1==0)
  51.                 {
  52.                         delay(100);          //消抖動
  53.                         if(key1==0)          //確認觸發(fā)
  54.                         {
  55.                                  SBUF=0X01;
  56.                                  delay(200);
  57.                                
  58.                        
  59.                         }
  60.           
  61.                 }
  62.                  
  63.                   if(RI)
  64.                   {
  65.                         date=SBUF;    //單片機接受
  66.                         SBUF=date;    //單片機發(fā)送
  67.                         RI=0;
  68.                   }
  69.                
  70.                
  71.           }
  72. }
復(fù)制代碼

所有資料51hei提供下載:
基于51單片機火焰?zhèn)鞲衅髂K源碼與資料.rar (42.95 KB, 下載次數(shù): 145)


回復(fù)

使用道具 舉報

ID:718222 發(fā)表于 2020-4-14 12:02 | 顯示全部樓層
你這個date=SBUF;SBUF=date;是什么意思?是要發(fā)到哪?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表