您现在的位置是: 首页 > 作文范例 作文范例

课程设计报告_电子课程设计报告

tamoadmin 2024-10-12 人已围观

简介1.关于数字钟的课程设计报告2.算法课程设计报告3.急求图书管理系统课程设计报告一份。。4.求电子钟课程设计报告5.求“数字钟课程设计报告”6.《数据结构 课程设计》表达式求值 实验报告实用网络技术》课程设计参考答案一、 设计思路根据该学院网络需求,将该学院网络划分为:出口层、核心层、汇聚层、接入层四个层次;出口层使用防火墙一台,其DMZ区连接学院服务器,外网口连接Internet,内网口连接核心

1.关于数字钟的课程设计报告

2.算法课程设计报告

3.急求图书管理系统课程设计报告一份。。

4.求电子钟课程设计报告

5.求“数字钟课程设计报告”

6.《数据结构 课程设计》表达式求值 实验报告

课程设计报告_电子课程设计报告

实用网络技术》课程设计

参考答案

一、 设计思路

根据该学院网络需求,将该学院网络划分为:出口层、核心层、汇聚层、接入层四个层次;

出口层使用防火墙一台,其DMZ区连接学院服务器,外网口连接Internet,内网口连接核心层;

使用两台三层交换机(Rs1-Rs2)组成网络核心层;四台三层交换机(Rs2-Rs6)组成网络汇聚层,核心层与汇聚层使用双链路以实现线路备份与负载均衡;

使用二层交换机若干台构成网络接入层,连接服务器和个人计算机。

二、 网络拓朴图

三、 防火墙端口和三层交换机VLAN接口配置

防火墙DMZ口:172.16.1.62/26

防火墙内网口1:10.0.1.2/30(与Rs1点对点连接)

防火墙内网口2:10.0.1.26/30(与Rs2点对点连接)

RS1:配置VLAN接口6个。

Vlan 11: 10.0.1.1/30 用于与防火墙点对点连接;

Vlan 21: 10.0.1.5/30 用于与Rs2点对点连接;

Vlan 31: 10.0.1.9/30 用于与Rs3点对点连接;

Vlan 41: 10.0.1.13/30 用于与Rs4点对点连接;

Vlan 51: 10.0.1.17/30 用于与Rs5点对点连接;

Vlan 61: 10.0.1.21/30 用于与Rs6点对点连接;

RS2:配置VLAN接口6个。

Vlan 12: 10.0.1.25/30 用于与防火墙点对点连接;

Vlan 22: 10.0.1.6/30 用于与Rs1点对点连接;

Vlan 32: 10.0.1.29/30 用于与Rs3点对点连接;

Vlan 42: 10.0.1.33/30 用于与Rs4点对点连接;

Vlan 52: 10.0.1.37/30 用于与Rs5点对点连接;

Vlan 62: 10.0.1.41/30 用于与Rs6点对点连接;

RS3:配置VLAN接口5个。

Vlan 13: 10.0.1.10/30 用于与Rs1点对点连接;

Vlan 23: 10.0.1.30/30 用于与Rs2点对点连接;

Vlan 33: 192.168.0.1/26 用于办公计算机接入;

Vlan 43: 192.168.0.65/26 用于教学计算机接入;

Vlan 53: 192.168.0.129/25 用于科研用计算机接入;

RS4:配置VLAN接口3个。

Vlan 14: 10.0.1.14/30 用于与Rs1点对点连接;

Vlan 24: 10.0.1.34/30 用于与Rs2点对点连接;

Vlan 34: 192.168.1.1/24 用于研究生计算机接入;

RS5:配置VLAN接口5个。

Vlan 15: 10.0.1.18/30 用于与Rs1点对点连接;

Vlan 25: 10.0.1.38/30 用于与Rs2点对点连接;

Vlan 35: 192.168.2.1/24 用于250台实验用计算机接入;

Vlan 45: 192.168.3.1/24 用于250台实验用计算机接入;

Vlan 55: 192.168.4.1/24 用于250台实验用计算机接入;

RS6:配置VLAN接口5个。

Vlan 16: 10.0.1.22/30 用于与Rs1点对点连接;

Vlan 26: 10.0.1.42/30 用于与Rs2点对点连接;

Vlan 36: 192.168.5.1/24 用于250台实验用计算机接入;

Vlan 46: 192.168.6.1/24 用于250台实验用计算机接入;

