原创 (原创)64*16LED点阵屏+DS18B20温度传感器

2009-10-30 09:16 4416 3 5 分类: MCU/ 嵌入式

包含Keil源程序与Protues仿真电路图。


https://static.assets-stash.eet-china.com/album/old-resources/2009/10/30/8e2d0663-42e9-4894-99a0-4197a12fe844.rar


main函数如下:


/*****************用定时器+DS18B20写得温度程序(上半屏显示)********************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#include"CODE.h"
#include"DS18B20.H"


sbit R1=P2^4;  //位定义   
sbit R2=P2^5;
sbit CLK="P2"^6;
sbit STB="P2"^7;
uchar j,time,wendu_shi,wendu_ge;  //数据变量定义
char dat;
void WriteByte();  //上半屏写一个字节数据函数
void init_timer0();   //中断初始化
/*-------------------------------------------*/
void main()
{
  init_timer0();     //中断初始化
  while(1)
  { 
   if(time>=50)     //每2.5秒刷新一次温度数据
   {
    time=0;
    tempchange();     //温度转换命令
    wendu_shi=get_temp()/100;
    wendu_ge=get_temp()%100/10;
     
   }     
         
   for(j=0;j<16;j++)   //行扫描
     {    
         
    dat=wendu[j][0];    //温
    WriteByte();
    dat=wendu[j][1];  
    WriteByte();
    dat=wendu[j+16][0];  //度 
    WriteByte();
    dat=wendu[j+16][1];  
    WriteByte();
    
    dat=table[wendu_shi][j];   //温度十位
    WriteByte();      
    dat=table[wendu_ge][j]; //温度个位 
    WriteByte();


    dat=wendu[j+32][0];    //℃ 
    WriteByte();
    dat=wendu[j+32][1];  
    WriteByte();
         
    P1=j;  //放上面会错乱 消影
    STB=1;  //下降沿,上升沿显示错乱
    STB=0;
    delay(2); 
   
   }
  }   
}
void init_timer0()   //中断初始化
{
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)/256;
 EA=1;
 ET0=1;
 TR0=1;


}
void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)/256;
 time++; 
}       
void WriteByte()   //上半屏写一个字节的数据
{
 uchar k;
 for(k=0;k<8;k++)  //循环8次把编码传给锁存器
  {
    dat="dat"<<1;
    R1=CY;
    R2=1;
    CLK="0";       //上升沿有效
    CLK="1";   
  } 
}


 


 


 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户347785 2011-4-15 10:00

非常感谢楼主!

用户191275 2010-6-21 09:46

不错的资料,下来学习一下。
相关推荐阅读
用户395791 2011-02-21 10:10
单片机实现贪吃蛇游戏
本文章原创于 www.yafeilinux.com  作者:雨?烟?, 转载请注明出处。最近忙完英语考试了,感觉轻松许多。手痒的很,想写点程序,在玩弄手机时看见自己的手机游戏里连个贪吃蛇都没有呢…为什...
用户395791 2011-02-13 16:20
Qt 的未来
2011年的春节刚过,当我们还不愿意从过年的懒散生活中清醒过来时,一则无法设想的新闻将我们惊醒!   一、事件突发: 1.北京时间2月11日下午消息,诺基亚与微软刚刚宣布,双方计划建立广泛的战略伙伴关...
用户395791 2010-07-17 13:37
Qt串口通信专题教程
本文章原创于www.yafeilinux.com 转载请注明出处。Qt串口通信专题教程前言去年我使用Qt编写串口通信程序时,将自己的学习过程写成了教程(Qt编写串口通信程序全程图文讲解),但是由于时间...
用户395791 2010-06-16 22:32
Led非典型应用——感测外部光线
本文章原创于 www.yafeilinux.com  作者:Jay , 转载请注明出处。基本上初学者学习任何一款单片机都会写同样的一个程序——Led流水灯。就像初学C、C++、Qt之类的语言时都要写“...
用户395791 2010-05-27 18:47
Qt Creator系列教程
Qt Creator系列教程        为了使更多的Qt初学者能尽快入门Qt,也为了Qt及Qt Creator的快速普及,我们花费大量精力写出了这一系列教程。虽然教程的知识可能很浅显,虽然教程的语...
用户395791 2010-03-26 17:51
二十七、Qt数据库(七)QSqlRelationalTableModel(原创)
声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。讲完QSqlTableModel了,我们这次讲这个类的扩展类QSqlRel...
EE直播间
更多
我要评论
2
3
关闭 站长推荐上一条 /3 下一条