娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月12日(星期日)

2018年01月12日 | 51單片機+18B20顯示程序+74HC164擴展顯示數碼管

發布者:數據夢想 來源: eefocus關鍵字:51單片機  18B20  74HC164  數碼管 手機看文章 掃描二維碼
隨時隨地手機看文章

51 單片機 +18B20顯示程序+74HC164擴展顯示數碼管

#include
#include "intrins.h"             //_nop_();延時函數
#define  uchar unsigned char

#define  uint  unsigned int


//================18b20數據口定義===============
uint  temp;                     // 定義一個16位變量用于COPY數據 
sbit  DQ = P2^6; 
char flash,presence;
uint temp1,temp2;               //讀出溫度暫放
uchar s1,s2,s3,s4;              //顯示單元數據,共6個數據和一個運算暫用
//=======164端口定義==========
sbit ge=P2^5;    //個位
sbit shi=P2^4;   //十位
sbit bai=P2^3;   //百位
sbit qian=P2^2;  //千位
sbit clk=P2^1;   //164時鐘線
sbit data1=P2^0; //164數據線
sbit a0=ACC^0;   //累加器

uchar code LED[10]={        //不帶小數點的代碼表
0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,};
uchar code led1[10]={       //帶小數點的代碼表
0x40,0x79,0x24,0x30,0x19,
0x12,0x2,0x78,0x0,0x10,};
//======164數據轉換程序=======
void chuanshu164(uchar data_buf)
{
  uchar i;
  ACC=data_buf;      //數據送累加器
  for(i=8;i>0;i--)
  {
  clk=0;
      data1=a0;
      clk=1;
      ACC=ACC>>1;
  }
      clk=0;
}

/*****************延時函數*************************/
void delay(uint t)
{
  for (;t>0;t--);
  _nop_();
}
//========顯示4位數碼管函數===========
void xianshi(uint shu)
{
    uchar ss;
    for(ss=10;ss>0;ss--)
     {
     uint wei1,wei2,wei3,wei4;
     wei1=shu/1000;            //將千位分離
     wei2=shu%1000/100;        //將百位分離
     wei3=shu%100/10;          //將十位分離
     wei4=shu%10;              //將個位分離
 
     chuanshu164(led[wei1]);   //顯示第一位數碼管
     qian=0;
     delay(200);
     qian=1;
   chuanshu164(led[wei2]);   //顯示第二位數碼管
     bai=0;
     delay(200);
     bai=1;
 
     chuanshu164(led1[wei3]);   //顯示第三位數碼管
     shi=0;
     delay(200);
     shi=1;
     chuanshu164(led[wei4]);   //顯示第四位數碼管
     ge=0;
     delay(200);
     ge=1;
     //}
     }
    
    
}
//=================18b20相關函數開始==============
/****************DS18B20復位函數************************/
ow_reset(void)
{
char presence=1;
 while(presence)
 {
   while(presence)
    {
  DQ=1;_nop_();_nop_();      //從高拉倒低
  DQ=0;                                       
  delay(550);                //550 us
  DQ=1;                                        
  delay(66);                 //66 us
  presence=DQ;               //presence=0 復位成功,繼續下一步
    } 
 delay(500);                   //延時500 us
 presence=~DQ;         
 }
DQ=1;                            //拉高電平
}

/****************DS18B20寫命令函數************************/
void write_byte(uchar val)               //向1-WIRE 總線上寫1個字節

  uchar i;
  for(i=8;i>0;i--)
  {
   DQ=1;_nop_();_nop_();                  //從高拉倒低
   DQ=0;_nop_();_nop_();_nop_();_nop_();  //5 us
   DQ=val&0x01;                           //最低位移出
   delay(66);                              //66 us
   val=val/2;                             //右移1位
   }
   DQ=1;
   delay(10);
}
//
/****************DS18B20讀1字節函數************************/
uchar read_byte(void)  //從總線上取1個字節
{
uchar i;
uchar value=0;
for(i=8;i>0;i--)
{
  DQ=1;_nop_();_nop_();
  value>>=1;
  DQ=0;_nop_();_nop_();_nop_();_nop_();         //4 us
  DQ=1;_nop_();_nop_();_nop_();_nop_();         //4 us
  if(DQ)value|=0x80;
  delay(66);                                    //66 us
}
DQ=1;
return(value);
}

/****************讀出溫度函數************************/
read_temp()
{
  ow_reset();                           //總線復位 
  write_byte(0xcc);                     //發命令
  write_byte(0x44);                     //發轉換命令
  ow_reset(); 
  delay(1);
  write_byte(0xcc);                     //發命令
  write_byte(0xbe);
  temp1=read_byte();                    //讀溫度值的低字節
  temp2=read_byte();                    //讀溫度值的高字節
  temp=(temp2*256+temp1)*0.625;
  
  return temp;                          //返回溫度值
}

//=================18b20相關函數結束==============

//=================主函數=========================
void main(void)

   
   ow_reset();              //開機先轉換一次
   write_byte(0xcc);        //Skip ROM
   write_byte(0x44);        //發轉換命令

   
   while(1)
   {
   xianshi(read_temp());
   //xianshi(read_temp()); 
   //xianshi(read_temp());

   //delay(500);
     
    }
}


關鍵字:51單片機  18B20  74HC164  數碼管 引用地址:51單片機+18B20顯示程序+74HC164擴展顯示數碼管

