完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uchar unsigned char #define uint unsigned int uchar table1[]="tempature: "; uchar temp0[]={0x00,0x00}; uint display[]={0,0,0,0}; //ζÈÕûÊý´æ´¢Çø uchar display_buffer[]={"temp: "}; //ÏÔʾ»º³åÇø //µÃµ½µÄζÈÕûÊýÊýÖµ //***it dula=P2^6; //***it wela=P2^7; ***it lcden=P3^4; ***it rs=P3^5; ***it rw=P3^7; ***it dq=P2^2; uchar num,a=0,b=0; int temp; float f_temp; void delay_ms(uint z) { uchar i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void write_com(uchar com) { rs=0; P0=com; delay_ms(5); lcden=1; delay_ms(5); lcden=0; } void write_data(uchar date) { rs=1; P0=date; delay_ms(5); lcden=1; delay_ms(5); lcden=0; } void init() { //dula=0; //wela=0; lcden=0; rw=0; write_com(0x38); write_com(0x0f); write_com(0x0c); write_com(0x06); write_com(0x01); } // void dereset() ÌìÏé³ÌÐò //{ // uint i; // dq=1; // delay_ms(1); // dq=0; // i=90; // while(i>0)i--; // dq=1; // delay_ms(1); // // //} void delay(uint x) { while(--x); } void dereset(void) { char status=0; dq=1; delay(8); dq=0; delay(100); dq=1; delay(20); status=dq; delay(30); dq=1; //return status; } //bit tempreadbit(void) //Óдí //{ // uint i; // bit dat; // dq=0;i++; // dq=1;i++;i++; // dat=dq; // i=8;while(i>0);i--; // return(dat); //} //uchar tempread(void) //{ // uchar i,j,dat; // dat=0; // for(i=1;i<=8;i++) // { // j=tempreadbit(); // dat=(j<<7)|(dat>>1); // } // return(dat); //} void tempwritebyte(uchar wdata) { uchar i=0; for(i=8;i>0;i--) { dq=0; delay(15); dq=wdata&0x01; delay(45); dq=1; wdata>>=1; } delay(8); } uchar tempread(void)//¶ÁÈ¡DSÐÅÏ¢×Ö½Ú { uchar i,dat=0; //dq=1; delay(1); for(i=0;i<8;i++) { dq=0; dat>>=1; dq=1; delay(15); if(dq) dat|=0x80; delay(30); dq=1; } return (dat); } int read(void)//ζȶÁÈ¡º¯Êý { //if(dereset!=1) //{ //int temp; dereset(); tempwritebyte(0xcc); tempwritebyte(0x44);//Æô¶¯Î¶Èת»» dereset(); tempwritebyte(0xcc); tempwritebyte(0xbe);//¶ÁȡζȼĴæÆ÷ delay(50); a=tempread(); b=tempread(); temp=((a>>4)|((b&0x07)<<4)); return (temp); // } } void display1() { int num,current; current=read(); // current=(a>>4)|(b<<4)&0x3f; // current=((a>>4)|((b&0x07)<<4)); //current=((a&0xf0)>>4)|((b&0x07)<<4); // f_temp=current*0.0625; // current=f_temp*10+0.5; // display[4]=current/1000; display[3]=current/100;//°ÑζȵİٷÖλ´æ´¢µ½ÕûÊý´æ´¢Çø display[2]=current%100/10;//°ÑζȵÄÊ®·Öλ´æ´¢µ½ÕûÊý´æ´¢Çø display[1]=current%10;//°Ñζȵĸöλ´æ´¢µ½ÕûÊý´æ´¢Çø display_buffer[8]=display[1]+'0';//ÔÙ°Ñ´æ´¢ÇøµÄÄÚÈÝ·¢Ë͵½»º´æÇø£¬×¼±¸ÏÔʾ display_buffer[7]=display[2]+'0'; display_buffer[6]=display[3]+'0'; // display_buffer[5]=display[4]+'0'; if(display[6]==0) display_buffer[6]=' '; write_com(0x80); for(num=0;num<10;num++) { write_data(table1[num]); delay_ms(1); } write_com(0x80+0x40); for(num=0;num<10;num++) { write_data(display_buffer[num]); delay_ms(); } } void main() { init(); while(1) { read(); delay_ms(10); display1(); } } |
|
相关推荐
2个回答
|
|
调出来了,是时序没有弄对。
|
|
|
|
积分太难挣了,下载资料都难
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11977 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 16:42 , Processed in 0.546559 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号