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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ds18b20溫度測量c51單片機程序 源代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:85764 發表于 2015-7-15 23:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

數碼管顯示部分的原理圖(開發板中只需要截圖顯示部分即可):http://www.zg4o1577.cn/f/51hei-5.pdf

電路:ds18b20接在p2.2  數碼管用8位共陰極數碼管,2個573鎖存 詳見上面的51hei單片機開發板的pdf圖,本人測試成了.


程序源代碼:

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit  wela=P2^7;
  5. sbit  dula=P2^6;
  6. sbit  DS=P2^2;
  7. uchar A;
  8. uint dian;
  9. uchar smg_change[6]={10,10,10,10,10,10};
  10. unsigned char code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
  11. unsigned char code weima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  12. void delay(unsigned int a)
  13. {
  14. while(a--);
  15. }
  16. void init_tempr()
  17. {
  18. uchar n;
  19. DS=1;
  20. delay(8);
  21. DS=0;
  22. delay(80);   //500us
  23. DS=1;
  24. delay(8);
  25. n=DS;
  26. delay(4);
  27. }
  28. void write_byte(uchar dat)
  29. {
  30. uchar i;
  31. for(i=0;i<8;i++)
  32. {
  33.   DS=0;
  34.   DS=dat&0x01;
  35.   delay(4);
  36.   DS=1;
  37.   dat>>=1;
  38. }
  39. delay(4);
  40. }
  41. uchar read_byte(void)
  42. {
  43. uchar i,value;
  44. for(i=0;i<8;i++)
  45. {
  46.   DS=0;
  47.   value>>=1;
  48.   DS=1;
  49.   if(DS)
  50.   value|=0x80;
  51.   delay(4);
  52. }
  53. return value;
  54. }
  55. uchar readtempr(void)
  56. {
  57.   uint temp, a,b;
  58.   init_tempr();
  59.   write_byte(0xcc);
  60.   write_byte(0x44);
  61.   delay(300);
  62.   init_tempr();
  63.   write_byte(0xcc);
  64.   write_byte(0xbe);
  65.   a=read_byte();
  66.   b=read_byte();
  67.   temp=b;
  68.   temp<<=4;            
  69.   temp+=(a&0xf0)>>4;
  70.   dian=(a&0x0f)*10*6/10;
  71.   return temp;
  72. }
  73. void display()
  74. {
  75.    uchar i;
  76.    for(i=0;i<6;i++)
  77.    {
  78.      P0=0X00;
  79.   dula=1;
  80.   dula=0;
  81.   P0=weima[i];
  82.   wela=1;
  83.   wela=0;
  84.   P0=duanma[smg_change[i]];
  85.   dula=1;
  86.   dula=0;
  87.   delay(200);
  88.    }
  89.       P0=weima[1];
  90.   wela=1;
  91.   wela=0;
  92.   P0=duanma[smg_change[1]]|0x80;
  93.   dula=1;
  94.   dula=0;
  95.   delay(200);
  96.   P0=0X00;
  97.   dula=1;
  98.   dula=0;
  99. }
  100. void dis_deal()
  101. {
  102. smg_change[0]=A/10;
  103. smg_change[1]= A%10;
  104. smg_change[2]=dian/10 ;
  105. smg_change[3]=dian%10 ;
  106. }
  107. void main()
  108. {
  109. while(1)
  110. {  
  111.   A=readtempr();
  112.      dis_deal();
  113.   display();
  114. }
  115. }
復制代碼




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

使用道具 舉報

沙發
ID:443912 發表于 2018-12-11 11:09 | 只看該作者
你好,為什么我這只顯示了兩個8啊。根本沒有變化
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本视频免费 | 激情一区二区三区 | 国外成人在线视频 | 色伊人| 日日爱视频 | 午夜影院在线观看 | 日韩av一区二区在线观看 | 中文字幕 亚洲一区 | 91porn在线 | 大学生a级毛片免费视频 | 国产98色在线 | 日韩 | 成人av鲁丝片一区二区小说 | 中文字幕一级毛片视频 | 黄片毛片 | 亚洲精品一区av在线播放 | 久久国产99 | 久久精品欧美一区二区三区不卡 | 97久久精品 | 在线日韩精品视频 | 蜜桃视频一区二区三区 | 福利视频一区二区 | 99av成人精品国语自产拍 | 欧美一级大片 | 欧美综合一区二区 | 日韩在线一区二区 | 一级a性色生活片久久毛片 一级特黄a大片 | 国产99热| 成人av播放| 国产1区2区在线观看 | 伊人爽| 久久人爽爽人爽爽 | 影音先锋亚洲资源 | 日日夜夜精品视频 | 高清亚洲 | 中文字幕一区二区三区四区 | 精品一区二区三区免费视频 | 国产伦精品 | 综合久久一区 | 91久久精品国产免费一区 | 日韩精品一二三 | 自拍视频一区二区三区 |