资源简介
实现DS18B20的测温实现,基于linux内核版本的,有QT界面,代码简洁已读,鲁棒性还行。PS:该程序为应用程序,非驱动程序!

代码片段和文件信息
#include “lcd.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
MyMainWindow::MyMainWindow()
{
setGeometry(00320240);
label1 = new QLabel(this);
label1 -> setGeometry(101030050);
label1 -> setText(“DS18B20 TEST“);
label1 -> setFont(QFont(“times“18QFont::Bold));
label1 -> setAlignment(Qt::AlignCenter);
label2 = new QLabel(this);
label2 -> setText(“Temperature is“);
label2 -> setFixedSize(16080);
label2 -> setFont(QFont(“Courier“10QFont::Light));
label2 -> setAlignment(Qt::AlignCenter|Qt::AlignLeft);
label3 = new QLabel(this);
label3 -> setText(“‘C“);
label3 -> setFont(QFont(“Courier“10QFont::Light));
label3 -> setAlignment(Qt::AlignCenter|Qt::AlignRight);
start = new QPushButton(“start“this);
start -> setMinimumSize(5040);
start -> setFont(QFont(“times“15QFont::Bold));
stop = new QPushButton(“stop“this);
stop -> setMinimumSize(5040);
stop -> setFont(QFont(“times“15QFont::Bold));
lcdnum = new QLCDNumber(this);
lcdnum -> setFixedSize(10080);//固定大小
lcdnum -> setSmallDecimalPoint(true);//显示一位小数
lcdnum -> setNumDigits(4);
lcdnum -> setSegmentstyle(QLCDNumber::Filled);
QPalette lcdp = lcdnum -> palette();
lcdp.setColor(QPalette::NormalQPalette::WindowTextQt::black);//前景色为黑色
lcdnum -> setPalette(lcdp);
QVBoxLayout *vbox = new QVBoxLayout(this);
QHBoxLayout *hbox1 = new QHBoxLayout();
QHBoxLayout *hbox2 = new QHBoxLayout();
QHBoxLayout *hbox3 = new QHBoxLayout();
vbox -> addLayout(hbox1);
vbox -> addLayout(hbox2);
vbox -> addLayout(hbox3);
hbox1 -> addWidget(label1);
hbox2 -> addWidget(label2);
hbox2 -> addWidget(lcdnum);
hbox2 -> addWidget(label3);
hbox3 -> addWidget(start);
hbox3 -> addWidget(stop);
timer = new QTimer(this);
connect(startSIGNAL(clicked())thisSLOT(start_time()));
connect(timerSIGNAL(timeout())thisSLOT(get_tmp()));
connect(stopSIGNAL(clicked())thisSLOT(stop_tmp()));
}
void MyMainWindow::start_time()
{
timer -> start(1000);
}
void MyMainWindow::get_tmp()
{
stop -> setEnabled(true);
start -> setEnabled(false);
fd = open(“/dev/TX2440-ds18b20“ 0);
if (fd < 0)
{
perror(“open device ds18b20“);
exit(1);
}
ret = read(fd&data4);
if(ret<0)
printf(“read ds18b20 error\n“);
printf(“read ds18b20\n“);
temp = data * 0.0625;
temp1= (int)(temp * 10 + 0.5);
z_s = temp1/10;
x_s = (float)(temp1%10);
wen_du = z_s + x_s/10;
printf(“Temperature is [%d.%d ‘C]\n“ temp1/10 temp1%10);
lcdnum -> display(wen_du);
::close(fd);
}
void MyMainWindow::stop_tmp()
{
stop -> setEnabled(false);
start -
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 35632 2010-05-06 15:37 ds18b20_time\ds18b20_time
文件 313 2010-05-06 15:37 ds18b20_time\ds18b20_time.pro
文件 3211 2010-05-06 15:36 ds18b20_time\lcd.cpp
文件 683 2010-05-06 14:33 ds18b20_time\lcd.h
文件 13948 2010-05-06 15:37 ds18b20_time\lcd.o
文件 9319 2010-05-06 15:37 ds18b20_time\Makefile
文件 2227 2010-05-06 14:47 ds18b20_time\moc_lcd.cpp
文件 7536 2010-05-06 14:47 ds18b20_time\moc_lcd.o
文件 21314 2011-10-27 13:39 ds18b20_time\ds18b20_time.pro.user
目录 0 2010-05-06 15:41 ds18b20_time
----------- --------- ---------- ----- ----
94183 10
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- 单片机与温度传感器DS18B20的程序设计
- 毕业论文之温度传感器DS18B20(源码
- Qt局域网聊天软件
- stm32 ds18b20 温度传感器 测试通过
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- 51单片机读取温度数据存储到SD卡中并
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- DS18B20分布式多点测温的Proteus仿真
- 单片机 DS18B20 温度控制系统
- 课程设计蔬菜大棚自动控制系统,包
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
评论
共有 条评论