Vlan 56: 192.168.7.1/24 用于230台实验用计算机接入;

四、 网段分配表

网段名 始地址 末地址 子网掩码 默认网关 接入三层交换机

服务器 172.16.1.1 172.16.1.61 255.255.255.192 172.16.1.62 防火墙

办公用计算机 192.168.0.2 192.168.0.61 255.255.255.192 192.168.0.1 RS3

教学用计算机 192.168.0.66 192.168.0.125 255.255.255.192 192.168.0.65 RS3

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

… … … … … …

(此表自己完善)

五、 路由设计

1、 静态路由

使用静态路由解决路由问题时,各三层交换机路由表如下表

三层交换机名 目标网段/掩码位数 下一跳IP 下一跳接口

RS1 172.16.1.0/26 10.0.1.2 Vlan11

RS1 192.168.0.0/24 10.0.1.10 Vlan31

Rs1 192.168.1.0/24 10.0.1.14 Vlan41

Rs1 192.168.2.0/23 10.0.1.18 Vlan51

Rs1 192.168.4.0/24 10.0.1.18 Vlan51

Rs1 192.168.5.0/24 10.0.1.22 Vlan61

Rs1 192.168.6.0/23 10.0.1.22 Vlan61

Rs1 0.0.0.0/0 10.0.1.2 Vlan11

三层交换机名 目标网段/掩码位数 下一跳IP 下一跳接口

RS2 172.16.1.0/26 10.0.1.26 Vlan12

RS2 192.168.0.0/24 10.0.1.30 Vlan32

Rs2 192.168.1.0/24 10.0.1.34 Vlan42

Rs2 192.168.2.0/23 10.0.1.38 Vlan52

Rs2 192.168.4.0/24 10.0.1.38 Vlan52

Rs2 192.168.5.0/24 10.0.1.42 Vlan62

Rs2 192.168.6.0/23 10.0.1.42 Vlan62

Rs2 0.0.0.0/0 10.0.1.26 Vlan12

三层交换机名 目标网段/掩码位数 下一跳IP 下一跳接口

Rs3 0.0.0.0/0 10.0.1.9 Vlan13

(完善Rs4、Rs5、Rs6路由表)

2、 RIP路由协议(如果使用了静态路由,就可不必使用RIP协议)

在三层交换机上启用RIP协议。

其中Rs1作如下配置

Rs1(config)#router rip

Rs1(config router)#version 2

Rs1(config router)#network 10.0.1.0

其中Rs2作如下配置

Rs2(config)#router rip

Rs2(config router)#version 2

Rs2(config router)#network 10.0.1.0

其中Rs3作如下配置

Rs3(config)#router rip

Rs3(config router)#version 2

Rs3(config router)#network 10.0.1.0

Rs3(config router)#network 192.168.0.0

其中Rs4作如下配置

Rs4(config)#router rip

Rs4(config router)#version 2

Rs4(config router)#network 10.0.1.0

Rs4(config router)#network 192.168.1.0

其中Rs5作如下配置

Rs5(config)#router rip

Rs5(config router)#version 2

Rs5(config router)#network 10.0.1.0

Rs5(config router)#network 192.168.2.0

Rs5(config router)#network 192.168.3.0

Rs5(config router)#network 192.168.4.0

(自己完善Rs6配置)

六、 网站设计与功能板块(略,参考自己学院网站,作描述即可)。

关于数字钟的课程设计报告

(一)课程设计报告编写要求与方法

区域地质调查课程内容具有很强的实践性和综合性。通过课程设计,可以锻炼和培养学生的动手和操作能力,提高鉴别能力;由各岩类的填图方法单独实验到造山带综合填图方法实验,提高学生的分析能力和区域地质的时空想象能力,达到巩固书本知识和提高实际地质工作能力的目的。课程设计课安排在本课教学内容完成之后,利用一周时间集中进行课程设计。

(二)课程设计编写的基本要求

区域地质调查课程设计,以模拟项目任务书和有关参考资料为依据,要求学生提交课程设计作业,内容严格执行1∶5万区域地质填图项目设计书的主要内容。包括:绪言,地质调查研究历史及研究程度,地质概况及存在的主要问题,技术路线、填图方法及精度要求,工作部署,质量管理与监控,经费预算,预期地质成果及图面的表达方式;还应有如:工作周期、人员安排、经费模拟预算、预期提交地质成果,附图应有工作程度图、区域地质草图、工作部署图等。

