智能时钟.zip
大小:35.74KB
价格:50积分
下载量:0
评分:
5.0
上传者:qq_67319052
更新日期:2025-09-22

基于STC89C51单片机的智能时钟Keil工程

资源文件列表(大概)

文件名
大小
智能时钟/clock.c
6.88KB
智能时钟/debug.log
99B
智能时钟/Listings/
-
智能时钟/Listings/clock.lst
21.21KB
智能时钟/Listings/STARTUP.lst
13.83KB
智能时钟/Listings/智能时钟.m51
15.61KB
智能时钟/Objects/
-
智能时钟/Objects/clock.obj
11.03KB
智能时钟/Objects/STARTUP.obj
819B
智能时钟/Objects/智能时钟
10.2KB
智能时钟/Objects/智能时钟.build_log.htm
1023B
智能时钟/Objects/智能时钟.hex
2.61KB
智能时钟/Objects/智能时钟.lnp
108B
智能时钟/STARTUP.A51
6.23KB
智能时钟/智能时钟.uvgui.liang
89.44KB
智能时钟/智能时钟.uvopt
5.98KB
智能时钟/智能时钟.uvproj
14.27KB

资源内容介绍

通过数码管显示年、月、日、时、分、秒;同时可以通过按键修改时间。其中包含最简单的按键消抖、简单C语言语句的运用、数码管的动态显示、74HC573数字芯片的运用、51单片机定时器中断的使用;适合新手观看,主要提供一点思路。
#include <reg52.h>#include <intrins.h>#define u8 unsigned char#define u16 unsigned intsbit DU = P2 ^ 6; //数码管段选sbit WE = P2 ^ 7; //数码管位选sbit key1 = P3 ^ 0; //切换日历和时间。sbit key2 = P3 ^ 1; //切换位用来准备调值。sbit key3 = P3 ^ 2; //加数器。sbit key4 = P3 ^ 3; //切换到秒表。u8 year = 22, month, day, h, m, s; //时间计数变量。u8 ms, ss, us; //秒表计数变量。u16 count, count1; //计数变量。u8 keyvalue0, keyvalue, keyvalue1; //切换模式,调节时分秒各个位置,开关秒表。void delay(int i)//5us延时函数。{ while(i--) _nop_();}void time0()//设置定时器0,8位自动重装模式,定时0.2ms{ TMOD = 0x02; TH0 = 0x37; TL0 = 0x37; EA = 1; ET0 = 1; TR0 = 1;}u8 code SMGduan[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; //固定数值数组。void display(u8 a, u8 b, u8 c) //数码管显示函数。{ if(keyvalue != 2 && keyvalue != 3) { DU = 0; P0 = SMGduan[a / 10]; DU = 1; DU = 0; WE = 0; P0 = 0xFE; WE = 1; delay(100); P0 = 0xFF; WE = 0; DU = 0; P0 = SMGduan[a % 10]; DU = 1; DU = 0; WE = 0; P0 = 0xFD; WE = 1; delay(100); P0 = 0xFF; WE = 0; } DU = 0; P0 = 0x40; DU = 1; DU = 0; WE = 0; P0 = 0xFB; WE = 1; delay(100); P0 = 0xFF; WE = 0; if(keyvalue != 1 && keyvalue != 3) { DU = 0; P0 = SMGduan[b / 10]; DU = 1; DU = 0; WE = 0; P0 = 0xF7; WE = 1; delay(100); P0 = 0xFF; WE = 0; DU = 0; P0 = SMGduan[b % 10]; DU = 1; DU = 0; WE = 0; P0 = 0xEF ; WE = 1; delay(100); P0 = 0xFF; WE = 0; } DU = 0; P0 = 0x40 ; DU = 1; DU = 0; WE = 0; P0 = 0xDF; WE = 1; delay(100); P0 = 0xFF; WE = 0; if(keyvalue != 1 && keyvalue != 2) { DU = 0; P0 = SMGduan[c / 10]; DU = 1; DU = 0; WE = 0; P0 = 0xBF; WE = 1; delay(100); P0 = 0xFF; WE = 0; DU = 0; P0 = SMGduan[c % 10]; DU = 1; DU = 0; WE = 0; P0 = 0x7F ; WE = 1; delay(100); P0 = 0xFF; WE = 0; }}void keyscan()//按键扫描。{ if(key1 == 0) { delay(4000); if(key1 == 0) { keyvalue0++; if(keyvalue0 == 2) keyvalue0 = 0; } while(!key1); } if(key2 == 0) { delay(4000); if(key2 == 0) { keyvalue++; if(keyvalue == 4) keyvalue = 0; } while(!key2); } if(key4 == 0) { delay(4000); if(key4 == 0) { keyvalue1++; if(keyvalue1 == 3) { keyvalue1 = 0; ms = 0; ss = 0; us = 0; } } while(!key4); } if(keyvalue0 == 1) { if(keyvalue == 1) { if(key3 == 0) { delay(4000); if(key3 == 0) { year++; if(year == 51) year = 22; while(!key3); } } } if(keyvalue == 2) { if(key3 == 0) { delay(4000); if(key3 == 0) { month++; if(month == 13) month = 1; while(!key3); } } } if(keyvalue == 3) { if(key3 == 0) { delay(4000); if(key3 == 0) { day++; if(day == 31) day = 1; while(!key3); } } } } else { if(keyvalue == 1) { if(key3 == 0) { delay(4000); if(key3 == 0) { h++; if(h == 24) h = 0; while(!key3); } } } if(keyvalue == 2) { if(key3 == 0) { delay(4000); if(key3 == 0) { m++; if(m == 60) m = 0; while(!key3); } } } if(keyvalue == 3) { if(key3 == 0) { delay(4000); if(key3 == 0) { s++; if(s == 60) s = 0; while(!key3); } } } }}void main(){ time0(); while(1) { keyscan(); if(keyvalue1) { display(ms, ss, us); } else { if(keyvalue0) display(year, month, day); else display(h, m, s); } }}void time0h() interrupt 1//定时器0中断函数。{ count++; if(count == 46) { count = 0; count1++; if(keyvalue1 == 1) //进入秒表。 { us++; if(us == 100) { us = 0; ss++; if(ss == 60) { ss = 0; ms++; } } } if(count1 == 100) //正常时间累加。 { count1 = 0; s++; if(s == 60) { s = 0; m++; if(m == 60) { m = 0; h++; if(h == 24) { h = 0; day++; if(day == 30) { day = 0; month++; if(month == 12) { month = 0; year++; } } } } } } }}

