标题: 单片机请问怎么调用void函数显示温度? [打印本页]

作者: 123cln    时间: 2021-4-22 08:48
标题: 单片机请问怎么调用void函数显示温度?
          //温度显示子函数
void write_temp(uchar add,uint dat)//向LCD写温度数据,并指定显示位置
{
        uint gw,sw,bw;
        bw=dat/100;//取得百位
        sw=dat%100/10;//取得十位数字
        gw=dat%10;//取得个位数字
        write_1602com(er+add);//er是头文件规定的值0x80+0x40
        write_1602dat(0x30+bw);
        write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码
        write_1602dat('.');
        write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码
    write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码
          write_1602dat(0x43);        //显示"C"符号,0x43是液晶屏字符库里大写C的地址码
        write_1602dat(0x)               
}




void Ds1302Init()
{
        uchar n;
        Ds1302Write(0x8E,0X00);                 //禁止写保护,就是关闭写保护功能
        for (n=0; n<8; n++)//写入8个字节的时钟信号:分秒时日月周年         
        {
                Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);      
        }
        Ds1302Write(0x8E,0x80);                 //打开写保护功能
}
void Ds1302ReadTime()
{
        uchar n;
        for (n=0; n<8; n++)//读取7个字节的时钟信号:分秒时日月周年         
        {
                TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
        }
               
}
作者: birdzhyli    时间: 2021-4-22 09:07
一个显示函数,2个时间模块操作,你来问显示温度,大写的服字
作者: ANT1987    时间: 2021-4-22 09:29
1 write_temp(uchar add,uint dat);显示温度函数,你要往里面传参数的,add是显示地址,dat是你程序里面读温度函数得到的温度的值,这个读温度函数你程序里面没给出来. 用法就是主函数里面 ,比如第二行第一列显示25度
write_temp(1,25);
2 DS1302是时间相关的函数,初始化 读
作者: 黄youhui    时间: 2021-4-22 11:02
write_temp(0,999),好了显示温度999摄氏度了。
void write_temp(uchar add,uint dat),第一个形参是地址add,就是你要在那里显示,第二个形参dat是你要显示的数字
作者: 123cln    时间: 2021-4-23 18:07
ANT1987 发表于 2021-4-22 09:29
1 write_temp(uchar add,uint dat);显示温度函数,你要往里面传参数的,add是显示地址,dat是你程序里面读温度 ...

谢谢,很有用
作者: 123cln    时间: 2021-4-23 18:08
ANT1987 发表于 2021-4-22 09:29
1 write_temp(uchar add,uint dat);显示温度函数,你要往里面传参数的,add是显示地址,dat是你程序里面读温度 ...

谢谢,懂了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1