(三)课程设计编写基本方法

在认真学习“区域地质调查”课程教学设计大纲、有关规范和技术要求的基础上,深刻领会课程设计附录1(后附)模拟任务书——赵川幅1∶5万区域地质调查(填图)修测任务书,对照《中华人民共和国地质图赵川幅》(彩色印刷图),反复阅读课程设计附录2(后附)——商南县赵川幅区域地质概况和本区初次完成的《商南县赵川幅一带区域地质图说明书》,借助1∶5万区域地质调查(填图)有关工作参考定额及单价等资料,按课程设计教学设计大纲中规定的“课程设计报告的主要内容”的详细要求,完成模拟设计书。

设计书主要由以下八章内容组成:第一章:绪言(附测区交通位置简图);第二章:前人工作的评述;第三章:地质概况及存在的主要问题(附测区地层序列表);第四章:技术路线、填图方法及精度要求(附区域地质图草图);第五章:工作部署(附遥感地质解译草图及地质解译程度分区图等);第六章:质量管理与监控(可略);第七章:经费预算(附实物工作量经费预算表、项目总经费预算表及年度经费预算表);第八章:预期地质成果及图面的表达方式。

(四)设计书编写的具体方法

以“课程设计报告的主要内容”要求为编写提纲,运用“区域地质调查”课所学基本理论和三大岩类区区域地质填图实验已掌握的基本方法,完成模拟设计书和相应的附图。设计书中的插图可用绘图铅笔或利用绘图软件(如CorelDRAW)等编绘,图件要正确,要素齐全、美观,布局合理。编绘设计书附图时,一定要合理利用附录中提供的工作设计为底图(见附图7),利用条、框、符号、注释、代号、涂色等方法,尤其要合理填补底图右侧部分空白已留的各图例框,分别编绘工作程度图、完善区域地质草图、工作部署图等。

项目的费用预算中,要分别进行总费用预算和分年度进行预算。虽然课程设计采用模拟方式进行,要让学生更多的体会到最接近真实的状况。此次模拟规定:学生设计书编写年度即为任务书下达年度(20 × ×年)为当年度,依次进行当年和下年度的野外调查阶段工作费用和第三年度的室内报告编写、印刷出版等费用。

算法课程设计报告

课程设计 数字时钟,共16页,4088字。

前 言

数字电子技术基础是电子技术的一门基础课程,对于我们电子专业的学生来说是进一步学习的基石。通过本次的课程设计可以加深对本课程的理解和对有关知识的掌握,同时可以增强独立思考和动手的能力。对于我们21世纪的大学生来说,书本上的理论知识太具有局限性了,要能真正地扎牢电子技术的基础,必须在在掌握一定的理论知识的前途下进行实践,“纸上得来终觉浅,绝知此事要躬行”正是这个道理。

课程设计是一种复杂的学习实践的过程。在这个过程当中,首先要查阅课题相关的资料,然后提出各种方案并论证各方案的可行性,最后要选取最优方案着手进行,在整个过程中按照先总体设计到局部分析再到总体的顺序,其详细过程会在本次设计中体现。本次选取了数字时钟设计,以小见大,设计中大致地体现上述设计理念。

所谓数字时钟,是指利用电子电路构成的计时器。相对机械钟而言,数字时钟能达到准确计时,并显示小时、分、秒,同时能对该钟进行调整。在此基础上,还能够实现整点报时,定时报闹等功能。

设计过程采用系统设计的方法,先分析任务,得到系统要求,然后进行总体设计,划分子系统,然后进行详细设计,决定各个功能子系统中的内部电路,最后进行测试。

目 录

第1章 系统概述 3

1.1设计务 3

1.2技术指标 3

1.3设计要求 3

1.4设计思路 3

1.5设计方案 3

第2章 单元电路设计与分析 5

2. 1石英晶体振荡电路 4

2. 2分频电路 5

2. 3计数电路 6

2. 4译码及显示单元 6

2. 5校时电路 7

第3章 电路安装与调试 8

3. 1电路仿真装 8

3. 2 电路试 9

第4章 结束语 11

鸣 谢 12

附录一 电路原理图 14

急求图书管理系统课程设计报告一份。。

题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。

给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。

对有些题目提出算法改进方案,比较不同算法的优缺点。

如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;

2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分):

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现循环;

