专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他开发语言

高人看看,单片机C程序,温度值读不进去咋回事

发布时间:2011-06-30 07:25:13 文章来源:www.iduyao.cn 采编人员:星星草
高人看看,单片机C程序,温度值读不进去怎么回事?
#include<reg51.h>
#include<absacc.h>
#define SEND_INIT XBYTE[0xf400]
#define SEND_DATA XBYTE[0xf500]
#define READ_BUSY XBYTE[0xf600]       //
#define READ_DATA XBYTE[0xfF00]      //读点地址
#define COM8155 XBYTE[0x8000]
#define PB XBYTE[0X8002]
#define PC XBYTE[0X8003]
#define DQ PA5
#define uchar unsigned char
#define uint  unsigned  int
#define comm  0 //定义传送指令代码为0
#define dat   1
bit busy;
sbit DQ=P1^0;   //ds18b20与单片机连接口
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;                         //定义LCD忙标志位
void first();// 初始化
void wr_lcd (uchar dat_comm,uchar content);     //写控制字与数据
void wr_str(unsigned char addr,unsigned char counts,const unsigned char *ps);//写字符串
void chk_busy (void);
void delay (uint us);
void init_lcd();
void clrram(void);
void loose();
void dshi();
void dge();
void Write_hms(uint add,uchar date) ;
uchar data disdata[5];
uint tvalue;      //温度值
uchar tflag;      //温度正负标志
uchar yu=0;
uint a=5,b;
uchar shi=0,ge=0,ai;//定义变量
uchar code TAB1A[]={"题目:时钟显示"};
uchar code TAB1B[]={"时间: 00: 00: 00"};
uchar code TAB1C[]={"摄氏温度: 0000"};
uchar code TAB1D[]={"华氏温度:00"};
//uchar code disdata[]={0,1,2,3};
uchar miao,fen,shi;

/******************************************************************************************
* 函数名称    :init_lcd
* 功能描述    :初始化LCD
******************************************************************************************/
void init_lcd()
{  wr_lcd(comm,0x30); //0011 0000 扩充功能设定——8位数据 基本指令操作
   wr_lcd(comm,0x34);                     //扩展指令操作
   wr_lcd(comm,0x01); //0000 0001 清屏——将DDRAM填满"20H",并且设定DDRAM的地址计数器为"00H"
   wr_lcd(comm,0x06); //0000 0110 进入点设定——指定在数据的读取与写入时,设定游标的移动方向
   wr_lcd(comm,0x0c); //0000 1100 游标或显示移位控制——开显          //开显示,关光标,不闪烁
}
/******************************************************************************************
* 函数名称    :clrram
* 功能描述    :将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
******************************************************************************************/
void clrram(void)
{
   wr_lcd(comm,0x30);
   delay(10);
   wr_lcd(comm,0x01);
   delay(10);
}
/*********写字符串**************************************/
void wr_str(unsigned char addr,unsigned char counts,const unsigned char *ps)
{
    int i;
    wr_lcd(comm,addr);
    delay(1);
    for(i=counts;i>0;i--)          //循环counts次
    {
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: