搜档网
当前位置:搜档网 › C语言课程设计报告-模拟时钟转动程序

C语言课程设计报告-模拟时钟转动程序

C语言课程设计报告-模拟时钟转动程序
C语言课程设计报告-模拟时钟转动程序

课程设计报告

课程名称结构化程序设计课程设计院部名称

专业

班级

学生姓名王蕾

学号

课程设计地点

课程设计学时

指导教师

金陵科技学院教务处制

目录

第一章课程设计的目的和要求.............................................

1.1 C语言课程设计的目的............................................

1.2 C语言课程设计实现的要求........................................ 第二章课程设计的任务内容............................................... 第三章详细设计说明.....................................................

3.1 程序系统的结构..................................................

3.1.1 实验设备及环境:(软、硬件环境)

3.2 模块描述........................................................

3.2.1 指针式时钟................................................

3.2.2 数字式时钟................................................

3.3 输出项..........................................................

3.4 算法............................................................

3.5 流程图..........................................................

3.6 函数说明........................................................

3.7 接口............................................................

3.8 调试结果........................................................ 第四章软件使用说明.....................................................

4.1 软件使用说明及出现的问题........................................

4.2 运行结果........................................................ 第五章课程设计心得与体会............................................... 附录1:参考文献......................................................... 附录2:修改后的源代码……………………………………………………………………

模拟时钟转动程序

第一章课程设计的目的和要求

1.1 C语言课程设计的目的

加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。通过编程最终使程序运行结果为电脑屏幕显示模拟时钟,并正常运行显示表针时间。

1.2 C语言课程设计实现的要求

能模拟机械钟表行走;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;要准确地利用数字显示日期和时间并且可以根据用户的需求更改当前时间(指针式时钟与数字式时钟实现同步更改);数字式时钟的时间显示与指针式时钟显示一致;可以通过上下键改变当前的时、分、秒;改的时间是小时、分钟、还是秒数;通过Tab键切换按Esc时程序退出。

第二章课程设计的任务内容

要熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。用C语言实现一个模拟时钟转动程序;Graphics函数库。

提出总体方案的设计思想和原理,绘制程序流程图和描述程序的功能,并说明程序的特点和难点。

能模拟机械钟表行走;要准确地利用数字显示日期和时间;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;数字式时钟的时间显示与指针式时钟显示一致;按任意键时程序退出。

模拟时钟是一种集计时器和时钟显示于一体的程序。编写一个指针式时钟程序,此程序在屏幕正中有一个指针式钟面,窗口标题以数字方式显示日期和时间。指针式的时钟表盘为椭圆形或圆形,并且圆周上有分布均匀的12个刻度,刻度要求显示清楚,钟面上有长度不相同的指针,即时针、分针、秒针,指针的运动要求具有规律性,且为顺时针。数字钟显示时间的格式是年月日时分秒,小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。

第三章详细设计说明

3.1 程序系统的结构

模拟时钟转动程序

指针式时钟数字式时钟(用户可根据需要修改当前时间)

图3.1 功能模块图

3.1.1 实验设备及环境:(软、硬件环境)

Windows XP操作系统

Win TC IDE C语言开发环境

Hp笔记本

3.2 模块描述

3.2.1 指针式时钟

指针式的时钟表盘为圆形,并且圆周上有分布均匀的12个较大刻度和六十个较小的刻度,刻度显示清楚,分别表示小时、分钟和秒数钟面上有长度不相同的指针,即时针、分针、秒针,指针的运动具有规律性,为顺时针。

3.2.2 数字式时钟

数字钟显示时间的格式是时分秒,小时为24进制,分钟和秒是60进制,指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

时钟计时器课程设计

单片机原理及应用课程设计报告书 题目:时钟计时器的设计 姓名: 学号: 专业:电气工程及其自动化 指导老师:周令 设计时间:2011年4月 电子与信息工程学院

目录 1. 引言 (1) 1.1. 设计意义 (1) 1.2. 系统功能要求 (1) 2. 方案设计 (1) 2.1. 数字时钟计时器设计方案论证 (1) 2.2. 硬件系统的总体设计框图 (2) 3. 硬件设计 (2) 4. 软件设计 (3) 4.1. 主程序 (3) 4.2. 显示子程序 (4) 4.3. 定时器T0中断服务程序 (4) 4.4. 定时器T1中断服务程序 (5) 4.5. 调时功能程序 (6) 4.6. 秒表功能程序 (6) 4.7. 闹钟时间设定功能程序 (6) 5. 调试及性能分析 (7) 5.1. 硬件调试 (7) 5.2. 软件调试 (7) 5.3. 性能分析 (8) 6. 设计总结 (8) 7. 附录A:汇编源程序 (9) 8. 附录B:作品实物图片 (26) 9. 参考文献 (27)

时钟计时器的设计 1.引言 1.1.设计意义 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字时钟计时器,本数字时钟计时器,可以显示时、分、秒,以24小时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)等功能。 人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字时钟计时器就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字时钟计时器与传统的计时器相比,具有读数方便,操作简单,计时精准,还能实现整点提醒,定时提醒等功能。其输出时间采用数字显示,主要用于对时间要求精度高的场所,或科研实验室使用,该设计控制器使用单片机AT89C52,用6位共阳极LED数码管以串口传送数据,实现数字显示功能,能准确达到以上要求。 1.2. 系统功能要求 用单片机及6位LED数码管显示时、分、秒,以24小时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)等功能。 2.方案设计 2.1. 数字时钟计时器设计方案论证 为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的

《数字逻辑》数字时钟课程设计报告资料

《数字逻辑》课程设计报告 题目数字时钟 学院(部)信息工程学院 专业计算机科学与技术 班级计算机一班 学生姓名 学号20132402 6 月29 日至 7 月 3 日共1 周 指导教师(签字)

题目 一.摘要: 钟表的数字化给人们的生产生活带来了极大的方便,并且极大的扩展了钟表原先的报时功能。诸如定时自动报有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常警、学校的按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯,甚至各种定时电气的自启用等。所现实的意义。本次数电课设我组设计的数字时钟是由石英晶体振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路和计时电路组成,石英晶体振荡器产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器在七段显示器上显示时间。 二.关键词: 校时计时报时分频石英晶体振荡器 三.技术要求: 1、有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能; 2、有计时功能,时钟不会在计时的时候停下。计时范围是0~99秒; 3、有闹铃功能,闹铃响的时间由使用者自己设置,闹铃时间至少一分钟; 4、要在七段显示器(共阴极6片)显示时间; 5、电子钟要准确正常地工作。 四、方案论证与选择: 钟表的是长期使用的器件,误差容易积累由此增大。所以要求分频器产生的秒脉冲要极其准确。而石英晶体产生的信号是非常稳定的,所以我们使用石英晶体产生的信号经过分频电路作为秒脉冲。秒脉冲信号经过6级计数器,分别得到“秒”、“分”、“时”的个位、十位的计时。由实际的要求,“秒”、“分”计数器为60进制的计数器,小时为24进制。由于74LS160十进制加法计数器易于理解使用,我们在设计各个计数器时都是由采用74LS160芯片级联构成。在计时部分,最小单位是0.01s,我们采用555多谐振荡器产生100HZ的信号作为秒脉冲进入一个4级计数器,计时范围是0~99秒。石英晶体

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

多功能计时器-课程设计

信息工程学院课程设计报告书题目: 多功能计时器 专业:电子信息科学学技术 班级: 学号: 学生姓名: 指导教师: 2012 年 12 月 24 日

信息工程学院课程设计任务书 年月日

信息工程学院课程设计成绩评定表

摘要 此多功能计时器是基于741s48、74ls192、555定时器、CD40161设计的,由六个主要部分组成,即控制电路、秒脉冲发生器、计数器、译码显示器、置数电路以及声光报警电路,包含置数(00至99)、1s倒计时、开启、暂停、连续、清零以及到点声光报警等主要功能,也能完成一个完整的系统过程,可用于各种竞赛计时,交通灯系统,及报警装置。计时范围为00至99,可智能控制。 关键词:多功能计时器、1s倒计时、连续、声光报警

目录 目录 (4) 1 任务提出与方案论证 (5) 1.1 任务提出 (5) 1.2 方案论证 (5) 2 总体设计 (6) 2.1 总体框图 (6) 2.2 总体电路 (7) 3 详细设计 (8) 3.1秒脉冲发生器 (8) 3.2译码计时电路 (10) 3.3控制电路 (13) 3.3.1总开关 (13) 3.3.2单刀双掷开关 (13) 3.4反馈电路 (14) 3.5报警电路 (14) 3.6置数电路: (15) 4 总结 (17) 5 参考文献 (18)

1 任务提出与方案论证 1.1 任务提出 设计一种多功能计时器,要求实现以下功能: 置数、1s倒计时、开启、暂停、连续、清零以及到点声光报警,计时范围为00至99,可智能控制。能任意定时,开启和暂停及清零,1秒的准确延时,及到点声光报警。 1.2 方案论证 秒脉冲发生器:可以选用晶振产生,或者用555定时器或者555与CD40161同时产生,为了实现反馈,让计时器计数到零时停止,我选用CD40161 ,即实现了1s计数有可以形成反馈。译码电路:我选用4线-七段译码器/驱动器74LS48来实现。 计时电路:我选用十进制可逆计数器74LS48 ,可以用来置数,同时也可以来产生减计数。控制电路:用按键和反馈来实现。 报警电路:用speaker和led来实现。 置数电路:用单刀双掷开关选通74ls48的置数端,通过置0或置1来控制。

单片机电子时钟课程设计报告

目录 1、引言·3 2、总体设计·4 3、详细设计·5 3.1硬件设计·5 3.2软件设计·10 4、实验结果分析·26 5、心得体会·27 6、参考文献·27

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机 AT89C51

1.引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

24秒计时器课程设计

电子课程设计篮球24秒计时器 班级:自动化092201H班 姓名:陈鹏飞 学号:200922060101

目录 序言 (3) 一、设计任务及要求 (3) 二、总体框图 (3) .......................................................................................................... .......................................................................................................... .......................................................................................................... 三、选择器件 (4) ........................................................................................................... .......................................................................................................... 四、功能模块 (8) 五、总体电路设计 (12) 六、参考文献 (14) 七、心得体会 (14)

序言 篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要 求进攻方在24秒内有一次投篮动作,否则视为违例。本人设计了一个篮球比赛计时器,可对比赛总时间和各方每次控球时间既是。该计时器采用按键操作,LED 显示,非常实用,此计时器也可作为其他球类比赛的计时器。 篮球24秒计时器 一、设计任务与要求 1. 有显示24秒的计时功能 2. 置外部操作开关,控制计时器的直接清零,起碇和暂停连续功能 3. 计时器喂24秒递减计时器,其间隔为1秒 4. 计时器递减计时到0时,数码显示器不能灭灯 应发出光电报警信 号 二、总体框图 二. 1秒脉冲发生器: 秒脉冲信号发生器需要产生一定精度和幅度的矩形波信号。实现这样矩形波的方法很多,可以由非门和石英振荡器构成,可由单稳态电路构成,可以由施密特触发器构成,也可以由555点哭构成等。 不同的电路队矩形波频率的精度要求不同,由此可以选用不同电路结构的脉冲信号发生器。本实验中由于脉冲信号作为计数器的计时脉冲,其精度直接影响计数器的精度,因此要求脉冲信号有比较高的精度。一般情况下,要做出一个精度比较高的 频率很低的振荡器有一定的难度 工程上解决这一问题的办法就是先做一个频率比较高的矩形波震荡器,然后将其输出信号通过计数器进行多级分项,就可以得到频率比较低 精度比较高的脉冲信号发生器,其精度取决于振荡 秒脉冲发生器 外部操作信号 译码/显示电路 24t 计数器 控制电路 报警电路

EDA数字时钟课程设计报告

EDA技术及应用课程设计说明书 2013 届电子信息工程专业班级 题目数字时钟 学号 姓名 指导教师 二О一五年月日

一、基本原理 一个完整的时钟应由三部分组成:秒脉冲发生电路、计数显示部分和时钟调整部分。 秒脉冲发生电路原理:一个时钟的准确与否主要取决于秒脉冲的精确度。为了保证计时准确我们对系统时钟48MHz进行了48000000分频,从而得到1Hz的秒脉冲。 计数显示部分原理:显示部分是用数码管LED实现的,这里使用的是共阳极的数码管如图所示8个数码管,其中左边两个数码管用来显示时的个位和十位、中间的显示分的个位和十位、最右边两个显示分的个位和十位。 时钟调整部分原理:校时电路里定义key[0]、key[1]和k2、k3分别用于控制时钟的计时开始、清零和调整功能中的时的加1、分的加1处理,从而完成对现在的时间调整。本实验电路校时电路在此完成了暂停、清零、时调整和分调整。

二、硬件设计 芯片图: 图1 数字时钟原理图 程序的调试工作都是在电脑上完成的,通过程序的输入、原理图的建立、管脚分配、编译、仿真、再下载到芯片进行运行。

电路中采用共阳极连接的七段数码管,通过程序的控制扫描驱动来显示时钟的时-分-秒。

程序中的按键设定为K1暂停、K2清零、K3调时、K4调分元件清单: 三、数字时钟的Verilog实现 管脚的分配: 程序: module clock(clk,s1,,s2,key,dig,seg); //模块名clock input clk,s1,s2; //输入时钟 input[1:0]key; //输入按键 output[7:0]dig; //数码管选择输出引脚

大连理工大学数字电路课程设计报告:多功能数字时钟设计

