电子时钟设计(单片机)需求分析

电子钟 目 录 一、需求分析2 1.功能描述2 2.其他要求2 1.设计思路2 2.器件选型2 三、硬件设计2 1.硬件框图2 2.硬件模块2 3.硬件电路图2 四、软件设计3 1.软件框图3 2.软件流程图及其程序代码3 2.1主程序3 2.2键盘扫描子程序5 2.3显示子程序8 五、测试效果10 六、问题分析10 1、实现过程中遇到的问题及解决方法分析。10 2收获与体会。11 一、需求分析 1. 功能描述 该电子钟能实现基本的时钟显示,还能调时。调时可以对分时秒的每个位(即个位和十位)调整。 2. 其他要求 当时钟的时间小于10-00-00时,时的十位为零,不显示。(如显示时间:9-45-00) 二、总体设计 1. 设计思路 用89C51单片机实现控制和数据输出,8位7段LED数码管作为显示器件。时间的调整通过外加独立按键来控制。 2. 器件选型 89C51单片机、LED数码管、独立按键。 三、硬件设计 1. 硬件框图 2. 硬件模块 因该设计非常简单,硬件模块很少,只有显示模块和按键模块。 3. 硬件电路图 硬件电路如下图所示: 四、软件设计 1. 软件框图 2. 软件流程图及其程序代码 2.1主程序 1.初始化: 将数字编码放在数组dis_7[11]中,位选数据放在scan_con[8]中,分、时、秒的个位和十位放在dis_[8]中,分时秒的初始数据放在timedata[3]中。 2.键盘扫描: 判断key0~key3中哪些键按下, 当key3未按下时: 1. key0按下,则key0每按下一次,秒加1。 2. key1按下,则key0每按下一次,分加1。 3. key2按下,则key0每按下一次,时加1。 当key3按下时: 1. key0按下,则key0每按下一次,秒的十位加1(即秒加10)。 2. key1按下,则key0每按下一次,分的十位加1。 3. key2按下,则key0每按下一次,时的十位加1。 3.显示: 通过P2口控制位选,使8个数码管依次被选中。P0口作为数据的输出口,循环输出分、时、秒的各位数据,当P0口输出某位的数据后,P2口控制位选将给位数码管选中,从而使该位显示。同时当时的十位为零时,使p2口输出为0,使该位不显示。(即当hour=60) { timedata[0]=0; timedata[1]++; if(timedata[1]=60) { timedata[1]=0; timedata[2]++; if(timedata[2]==24) timedata[2]=0; } }} if(key1==0) {delay1ms(10); while(key1==0); timedata[1]+=10; if(timedata[1]>=60) { timedata[1]=0; timedata[2]++; if(timedata[2]==24) timedata[2]=0; } } if(key2==0) { delay1ms(10); while(key2==0) ; timedata[2]+=10 ; if(timedata[2]>=24) timedata[2]=0; } } } 2.3显示子程序 显示子程序流程图 显示子程序代码 display() { char k; dis[7]=timedata[0]%10; dis[6]=timedata[0]/10; dis[4]=timedata[1]%10; dis[3]=timedata[1]/10; dis[1]=timedata[2]%10; dis[0]=timedata[2]/10; //通过模10计算,取出分时秒的个位和十位的值 if(dis[0]==0) P2=0 x00; //时个十位为零时,不显示 else { P0=dis_7[dis[0]]; P2=scan_con[0]; delay1

android时钟需求分析,电子时钟设计(单片机)需求分析相关推荐

  1. 【单片机毕业设计】【mcuclub-312】数字时钟 | 万年历电子时钟 | 多功能时钟 | 智能闹钟 | 语音电子时钟

    设计简介: 项目名:基于单片机的数字时钟的设计-普通版.基于单片机的智能闹钟的设计.基于单片机的语音电子时钟的设计 单片机:STC89C52 功能简介: 1.通过DS18B20测量环境温度 2.通过D ...

  2. 基于8051单片机实现电子时钟+数字秒表设计

    电子时钟+数字秒表设计 概述 设计任务的基本要求 整体方案 电路设计原理 软件设计 元件清单 项目下载地址 概述 电子时钟是一种利用数字电路来显示秒.分.时的计时装置,与传统的机械钟相比,它具有走时准 ...

  3. 基于51单片机的LCD1602电子时钟

    摘要: 51系列单片机是各单片机中最为典型和最有代表性的一种.由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器.本次设计的数字电子时钟采用了STC89C52芯片进行控制,使用DS1 ...

  4. 【FPGA】数码管电子时钟(可设置时间和闹钟)

    目录 前言 一丶需求分析 1.设置时间 2.设置闹钟 二丶工程源码 1.counter 2.seg_driver 3.key_debounce 4.beep 5.顶层模块 三丶模块原理图 四丶管脚信息 ...

  5. c语言钟表程序,制作一个电子时钟C语言版

    平常我们常见的电子时钟,能够显示当下的时分秒信息,并且能够随时变化递增,记录着时间的流逝.今天,我要用c语言来制作这样一款电子时钟,看时间这把杀猪刀如何"一刀一刀"溜掉.我会一步一 ...

  6. 基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)

    本学期单片机课程要求做课程设计,我选取的课题如下: 基于单片机的电子时钟设计,要求: (1)实时显示当前时间: (2)能够对时间进行设置: (3)包括年月日,小时,分钟,秒. (4)整点提醒功能. 经 ...

  7. keil c语言 1602时钟代码,基于单片机的LCD1602电子时钟设计.doc

    基于单片机的LCD1602电子时钟设计 设计任务和目的 1.1.设计任务 (1):用单片机设计基于LCD1602的电子时钟,显示时间和日期: (2):误差精度控制在1s/天: (3):具有时间和日期的 ...

  8. 微型计算机系统电子时钟程序设计,基于单片机的电子时钟设计 普通单片机电子时钟的设计的分析...

    摘要:随着电子科技的飞速发展,尤其是超大规模集成电路的出现,给我国的经济带来了实质性的改变.其中,对于单片机的使用已经在很多领域都有出现,比如说在工业自动化控制房间.在智能仪器仪表方面以及各种家用电器 ...

  9. 基于51单片机的电子时钟设计

    基于51单片机的电子时钟设计 0 功能介绍 1.从DS1302中读取时间显示 2.一共4个按键,按键1按下进入修改时间模式,再按下切换修改的时间变量,这个时候第2和3个按键就是修改时间变量的按键,修改 ...

