完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用KEIL编辑说目标没有产生,高人们帮看看那里出问题了?
其中.H文件怎么添加啊 ? /************************************************************ 显示年、月、日、时、分、秒、温度 按键调时、闹铃、 /***********************************************************/ #include #include #include"ds1302.h" #include"ds18b20.h" /*****************************************************************/ #define uchar unsigned char #define uint unsigned int //宏定义 ***it SH_CP1=P2^0; ***it DS1 =P2^1; ***it ST_CP1=P2^2; ***it SH_CP2=P2^3; ***it DS2 =P2^4; ***it ST_CP2=P2^5; ***it SH_CP3=P3^0; ***it DS3 =P3^1; ***it ST_CP3=P3^2; ***it k1 =P1^3; ***it k2 =P1^4; ***it k3 =P1^5; ***it k4 =P1^6; ***it fen =P3^3; uchar code du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, //数码管段 0x7d,0x07,0x7f,0x6f,0x40,0x00}; uchar code we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf, //数码管位 0xbf,0x7f}; uchar tt1[8]; //日历暂存 uchar tt2[7]; //时间、星期暂存 uchar tt3[4];//温度暂存 uchar time[7];//读时间暂存 uchar code inittime[]={11,7,10,30,23,43,20}; uchar code write_add[]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80}; // 年 星期 月 日 时 分 秒 uchar code read_add[]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81}; uint temp; uchar tflag; /***************************74HC595函数********************************************/ void in1(uchar Data) { uint i; for(i=0;i<8;i++) { SH_CP1=0; DS1=Data&0x80; Data<<=1; SH_CP1=1; } } void out1() { ST_CP1=0; _nop_(); _nop_(); ST_CP1=1; } void in2(uchar Data) { uint i; for(i=0;i<8;i++) { SH_CP2=0; DS2=Data&0x80; Data<<=1; SH_CP2=1; } } void out2() { ST_CP2=0; _nop_(); _nop_(); ST_CP2=1; } void in3(uchar Data) { uint i; for(i=0;i<8;i++) { SH_CP3=0; DS3=Data&0x80; Data<<=1; SH_CP3=1; } } void out3() { ST_CP3=0; _nop_(); _nop_(); ST_CP3=1; } /*************************读温度函数***************************************/ uchar readvalue_ds18b20() { uchar g,d; init_ds18b20(); write_byte_ds18b20(0xcc); write_byte_ds18b20(0x44); delay1(300); init_ds18b20(); write_byte_ds18b20(0xcc); write_byte_ds18b20(0xbe); g=read_byte_ds18b20(); d=read_byte_ds18b20(); temp=d<<8; temp|=g; if(temp<0xfff) { tflag=1; } else { temp=~temp+1; tflag=0; } temp=temp*(0.625); return temp; } /*********************显示函数**************************************/ void set_time()//初始时间函数 { uchar i; write_dat_ds1302(0x8e,0x00); for(i=0;i<7;i++) { write_dat_ds1302(write_add,inittime/10*16+inittime%10); } write_dat_ds1302(0x8e,0x80); } void read_time()//读时间 { uchar i; for(i=0;i<7;i++) { time=read_dat_ds1302(read_add); } } void display()//显示 { uchar i; read_time(); readvalue_ds18b20(); tt1[0]=time[1]%16; //星期 tt1[1]=time[4]/16; tt1[2]=time[4]%16;//时 tt1[3]=time[5]/16; tt1[4]=time[5]%16;// 分 tt1[5]=time[6]/16; //秒 tt1[6]=time[6]%16; tt2[0]=2; tt2[1]=0; tt2[2]=time[0]/16; //年 tt2[3]=time[0]%16; tt2[4]=time[2]/16; //月 tt2[5]=time[2]%16; tt2[6]=time[3]/16; //日 tt2[7]=time[3]%16; for(i=0;i<7;i++) { in1(we); in1(du[tt1]); out1(); delay1(200); } for(i=0;i<8;i++) { in2(we); in2(du[tt2]); out2(); delay1(200); } tt3[0]=temp/1000; tt3[1]=temp%1000/100; tt3[2]=temp%100/10; tt3[3]=temp%10; if(tflag==1) { if(tt3[0]==0) { tt3[0]=11; if(tt3[1]==0) { tt3[1]=11; } } } else { if(tt3[0]==0) { tt3[0]=10; if(tt3[1]==0) { tt3[1]=10; tt3[0]=11; } } } for(i=0;i<3;i++) { in3(we); in3(du[tt3]); out3(); delay1(200); } } /**********************键盘*****************************************/ void BB(uint i) { uint a,b; for(a=i;a>0;a--) { for(b=50;b>0;b--); fen=~fen; } } void key() { uchar j,shi,fen,miao,xq,nian,yue,ri; display(); nian=time[0]/16*10+time[0]%16; xq =time[1]/16*10+time[1]%16; yue =time[2]/16*10+time[2]%16; ri =time[3]/16*10+time[3]%16; shi =time[4]/16*10+time[4]%16; fen =time[5]/16*10+time[5]%16; miao=time[6]/16*10+time[6]%16; if(!k1) { delay(5); if(!k1) { BB(100); while(!k1); j++; if(j==8) { j=0; } } } if(j!=0) { if(!k2) { delay(5); if(!k2) { BB(100); while(!k2); if(j==1) { miao++; if(miao>59) { miao=0; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[6],miao/10*16+miao%10); write_dat_ds1302(0x8e,0x80); } if(j==2) { fen++; if(fen>59) { fen=0; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[5],fen/10*16+fen%10); write_dat_ds1302(0x8e,0x80); } if(j==3) { shi++; if(shi>23) { shi=0; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[4],shi/10*16+shi%10); write_dat_ds1302(0x8e,0x80); } if(j==4) { xq++; if(xq>7) { xq=1; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[1],xq/10*16+xq%10); write_dat_ds1302(0x8e,0x80); } if(j==5) { ri++; if(((yue==1)||(yue==3)||(yue==5)||(yue==7)||(yue==8)|| (yue==10)||(yue==12))&&(ri>31)) { ri=1; } if(((yue==4)||(yue==6)||(yue==9)||(yue==11))&&(ri>30)) { ri=1; } if(yue==2) { if(((nian%4==0)&&(nian%100!=0))||(nian%400==0)) { if(ri>29) { ri=1; } } else { if(ri>28) { ri=1; } } } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[3],ri/10*16+ri%10); write_dat_ds1302(0x8e,0x80); } if(j==6) { yue++; if(yue>12) { yue=1; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[2],yue/10*16+yue%10); write_dat_ds1302(0x8e,0x80); } if(j==7) { nian++; if(nian>99) { nian=0; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[0],nian/10*16+nian%10); write_dat_ds1302(0x8e,0x80); } } } if(!k3) { delay(5); if(!k3) { BB(100); while(!k3); if(j==1) { miao--; if(miao==-1) { miao=59; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[6],miao/10*16+miao%10); write_dat_ds1302(0x8e,0x80); } if(j==2) { fen--; if(fen==-1) { fen=59; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[5],fen/10*16+fen%10); write_dat_ds1302(0x8e,0x80); } if(j==3) { shi--; if(shi==-1) { shi=23; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[4],shi/10*16+shi%10); write_dat_ds1302(0x8e,0x80); } if(j==4) { xq--; if(xq<1) { xq=7; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[1],xq/10*16+xq%10); write_dat_ds1302(0x8e,0x80); } if(j==5) { ri--; if(((yue==1)||(yue==3)||(yue==5)||(yue==7)||(yue==8)|| (yue==10)||(yue==12))&&(ri<1)) { ri=31; } if(((yue==4)||(yue==6)||(yue==9)||(yue==11))&&(ri<1)) { ri=30; } if((yue==2)) { if((nian%4==0)&&(nian%100!=0)||(nian%400==0)) { if(ri<1) { ri=29; } } else { if(ri<1) { ri=28; } } } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[3],ri/10*16+ri%10); write_dat_ds1302(0x8e,0x80); } if(j==6) { yue--; if(yue<1) { yue=12; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[2],yue/10*16+yue%10); write_dat_ds1302(0x8e,0x80); } if(j==7) { nian--; if(nian<0) { nian=99; } write_dat_ds1302(0x8e,0x00); write_dat_ds1302(write_add[0],nian/10*16+nian%10); write_dat_ds1302(0x8e,0x80); } } } } if(!k4) { delay(5); if(!k4) { BB(100); while(!k4); j=0; } } } /*****************主函数************************************************/ void main() { set_time(); while(1) { key(); } } 这个是DS1302的程序#include"ds1302.h" void write_byte_ds1302(uchar dat) { uchar i; ACC=dat; for(i=8;i>0;i--) { io=ACC0; sclk=1; sclk=0; ACC>>=1; } } uchar read_byte_ds1302() { uchar i; for(i=0;i<8;i++) { ACC>>=1; ACC7=io; sclk=1; sclk=0; } return (ACC); } void write_dat_ds1302(uchar add,uchar dat) { rst=0; sclk=0; rst=1; write_byte_ds1302(add); write_byte_ds1302(dat); sclk=1; sclk=0; rst=0; sclk=1; } uchar read_dat_ds1302(uchar add) { uchar value; rst=0; sclk=0; rst=1; write_byte_ds1302(add); value=read_byte_ds1302(); sclk=1; sclk=0; rst=0; sclk=1; return value; } 这个是ds18b20的 #include"ds18B20.h" void delay(uint ms) { uint a,b; for(a=ms;a>0;a--) for(b=110;b>0;b--); } void delay1(uint t) { while(t--); } void init_ds18b20() { uchar n; dq=1; delay1(8); dq=0; delay1(80); dq=1; delay1(4); n=dq; delay1(8); } void write_byte_ds18b20(uchar dat) { uchar i; for(i=0;i<8;i++) { dq=0; dq=dat&0x01; delay1(4); dq=1; dat>>=1; } delay1(4); } uchar read_byte_ds18b20() { uchar i,value; for(i=0;i<8;i++) { dq=0; value>>=1; delay1(4); dq=1; if(dq) value|=0x80; delay1(4); } return value; } 请高人们费心看一下,菜鸟求助啊,老是出目标没有产生怎么解决啊? |
|
相关推荐
1个回答
|
|
请上传整个工程文件
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
828 浏览 0 评论
824 浏览 0 评论
861 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
836 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1292 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11824 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 20:02 , Processed in 0.614149 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号