大连理工大学本科实验报告题目:多功能数字时钟设计 课程名称:数字电路与系统课程设计 学院(系):信息与通信工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 完成日期:2014年7月16日 2014 年7 月16 日

题目:多功能数字时钟设计 1 设计要求 1) 具有“时”、“分”、“秒”及“模式”的十进制数字显示功能; 2) 具有手动校时、校分功能,并能快速调节、一键复位(复位时间12时00分00秒); 3) 具有整点报时功能,从00分00秒起,亮灯十秒钟; 4) 具有秒表功能(精确至百分之一秒),具有开关键,可暂停、可一键清零; 5) 具有闹钟功能,手动设置时间,并可快速调节,具有开关键,可一键复位(复位时间12时00分00秒),闹钟时间到亮灯十秒钟进行提醒; 6) 具有倒计时功能(精确至百分之一秒),可手动设置倒计时时间,若无输入,系统默认60秒倒计时,且具有开关键,计时时间到亮灯十秒钟进行提醒,可一键复位(复位时间默认60秒)。 2 设计分析及系统方案设计 2.1 模式选择模块:按键一进行模式选择,并利用数码管显示出当前模式。模式一:时钟显示功能;模式二:时钟调节功能;模式三:闹钟功能;模式四:秒表功能;模式五:倒计时功能。 2.2 数字钟的基本功能部分:包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。 具有复位按键1,在时钟模式下按下复位键后对时钟进行复位,复位时间12时00分00秒。 进入手动调时功能时,通过按键调节时间,每按下依次按键2,时钟时针加一,按下按键2一秒内未松手,时钟时针每秒钟加十;按键1对分针进行控制,原理与时针相同并通过译码器由七位数码管显示。 从00分00秒开始,数字钟进入整点报时功能(本设计中以一个LED灯代替蜂鸣器,进行报时),亮灯10秒钟进行提示。 2.3多功能数字钟的秒表功能部分:计时范围从00分00.00秒至59分59.99秒。可由复位键0异步清零,并由开关1控制计时开始与停止。 将DE2硬件中的50MHZ晶振经过分频获得周期为0.01秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示 2.4多功能数字钟的闹钟功能部分:进入闹钟功能模式后,通过按键2(设定小时)和按键1(设定分钟)设定闹钟时间,当按下按键一秒内未松手时,可进行快速设定时间。当时钟进入闹钟设定的时间(判断时钟的时信号时针,分针分别与闹钟设定的时信号时针、分针是否相等),则以LED灯连续亮10秒钟进行提示,并由开关0控制闹钟的开和关。 2.5 多功能数字钟的倒计时功能部分:可通过按键3(设定分针)和按键2(设定秒针)设定倒计时开始,当按下按键一秒内未松手时,可进行快速设定时间。当没有手动时间设定时,系统默认为60秒倒计时。倒计时的时钟与数字钟的时钟相同,每迎到一个1s时钟上升

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

60秒计时器课程设计 周海祥

目录 摘要 (2) 引言 (2) 一.设计目的 (2) 二.设计任务 (2) 三.电路原理设计 (2) 3-1计时器的设计原理 (2) 3-2计时器的基本逻辑功能 (3) 3-3主干电路设计 (3) 3-3-1震荡电路设计 (3) 3-3-2计数器的设计 (3) 3-3-3译码器的设计 (3) 四.电路仿真 (4) 五.系统分析 (5) 5-1基础元件介绍 (5) 5-1-1计数器 (5) 5-1-2译码器与显示管 (6) 5-1-3振荡器 (8) 5-1-4与非门 (8) 六.电路的焊接 (9) 七.调试 (9) 八.总结 (10) 参考文献 (10) 致谢 (10) 附录 (11)

74LS160构成的60秒计时器 摘要 60秒计时器是采用数字电路实现的数字显示计时装置。本系统由振荡器,计数器,译码器,LED显示器组成。采用74LS系列中小规模集成芯片。 引言 计时器是用数字集成电路做成的现代计时器,与传统的机械钟相比,它具有走时准确、显示直观(有荧光七段数码显示器)、无机械传动装置等优点。而且钟表的数字化给人们生产生活带来了极大的方便。 一.设计目的 在学完了《数字电子技术》课程的基本理论后,能够综合运用所学知识设计和制作实际需要的简单电子电路,系统地进行电子电路的工程实践训练,锻炼动手能力,培养工程师的基本技能,提高分析问题解决问题的能力。 二.设计任务 完成由74LS160构成的60秒计时器 计时器的组成:60秒计时器一般由振荡器,计时器,译码器,LED显示器组成,这些都是数字电路中应用最广泛的基本电路。 三.电路原理设计 3-1 计时器的设计原理: 先构成一个555定时器和分频器产生震荡周期为一秒的标准“秒”脉冲信号,由74LS160采用清零法分别组成六十进制的“秒”计数器。清零法适用于有异步置零输入端的集成计数器。原理是不管输出处于哪种状态,只要在清零输入端加一个有效电平电压,输出会立即从那个状态回到“0000”状态。。使用74LS48为驱动器,共阴极七段数码管作为显示器。设计图见附录一

