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

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

    关注

    10209

    文章

    10644

    浏览量

    509787
  • 51单片机
    +关注

    关注

    269

    文章

    5648

    浏览量

    120639
  • 电子钟
    +关注

    关注

    7

    文章

    186

    浏览量

    36673

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    基于51单片机电子钟设计设计要求是什么

    基于51单片机电子钟设计设计要求:(1) 电源采用12V电池供电;(2) 采用MCS-51单片机控制,画出控制系统的硬件
    发表于 11-10 07:48

    基于单片机控制的电子钟电路制作

    基于单片机控制的电子钟电路制作
    发表于 05-17 00:00 4753次阅读
    基于<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-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单片机进行电子钟设计的电路图程序免费下载。
    发表于 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>免费下载

    使用51单片机设计的光立方C语言程序资料说明

    本文档的主要内容详细介绍的是使用51单片机设计的光立方C语言程序资料说明,两个io口控制八个共
    发表于 05-05 08:00 3次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机设</b>计的光立方C语言<b class='flag-5'>程序</b>和<b class='flag-5'>资料</b><b class='flag-5'>说明</b>

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

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

    基于51单片机电子钟设计

    基于51单片机电子钟设计设计要求:(1) 电源采用12V电池供电;(2) 采用MCS-51单片机控制,画出控制系统的硬件
    发表于 11-04 19:51 38次下载
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>电子钟</b>设计

    51单片机设计智能小车的制作资料合集

    51单片机设计智能小车的制作资料合集
    发表于 03-21 15:50 9次下载

    基于51单片机数码管电子钟设计资料程序文件

    基于51单片机数码管电子钟设计资料程序文件
    发表于 04-26 15:17 9次下载