最新文章

  1. fastq质量值_fastq格式文件处理大全(四)
  2. Science:又一明星菌群可以调控肠道免疫?
  3. 2019年上半年收集到的人工智能开源框架介绍文章
  4. Storm和MR及Spark Streaming的区别
  5. Flutter framework在线上构建时的包大小优化
  6. Reachable Numbers
  7. matlab 旅行商遗传算法,急求蚁群混合遗传算法在matlab上的实现以解决TSP旅行商的问? 爱问知识人...
  8. OOP接口与抽象类的区别
  9. js导出的xlsx无法打开_vue将数据导出为excel文件就是如此简单
  10. 计算机视觉基础-图像处理(边缘检测)cpp+python
  11. gradle 指定springcloud 版本_如何优雅地使用Gradle
  12. 大数据的搜索引擎——Elasticsearch
  13. win环境sftp软件_在Windows上使用sftp工具—WinSCP
  14. PHP安卓获取gpgga,这个单片机程序中 感觉GPS的 GPGGA这条信息没有被保存
  15. Java制作小工具 局域网聊天工具
  16. FME 坐标系使用(二)----关于Beijing54坐标系和Xian80坐标系说明的补充
  17. 什么是网站死链?如何查询网站死链?网站死链怎么解决?
  18. 德格:一个专门为中小型企业做定制化服务的SaaS平台
  19. java1.8离线安装包_运维笔记--Ubuntu离线安装jdk1.8(JDK8)Java环境
  20. 看黑客如何一步步攻破你的服务器

热门文章

  1. Unity游戏存档-PlayerPrefs类
  2. Android开发——编译FFmpeg(一、前言)
  3. 虚拟服务器 vmotion,vSphere vMotion能够同时迁移多少台虚拟机?
  4. 手持式信号综合分析仪 天馈线驻波比频谱分析仪 天馈线+频谱+干扰分析仪 4.4GHZ无线综合测试仪
  5. Born近似和Rytov近似
  6. Java实现微信小程序支付(支付,提现,退款)
  7. 夕阳红旅游团第三周报告
  8. 半导体激光器的工作原理
  9. 旧路由器改装无线打印服务器,旧路由器改wifi放大器详细教程【图】
  10. 【mysql】ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key ‘PR