3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。最好有窗口展示部分。

4 课程设计报告:(保存在word 文档中,文件名要求 按照"姓名-学号-课程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;

其中包括:

a)需求分析:

在该部分中叙述,每个模块的功能要求

b)概要设计

在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。

c)详细设计

各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

d)调试分析

测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。

5. 课设总结: (保存在word 文档中)总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对C课程的认识等内容;

6.实验报告的首页请参考如下格式:

课程设计实验

起止日期:20 -20 学年 学期

系别 班级 学号 姓名

实验题目 □设计性 □综合性

自我评价

教师评语 能够实现实验要求的功能 □全部 □部分算法有新意 □有 □一般程序运行通过 □全部 □部分 算法注释说明 □完善 □仅有功能说明接口参数说明 □有 □无按期上交打印文档资料及源程序 □所有 □部分综合设计说明报告结构 □合理 □不合理用户使用说明 □完整 □不全现场演示操作有准备 □有 □无问题解答流畅 □流畅 □不流畅独立完成实验 □能 □不能体现团队合作精神。 □能够 □不能

成绩

这是张表格,copy过来时没调整好,不过应该看得明白。我们是这样写的,你可以参考一下。

求电子钟课程设计报告

可行性分析报告

我们小组的信息系统开发课程设计题目是:图书管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。

本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。

背景

近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

从以前的手工管理的记录中我们可以发现这样的问题:

1.检索速度慢、效率低

因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。

2.借书、还书工作量大

借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错。

3.图书统计工作难、藏书更新不能及时完成。

图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。

系统开发的重点与难点

系统出现了一些技术难点大致如下:

1、建立合理的表结构,避免数据冗余

各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。

2、建立相当的系统安全性

登录用户身份的验证机制的设计、操作页面的权限保护。

3、建立严密的数据表操作机制

同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。

可行性分析

1.技术可行性

此次信息系统开发是大学专业知识的一次综合应用与提高,我们小组可以在主教5楼机房完成系统开发。该机房计算机配置肯定能满足系统开发的要求。我们小组可以选定两三台计算机,建立系统开发环境,主要是安装数据库工具(MS SQL SERVER 2000),应用程序开发工具( VISUL BASIC 6.0或DELPHI),Office程序组以及网络传输工具。

我们小组的部分成员有计算机,配置是Pentium4 1.5G,256M以上内存,80G以上硬盘,可连网。小组成员之间可以通过QQ或电话进行即时交流,协调开发工作,解决开发工作中出现的问题。

就技术力量来说,我们小组可以完成此次开发工作。开发过程中会出现许多问题,有我们预想之中的,也有一些没有我们预想到,但,我们有信心克服一切困难。该学期,我们小组各成员已经学习了SQL SERVER,对网络技术和操作系统也有系统的了解,有些成员熟悉计算机原理,能解决常见的硬件故障和硬件选择。目前,图书管理信息系统已得到了大量应用,有许多可供参考的成功系统。而且,网上有许多关于VISUL BASIC编程的资料和SQL SERVER方面的资料。 从技术角度考虑,此信息系统开发可行。

2.经济可行性

目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。从经济角度考虑,此信息系统开发可行。

3. 法律上可行

整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet的,一旦服务器连接到Internet上,它的操作系统可能会被Microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。

结论:

根据以上的可行性研究,我们小组认为开发此系统的条件已经具备,可以开始进行开发。

求“数字钟课程设计报告”

EDA课程设计报告

电子钟

组员

吕卫伟:200840720126

张奎:200840830133

侯从彬:200840830133

万远程:200840830133

李传迪:200840830133

杨占胜:200840830133

指导教师:陈卫兵

一、电子钟的设计原理:

电子钟主要有四个模块组成: 扫描电路、计数模块电路、BCD

码转换电路、显示器驱动电路。

由CP送入1HZ的时钟信号,并输入计数60的分频计秒电路。在计数至6o瞬间. 进位至计数60的分频计分分频使分频计分电路加1。而计秒电路也消除为0重新再计秒。计分电路与计时电路功能同上。计数输出的二进制数通过BCD码转换电路将其转为BCD码,再通过扫描电路选择输出的BCD码。送至显示驱动电路.再将其结果转换成相应的十进制数在七段数码显示管上显示.并通过扫描电路控制数码管的显示。最终在数码显示管上可以看到秒,分,时的显示结果

二、设计实现

