0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用51单片机设计电子钟制作的介绍电路图和程序等资料说明

2oON_changxuemc 来源:未知 2018-12-23 09:44 次阅读

经过两天熬夜的艰苦奋战,在原程序基础上进行升级,添加按键多功能操作

新增功能:1. K1模式转换,可自由切换:主界面显示,时间调整,闹钟设置,温度上下限设定等; 2. K2选定需要调整的位数。

切换至时间调整时,通过K3-"加",K4-"减"按键调整数值。

切换至闹钟设置时,通过K3-"加",K4-"减"按键调整数值。

切换至温度上下限设定时,通过K3-"加",K4-"减"按键调整数值。

准备扩展的新功能:闹钟音乐,喇叭开启和关闭,。

操作说明:

开机进入主界面,显示时钟和温度。按下K1时,进入模式选择,(有时间调整,闹钟设置,温度上下限设定等),当K1按下四次后,长响一声,回到主界面。

当K1(模式选择键)按下第一次,选择在时间调整时,按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回时间调整界面。

再按下K1(模式选择键)按下第二次,进入到下一个模式,闹钟设置。按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回闹钟设置界面。

再按下K1(模式选择键)按下第三次,进入到下一个模式,温度上下限设定。按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回温度上下限设定界面。

当K1(模式选择键)按下第四次,返回到时钟和温度主界面显示。

采用的是stc89c51单片机,代码:

#include"reg51.h" #define uchar unsigned char #define uint unsigned int /****温度 端口定义******/ sbit wx5=P2^4; sbit wx6=P2^5; sbit wx7=P2^6; sbit wx8=P2^7; sbit DQ=P3^6; uint temp, temp1,temp2, xs,H1,H2,L1,L2; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0X9c,0xc6,0x91,0xfc,0XE3}; /******延时程序*******/ void delay1(uint m) { uint i,j; for(i=m;i>0;i--) for(j=110;j>0;j--); } void delay(unsigned int m) { while(m--); } void Init_DS18B20() { unsigned char x=0; DQ = 1; //DQ复位 ds18b20通信端口 delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 delay(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay(4); x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(20); } /***********ds18b20读一个字节**************/ uchar ReadOneChar() { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 高电平拉成低电平时读周期开始 dat>>=1; DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; // delay(4); } return(dat); } /*************ds18b20写一个字节****************/ void WriteOneChar(unsigned char dat) { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; //从高电平拉至低电平时,写周期的开始 DQ = dat&0x01; //数据的最低位先写入 delay(5); //60us到120us延时 DQ = 1; dat>>=1; //从最低位到最高位传入 } } /**************读取ds18b20当前温度************/ void ReadTemperature() { unsigned char a=0; unsigned b=0; unsigned t=0; Init_DS18B20(); WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 delay(1); // this message is wery important Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 delay(1); a=ReadOneChar(); //读取温度值低位 b=ReadOneChar(); //读取温度值高位 temp1=b<<4;           //高8位中后三位数的值    temp1+=(a&0xf0)>>4; //低8位中的高4位值加上高8位中后三位数的值 temp1室温整数值 temp2=a&0x0f; //小数的值 temp=((b*256+a)>>4); //当前采集温度值除16得 实际温度值 zhenshu xs=temp2*0.0625*10; //小数位,若为0.5则算为5来显示 xs小数 xiaoshu } /////////////////////////////////////////////////////////////////////// /****时钟 端口定义******/ sbit wx1=P2^0; sbit wx2=P2^1; sbit wx3=P2^2; sbit wx4=P2^3; uchar qian,bai,shi,ge,miao1,miao2,count1,count2; uchar n1,n2,z1,z2;//设置闹钟变量 uchar code table1[]={0xc0,0xcf,0xa4,0x86,0x8b, 0x92,0x90,0xc7,0x80,0x82}; //////////////////////////////////////////// /***************按键调时程序***************/ sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit K4=P3^3; sbit BEEP=P3^7; //// 定义蜂鸣器口 uchar K1num,K2num,K3num,K4num,K5num,K6num,K7num; ////////////////////////////////////////// /**********报警声音**************/ bi(uint t) { int c,n; for(c=0;c

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路图
    +关注

    关注

    10320

    文章

    10718

    浏览量

    527956
  • 51单片机
    +关注

    关注

    273

    文章

    5697

    浏览量

    123128
  • 电子钟
    +关注

    关注

    7

    文章

    189

    浏览量

    36905