上一篇:89c51六首歌曲的音樂門鈴程序
下一篇:讀內部R/C時鐘及ID號C語言參考程序

推薦閱讀

2018年1月8日,拉斯維加斯——今日,Qualcomm Incorporated(NASDAQ: QCOM)子公司Qualcomm Technologies International, Ltd.在2018年國際消費電子展(CES? 2018)上宣布,其高清藍牙(Bluetooth?)無線音頻編解碼器Qualcomm? aptX? HD現已應用于超過60款產品,這意味著在我們的技術支持下,消費者和音樂發燒友已擁有比以往更多獲取與享受優...
不久前,嫦娥四號與玉兔二號順利完成兩器互拍。而就在11日早上8時,嫦娥四號著陸器還發回了全球首張月球地形地貌360度環拍照片。其實,在傳回照片的前一天,玉兔二號還調皮的發了一條朋友圈,稱“今天,我有點想家。”,隨后,便向“家里”發送了一張“旅行照”。據了解,在嫦娥四號著陸器、玉兔二號巡視器和“鵲橋”中繼星狀態穩定的情況下,著陸器上配置...
LIN mater的51單片機代碼/**************master*****************/#include <REGX52.H>#include <intrins.h>sbit p31=P3^1;sbit k1=P1^0;sbit k2=P1^1; sbit p20=P2^0;unsigned char t;unsigned char sendflag, flag;void delay(unsigned int i){ while(i--);}void send(){ ...
設計工程師可以利用硬件模塊和軟件服務將Alexa語音服務(AVS)集成到智能家居,汽車和可穿戴設備中。它將基于云的Alexa體驗帶入了從便攜式揚聲器到智能設備再到車載信息娛樂的產品。開發人員可以將Alexa集成到其基于語音的產品中,并編寫配套的應用程序以將產品轉換為連接的產品。自亞馬遜于2014年將原始的Alexa設備推向市場以來,亞馬遜網絡服務(AWS)以...

史海拾趣

問答坊 | AI 解惑

Motorola 廉價單片機原理及應用

書名:MOTOROLA J, K系列廉價單片機原理及應用 作者:余永權/林偉 出版社:北京航空航天大學出版社 頁數:217 出版日期:1998-12-1 簡介:單片機在工業控制、汽車、儀器、家用電器、玩具、計算機外部設備、航空航天、交通運輸、通信等領域都有廣泛的 ...…

查看全部問答∨

關于“U1050: Required macro SOURCES=。。。”的錯誤

具體情況如下,我在顯示驅動代碼實現中調用背光驅動,顯示驅動代碼中導入了背光驅動的LIB文件,后面具體調用過程省略。 #include "VGAoutpch.h" #include "CH702X.h" #include "bsp_backlight.h" #pragma comment(lib,"backlight ...…

查看全部問答∨

在WINCE里,怎么簡單地接受 輸入的信息呢

就像cin,getchar這種,有什么好的簡單的方法嗎?…

查看全部問答∨

如何用C/C++程序實現撥通 sim300實驗板

小弟剛找到份工作 接到一個任務 BOSS給了塊SIM300實驗板 讓我看AT命令 還讓我用C程序實現撥通這個實驗板 其實我還不是很明白我要做什么 又該是如何實現呢 望大蝦不惜賜教~…

查看全部問答∨

求GPS有源天線的電路原理圖。

對LNA一竅不通,現在需要突擊做一個400MHZ~800MHZ的低噪放。求哪位大俠有GPS的有源模塊給點電路參考一下。…

查看全部問答∨

我在網上的第一次銷售

本帖最后由 ddllxxrr 于 2016-1-7 17:12 編輯 本站強薦:185娛樂x城.足球x真_人.彩票齊全x手機可投x注任何游戲. 首次開戶送10元.首存送58元.信譽絕對保證185.cc …

查看全部問答∨

求助!關于STM32串口調試的問題!

硬件狀況:開發板一塊,自制板卡一塊 調試情況說明:串口配置如下:   USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;   USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;   USART_ ...…

查看全部問答∨

一些國賽的小資料,不知道重復沒

本帖最后由 paulhyde 于 2014-9-15 03:20 編輯 一些國賽的小資料,不知道重復沒    …

查看全部問答∨

為什么不能實現端口中斷觸發定時器開啟啊啊啊啊啊啊????

#include <msp430g2231.h> unsigned int a=0,p=1; void delay(int x) {   int i,j;   for(i=0;i<=x;i++)       for(j=0;j<=x;j++); } void initial() {       &nb ...…

查看全部問答∨

MSP430程序庫<四>printf和scanf函數移植

printf 和scanf函數是C語言中最常用的輸入出函數,從學習C語言開始,就開始使用這兩個函數,然而當寫用C語言寫單片機程序時卻不能使用這兩個函數,總覺得單片機的C語言和一般的C語言差別很大,寫起來不大方便;其實,單片機的C語言也是標準C語言上 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 武功县| 南宫市| 铜鼓县| 铁力市| 贵港市| 凉城县| 马龙县| 门源| 大埔县| 昆明市| 偏关县| 红原县| 峨眉山市| 隆子县| 敦煌市| 甘孜| 兰州市| 循化| 安化县| 寿光市| 濮阳县| 松溪县| 长汀县| 兴海县| 威远县| 定陶县| 长春市| 板桥市| 合川市| 太湖县| 西藏| 仁布县| 莆田市| 高清| 云安县| 石城县| 兴海县| 乾安县| 白水县| 平陆县| 道孚县|