用户评论 (0)

发表评论

captcha

相关资源

Smart系统-题库及试卷管理模块的设计与开发.zip

Smart系统-题库及试卷管理模块的设计与开发.zip

2.25MB41积分

基于Springboot技术的实验室管理系统

介绍基于Springboot技术的实验室管理系统,旨在通过信息化手段提升实验室管理的效率和质量。系统主要服务于高校和科研机构,具备完善的实验室预约、设备管理、课程管理等功能,为管理员、教师和学生提供便捷、高效的实验室使用和管理平台。系统设计了三种角色:管理端、教师端和学生端,每个角色对应不同的功能模块,满足各自的管理和使用需求。技术栈后端技术栈:Springboot+Mysql+Maven前端技术栈:Vue+Html+Css+Javascript+ElementUI开发工具:Idea+Vscode+Navicate系统功能介绍管理端功能模块个人中心:管理员可以管理个人信息,包括修改密码、更新联系方式等。学生管理:管理员可以添加、修改、删除和查看学生信息,管理学生的实验室使用记录和预约情况。教师管理:管理员可以添加、修改、删除和查看教师信息,管理教师的实验课程和实验室使用记录。公告信息管理:管理员可以发布和管理公告信息,确保重要通知和信息及时传达到教师和学生。知识库管理:管理员可以管理实验知识库,包括添加、修改

25.15MB20积分

高校实验室管理系统的实现

高校实验室管理系统的实现涉及多个关键方面,包括设备管理、资源预约、安全监控、数据分析等。以下是一些主要的实现步骤和功能要点:1. 设备管理1.设备信息管理: 记录每个实验室中的设备清单、型号、状态和维护记录。2.设备预约与借用: 学生或教职工可以通过系统预约或借用设备,确保资源的有效利用。2. 资源预约3.实验室预约: 提供学生和教职工预约实验室的功能,避免时间冲突和资源浪费。4.设备使用预约: 针对特定设备的使用预约,确保设备的有效利用和安全操作。3. 安全管理5.安全监控: 实验室内设备的安全使用监控,如实时视频监控或传感器监测,防止意外事件发生。6.安全规范与教育: 提供安全操作规范和培训,确保实验室安全意识和操作规范。4. 数据管理与分析7.实验数据记录: 对实验过程中产生的数据进行记录和存储,确保数据的安全和可查性。8.数据分析与报告: 分析实验结果数据,生成报告或图表,支持科研成果的整理和展示。5. 用户管理与权限控制9.用户账号管理: 管理学生、教职工等用户的账号和权限,确保不同角色的合适权限。10.权限控制: 设定不同用户

50.54MB31积分

基于SSM的健身房管理系统

1. 系统架构与技术选型Spring框架: 提供依赖注入和控制反转(IoC / DI)功能,管理Java对象的生命周期和配置。Spring MVC: 基于MVC模式,处理用户请求并将响应返回给客户端。MyBatis: ORM框架,用于简化数据库操作,提供SQL映射和执行。2. 数据库设计与实体类定义数据库设计: 设计健身房管理系统的数据库结构,包括会员信息、健身设备、健身课程、员工信息等表结构。实体类定义: 使用Java对象映射数据库表,定义会员、设备、课程、员工等实体类,利用注解或XML配置与数据库表的映射关系。3. 后端业务逻辑实现业务层(Service): 实现健身房管理系统的核心业务逻辑,如会员管理、设备管理、课程管理、员工管理等功能。数据访问层(DAO): 使用MyBatis进行数据库操作,定义接口并编写SQL语句,实现数据的CRUD(增删改查)功能。4. 前端界面设计与开发使用HTML、CSS、JavaScript等技术开发前端页面: 设计用户界面,包括会员注册、课程预约、设备租借等功能的页面。整合前端与后端: 使用Spring MVC的控制器处理前

8.17MB28积分