女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么制作顯示溫度的時(shí)鐘

454398 ? 作者:工程師吳畏 ? 2018-09-18 10:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、。先發(fā)下制作完成的成品

手機(jī)拍的不是很清楚,但LCD上能看到顯示的時(shí)間和溫度值。

因?yàn)閲鴳c忙,還沒來加上設(shè)置按鍵和鬧鐘功能,后續(xù)一定補(bǔ)上!見諒!

二、開始制作了

材料清單:

1.萬能電路板一塊

2.ATmega16單片機(jī)一塊

3.40DIP插座一塊

4.1602LCD液晶顯示屏一塊

5.ds1820溫度傳感器一只

6.4.7K電阻一只

7.7.3728Mhz晶振一只

8.27P電容兩只

9.排插和排坐若干

10.USB下載線

以上材料淘寶都可以買到,大概40元左右。

三、我設(shè)計(jì)的原理圖

怎么制作顯示溫度的時(shí)鐘

怎么制作顯示溫度的時(shí)鐘

ds1820引腳圖(用TO-92封裝的)

LCD1602 引腳圖

四、按圖紙手工焊接,大家動(dòng)手能力這么強(qiáng),具體過程我就不寫了。

五、程序編寫(注:不懂得話可以直接跳過看下面的第六項(xiàng))

軟件使用ICCAVR軟件,網(wǎng)上搜下很容易下載。

下面是我寫的程序:

#include

#include

#include “delay.h”

#include “1602.h”

unsigned long int j=0;

unsigned int s,t,h;

unsigned char display[9]={0,0,0,0,0,0,0,0,0};//顯示數(shù)據(jù)

typedef unsigned char uint8;/* 定義可移植的無符號(hào)8位整數(shù)關(guān)鍵字 */

typedef signed char int8;/* 定義可移植的有符號(hào)8位整數(shù)關(guān)鍵字 */

typedef unsigned int uint16;/* 定義可移植的無符號(hào)16位整數(shù)關(guān)鍵字 */

typedef signed int int16;/* 定義可移植的有符號(hào)16位整數(shù)關(guān)鍵字 */

typedef unsigned long uint32;/* 定義可移植的無符號(hào)32位整數(shù)關(guān)鍵字 */

typedef signed long int32;/* 定義可移植的有符號(hào)32位整數(shù)關(guān)鍵字 */

extern unsigned char wmh,wml; //全局變量

extern unsigned char count,count1;

#define CLR_DIR_1WIRE DDRD&=~BIT(4) //只要修改這里的參數(shù)就可以了!呵呵!

#define SET_DIR_1WIRE DDRD|=BIT(4) //里面什么都不用該!

#define CLR_OP_1WIRE PORTD&=~BIT(4)

#define SET_OP_1WIRE PORTD|=BIT(4)

#define CHECK_IP_1WIRE (PIND & 0x10) //檢測(cè) pD4

void init_1820(void);

void write_1820(unsigned char x);

unsigned char read_1820(void);

/*************************************************

** 讀取溫度值

** 更改全局變量 wmh,wml; 溫度的高低位

*************************************************/

extern void gettemp(void);

unsigned char count,count1,flag; //flag溫度為負(fù)標(biāo)志,count為實(shí)際溫度

void init_1820(void)

{

SET_DIR_1WIRE; //設(shè)置PC2 為輸出

SET_OP_1WIRE;

CLR_OP_1WIRE;

delay_nus(480); //480us以上

SET_OP_1WIRE;

CLR_DIR_1WIRE;

delay_nus(20); //15~60us

while(CHECK_IP_1WIRE);

SET_DIR_1WIRE;

SET_OP_1WIRE;

delay_nus(140); //60~240us

}

void write_1820(unsigned char x)

