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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC89C52單片機(jī)溫控繼電器代碼

[復(fù)制鏈接]
ID:145511 發(fā)表于 2018-10-23 21:27 | 顯示全部樓層 |閱讀模式
打開實(shí)驗(yàn)板上的蜂鳴,響0.3秒,然后關(guān)閉0.3秒,然后依次這樣循環(huán),
同時(shí)在實(shí)驗(yàn)板上繼電器旁邊的發(fā)光二極管也會(huì)跟隨繼電器不停地閃爍

單片機(jī)源程序如下:
  1. /***************************************************************************
  2. 標(biāo)題:        溫控繼電器實(shí)驗(yàn)
  3. 實(shí)驗(yàn)板:LY5A-L2A開發(fā)板
  4. 作者:        林洋電子-單片機(jī)
  5. 說明:        溫度低于下線值啟動(dòng)繼電器,達(dá)到上線值關(guān)閉繼電器,注意:使用12M晶振下調(diào)試
  6. ******************************************************************************/

  7. //頭文件:
  8. #include <reg52.h>
  9. #include "ds18b20.h"        //引入DS18B20頭文件

  10. //引腳定義:               
  11. sbit JDQ=P1^4;                //繼電器控制
  12. sbit SMG_q = P1^0;        //定義數(shù)碼管陽級(jí)控制腳(千位)
  13. sbit SMG_b = P1^1;        //定義數(shù)碼管陽級(jí)控制腳(百位)
  14. sbit SMG_s = P1^2;        //定義數(shù)碼管陽級(jí)控制腳(十位)
  15. sbit SMG_g = P1^3;        //定義數(shù)碼管陽級(jí)控制腳(個(gè)位)

  16. //變量定義:
  17. unsigned char ly_dis[4];//定義顯示緩沖區(qū)
  18. unsigned char DSU=32;        //上線溫度
  19. unsigned char DSD=30;        //下線溫度
  20. code unsigned char table[]=
  21.                         {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  22.                                         //表:共陽數(shù)碼管 0-9
  23. unsigned char l_posit=0;        //顯示位置

  24. //函數(shù)聲明:
  25. void display(void);//顯示函數(shù),顯示緩沖區(qū)內(nèi)容
  26. void delay(void);

  27. //主函數(shù),C語言的入口函數(shù):       
  28. void main()
  29. {       
  30.         unsigned int i=0;
  31.         float tt;
  32.         int ltemp;
  33.         while(1){
  34.                 if(i==0)
  35.                         tmpchange();              //溫度轉(zhuǎn)換
  36.                 if(i==100){
  37.                         tt=tmp()*0.0625;          //得到真實(shí)十進(jìn)制溫度值,因?yàn)镈S18B20
  38.                                                                 //可以精確到0.0625度,所以讀回?cái)?shù)據(jù)的最低位代表的是0.0625度。
  39.                         if(tt<=DSD)                //低于下線溫度啟動(dòng)繼電器
  40.                                 JDQ=0;               
  41.                         if(tt>=DSU)                //達(dá)到上線溫度關(guān)閉繼電器
  42.                                 JDQ=1;

  43.                           ltemp=tt*10+0.5;           //放大十倍,這樣做的目的將小數(shù)點(diǎn)后第一位也轉(zhuǎn)換為可顯示數(shù)字,同時(shí)進(jìn)行一個(gè)四舍五入操作。
  44.                         if(ltemp<0){                //判斷第一位顯示整數(shù)還是負(fù)號(hào)
  45.                                 ly_dis[0]=0xbf;
  46.                                 ltemp=0-ltemp;       
  47.                         }
  48.                         else
  49.                                 ly_dis[0]=ltemp/1000;//顯示百位值
  50.                         ltemp=ltemp%1000;
  51.                         ly_dis[1]=ltemp/100;        //顯示溫度十位值
  52.                         ltemp=ltemp%100;
  53.                         ly_dis[2]=ltemp/10;                //顯示溫度個(gè)位值
  54.                         ly_dis[3]=ltemp%10;                //顯示小數(shù)點(diǎn)后一位
  55.                 }
  56.                 i++;
  57.                 if(i==3000)
  58.                         i=0;
  59.                 display();        //調(diào)用顯示       
  60.                 delay();       
  61.         }
  62. }

  63. //顯示函數(shù),參數(shù)為顯示內(nèi)容
  64. void display()
  65. {
  66.         P0=0XFF;                        //       
  67.         switch(l_posit){
  68.         case 0:                //選擇千位數(shù)碼管,關(guān)閉其它位
  69.                 SMG_q=0;
  70.                 SMG_b=1;       
  71.                 SMG_s=1;               
  72.                 SMG_g=1;
  73.                 P0=table[ly_dis[0]];        //輸出顯示內(nèi)容
  74.                 break;
  75.         case 1:                //選擇百位數(shù)碼管,關(guān)閉其它位
  76.                 SMG_q=1;
  77.                 SMG_b=0;       
  78.                 SMG_s=1;               
  79.                 SMG_g=1;
  80.                 P0=table[ly_dis[1]];
  81.                 break;
  82.         case 2:                //選擇十位數(shù)碼管,關(guān)閉其它位
  83.                 SMG_q=1;
  84.                 SMG_b=1;       
  85.                 SMG_s=0;               
  86.                 SMG_g=1;
  87.                 P0=table[ly_dis[2]]&0x7f;
  88.                 break;
  89.         case 3:                //選擇個(gè)位數(shù)碼管,關(guān)閉其它位
  90.                 SMG_q=1;
  91.                 SMG_b=1;       
  92.                 SMG_s=1;               
  93.                 SMG_g=0;
  94.                 P0=table[ly_dis[3]];
  95.                 break;
  96.         }
  97.         l_posit++;                //每調(diào)用一次將輪流顯示一位
  98.         if(l_posit>3)
  99.                 l_posit=0;       
  100. }

  101. //延時(shí)子函數(shù),短暫延時(shí)
  102. void delay(void){               
  103.         unsigned char i=10;
  104.         while(i--);
  105. }
復(fù)制代碼

所有資料51hei提供下載:
溫控繼電器.rar (43.53 KB, 下載次數(shù): 29)


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-10-24 01:02 | 顯示全部樓層
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

ID:108622 發(fā)表于 2018-11-4 18:11 | 顯示全部樓層
能發(fā)個(gè)電路圖給我嗎
回復(fù)

使用道具 舉報(bào)

ID:442459 發(fā)表于 2018-12-8 23:47 | 顯示全部樓層
這個(gè)程序?qū)懙恼娴暮脜柡?/td>
回復(fù)

使用道具 舉報(bào)

ID:519766 發(fā)表于 2019-4-23 17:19 | 顯示全部樓層
請問,有人知道控制 型號(hào)是CM1106的紅外二氧化碳傳感器模塊 的c語言代碼嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 超碰免费在 | 国产精品一区二区三区在线 | 亚洲精品在线免费 | 久久电影一区 | 99热在线免费 | 亚洲视频欧美视频 | 中文字幕第一页在线 | 亚洲免费成人 | av一区二区三区四区 | 亚洲国产成人av好男人在线观看 | 九九热这里 | 久久久久久久久久久久久久久久久久久久 | 黄色一级特级片 | www国产精品| 久久精品久久久久久 | 久久免费精品 | 91在线免费观看 | a国产一区二区免费入口 | 天堂久久天堂综合色 | 一区二区精品电影 | 99精品视频一区二区三区 | 精品国产乱码久久久久久丨区2区 | 精品99久久 | 超碰在线免费 | 久久毛片| 欧美性吧 | 久久99精品国产 | 日本天堂视频在线观看 | 国产精品完整版 | 国产精品美女久久久久aⅴ国产馆 | 黄色亚洲网站 | 看一级黄色毛片 | 91精品国产综合久久久久久丝袜 | 亚洲免费在线播放 | 久久精品欧美一区二区三区不卡 | 一区二区三区四区在线视频 | av资源中文在线 | 狠狠av| 妖精视频一区二区三区 | 国产精品伦一区二区三级视频 | 在线亚洲电影 |