您所在位置: 网站首页 / 文档列表 / 电子设计 / 文档详情
电子时钟设计.docx 立即下载
上传人:一吃****瀚文 上传时间:2024-09-04 格式:DOCX 页数:18 大小: 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

电子时钟设计.docx

电子时钟设计.docx

预览

免费试读已结束,剩余 8 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第PAGE18页共NUMPAGES18页第PAGE\*MERGEFORMAT18页共NUMPAGES\*MERGEFORMAT18页电子时钟设计课程设计要求和内容1设计目的本程序旨在训练读者的基本编程能力,使读者熟悉C语言图形模式下的编程。本程序涉及时间结构体、数组、绘图等方面的知识。通过本程序的训练,使读者能对C语言有一个更深刻的了解,掌握利用C语言相关函数开发电子时钟的基本原理,为进一步开发出高质量的程序打下坚实的基础。2功能描述如图(1)所示,此电子时钟主要有以下4个功能组成电子时钟界面显示模块。电子时钟界面显示在调用电子钟运行处理之前完成,在这里主要调用了C语言图形系统函数和字符屏幕处理函数画出时钟程序的主界面。主界面包括类似Windows自带的电子时钟的界面和帮助界面两部分。电子时钟界面包括一个模拟时钟运转的钟表和一个显示时间的数字钟表。在帮助界面中,主要包括一些按键的操作说明。电子时钟按键控制模块。按键控制模块主要完成两大部分功能。第一,读取用户按键的键值。第二,通过对键盘按键值的判断,执行相应的操作,如光标移动、修改时间。(3)时钟动画处理模块。在时钟动画处理模块中,通过对相关条件的判断和时钟指针坐标点值的计算,完成时、分、秒指针的擦除和重绘,以达到模拟始终时钟运转的功能。(4)数字时钟处理模块。在数字时钟处理模块中,主要实现了数字时钟的显示和数字时钟的修改。其中,在数字时钟的修改中,用户可先按Tab键定位需要修改内容的位置,然后通过移动按光标(↑)或下移(↓)键来修改当前时间。总体设计功能模块设计电子时钟执行主流程此电子时钟执行主流程如图(2)所示。首先,程序调用initgraph()函数,使系统进入图形模式,然后通过使用line()、arc()、outtextxy()和circle()等函数来绘制主窗口及电子时钟界面,最后调用Clockhandle()函数来处理时钟的运转及数字时钟的显示。在clockhandle()函数中,使用了bioskey()函数来获取用户的按键值,当用户按键Esc时,程序会从clockhandle()函数中返回,从而退出函数。电子时钟界面显示电子时钟界面的实现比较简单。值得一提的是,模拟电子时钟的运转的动画时钟的时间刻度是用大小不同的圆来表示的,3根长度不同但有一端在相同坐标位置的直线分别表示时、分、秒针。3电子时钟按键处理模块在按键处理模块中,使用bioskey()函数来读取用户按键的键值,然后调用keyhandle()函数对键盘按键值进行判断,执行相应的操作。具体按键判断如下。若用户按下Tab键,程序会调用clearcursor()函数来清除上一个位置的光标,然后调用drawcursor()函数在新位置处绘制一个光标。若用户按下光标上移键,程序会调用timeupchange()函数来增加相应的时、分、秒值。若用户按下光标下移键,程序会调用timedownchange()函数来减少相应的时、分、秒值。若用户按下Esc键,程序会结束时钟运行,从而退出系统。数字时钟处理模块在数字时钟处理模块中,会每隔一秒调用gettime(t)函数,获取系统时间,然后调用digitclock()函数在相应的位置显示时、分、秒值。至于数字适时钟的修改,主要由当前光标位置和光标上移(↑)或下移(↓)按键两者共同决定。例如,若当前光标在分钟显示位置,且按下光标上移键,程序会将当前时间的分钟值增加1,即增加一分钟,若加1后的分钟值等于60,则将当前分钟值设置为0,最后调用settime(t)函数来设置新的系统时间。数据结构设计此程序中,使用了C语言的time结构体和几个全局变量,为了便于读者易于理解程序,这里分别来介绍。Time结构体Structtime{Unsignedcharti_min;Unsignedcharti_hour;Unsignedcharti_hund;Unsignedcharti_sec;};Time结构体定义在dos。h文件中,可用来保存系统的当前时间,其中各文字的值的含义如下。●unsignedcharti_min:保存分钟值。●unsignedcharti_hour:保存小时。●unsignedcharti_hund:保存百分之一秒。●unsignedcharti_sec:保存秒数。2全局变量①doubleh,m,s:此3个全局变量分别用来保存小时、分钟、秒数。②doublex,x1,x2,y,y1,y2:保存数字时钟的小时、分、秒在屏幕中显示的坐标值。③structtime
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

电子时钟设计

文档大小:

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用