{

unsigned char m;

for(m=0;m《8;m++)

{

CLR_OP_1WIRE;

if(x&(1《

SET_OP_1WIRE;

else

{CLR_OP_1WIRE;}

delay_nus(40); //15~60us

SET_OP_1WIRE;

}

SET_OP_1WIRE;

}

unsigned char read_1820(void)

{

unsigned char temp,k,n;

temp=0;

for(n=0;n《8;n++)

{

CLR_OP_1WIRE;

SET_OP_1WIRE;

CLR_DIR_1WIRE;

k=(CHECK_IP_1WIRE); //讀數(shù)據(jù),從低位開始

if(k)

temp|=(1《

else

temp&=~(1《

delay_nus(50); //60~120us

SET_DIR_1WIRE;

}

return (temp);

}

void gettemp(void) //讀取溫度值

{

unsigned char temh,teml,wm0,wm1,wm2,wm3;

init_1820(); //復(fù)位18b20

write_1820(0xcc); // 發(fā)出轉(zhuǎn)換命令

write_1820(0x44);

delay_nms(800); //不延時(shí)也好使,不知道怎么回事!

init_1820();

write_1820(0xcc); //發(fā)出讀命令

write_1820(0xbe);

teml=read_1820(); //讀數(shù)據(jù)

temh=read_1820();

wm0=teml》》4; //只要高8位的低四位和低8位的高四位,溫度范圍0~99啦!

wm1=temh《《4;

j=(temh*256+teml)*5; //計(jì)算具體溫度

display[1]=j/100%10+0x30;

display[2]=j/10%10+0x30;

display[3]=j%10+0x30;

LCD_write_char(5,1,display[1]);

LCD_write_char(6,1,display[2]);

LCD_write_char(7,1,‘。’);

LCD_write_char(8,1,display[3]);

LCD_write_char(9,1,‘C’);

}

//TIMER1 initialize - prescale:1024

// WGM: 0) Normal, TOP=0xFFFF

// desired value: 1Sec

// actual value: 1.000Sec (0.0%)

void timer1_init(void)

{

TCCR1B = 0x00; //stop

TCNT1H = 0xE3; //setup

TCNT1L = 0xE1;

OCR1AH = 0x1C;

OCR1AL = 0x1F;

OCR1BH = 0x1C;

OCR1BL = 0x1F;

ICR1H = 0x1C;

ICR1L = 0x1F;

TCCR1A = 0x00;

TCCR1B = 0x05; //start Timer

}

void init_devices(void)

{

//stop errant interrupts until set up

CLI(); //disable all interrupts

timer1_init();

MCUCR = 0x00;

GICR = 0x00;

TIMSK = 0x1C; //timer interrupt sources

SEI(); //re-enable interrupts

//all peripherals are now initialized

}

#pragma interrupt_handler timer1_ovf_isr:9

void timer1_ovf_isr(void)

{

//TIMER1 has overflowed

TCNT1H = 0xE3; //reload counter high value

TCNT1L = 0xE1; //reload counter low value

if(s++ == 59)

{s=0;

if(t++ == 59)

{t=0;

if(h++ == 24)

{h=1;

}

}

}

}

void dis(void)

{

display[4]=s/10+0x30;

display[5]=s%10+0x30;

display[6]=t/10+0x30;

display[7]=t%10+0x30;

display[8]=h/10+0x30;

display[9]=h%10+0x30;

LCD_write_char(10,0,display[5]);

LCD_write_char(9,0,display[4]);

LCD_write_char(8,0,‘:’);

LCD_write_char(7,0,display[7]);

LCD_write_char(6,0,display[6]);

LCD_write_char(5,0,‘:’);

LCD_write_char(4,0,display[9]);

LCD_write_char(3,0,display[8]);

delay_nms(50);

}

void main(void)

{h=24;

t=59;

s=55;

init_devices();

LCD_init();

delay_nms(50);

while(1)

{

gettemp();

dis();

delay_nms(500);

}

}

經(jīng)過ICCAVR編譯后生成的 hex 就是我們下載到單片機(jī)需要的文件。

六。下載 time.hex 到單片機(jī)

1.先下載 time.hex 文件

2.把USB下載線插在ISP接口上。

3.運(yùn)行 AVR_fighter 軟件(買USB下載線送的配套軟件)

按圖紅圈先選擇 ATMEGA16,再設(shè)置好熔絲位,最后點(diǎn)擊寫入。

4.

點(diǎn)擊 裝FLASH 按鈕選擇 time.hex 文件后,點(diǎn)擊 編程

幾秒后你就會(huì)看到液晶顯示出時(shí)間和溫度值,因?yàn)橐驗(yàn)閲鴳c忙,還沒來加上設(shè)置按鍵和鬧鐘功能,后續(xù)加下,見諒!

不過聰明的你一定看出來了,只要提前設(shè)定好 s,t,h(時(shí)、分、秒)編譯后下載,時(shí)鐘就能按你的要求工作了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650355
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1901

    瀏覽量

    133204
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    以VB程序顯示溫度傳感器制作

    以VB 程序顯示溫度傳感器制作這次專題主要利用溫度感測(cè)組件Pt102 與OP 轉(zhuǎn)換電路所完成的溫度感測(cè)裝置。此外,我們將
    發(fā)表于 11-20 16:25 ?104次下載

    制作液晶顯示溫度計(jì)的方法

    制作液晶顯示溫度計(jì)的方法 本文介紹一種用DSl8820測(cè)溫、用SMCl602A液晶來顯示的新型溫度計(jì)。該
    發(fā)表于 03-09 16:58 ?3709次閱讀
    <b class='flag-5'>制作</b>液晶<b class='flag-5'>顯示</b><b class='flag-5'>溫度</b>計(jì)的方法

    基于51單片機(jī)的時(shí)鐘+溫控系統(tǒng)的小制作

    該作品是基于51單片機(jī)的時(shí)鐘+溫控系統(tǒng)的小制作,能夠顯示時(shí)鐘溫度
    發(fā)表于 11-17 10:19 ?38次下載

    帶日歷時(shí)鐘溫度顯示的電子萬年歷

    溫度顯示日歷時(shí)鐘溫度顯示的電子萬年歷,帶電路圖+PCB+源程序
    發(fā)表于 12-07 14:35 ?87次下載

    基于單片機(jī)的彩屏模塊(1.8寸彩屏程序-1)溫度-時(shí)鐘綜合顯示

    基于單片機(jī)的彩屏模塊(1.8寸彩屏程序-1)溫度-時(shí)鐘綜合顯示【C語言】
    發(fā)表于 01-06 14:26 ?28次下載

    基于單片機(jī)的彩屏模塊(1.8寸彩屏程序-2)溫度-時(shí)鐘綜合顯示

    基于單片機(jī)的彩屏模塊(1.8寸彩屏程序-2)溫度-時(shí)鐘綜合顯示
    發(fā)表于 01-12 11:13 ?23次下載

    單片機(jī)數(shù)字時(shí)鐘溫度計(jì)鬧鐘計(jì)算器制作

    單片機(jī)數(shù)字時(shí)鐘溫度計(jì)鬧鐘 計(jì)算器制作,感興趣的小伙伴們可以看一看。
    發(fā)表于 09-12 16:55 ?0次下載

    DS1302時(shí)鐘電子表鬧鐘 旋轉(zhuǎn)LED顯示 創(chuàng)意時(shí)鐘DIY 溫度顯示報(bào)警設(shè)計(jì)

    DS1302時(shí)鐘電子表鬧鐘 旋轉(zhuǎn)LED顯示 創(chuàng)意時(shí)鐘DIY 溫度顯示報(bào)警
    發(fā)表于 01-12 16:48 ?45次下載

    如何制作一個(gè)多功能便攜時(shí)鐘

    在2012年世界末日的最后一個(gè)情人節(jié)里,給大家展示一款純手工打造的便攜時(shí)鐘,同樣也會(huì)像以前一樣配上詳細(xì)的制作過程。有時(shí)鐘溫度、秒表等功能。當(dāng)初制作
    的頭像 發(fā)表于 08-10 17:29 ?5939次閱讀
    如何<b class='flag-5'>制作</b>一個(gè)多功能便攜<b class='flag-5'>時(shí)鐘</b>?

    Arduino天氣時(shí)鐘制作教程

    在本文中,我們將制作Arduino天氣時(shí)鐘,它將告訴我們時(shí)間,日期和溫度。 LM35傳感器將為我們提供溫度,DS3231將告訴我們?nèi)掌诤蜁r(shí)間,我們將使用OLED
    的頭像 發(fā)表于 08-01 11:13 ?8826次閱讀

    如何制作一個(gè)帶有溫度和濕度顯示的木質(zhì)時(shí)鐘

    你差不多了完成了!您要做的就是將溫度濕度傳感器和墻壁熱粘合。以及前面大孔的顯示和側(cè)孔的充電端口!
    的頭像 發(fā)表于 08-23 16:33 ?4605次閱讀
    如何<b class='flag-5'>制作</b>一個(gè)帶有<b class='flag-5'>溫度</b>和濕度<b class='flag-5'>顯示</b>的木質(zhì)<b class='flag-5'>時(shí)鐘</b>

    基于51單片機(jī)1602溫度顯示時(shí)鐘

    基于51單片機(jī)1602帶溫度顯示的電子時(shí)鐘要在1602上顯示時(shí)間和溫度先要了解1602是如何工作的
    發(fā)表于 11-05 14:50 ?33次下載
    基于51單片機(jī)1602<b class='flag-5'>溫度</b><b class='flag-5'>顯示</b><b class='flag-5'>時(shí)鐘</b>

    RTX51tiny 復(fù)雜應(yīng)用---時(shí)鐘溫度顯示、按鍵解析

    RTX51tiny 復(fù)雜應(yīng)用---時(shí)鐘溫度顯示、按鍵解析
    發(fā)表于 11-21 13:06 ?26次下載
    RTX51tiny 復(fù)雜應(yīng)用---<b class='flag-5'>時(shí)鐘</b>、<b class='flag-5'>溫度</b><b class='flag-5'>顯示</b>、按鍵解析

    使用實(shí)時(shí)時(shí)鐘IC DS1307制作精確時(shí)鐘的方法

    如何使用實(shí)時(shí)時(shí)鐘 IC DS1307 制作準(zhǔn)確的時(shí)鐘。時(shí)間將顯示在液晶顯示屏上。
    的頭像 發(fā)表于 04-26 17:23 ?7303次閱讀
    使用實(shí)時(shí)<b class='flag-5'>時(shí)鐘</b>IC DS1307<b class='flag-5'>制作</b>精確<b class='flag-5'>時(shí)鐘</b>的方法

    基于51單片機(jī)時(shí)鐘溫度顯示設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)時(shí)鐘溫度顯示設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、proteus仿真圖。本資源適合人群
    發(fā)表于 06-25 10:17 ?0次下載