原文标题:51单片机电子钟制作

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机电子钟程序电路图资料

    单片机电子钟程序电路图资料
    发表于 08-19 23:32

    单片机电子钟程序电路图资料

    单片机电子钟程序电路图资料 其中所用芯片MAX7219简介:MAX7219是一个高集成化的串行输入/输出的共阴极LED驱动显示器。文章对MAX7219的管脚功能和操作指令做了详细
    发表于 05-22 16:26 595次下载
    <b class='flag-5'>单片机电子钟</b>源<b class='flag-5'>程序</b>及<b class='flag-5'>电路图</b><b class='flag-5'>资料</b>

    使用51单片机设计计数器的程序电路图的详细资料免费下载

    本文档的主要内容详细介绍的是使用51单片机设计计数器的程序电路图的详细资料免费下载。
    发表于 08-20 08:00 22次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计计数器的<b class='flag-5'>程序</b>和<b class='flag-5'>电路图</b>的详细<b class='flag-5'>资料</b>免费下载

    使用51单片机设计的电子钟程序资料合集免费下载

    本文档的主要内容详细介绍的是使用51单片机设计的电子钟程序资料合集免费下载。
    发表于 01-16 15:02 35次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计的<b class='flag-5'>电子钟</b><b class='flag-5'>程序</b>和<b class='flag-5'>资料</b>合集免费下载

    使用51单片机控制LED实现8X8点阵的电路图程序资料说明

    本文档的主要内容详细介绍的是使用51单片机控制LED实现8X8点阵的电路图程序资料
    发表于 04-17 17:27 10次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>控制LED实现8X8点阵的<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>及<b class='flag-5'>资料</b><b class='flag-5'>说明</b>

    使用51单片机设计4X4矩阵键盘电子琴的电路图程序免费下载

    本文档的主要内容详细介绍的是使用51单片机设计4X4矩阵键盘电子琴的电路图程序免费下载。
    发表于 08-23 17:30 14次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计4X4矩阵键盘<b class='flag-5'>电子</b>琴的<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>免费下载

    使用51单片机设计的红外解码器电路图程序免费下载

    本文档的主要内容详细介绍的是使用51单片机设计的红外解码器电路图程序免费下载。
    发表于 07-11 17:39 5次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计的红外解码器<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>免费下载

    使用51单片机设电子琴的电路图程序免费下载

    本文档的主要内容详细介绍的是使用51单片机设电子琴的电路图程序免费下载。
    发表于 07-09 17:40 1次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计<b class='flag-5'>电子</b>琴的<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>免费下载

    使用51单片机设计矩阵按键数码管显示的超简洁程序电路图免费下载

    本文档的主要内容详细介绍的是使用51单片机设计矩阵按键数码管显示的超简洁程序电路图免费下载。
    发表于 07-05 17:41 0次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计矩阵按键数码管显示的超简洁<b class='flag-5'>程序</b>和<b class='flag-5'>电路图</b>免费下载

    使用51单片机设计交通灯的电路图和C语言程序免费下载

    本文档的主要内容详细介绍的是使用51单片机设计交通灯的电路图和C语言程序免费下载。
    发表于 07-03 17:41 2次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计交通灯的<b class='flag-5'>电路图</b>和C语言<b class='flag-5'>程序</b>免费下载

    使用51单片机设计99到00倒计时的秒表电路图程序免费下载

    本文档的主要内容详细介绍的是使用51单片机设计99到00倒计时的秒表电路图程序免费下载。
    发表于 06-20 17:43 20次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计99到00倒计时的秒表<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>免费下载

    使用51单片机设计简易电子琴的电路图和代码免费下载

    本文档的主要内容详细介绍的是使用51单片机设计简易电子琴的电路图和代码免费下载。
    发表于 06-18 17:44 35次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计简易<b class='flag-5'>电子</b>琴的<b class='flag-5'>电路图</b>和代码免费下载

    使用51单片机进行电子钟设计的电路图程序免费下载

    本文档的主要内容详细介绍的是使用51单片机进行电子钟设计的电路图程序免费下载。
    发表于 06-12 17:45 33次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行<b class='flag-5'>电子钟</b>设计的<b class='flag-5'>电路图</b>和<b class='flag-5'>程序</b>免费下载

    使用单片机设计的电子钟程序免费下载

    本文档的主要内容详细介绍的是使用单片机设计的电子钟程序免费下载。
    发表于 05-09 18:18 14次下载
    使用<b class='flag-5'>单片机设</b>计的<b class='flag-5'>电子钟</b><b class='flag-5'>程序</b>免费下载

    实用单片机实现电子钟制作程序免费下载

    本文档的主要内容详细介绍的是实用单片机实现电子钟制作程序免费下载。
    发表于 03-25 11:36 26次下载