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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機鉑電阻溫度控制器仿真設計與源程序

[復制鏈接]
跳轉到指定樓層
#
基于單片機的鉑電阻溫度控制器,內含仿真電路及源程序



單片機源程序如下:
  1. #include<REG52.H> //插入52特殊功能寄存器頭文件
  2. //-----------------------------------------------------------
  3. unsigned char code dispbitcode[]=//定義顯示位控制驅動碼
  4.   {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
  5. //"0位","1位","2位","3位","4位","5位","6位","7位"
  6. //---------------------------------------------------------------------
  7. unsigned char code ledcode[]=//定義“0--9”十個數據的共陰極LED七段顯示碼
  8. {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
  9. //"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 黑屏
  10. //-------------------------------------------------------------------------
  11. unsigned char dispbuf[8]={10,10,10,10,10,10,0,0};//定義顯示緩沖區初值
  12. //-------------------------------------------------------------------------
  13. unsigned char dispcount;//顯示控制位變量
  14. unsigned int uiresult;//采集數據變量
  15. bit sflag;//符號標志位,為1時表示負值
  16. sbit START=P3^0;//定義ADC0809啟動控制位                                                          
  17. sbit OE=P3^1;//定義ADC0809輸出控制位
  18. sbit EOC=P3^2;//定義ADC0809轉換結束標志位
  19. sbit P17=P1^7;//小數點控制位
  20. //=========================================
  21. int delay1ms()//延時1ms函數
  22. {unsigned int j;
  23. for(j=0;j<333;j++)
  24. {;}
  25. return 1;
  26.           
  27. }
  28. //===================================================
  29. void display()//顯示處理函數
  30. {for(dispcount=0;dispcount<5;dispcount++)//顯示0-4位
  31.   {P2=0xff;//消影,關閉顯示
  32.   if(dispbuf[1]==0)//顯緩區1位是否為"0"
  33.       { dispbuf[1]=dispbuf[0];//是,顯緩區0位值賦給1位
  34.            dispbuf[0]=10;}//取黑屏碼
  35.    P1=ledcode[dispbuf[dispcount]];//取對應位顯示碼
  36.    if(dispcount==3)//判斷是否是小數點位
  37.        {P17=1;}//是,輸出小數點
  38.            P2=dispbitcode[dispcount];//取對應位顯示控制碼
  39.            delay1ms();//延時1ms
  40.            P2=0xff;//消影,關閉顯示
  41.   }
  42. }
  43. //====================================================
  44. void adc0809()//ADC0809數據采集處理函數
  45. {unsigned char i;
  46. unsigned long y;
  47. START=0;//啟動ADC0809,產生高電平脈沖啟動信號
  48. START=1;
  49. START=0;
  50. P0=0xff;//P0口設為輸入狀態
  51. EOC=1;//設EOC位為輸入狀態
  52. while(EOC==0);//沒有轉換完等待
  53. OE=1;//轉換完,選通ADC0809轉換數據輸出
  54. uiresult=P0;//讀ADC0809轉換結果
  55. OE=0;//關閉選通位
  56. y=uiresult;
  57. if(uiresult<118||uiresult>124)//數據是否小于118或大于124
  58. if(uiresult<129)//數據是否小于129
  59. {uiresult=y*19.25;//數據標度變換
  60.   if(uiresult<2557.14)//數據是否小于2557.14
  61.    {uiresult=2557.14-uiresult;sflag=1;}//是的,計算絕對溫度值,設置負號標志
  62.   else
  63.    {uiresult=uiresult-2557.14;sflag=0;}//否,計算絕對溫度值,設置正號標志
  64.   }
  65.   else
  66.   {uiresult=y*20;//數據標度變換
  67.    if(uiresult<2680)//數據是否小于2680
  68.    {uiresult=2680-uiresult;sflag=1;}//是的,計算絕對溫度值,設置負號標志
  69.    else
  70.    {uiresult=uiresult-2680;sflag=0;}//否,計算絕對溫度值,設置正號標志
  71.   }
  72.   else
  73.   {uiresult=y*16.667;//數據標度變換
  74.    if(uiresult<2267.708)//數據是否小于2267.708
  75.    {uiresult=2267.708-uiresult;sflag=1;}//是的,計算絕對溫度值,設置負號標志
  76.    else
  77.    {uiresult=uiresult-2267.708;sflag=0;}//否,計算絕對溫度值,設置正號標志
  78.   }
  79. i=4;
  80. dispbuf[1]=0;//取0
  81. dispbuf[2]=0;//取0
  82. dispbuf[3]=0;//取0
  83. dispbuf[4]=0;//取0
  84. if(sflag==1)//是負溫度標志嗎?
  85.   {dispbuf[0]=11;}//是,取"-"顯示碼
  86. else
  87.   {dispbuf[0]=10;}//否,取"黑屏"碼
  88. dispbuf[5]=10;//取"黑屏"碼
  89. dispbuf[6]=10;//取"黑屏"碼
  90. dispbuf[7]=10;//取"黑屏"碼
  91. while(uiresult/10)//(uiresult/10)大于0嗎
  92.   {dispbuf[i]=uiresult%10;//取低位數據送入對應的緩沖器
  93.    uiresult=uiresult/10;//數據除10,準備取次低位數
  94.    i--;//緩沖數據指針減1
  95.   }
  96.   dispbuf[i]=uiresult;//數據的最高有效位送入對應的緩沖器
  97. }
  98. //========================================================
  99. void main(void)
  100. {START=0;//關閉ADC0809啟動
  101. OE=0;//關閉ADC0809數據輸出
  102. uiresult=100;//設溫度參數初值
  103. while(1)
  104.   {display();//顯示處理函數
  105.    adc0809();//ADC0809數據采集處理函數
  106.   }
  107. }
復制代碼

所有資料51hei提供下載:
單片機課設.zip (25.3 KB, 下載次數: 64)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 福利视频一区 | 日韩av在线免费 | 久草网址 | 中国一级特黄真人毛片免费观看 | 国产永久免费 | 久久久久久久一区 | 久久r精品 | 999久久久 | 亚洲精品在线免费观看视频 | 国产精品亚洲精品 | 伊人久久伊人 | 日韩一级一区 | 国产精品国产精品国产专区不卡 | 嫩草懂你的影院入口 | 蜜桃传媒av| 国产色99 | 亚州中文字幕 | 日韩综合在线 | 亚洲精品久久久久国产 | 成人免费在线播放视频 | 九九热精品视频 | 欧美日韩国产精品一区 | 国产在线精品一区二区 | 91大片| 欧美午夜视频 | 国产伦精品一区二区三区视频金莲 | 在线成人av| 欧美精品久久久久久久久老牛影院 | 成人综合视频在线观看 | 午夜成人免费视频 | 国产精品亚洲综合 | 欧美激情啪啪 | 人人人人干 | 精品一二三区在线观看 | 亚洲精品乱码久久久久久蜜桃 | 在线观看av网站 | 欧美午夜一区 | 免费国产黄网站在线观看视频 | 一呦二呦三呦国产精品 | 国产精品一区二区在线免费观看 | 国产精品亚洲成在人线 |