本程序总共有十二个部分依次是产生脉冲信号、60秒计数器、60分计数器、24时计数器、毫秒计数器、秒计数器、月份判断、年月日。

设计过程:仿真图和源程序

(1).秒钟模块

秒是这次电子钟设计的最底层模块.其核心是一个60进制计数器,以外来时钟信号作为其触发时钟信号,当外来信号进入clk时钟信号端,其内部的60进制计数器便开始工作,对信号源进行计数.计数结果由count输出至数码管显示秒钟时间.当计数到60时,其值置零,并向外输出一个进位信号C,这个进位信号便为下个分钟模块的输入时钟信号

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity miao is

port(rst,clk:in std_logic;

d:in std_logic_vector(1 downto 0);

clk1:out std_logic);

end miao;

architecture do of miao is

signal d1:std_logic_vector(1 downto 0);

begin

process(clk,d)

begin

if rst='1' then

d1<="00";

ELSif clk'event and clk='1'then

if d1="11"then

d1<=d;clk1<='1';

else d1<=d1+1; clk1<='0';

end if;

end if;

end process;

end do;

(2).分钟模块

分钟模块核心也是一个60进制计数器,其功能的实现是将秒模块的进位信号进行计数,计数结果由dout输至数码管显示,当计数至60是数值置零,并向外输出进位信号c.

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity fen is

port(zs1,clk2,rst1:in std_logic;

d1: in std_logic_vector(5 downto 0);

fe :out std_logic_vector(5 downto 0);

clk3:out std_logic);

end fen;

architecture do of fen is

signal d0:std_logic_vector(5 downto 0);

begin

process(clk2,d1,zs1,rst1)

begin

if rst1='1'then

d0<="000000";

elsif clk2'event and clk2='1'then

if d0="111111"then

clk3<='1';d0<="000000";

elsif zs1='1'then

d0<=d1;

else d0<=d0+1;clk3<='0';

end if;

end if;

end process;

fe<=d0;

end do;

(3)时、星期计数模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity shi is

port(clk5 :in std_logic;

xs:out std_logic_vector(4 downto 0);

xinqi:out std_logic_vector(2 downto 0));

end shi;

architecture do of shi is

signal d3:std_logic_vector(4 downto 0);

signal d4:std_logic_vector(2 downto 0);

signal clk6:std_logic;

begin

r1:process(clk5)

begin

if clk5'event and clk5='1'then

if d3="11000"then

d3<="00000";clk6<='1';

else d3<=d3+1;clk6<='0';

end if;

end if;

end process r1;

r2: process(clk6)

begin

if clk6'event and clk6='1'then

if d4="111"then

d4<="001";

else d4<=d4+1;

end if;

end if;

end process r2;

xs<=d3;xinqi<=d4;

end do;

(4)年月日计数

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity haos is

port(clk8,zr,zy:in std_logic;

g2:in std_logic_vector(4 downto 0);

g1: in std_logic_vector(3 downto 0);

ri :out std_logic_vector(4 downto 0);

yue: out std_logic_vector(3 downto 0));

end haos;

architecture do of haos is

signal clk9:std_logic;

signal w1:std_logic_vector(4 downto 0);

signal w2:std_logic_vector(3 downto 0);

begin

r1: process(clk8,zr,g2)

begin

if zr='1'then

w1<=g2;

elsif clk8'event and clk8='1'then

if w1="11110"then

w1<="00001";clk9<='1';

else w1<=w1+1;clk9<='0';

end if;

end if;

end process r1;

r2:process(clk9)

begin

if zy='1'then

w2<=g1;

elsif clk9'event and clk9='1'then

if w2="1100"then

w2<="0001";

else w2<=w2+1;

end if;

end if;

end process r2;

ri<=w1;yue<=w2;

end do;

最后将这几个模块(GDF)连接一起就可以了.

根据实际情况做引脚锁定,引脚表见附录。

课程设计心得

设计语言主要是采用VHDL语言的自顶向下的设计方法。EDA中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程,应用VHDL运行自顶向下的设计,就是使用VHDL模型在所有综合级别上对硬件进行说明、建模和仿真测试。顶层文件采用了原理图的方法设计,使各模块之间的层次关系清晰。

