ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:18.45KB ,
资源ID:21294139      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21294139.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(12864液晶电子钟具有按键可调闹钟温度显示资料Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

12864液晶电子钟具有按键可调闹钟温度显示资料Word文档下载推荐.docx

1、uchar code table2=温馨提示:00.0延时函数 */void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;yy-);/* 功能:蜂鸣器响应 */void fengmingqi() beet=0;delay(1);beet=1;液晶12864读写数据 */void xieling_shu(uchar aa,uchar bb) if(aa=1)rs=0; if(aa=0)rs=1; P0=bb; en=1; delay(1); en=0;液晶12864写入地址 */void xieludizhi(uchar x, uchar y

2、) switch(x) case 1: xieling_shu(1,0x80 + y ); return;/return 返回的意思 case 2: xieling_shu(1,0x90 + y ); case 3: xieling_shu(1,0x88 + y ); case 4: xieling_shu(1,0x98 + y ); 液晶12864写入字符串 */void xiezifuchuan(uchar *dd) while(*dd != 0) xieling_shu(0,*dd+ );液晶12864清屏函数 */void qingping() xieling_shu(1,0x01);

3、 /清屏 xieling_shu(1,0x01); delay(20);液晶12864初始化指令操作 */void init_12864() xieling_shu(1,0x30); /基本指令操作 xieling_shu(1,0x0C); /0x0c: 无光标, OXOF: 光标反白显示 /清屏 xieling_shu(1,0x06);液晶12864初始化字串显示 */void init_zifu() xieludizhi(1,0);xiezifuchuan( 欢迎使用 ); xieludizhi(2,0); xieludizhi(3,0); 订购热线 xieludizhi(4,0);Pho

4、ne:0777-66914 delay(9534); qingping(); xieludizhi(1,0);xiezifuchuan(table1);xiezifuchuan(table2); xieludizhi(3,5);星期 xieludizhi(2,2);年 月 日 时间、年月日 显示函数 */void display() xieludizhi(3,0); / 显示 时 分 秒 xieling_shu(0,0x30+hour/10); xieling_shu(0,0x30+hour%10); xieling_shu(0,: xieling_shu(0,0x30+minute/10);

5、 xieling_shu(0,0x30+minute%10); xieling_shu(0,0x30+second/10); xieling_shu(0,0x30+second%10); / 显示 年 xieling_shu(0,0x30+years/1000); xieling_shu(0,0x30+years%1000/100); xieling_shu(0,0x30+years%100/10); xieling_shu(0,0x30+years%10); xieludizhi(2,3); / 显示 月 xieling_shu(0,0x30+month/10); xieling_shu(0

6、,0x30+month%10); xieludizhi(2,5); / 显示 日 xieling_shu(0,0x30+day/10); xieling_shu(0,0x30+day%10);闹钟(时间、年月日) 显示函数 */void display1() xieling_shu(0,0x30+shi/10); xieling_shu(0,0x30+shi%10); xieling_shu(0,0x30+fen/10); xieling_shu(0,0x30+fen%10); xieling_shu(0,0x30+miao/10); xieling_shu(0,0x30+miao%10);星

7、期函数 */void xingqi() switch(cc) xieludizhi(3,7); xiezifuchuan(一二叁四 case 5:五 case 6:六 case 7:日按键程序 */void anjian() if(key4=0)delay(1);hm=hm;while(key4=0); key1按键选择功能 */ if(key1=0) mm+;if(hm!=0)if(mm=4)mm=0; if(mm=1)xieludizhi(3,3);xieling_shu(0,0x5f); if(mm=2)TR0=1;xieludizhi(3,2); if(mm=3)xieludizhi(

8、3,0); if(mm=4)xieludizhi(2,5); if(mm=5)xieludizhi(2,3); if(mm=6)xieludizhi(2,1); if(mm=7)xieludizhi(3,7); if(mm=8)xieludizhi(2,7);xieling_shu(0,0x02); if(mm=9)xieludizhi(2,7);xieling_shu(0,0x20);mm=0; / mm=0;跳出调整时间 while(key1=0); key2按键 加减 功能 */ if(mm=1&key2=0) /秒加1 if(hm=0)TR0=0;if(key2=0)second+;i

9、f(second=60)second=0; if(hm!=0)delay(1);if(key2=0)miao+;if(miao=60)miao=0; while(key2=0);key3=0) /秒减1if(key3=0)second-;if(second=-1)second=59;if(key3=0)miao-;if(miao=60)minute=0;if(key2=0)fen+;if(fen=60)fen=0; key3=0) /分减1if(key3=0)minute-;if(minute=-1)minute=59;if(key3=0)fen-;if(fen=24)hour=0;if(ke

10、y2=0)shi+;if(shi=24)shi=0;key3=0) /时减1if(key3=0)hour-;if(hour=-1)hour=23;if(key3=0)shi-;if(shi=31)day=1;key3=0) /日减1 if(key3=0) day-; if(day=13)month=1;key3=0) /月减1 month-; if(month=8)cc=1;key3=0) /星期减1 cc-; if(cc=0)cc=7; /* 功能:18B20 所有函数*/* 18B20复位,初始化函数 */void dsreset(void) uint i; wd=0; i=103; wh

11、ile(i0)i-; wd=1; i=4;/* 18B20 读1位 函数 */bit tempreadbit(void) bit dat;i+; /i+ 起延时作用 dat=wd; i=8;while(i return (dat);/* 18B20 读1个字节 函数 */uchar tempread(void) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在DAT里 return(dat);/* 18B20 写一个字节数据 函数 */void tempwriteby

12、te(uchar dat) uchar j; bit testb; for(j=1;j1; if(testb) /写 1 i+; else /写 0/* 18B20 开始获取温度并转换 函数 */void tempchange(void) dsreset(); tempwritebyte(0xcc); / 写跳过读ROM指令 tempwritebyte(0x44); / 写温度转换指令/* 18B20 读取寄存器中存储的温度数据 函数 */uint get_temp() uchar a,b; tempwritebyte(0xbe); a=tempread(); /读低8位 b=tempread(); /读高8位 temp=b; temp5&count18) tempchange(); /开始获取温度 get_temp(); /读取寄存温度 sprintf(buff,%f,f_temp); comm(buff); xieludizhi(4,5);xieling_shu(0,0x30+ temp/100);xieling_shu(0,0x30

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1