数字时钟课程设计报告

《电子线路课程设计报告》 系另 1」: 机电与自动化学院 专业班级:电气及自动化技术1001 学生姓名:陈星涯 指导教师:梁宗善 i=r (课程设计时 间: 2012年1月3日——2012年1月13日) 华中科技大学武昌分校 1.课程设计目的................................................. 3页 2.课程设计题目描述和要求....................................... 3页 2.1课程设计题目............................................. 3页

2.2课程设计要求............................................. 3页 3. ......................................................................................................... 比较和选定设计的系统方案.................................................... 4页 3.1数字钟的构成............................................. 4页 4.单元电路设计及工作原理....................................... 5页 4.1时基电路................................................. 5页 a. 多谐振荡器的工作原理................................... 5页 4.2计数器................................................... 7页 a.中规模计数器组件介绍.................................. 7页 b.60 进制计数器 .......................................... 8页 C.12 翻1计数器........................................... 9页 4.3译码器................................................... 10页 4.4显示器................................................... 10页 4.5校时电路................................................. 11页 4.6定时控制电路............................................. 12页 4.7仿广播电台正点报时电路................................... 13页 5.调试过程及分析............................................... 14页 5.1显示器故障排查........................................... 14页 5.2计数器调试及分析......................................... 15页 5.3校时电路的调试........................................... 16页 5.4增加抗干扰电路........................................... 16页 5.5闹时电路的调试........................................... 17页 5.6仿广播电台整点报时电路调试............................... 17页 6.课程设计总结................................................. 17页 7.参考文献..................................................... 19页 8.附件一:电子时钟主体电路电路图............................... 20页 9.附件二:扩展电路电路图....................................... 21页 10.附件三:系统所需元器件清单 ................................ 22页 11.课程设计成绩.............................................. 23页 一、设计任务与目的 数字时钟是一种利用数字电路技术实现时、分、秒计时的装置,与传统的

C语言模拟时钟转动课程设计报告

《C语言程序设计》 课 程 设 计 报 告 题目:模拟时钟转动程序 班级: 组别: 组员: 指导教师:

目录 第一章课程设计的题目 (2) 1.1 C语言课程设计的题目 (2) 第二章课程设计的要求 (2) 2.1 C语言课程设计的要求 (2) 第三章课程设计的目的 (2) 3.1 C语言课程设计的目的 (2) 第四章课程设计的内容 (3) 4.1 C语言课程设计的程序清单和注释 (3) 第五章课程设计的运行结果 (7) 5.1 C语言课程设计的运行结果 (7) 第六章课程设计的结果分析 (8) 6.1 C语言课程设计的结果分析 (8) 第七章课程设计的心得体

会 (9) 7.1 C语言课程设计的心得体会 (9) 模拟时钟转动程序 第一章课程设计的题目 1.1 C语言课程设计的题目 本次为期两周的课程设计的题目为设计一个模拟时钟转动的程序。 第二章课程设计的要求 2.1 C语言课程设计的要求 能模拟机械钟表行走;要准确地利用数字显示日期和时间;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;数字式时钟的时间显示与指针式时钟显示一致;按任意键时程序退出。

第三章课程设计的目的 3.1 C语言课程设计的目的 加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。 第四章课程设计的内容 4.1 C语言课程设计的程序清单和注释 模拟时钟转动程序清单+注释 #include //包含窗口头文件 #include //头文件,包含了一些数学计算的函数 #define TWOPI (2*3.14159) #define IDTIMER 1 //计时器ID #define ANGLE TWOPI/360 //2PI LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam ); //回调函数 Int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow ) // 应用启动函数mian { TCHAR szClassName[] = TEXT("analogCloc"); MSG msg; //定义消息 HWND hwnd; //窗口句柄 WNDCLASS wndclass; //系统支持结构,定义并初始化窗口结构 wndclass.cbClsExtra = 0; //窗口类无扩展 wndclass.cbWndExtra = 0; //窗口势力无扩展 wndclass.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH); //窗口背景为白色 wndclass.hCursor = NULL;

相关主题