在多功能电子钟实际设计过程中,所有的模块都是通过不同进制的计数器来实现其主要功能的,各模块之间是通过进位信号连接在一起的。前一级的进位信号作为下一级的计数clk信号,通过层次关系使设计思路清晰一开始由于程序的设计考虑置位调整。没有好的思路,走了不少弯路。后来(有人)想到了在程序里设置总控制端,于是解决了问题。和同学的合作使我的程序更加优化。

通过这次课设,也给我带来以下一些收获:

1、 进一步熟悉maxplus II软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;

2、 对VHDL语言的自顶向下设计方法有了进一步的认识;在底层文件具备的条件下,使用原理图可以使设置更加简单。使程序清晰,增加可读性。

3、 锻炼了我独立思考和解决问题的能力,也认识到团队合作的重要性。

4、 熟悉了写电子设计试验报告的方法,为写毕业设计论文奠定了一定的基础。

5、 当然本次课程设计也存在一些不足之处,月的功能没有设置好,很多扩展功能没有实现,比如说秒表,闹铃等等

谢辞

首先,在这里感谢学校给我们安排了这次课设,使我们有一个可以自己动手的机会,通过动手,进一步熟悉自己所学的理论知识,体会自己动手得出结果的那种感觉。

再次,在这要感谢我们的指导老师,陈卫兵老师和实验室老师在我们的实践过程中不提自己的辛苦,耐心回答我们所问的所有问题,帮助我们解决一些程序和调试,在这表示感谢!

感谢这次课程设计中给我帮助的同学,是你们的帮助,我才顺利的完成了课程设计任务。

谢谢你们的帮助!

参考文献

[1]卢毅.赖杰. VHDL与数字电路设计. 北京:科学出版社, 2001

[2]潘松. VHDL使用教程. 成都:电子科技出版社,2000

[3]黄继业. EDA技术实用教程.科学出版社,2002

[4]徐志军.CPLD/FPGA的开发与应用.北京电子工业出版社,2002

[5]曾繁泰,侯亚宁,崔元明.可编程器件应用导论,2001

《数据结构 课程设计》表达式求值 实验报告

题目:多功能数码种的设计

一、设计目的

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.

三、原理框图

1.数字钟的构成

数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。

(a) 数字钟组成框图

2.晶体振荡器电路

晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。

(b) CMOS 晶体振荡器(仿真电路)

3.时间记数电路

一般采用10进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中选择74HC390。由其内部逻辑框图可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。

秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。

秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图 2.4所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。

十进制-六进制转换电路

分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。

时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换。利用1片74HC390实现12进制计数功能的电路如图(d)所示。

(d)十二进制电路

另外,图(d)所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。

4.译码驱动及显示单元电路

选择CD4511作为显示译码电路;选择LED数码管作为显示单元电路。由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴的方法连接的。

计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由4511芯片把BCD码转变为十进制数码送到数码管中显示出来。

5.校时电路

数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。即为用COMS与或非门实现的时或分校时电路,In1端与低位的进位信号相连;In2端与校正信号相连,校正信号可直接取自分频器产生的1HZ或2HZ(不可太高或太低)信号;输出端则与分或时个位计时输入端相连。当开关打向下时,因为校正信号和0相与的输出为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态。

实际使用时,因为电路开关存在抖动问题,所以一般会接一个RS触发器构成开关消抖动电路,所以整个较时电路就如图(f)。

(f)带有消抖电路的校正电路

6.整点报时电路

电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。

当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA 、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。

报时电路可选74HC30来构成。74HC30为8输入与非门。

四、元器件

4.共阴八段数码管6个

5.网络线2米/人

6.CD4511集成块6块

7.CD4060集成块1块

8.74HC390集成块3块

9.74HC51集成块1块

10.74HC00集成块4块

11.74HC30集成块1块

12.10MΩ电阻5个

13.500Ω电阻14个

14.30p电容2个

15.32.768k时钟晶体1个

16.蜂鸣器10个

五、各功能块电路图

数字钟从原理上讲是一种典型的数字电路,可以由许多中小规模集成电路组成,所以可以分成许多独立的电路。

(一) 六进制电路

由74HC390、7400、数码管与4511组成,电路如图一。

(二) 十进制电路

由74HC390、7400、数码管与4511组成,电路如图二。

(三) 六十进制电路

由两个数码管、两4511、一个74HC390与一个7400芯片组成,电路如图三。

(四) 双六十进制电路

由2个六十进制连接而成,把分个位的输入信号与秒十位的Qc相连,使其产生进位,电路图如图四。

