电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STC15F204EA时钟单片机代码怎么去掉温度显示和闹钟求
已解决
73482
个问题
已帮助
5993
位优秀工程师
STC15F204EA时钟单片机代码怎么去掉温度显示和闹钟求
99081a78d4db612f
2020-07-05
浏览量:697
STC15F204EA单片机+D1302时钟+温度+光控+闹钟功能 的程序代码怎么去掉温度显示和闹钟 只要显示时间和光控功能麻烦大师指点下代码怎么修改 谢谢
#include "STC15F2K.h"
#include "intrins.h"
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
sfr ADC_LOW2 = 0xBE; //ADC低2位结果
#define ADC_POWER 0x80 //ADC电源控制位
#define ADC_FLAG 0x10 //ADC完成标志
#define ADC_START 0x08 //ADC起始控制位
#define ADC_SPEEDLL 0x00 //540个时钟
#define ADC_SPEEDL 0x20 //360个时钟
#define ADC_SPEEDH 0x40 //180个时钟
#define ADC_SPEEDHH 0x60 //90个时钟
sbit DS1=P3^4;
sbit DS2=P3^5;
sbit DS3=P3^6;
sbit DS4=P3^7;
sbit set=P3^0;
sbit jia=P3^1;
sbit bell=P1^7;
uchar dat1[]={0xC00xF90xA40xB00x990x920x820xf80X800X900xff0xc6};
uchar dat2[]={0x400x790x240x300x190x120x020x780X000X100xff};//有小数点
uchar dat3[]={0x400x4F0x240x060x0B0x120x100x470X000X020xff};//有小数点
uchar dat4[]={0xC00xCF0xA40x860x8B0x920x900xC70X800X820xff};//
uchar table[4]={0};
unsigned int temp[2];
extern void init_ds1302_io();
extern void init_ds1302();
extern void read_time();
extern void write_time();
extern void read_nao();
extern int fen;
extern int shi;
extern int nfen;
extern int nshi;
//extern int ri;
//extern int yue;
//extern int week;
void Delayms(uint t)
{
uchar i;
while(t--)
for(i=0;i<123;i++);
}
char flag=1;
int ld;
void display()
{
DS1=0;
DS2=1;
DS3=1;
DS4=1;
P2=dat1[table[0]];
Delayms(1);
if(flag>0)
{
DS1=1;
DS2=0;
DS3=1;
DS4=1;
P2=dat2[table[1]];
Delayms(1);
DS1=1;
DS2=1;
DS3=0;
DS4=1;
P2=dat3[table[2]];
Delayms(1);
}
else
{
DS1=1;
DS2=0;
DS3=1;
DS4=1;
P2=dat1[table[1]];
Delayms(1);
DS1=1;
DS2=1;
DS3=0;
DS4=1;
P2=dat4[table[2]];
Delayms(1);
}
DS1=1;
DS2=1;
DS3=1;
DS4=0;
P2=dat1[table[3]];
Delayms(1);
DS1=1;
DS2=1;
DS3=1;
DS4=1;
}
void init()
{
TMOD= 0x10;
TL1 = (65536-50000)/256; //设置定时初值
TH1 = (65536-50000)%256; //设置定时初值
ET1 = 1;
TR1 = 1;
EA = 1;
}
char menu=0;
bit gk=0;//光控开标志
bit nk=0;//闹钟开标志:受设置影响
void key()
{
if(nk==1 && jia==0)
{
while(jia==0);nk=0;
}
if(set==0)
{
Delayms(5);
if(set==0)
{
bell=0;
menu++;
if(menu==3){read_nao();}
if(menu==7){menu=0;ET1 = 1;write_time();}
while(set==0);
bell=1;
}
}
if(menu==1)
{
if(jia==0)
{
Delayms(5);
if(jia==0)
{
bell=0;
if(fen >= 0x60)
fen = 0;
fen=fen+0x01;
if((fen & 0x0f) >= 0x0a)
fen = (fen & 0xf0) + 0x10;
while(jia==0);
bell=1;
}
}
}
if(menu==2)
{
if(jia==0)
{
Delayms(5);
if(jia==0)
{
bell=0;
shi+=0x01;
if((shi & 0x0f) >= 0x0a)
shi = (shi & 0xf0) + 0x10;
if(shi >= 0x24)
shi = 0;
while(jia==0);
bell=1;
}
}
}
if(menu==3) //闹钟
{
if(jia==0)
{
Delayms(5);
if(jia==0)
{
bell=0;
if(nfen >= 0x60)
nfen = 0;
nfen=nfen+0x01;
if((nfen & 0x0f) >= 0x0a)
nfen = (nfen & 0xf0) + 0x10;
while(jia==0);
bell=1;
}
}
}
if(menu==4)
{
if(jia==0)
{
Delayms(10);
if(jia==0)
{
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
莱克迷KW
你要先明白,每部分代码的功能,使用的引脚与外设,再对应的删除
发布于
2020-07-07
举报
评论 0
0
0
其他答案
数量:
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STC15F204EA时钟单片机代码怎么去掉温度显示和闹钟求
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: