久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STC15W4K單片機溫控顯示項目設計實戰:數字溫度計
[打印本頁]
作者:
jidohgr
時間:
2017-7-22 18:41
標題:
STC15W4K單片機溫控顯示項目設計實戰:數字溫度計
這張帖子是基于STC15W4K系列的溫控顯示設計;
采用lcd1602顯示和ds18b20溫控裝置的實用設計;
如果對您有幫助,很感謝您的黑幣;
0.png
(583.63 KB, 下載次數: 89)
下載附件
2017-7-22 23:04 上傳
數字溫度計實驗步驟:
1、按照正確接線方式將DS18B20芯片插到J13三芯單排母端子上,J13端口定義在開發板背面VDD/P36/GND/GND;
2、按照正確方向把LCD1602液晶屏插到開發板J7端子上;
3、MINI USB連接線給開發板通電下載程序,下載軟件中內部IRC時鐘選擇11.0592MHZ;
4、下載程序后,LCD1602屏會顯示18B20檢測到的實時溫度值。
備注:如果使用的DS18B20傳感器是帶延長線的,那可以將傳感器供電接到J19的VCC/GND上,信號線與J25端子的P36連接。
單片機源程序如下:
/****************************************Copyright (c)****************************************************
**
**
**
**--------------File Info---------------------------------------------------------------------------------
** File name:
** Last modified Date:
** Last Version:
** Descriptions:
**--------------------------------------------------------------------------------------------------------
** Created by: FiYu
** Created date: 2016-9-8
** Version: 1.0
** Descriptions: 數字溫度計實驗
**--------------------------------------------------------------------------------------------------------
** Modified by: FiYu
** Modified date:
** Version:
** Descriptions:
** Rechecked by:
**********************************************************************************************************/
/****-----請閱讀ReadMe.txt進行實驗-----***********/
#include "ds18b20.h"
#define uint unsigned int
#define uchar unsigned char
#define LOW 0
#define HIGH 1
#define LowTemper 5
#define HighTemper 30
/**********************
引腳別名定義
***********************/
sbit rs=P2^4; //1602的數據/指令選擇控制線
sbit rw=P2^3; //1602的讀寫控制線
sbit en=P2^1; //1602的使能控制線
sbit LED_R=P1^7; //紅色LED用IO口P17
sbit LED_B=P1^6; //藍色LED用IO口P16
uchar code table1[]="Current Temper: "; //要顯示的內容1放入數組table
uchar code table2[]="Normal "; //要顯示的內容2放入數組table
uchar code table3[]="Too low "; //要顯示的內容3放入數組table
uchar code table4[]="Too high"; //要顯示的內容4放入數組table
uchar code table5[]="-"; //要顯示的內容5放入數組table
uchar code table6[]=" "; //要顯示的內容6放入數組table
/**************************************
功能描述:LCD1602寫命令函數
入口參數:uchar com
返回值:無
***************************************/
void lcd_wcom(uchar com)
{
rs=0; //選擇指令寄存器
rw=0; //選擇寫
P0=com; //把命令字送入P0
delay_ms(1); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,命令送入1602的8位數據口
en=0;
}
/**************************************
功能描述:LCD1602寫數據函數
入口參數:uchar dat
返回值:無
***************************************/
void lcd_wdat(uchar dat)
{
rs=1; //選擇數據寄存器
rw=0; //選擇寫
P0=dat; //把要顯示的數據送入P0
delay_ms(1); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,數據送入1602的8位數據口
en=0;
}
/**************************************
功能描述:LCD1602初始化函數
入口參數:無
返回值:無
***************************************/
void lcd_init()
{
lcd_wcom(0x38); //8位數據,雙列,5*7字形
lcd_wcom(0x0c); //開啟顯示屏,關光標,光標不閃爍
lcd_wcom(0x06); //顯示地址遞增,即寫一個數據后,顯示位置右移一位
lcd_wcom(0x01); //清屏
}
/***************************************************************************
* 描 述 : 主函數
* 入 參 : 無
* 返回值 : 無
**************************************************************************/
int main()
{
unsigned char i=0,j=0,m=0,n=0,k=0;
unsigned char strTemp[6],uTemp,Sign;
float fTemp;
/////////////////////////////////////////////////
//注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關的IO口均為
// 高阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用
//相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
// P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
/////////////////////////////////////////////////
P0M1 = 0; P0M0 = 0; //設置P0.0~P0.7為準雙向口
P1M1 = 0; P1M0 = 0; //設置P1.0~P1.7為準雙向口
P2M1 = 0; P2M0 = 0; //設置P2.0~P2.7為準雙向口
P3M1 = 0; P3M0 = 0; //設置P3.0~P3.7為準雙向口
P4M1 = 0; P4M0 = 0; //設置P4.0~P4.7為準雙向口
P5M1 = 0; P5M0 = 0; //設置P5.0~P5.7為準雙向口
lcd_init(); //液晶初始化
lcd_wcom(0x80); //顯示地址設為80H(即00H,)上排第一位
for(i=0;i<16;i++) //將table1[]中的數據依次寫入1602顯示
{
lcd_wdat(table1[i]);
delay_ms(20);
}
while(1)
{
memset(strTemp, 0, sizeof(strTemp)); //strTemp數組清零
fTemp = floatReadDs18B20(); //溫度讀取函數,帶1位小數位
sprintf(strTemp, "%.01f", fTemp); //浮點數轉成字符串
uTemp=(uchar)fTemp;
if(uTemp<10)
{
lcd_wcom(0x80+0x45); //重新設定顯示地址
lcd_wdat(table6[0]); //將table6[]中的數據依次寫入1602顯示
delay_ms(20);
Sign=3;
}
else
{
Sign=4;
}
if(ReadTempFlag)
{
lcd_wcom(0x80+0x41); //重新設定顯示地址
lcd_wdat(table5[0]);
delay_ms(20);
lcd_wcom(0x80+0x42);
for(j=0;j<Sign;j++) //將strTemp[]中的數據依次寫入1602顯示
{
lcd_wdat(strTemp[j]);
delay_ms(20);
}
}
else
{
lcd_wcom(0x80+0x41); //重新設定顯示地址
lcd_wdat(table6[0]);
delay_ms(20);
lcd_wcom(0x80+0x42); //重新設定顯示地址
for(j=0;j<Sign;j++) //將strTemp[]中的數據依次寫入1602顯示
{
lcd_wdat(strTemp[j]);
delay_ms(20);
}
}
lcd_wcom(0x80+0x48); //重新設定顯示地址
if(ReadTempFlag||(uTemp<LowTemper)) //溫度過低時,藍燈較快閃爍(間隔60mS)
{
for(m=0;m<8;m++) //將table3[]中的數據依次寫入1602顯示
{
lcd_wdat(table3[m]);
delay_ms(20);
}
LED_B=LOW;
delay_ms(60);
LED_B=HIGH;
delay_ms(60);
}
else if(uTemp>HighTemper) //溫度過高時,紅燈較快閃爍(間隔60mS)
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png
(37.94 KB, 下載次數: 82)
下載附件
2017-7-22 23:06 上傳
所有資料51hei提供下載:
項目實戰2 - 數字溫度計(DS18B20正負溫顯示).rar
(1.08 MB, 下載次數: 70)
2017-7-22 18:41 上傳
點擊文件名下載附件
實用項目
下載積分: 黑幣 -5
作者:
mcs51
時間:
2017-7-23 10:12
支持不錯!!
作者:
持勤補拙
時間:
2017-8-4 18:30
值得學習
作者:
keywod
時間:
2023-3-27 09:28
學習了,這次是STC,國產芯片!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久一区二区三区
|
天天插天天射天天干
|
欧美视频免费在线
|
日本午夜免费福利视频
|
亚洲va在线va天堂va狼色在线
|
亚洲黄色成人网
|
日韩1区
|
天堂av中文在线
|
久久www免费视频
|
久久99国产精品
|
在线黄av
|
成人黄色在线观看
|
观看av
|
精品久
|
99精品国产一区二区青青牛奶
|
国产成人精品一区二三区在线观看
|
精品国产成人
|
免费视频二区
|
www午夜视频
|
国产资源在线观看
|
黄色成人国产
|
国产精品毛片一区二区三区
|
日韩国产精品一区二区三区
|
成年无码av片在线
|
国产黄色精品
|
国产人免费人成免费视频
|
狠狠操狠狠干
|
日韩欧美在线观看
|
亚洲精品久
|
激情久久av一区av二区av三区
|
国产精品久久久久无码av
|
一区精品视频在线观看
|
奇米久久
|
成人精品一区二区三区
|
日韩1区2区
|
欧美精品欧美精品系列
|
国产98色在线 | 日韩
|
国产一区二区电影
|
亚洲精品乱码久久久久久9色
|
www.欧美
|
久久久久久综合
|