(五) 时间计数电路

由1个十二进制电路、2个六十进制电路组成,因上面已有一个双六十电路,只要把它与十二进制电路相连即可,详细电路见图五。

(六) 校正电路

由74CH51D、74HC00D与电阻组成,校正电路有分校正和时校正两部分,电路如图六。

(七) 晶体振荡电路

由晶体与2个30pF电容、1个4060、一个10兆的电阻组成,芯片3脚输出2Hz的方波信号,电路如图七。

(八) 整点报时电路

由74HC30D和蜂鸣器组成,当时间在59:50到59:59时,蜂鸣报时,电路如图八

算术表达式求值演示

一、概述

数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

在这次的课程设计中我选择的题目是算术表达式求值演示。表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们,同时加深对这种结构的理解和认识。

二、 系统分析

1. 以字符列的形式从终端输入语法正确的、不含变量的整数表达式。利用已知的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例子在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。

2. 一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调试直至得到想要的答案。对于算术表达式这个程序,主要利用栈,把运算的先后步骤进行分析并实现简单的运算!为实现算符优先算法,可以使用两个栈,一个用以寄存运算符,另一个用以寄存操作数和运算结果。

3. 演示程序是以用户于计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言的转化。 4. 程序执行时的命令:

本程序为了使用具体,采用菜单式的方式来完成程序的演示,几乎不用输入什么特殊的命令,只需按提示输入表达式即可。(要注意输入时格式,否者可能会引起一些错误) 5. 测试数据。

2

算术表达式求值演示

一、概述

数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

在这次的课程设计中我选择的题目是算术表达式求值演示。表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们,同时加深对这种结构的理解和认识。

二、 系统分析

1. 以字符列的形式从终端输入语法正确的、不含变量的整数表达式。利用已知的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例子在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。

2. 一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调试直至得到想要的答案。对于算术表达式这个程序,主要利用栈,把运算的先后步骤进行分析并实现简单的运算!为实现算符优先算法,可以使用两个栈,一个用以寄存运算符,另一个用以寄存操作数和运算结果。

3. 演示程序是以用户于计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言的转化。 4. 程序执行时的命令:

本程序为了使用具体,采用菜单式的方式来完成程序的演示,几乎不用输入什么特殊的命令,只需按提示输入表达式即可。(要注意输入时格式,否者可能会引起一些错误) 5. 测试数据。

操作集合:

(1)void InitStack1(SqStack1 &S1);//声明栈建立函数 (2)void InitStack2(SqStack2 &S2);//声明栈建立函数

(3)void evaluate(SqStack1 &S1,SqStack2 &S2);//确定如何入栈函数 (4)void Push1(SqStack1 &S1,char e);//声明入栈函数 (5)void Push2(SqStack2 &S2,float e);//声明入压栈函数 (6)char GetTop1(SqStack1 &S1);//声明取栈顶元素函数 (7)float GetTop2(SqStack2 &S2);//声明取栈顶元素函数 (8)char Pop1(SqStack1 &S1);//声明出栈函数 (9)float Pop2(SqStack2 &S2);//声明出栈函数 (10)char Compare(char m,char n);//声明比较函数

(11)float Operate(float a,char rheta,float b);//声明运算函数 (12)void DispStack1(SqStack1 &S1);//从栈底到栈顶依次输出各元素 (13)void DispStack2(SqStack2 &S2);//从栈底到栈顶依次输出各元素 }ADT SqStack

结构分析:

栈中的数据节点是通过数组来存储的。因为在C语言中数组是用下标从零开始的,因此我

们在调用他们的数据是要特别注意。指针变量的值要么为空(NULL),不指向任何结点;要么其值为非空,即它的值是一个结点的存储地址。注意,当P为空值时,则它不指向任何结点,此时不能通过P来访问结点,否则会引起程序错误。如果输入的数字不符合题目要求,则会产生错误结果。

算法的时空分析:

时间和空间性能分析:时间上,对于含n个字符的表达式,无论是对其进行合法性检测还是对其进行入栈出栈操作n次,因此其时间复杂度为O(n)。空间上,由于是用数组来存储输入的表达式,用栈来存储运算中的数据和运算符,而栈的本质也用到的数组,数组在定义时必须确定其大小。在不知表达式长度的情况下确定数组的长度确非易事,此时极易造成空间的浪费,因此空间性能不是很好。