课程设计报告2011
课程设计试验报告三人表决器
武汉纺织大学《数字逻辑》课程设计报告题目:三裁判表决器院系:数学与计算机学院专业班级:计科094学号:0904681223学生姓名:李勤指导教师:朱勇2011年 5 月20 日2一、 引言通过对传统数字电路的设计,掌握对数字逻辑设计概念的熟悉。
二、系统介绍:主要仪器是TOS-2数字电路实验系统。
选用的芯片是74LS151 8-1数据选择器。
通过设计好的逻辑表达式,在TOS--2数字电路上选择好个个需要连入的拐脚,进行连线。
实现三人表决器的功能。
三、设计任务及设计原理:引脚图功能表设计有三个变量输入A ,B C ,二个输出 W ,F,其中F=W ,逻辑表达式: F=ABC C AB C B A BC A +++。
A,B,C 通过三个开关相接,把D0---D7设置好之后, 16 15 14 13 12 11 10 974LS1511 2 3 4 5 6 7 8V CC D 4 D 5 D 6 D 7 A 0 A 1 A 2D 3 D 2 D 1 D 0 Y Y S GND 输 入输 出D A 2 A 1 A 0 S Y Y × × × × 1D 0 0 0 0 0D 1 0 0 1 0D 2 0 1 0 0D 3 0 1 1 0D 4 1 0 0 0D 5 1 0 1 0D 6 1 1 0 0D 7 1 1 1 00 1D 0 0D D 1 1D D 2 2D D 3 3D D 4 4D D 5 5D D 6 6D D 7 7D数学与计算机学院硬件课程设计报告就可以通过调节开关来输入。
输出接到一个LED灯,如果通过,那么灯就亮,否则的话,灭。
74LS1510 GA AB BC CD0D1 Y Y0 D3D3 WD41 D5D6D7方法之一四、代码清单:(机房答辩,提交代码)只需要连线,无代码。
五、程序调试心得体会:第一次线连接好之后,首先试验的是逻辑功能的正确性。
课程设计试验报告 5人表决器
武汉纺织大学《数字逻辑》课程设计报告题目:5人表决器院系:数学与计算机学院专业班级:计科094学号:0904681223学生姓名:李勤指导教师:朱勇2011年 6 月2 日一、引言设计一个五人表决器,掌握异步清零以及锁存器的工作机制,掌握QuartusII软件的使用方法以及GW48型SOPC开发平台中的输入输出模式配置方法。
二、系统介绍:主要仪器是PC机、DICE-EH2000 EDA实验开发系统,用到的器件是ACEX1K系列EP1K30TC144-3的芯片。
三、设计任务及设计原理:v_in:表决信号输入端,高电平为赞成,低电平为反对;lock:判决锁存信号,上升沿表决结束,锁存表决输入信号,并计算输出表决信息;clr:清零信号,高电平有效,进入新的一次表决过程;v_over:表决结束信号,高电平有效,清零信号有效后,此信号为低电平。
num_agr:BCD码输出显示表决结果中赞成的人数;num_opp:BCD码输出显示表决结果中反对的人数;v_out:对应显示每个表决信号的状态;led_agr:判决结果为赞成时有效;led_opp:判决结果为反对时有效首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
在硬件实现中:1.用实验平台的拨动开关实现5人表决的输入信号(v_in):注:要求使用最右面5个开关。
2. 用实验平台的按键实现清零(clr)和锁存(lock)信号:注:采用模式4的输入方式,要求使用键7实现清零(clr)、键6实现锁存(lock)。
(模式4的I/O设置见附录)3. 用实验平台的数码管实现赞成和反对人数的显示:注:要求使用数码管6显示赞成票数、数码管5显示反对票数。
4. 用实验平台的LED发光阵列实现表决结果和每人的表决信号:注:要求LED1显示判决赞成(led_agr)信号,LED8显示判决反对(led_opp)信号。
LED4、LED5、LED6同时显示判决结束信号。
电子线路CAD。。课程设计报告
电子线路CAD课程设计报告院系:信息工程学院专业:电子信息工程2011年 6 月20 日目录2.1 题目描述: .............................................................................. - 1 -2.1.1振荡电路设计仿真 .......................................................... - 1 -2.1.2 8051开发板 ..................................................................... - 1 -2.2 要求:....................................................................................... - 1 -三、课程设计报告内容 ....................................................................... - 2 -3.1 设计原理 ................................................................................. - 2 -3.1.1 振荡电路设计原理 ....................................................... - 2 -3.1.2 8051开发板设计原理 .................................................. - 2 -3.2 Proteus电路原理图设计 .......................................................... - 3 -3.2.1 振荡电路原理图: ......................................................... - 3 -3.2.2 8051开发板原理图 ......................................................... - 4 -3.3 软件仿真和结果分析 .............................................................. - 4 -3.3.1振荡电路 .......................................................................... - 4 -3.3.2 8051开发板各模块的仿真 ............................................. - 5 -3.4 设计和模拟过程中出现的问题及解决办法 .......................... - 9 -四、设计总结和心得体会 ................................................................... - 9 -一、课程设计目的课程设计以电子线路CAD软件设计原理为基础,重点在硬件设计领域中实用的电子线路设计软件的应用。
图书借阅管理系统课程设计报告
课程设计报告课程名称C语言程序设计课题名称图书借阅管理系统专业网络工程班级1002班学号************姓名指导教师唐北平、陈淑红、谭小兰2011年6 月30 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书借阅管理系统专业班级网络工程1002班学生姓名学号************指导老师唐北平、陈淑红、谭小兰审批任务书下达日期2011 年6 月20 日任务完成日期2011 年7 月03 日一、设计内容与设计要求1.设计内容:⑴问题描述:对一个有N本图书的图书馆,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
⑵功能要求:(1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:书号、书名、作者、出版社、出版日期、单价、是否借出等。
(2)、本系统显示这样的菜单:a.图书基本信息录入b.图书基本信息显示c.图书基本信息删除d.图书基本信息修改e.图书基本信息查询(按书号查询、书名等)g. 退出系统(3)、执行一个具体的功能之后,程序将重新显示菜单。
2.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
1.设计正确,方案合理。
2.界面友好,使用方便。
3.程序精炼,结构清晰。
4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5.上机演示。
6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。
源程序及编译生成各文件均保存在软盘中;7.按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。
并用A4的复印纸打印并装订;二、进度安排第 18 周星期一 08:00——12:00熟悉这次课程设计的目的和课程设计的要求,明确了解一些要用到的文件和调用函数等,然后再把整个程序设计的总体框架、流程图等构思出来,并进行上机程序设计。
数据结构课程设计--哈希表实验报告
福建工程学院课程设计课程:算法与数据结构题目:哈希表专业:网络工程班级:xxxxxx班座号:xxxxxxxxxxxx姓名:xxxxxxx2011年12 月31 日实验题目:哈希表一、要解决的问题针对同班同学信息设计一个通讯录,学生信息有姓名,学号,电话号码等。
以学生姓名为关键字设计哈希表,并完成相应的建表和查表程序。
基本要求:姓名以汉语拼音形式,待填入哈希表的人名约30个,自行设计哈希函数,用线性探测再散列法或链地址法处理冲突;在查找的过程中给出比较的次数。
完成按姓名查询的操作。
运行的环境:Microsoft Visual C++ 6.0二、算法基本思想描述设计一个哈希表(哈希表内的元素为自定义的结构体)用来存放待填入的30个人名,人名为中国姓名的汉语拼音形式,用除留余数法构造哈希函数,用线性探查法解决哈希冲突。
建立哈希表并且将其显示出来。
通过要查找的关键字用哈希函数计算出相应的地址来查找人名。
通过循环语句调用数组中保存的数据来显示哈希表。
三、设计1、数据结构的设计和说明(1)结构体的定义typedef struct //记录{NA name;NA xuehao;NA tel;}Record;录入信息结构体的定义,包含姓名,学号,电话号码。
typedef struct //哈希表{Record *elem[HASHSIZE]; //数据元素存储基址int count; //当前数据元素个数int size; //当前容量}HashTable;哈希表元素的定义,包含数据元素存储基址、数据元素个数、当前容量。
2、关键算法的设计(1)姓名的折叠处理long fold(NA s) //人名的折叠处理{char *p;long sum=0;NA ss;strcpy(ss,s); //复制字符串,不改变原字符串的大小写strupr(ss); //将字符串ss转换为大写形式p=ss;while(*p!='\0')sum+=*p++;printf("\nsum====================%d",sum);return sum;}(2)建立哈希表1、用除留余数法构建哈希函数2、用线性探测再散列法处理冲突int Hash1(NA str) //哈希函数{long n;int m;n=fold(str); //先将用户名进行折叠处理m=n%HASHSIZE; //折叠处理后的数,用除留余数法构造哈希函数return m; //并返回模值}Status collision(int p,int c) //冲突处理函数,采用二次探测再散列法解决冲突{int i,q;i=c/2+1;while(i<HASHSIZE){if(c%2==0){c++;q=(p+i*i)%HASHSIZE;if(q>=0) return q;else i=c/2+1;}else{q=(p-i*i)%HASHSIZE;c++;if(q>=0) return q;else i=c/2+1;}}return UNSUCCESS;}void benGetTime();}else printf("\n此人不存在,查找不成功!\n");benGetTime();}(4)显示哈希表void ShowInformation(Record* a) //显示输入的用户信息{int i;system("cls");for( i=0;i<NUM_BER;i++)printf("\n第%d个用户信息:\n 姓名:%s\n 学号:%s\n 电话号码:%s\n",i+1,a[i].name,a[i].xuehao,a[i].tel);}(5)主函数的设计void main(int argc, char* argv[]){Record a[MAXSIZE];int c,flag=1,i=0;HashTable *H;H=(HashTable*)malloc(LEN);for(i=0;i<HASHSIZE;i++){H->elem[i]=NULL;H->size=HASHSIZE;H->count=0;}while (1){ int num;printf("\n ");printf("\n 欢迎使用同学通讯录录入查找系统");printf("\n 哈希表的设计与实现");printf("\n 【1】. 添加用户信息");printf("\n 【2】. 读取所有用户信息");printf("\n 【3】. 以姓名建立哈希表(再哈希法解决冲突) ");printf("\n 【4】. 以电话号码建立哈希表(再哈希法解决冲突) ");printf("\n 【5】. 查找并显示给定用户名的记录");printf("\n 【6】. 查找并显示给定电话号码的记录");printf("\n 【7】. 清屏");printf("\n 【8】. 保存");printf("\n 【9】. 退出程序");printf("\n 温馨提示:");printf("\n Ⅰ.进行5操作前请先输出3 ");printf("\n Ⅱ.进行6操作前请先输出4 ");printf("\n");printf("请输入一个任务选项>>>");printf("\n");scanf("%d",&num);switch(num){case 1:getin(a);break;case 2:ShowInformation(a);break;case 3:CreateHash1(H,a); /* 以姓名建立哈希表*/break;case 4:CreateHash2(H,a); /* 以电话号码建立哈希表*/break;case 5:c=0;SearchHash1(H,c);break;case 6:c=0;SearchHash2(H,c);break;case 7:Cls(a);break;case 8:Save();break;case 9:return 0;break;default:printf("你输错了,请重新输入!");printf("\n");}}system("pause");return 0;3、模块结构图及各模块的功能:四、源程序清单:#include<stdio.h>#include<stdlib.h>#include<string.h>#include <windows.h>#define MAXSIZE 20 #define MAX_SIZE 20 #define HASHSIZE 53 #define SUCCESS 1#define UNSUCCESS -1#define LEN sizeof(HashTable)typedef int Status;typedef char NA[MAX_SIZE];typedef struct {NA name;NA xuehao;NA tel;}Record;typedef struct {Record *elem[HASHSIZE]; int count; int size; }HashTable;Status eq(NA x,NA y) {if(strcmp(x,y)==0)return SUCCESS;else return UNSUCCESS;}Status NUM_BER;void getin(Record* a) {int i;system("cls");printf("输入要添加的个数:\n");scanf("%d",&NUM_BER);for(i=0;i<NUM_BER;i++){printf("请输入第%d个记录的姓名:\n",i+1);scanf("%s",a[i].name);printf("请输入%d个记录的学号:\n",i+1);scanf("%s",a[i].xuehao);printf("请输入第%d个记录的电话号码:\n",i+1);scanf("%s",a[i].tel);}}void ShowInformation(Record* a){int i;system("cls");for( i=0;i<NUM_BER;i++)printf("\n第%d个用户信息:\n 姓名:%s\n 学号:%s\n 电话号码:%s\n",i+1,a[i].name,a[i].xuehao,a[i].tel);}void Cls(Record* a){printf("*");system("cls");}long fold(NA s){char *p;long sum=0;NA ss;strcpy(ss,s);strupr(ss);p=ss;while(*p!='\0')sum+=*p++;printf("\nsum====================%d",sum);return sum;}int Hash1(NA str){int m;n=fold(str);m=n%HASHSIZE;return m;}int Hash2(NA str){long n;int m;n = atoi(str);m=n%HASHSIZE;return m;}Status collision(int p,int c){int i,q;i=c/2+1;while(i<HASHSIZE){if(c%2==0){c++;q=(p+i*i)%HASHSIZE;if(q>=0) return q;else i=c/2+1;}else{q=(p-i*i)%HASHSIZE;c++;if(q>=0) return q;else i=c/2+1;}}return UNSUCCESS;}void benGetTime();void CreateHash1(HashTable* H,Record* a){ int i,p=-1,c,pp;system("cls"); benGetTime();for(i=0;i<NUM_BER;i++){p=Hash1(a[i].name);pp=p;while(H->elem[pp]!=NULL) {pp=collision(p,c);if(pp<0){printf("第%d记录无法解决冲突",i+1);continue;}}H->elem[pp]=&(a[i]);H->count++;printf("第%d个记录冲突次数为%d。
课程设计报告——十点半游戏
课程设计报告——十点半游戏————————————————————————————————作者:————————————————————————————————日期:数据结构课程设计报告设计题目:十点半游戏院系: 经济管理学院专业班级:电子商务2009-2班学生姓名: 陈志勇、李琳、周敏指导教师:周长红2011年7月8日指导教师评语指导教师:年月日成绩评定学号姓名任务分工成绩0901060904陈志勇程序编写09010李琳报告撰写609150901060938 周敏搜集资料目录1.设计内容ﻩ错误!未定义书签。
1.1问题描述 .................................................................. 错误!未定义书签。
1.2设计要求ﻩ错误!未定义书签。
1.3开发环境 ..................................................................... 错误!未定义书签。
1.4研究思路ﻩ错误!未定义书签。
2.设计步骤ﻩ错误!未定义书签。
2.1需求分析 .................................................................... 错误!未定义书签。
2.2概要设计 .................................................................. 错误!未定义书签。
2.3详细设计 ................................................................... 错误!未定义书签。
2.4调试分析 ..................................................................... 错误!未定义书签。
电力电子课程设计报告
电力电子课程设计报告采用双PWM控制的风力发电并网变流器时间:2011年6月目录摘要 (3)第0章绪论 (4)0.1.课程设计要求 (4)0.2.风力发电并网系统简介 (4)0.3.课程设计流程 (5)第1章主电路选型 (6)1.1整流电路选型 (7)1.2后级变换电路选型 (8)第2章主电路有源器件参数计算 (11)2.1主电路开关器件选择 (11)2.1.1智能功率模块 MIG50Q201H 简介 (11)第3章主电路无源器件参数计算 (14)3.1直流电压的确定 (14)3.2交流侧电感的选择 (14)3.3直流侧稳压电容选择 (15)第4章有源电路的驱动、保护原理设计 (16)4.1有源IPM驱动电路设计 (16)4.2IPM 驱动电路设计 (18)4.3保护电路设计 (19)第5章控制、检测电路原理设计 (21)5.1控制电路设计 (21)5.1.1基于TMS320F2812 控制电路的设计 (21)5.1.2TMS320F2812 的主要特点 (22)5.1.3基于TMS320F2812 的控制电路板的设计 (23)5.2信号检测电路设计 (25)5.2.1电网电压相位过零点检测电路 (25)5.2.2直流母线电压检测 (26)5.2.3电流检测电路 (28)第6章散热设计 (30)6.1散热基础设计 (30)6.2IGBT散热计算 (32)第7章仿真 (33)7.1设计技术参数及要求 (33)7.2系统仿真设计 (33)7.3仿真结果 (34)第8章参考文献 (37)摘要随着全球能源危机和环境污染的日益严重,风能和太阳能作为当前最理想的绿色能源越来越受到各国的重视。
但是由于风力发电的波动性和分散性,如果直接并入电网会对电网产生冲击,所以必须使风力发电的输出电压稳定在一定的电压和频率值之后才能并入电网,实现柔性并网。
解决这一问题的核心就是风力发电并网变流器。
在本次课程设计中,我们组设计了双PWM脉宽调制技术控制的并网变流器。
30秒倒计时课程设计报告
信息与计算机学院课程设计课程设计报告(2011/2012 第1学期)设计题目30秒定时器指导教师学生班级学生姓名学生学号考核成绩上海商学院2011年11月内容摘要此30秒计时器功能齐全,可以直接清零、启动、暂停和连续以及具有光电报警功能。
可以方便的实现断点计时功能,当设计器递减到零时,会发出光电报警信号。
在直接清零时,数码管显示器直接显示为00;计时器为30秒递减计时,计时间隔为1秒;计时器递减到0时,再回到30。
此设计器设计时,采用模块化得设计思想,使设计起来更加简单、方便、快捷。
关键词:秒脉冲发生器74LS192 计数器译码显示电路目录第一章引言 (1)1.1课程设计意义 (1)1.2研究状况概述 (1)第二章课程设计分析 (2)2.1 设计目的: (2)2.2 设计思路: (2)第三章系统方案论证过程 (3)3.1 30秒定时器总体方框图 (3)第四章模块电路设计 (4)4.1秒脉冲电路 (4)4.2 减计数电路 (4)4.3 译码和数码显示电路 (5)4.4时序控制电路.................................................................................... 错误!未定义书签。
4.5 整机框图 (6)第五章主要元器件与设备 (8)5.1元器件清单 (8)第六章系统调试与结果分析 (9)6.1 系统调试 (9)6.2 结果分析........................................................................................... 错误!未定义书签。
第七章总结.. (10)参考文献 (10)致谢 (10)附页: (11)第一章引言1.1课程设计意义数字显示30秒定时器是一个简单的数字电路,然而它可以扩展到很多实际应用当中来,比如篮球倒计时器,交通灯倒计时器等等。
C语言程序设计课程设计报告
《C语言程序设计》课程设计报告(2011— 2012学年第 1 学期)专业:计算机科学与技术班级:姓名学号:指导教师:成绩:计算机科学与技术系2011 年12月31日目录一、课程设计的目的与要求 (3)二、方案实现与调试 (3)2.1 掷骰子游戏 (3)2.2 汽车加油 (6)2.3 大优惠 (8)2.4 金币 (9)2.5小型通讯录设计 (12)三、课程设计分析与总结 (14)附录程序清单 (14)一、课程设计的目的与要求(含设计指标)(1)实验目的C语言是一种编程灵活,特色鲜明的程序设计语言。
C语言除了学习必须的基本知识,如概念,方法和语法规则之外,更重要的是进行实训,以提高学习者的动手和编程能力,这是学习语言的最终目的。
结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。
达到如下目的:1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;2.让学生扎实掌握C程序设计语言的相关知识;3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。
(2)设计要求根据实验内容的要求自由选定题目。
编写程序要求遵循如下基本要求:●模块化程序设计●锯齿型书写格式●必须上机调试通过二、方案实现与调试2.1掷骰子游戏•2.1.1 题目内容的描述两人玩骰子,游戏规则如下:1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。
2) 将每人每次的分值累加计分3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。
4) 结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。
最后显示双方分数并判定优胜者。
•2.1.2输入数据类型、格式和内容限制和输出数据的说明输入数据类型:整型数格式:srand(time(0));输入数=rand()%6+1;内容限制:产生最多十次随机数输出数据说明:掷骰子的获胜者•2.1.3主要模块的算法描述2.1.4调试过程及实验结果出现的问题:每次循环产生的随机数相同。
《地球物理仪器课程设计》报告
《地球物理仪器课程设计》报告(测井方向)姓名:学号:班级:专业:勘查技术与工程2011年1月17日---2011年1月21日地球物理仪器课程设计要求(测井方向)(一)设计内容:设计一:基于集成运算放大器的交流放大电路设计与仿真实验1.设计一同相放大器,闭环增益为100;2.设计一反相放大器,闭环增益为100;3.设计一由两级串接的高倍数放大电路,其增益为10000。
设计二:测量信号滤波电路设计与仿真实验1.设计一中心频率为1kHz的无源滤波电路;2.设计一中心频率为1kHz的二阶有源滤波电路,其中心频率处的增益为1。
设计三:相位检波与有效值检测电路设计与仿真实验1.设计一相位检波电路;2.设计一交流信号有效值检测电路。
设计四:脉冲宽度计数法测量电路设计与仿真实验1.设计一个对一个脉冲宽度进行填充法计数的时差测量电路。
(二)报告要求:(1)封面一律按给定格式做;(2)按设计内容顺序逐个撰写,内容包括设计目的、电路、参数计算及仿真结果。
(3)最后给出总结和体会。
设计一1、设计一同相放大器,闭环增益为100电路图如下设计目的:将信号同相比例放大100倍设计原理:电路为负反馈电路,由于运放的增益一般有∣∙A ∣>10^5,所以∣1+∙A ∙F∣>>1,即电路处于深度负反馈条件下,虚短和虚断成立。
由虚短和虚断得:u -= u += ui故 令R2=99kohm-m ,R1=1kohm-m,则Au=uo/ui=100。
结构特点:负反馈引到反相输入端,信号从同相端输入反馈方式:电压串联负反馈仿真结果如上图,电源电压设置为10mv,第一个图输入端设置的是20mv 每格,输出端是2v 每格,所以输入和输出曲线重合第二个图输入端是20mv 每格,输出端为1v 每格,所以在曲线图上显示为输出是输入的2倍。
i o u R R u )1(12+=12R u R u u i i o =-2、设计一反相放大器,闭环增益为100电路图如下设计目的:将信号反相比例放大100倍设计原理:如第一题。
数字式移相信号发生器-课程设计报告(个人版)
《数字式移相信号发生器》课程设计报告系别:专业班级:学生姓名:学生学号:指导教师:(课程设计时间:2011年1月4日——2011年1月22日)前言EDA技术是一门涉及多学科的综合性技术,是以大规模逻辑器件为设计载体,以硬件描述语言为系统逻辑表达的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至对特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专业集成芯片的一门新技术。
本次课程设计中我们基于EDA技术,运用VHDL编制程序,完成数字式移相频率计的程序编辑,最终下载到ACEX1K系列EPF1K50LC208-3芯片上,加以简单的外围电路,构成数字移相信号发生器。
该装置能测出频率在20HZ-2000KHZ 之间的正弦波信号频率,并给出指定相位差的两路同频信号。
目录1.课程设计目的 (1)2.题目描述及要求 (2)3.课程设计报告内容 (2)3.1系统框图 (2)3.2系统各组成部分介绍 (3)3.2.1数字移相及信号产生模块 (3)3.2.2数字频率计模块 (7)3.2.3显示模块 (13)3.3系统完整介绍 (15)3.4 引脚分配 (16)4.总结 (17)参考文献 (19)1. 课程设计目的(1)进一步加深对EDA 技术的基本知识的理解,提高VHDL 编程仿真程序的运用能力。
(2)培养根据课题需要查找参考书籍和文献资料,并学习运用的的能力,从而更好的培养了自学能力和独立思考问题和解决问题的能力。
(3)培养硬件设计、软件设计及系统软、硬件调试的基本思路、方法和技巧,并能熟练使用当前较流行的一些有关电路设计与分析方面的软件和硬件。
(4)培养严肃认真的工作作风和科学态度,逐步建立正确的生产观念、工程观念和全局观点。
2. 题目描述及要求设计题目:数字式移相信号发生器设计要求:(1)被测正弦信号频率范围:20HZ —2000KHZ ;(2)正弦信号频率皆采用BCD 码计数方式;具有正弦信号频率测量及数字显示功能;(3)能够输出给定相位差的两路同频,相位测量绝对误差≤2º。
数据库课程设计实验报告
安徽工业大学课程设计报告课程:数据库课程设计题目:图书馆管理系统班级: 094班专业:软件工程姓名:万佳乐学号: 099074265指导教:申元霞师日期: 2011.12.5目录一系统开发平台 (3)二需求与功能分析 (3)三概要设计 (4)系统的总体框图或系统功能图对各部分功能的分析四数据库设计 (5)分析系统存在的实体、属性、以及实体间的联系画出ER模型图数据库中关系表五程序代码设计和实现 (7)写出重点代码(若是代码一定要有相应的功能分析及注释)六系统关键技术实现 (12)核心功能模块的代码实现七系统测试 (15)各基本功能模块的正确性测试(截图并结合文字说明)八总结与展望 (19)本次课程设计的心得体会与收获系统存在的问题以及改进的方向一、系统开发平台1.1 题目:图书馆管理系统图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。
现今,有很多的图书馆尚未使用计算机进行信息管理。
图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。
为了提高日常的图书管理效率,必须开发满足大多数中小型的图书管理要求的图书管理系统。
1.2 myeclipseMyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
数据库采用了Mysql, MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL 是用于访问数据库的最常用标准化语言。
JSP课程设计_报告
当网上论坛的回忆完成注册后,系统会在数据库中加入会员的资料。包括会员名称,会员密码,会员Email等相关信息资料。同时,按照会员的不同身份,将特殊会员设置为版主,使他具备删除被讨论区中对应文章等特殊操作的权利。管理者可以依据数据库中注册的特殊身份登录到论坛后台对会员信息进行管理。
(5)论坛分类管理
(3)DBProx类是跟数据库连接相关的类。属性有jdbc驱动(sDBDriver)、连接(conn)
public boolean getConnection()数据库连接方法
public void closeConnection()数据库关闭
结果集(ResultSet)。该类是专门为数据库设计的,其中有一个执行SQL”executeQuery()”的方法。
这样的流程决定了BBS论坛系统的需求。
(1)会员注册
提供新会员注册功能,包括提供录入信息的界面,检查注册信息的有效性,并将注册会员信息保存在对应数据库的数据表中。
(2)发表文章
提供会员发表文章的功能,为注册用户不允许使用该功能
(3)文章查询
对注册会员和胃注册会员提供文章查询以及阅读的功能,即通过对应文章标题信息,查看查询详细内容及发表文章的超级链接
参考文献
[1]冯燕奎, 赵德奎. JSP实用案例教程[M] 清华大学出版社, 2004, 5: 70-100
[2] 张洪斌 java2高级程序设计[M]中科多媒体出版社 2001年11月 85-90
[3]耿祥义编著.JSP基础编程[M].清华大学出版社,2004.55-162
(4)posts类表示论坛中发表的帖子类。此类的属性有发帖编号(postsid)、发表人姓名postname)、文章的主题(posttitle)。
3090908-学生选课管理系统课程设计报告
学生选课管理系统东北大学秦皇岛分校姓名:刘国锋学号:3090908指导教师:朱世敏日期:2011 年06 月19 日目录目录 (1)一、总体说明 (3)二、功能模块结构图 (4)三、变量说明(公有、私有、本地变量 (4)四、数据库、表的设计及描述 (5)1.数据库: (5)2.(1)管理员表: (5)(2)学生基本信息表: (6)(3)课程表: (6)(4)学生成绩表: (6)(5)密码表: (7)五、操作说明 (7)六、各模块代码及结果图 (8)封面: (8)登录: (9)主界面: (10)可选课程信息表单: (11)学生选课记录查询 (11)记录修改下的表单: (12)学生选课信息: (12)课程信息修改表单: (13)报表: (13)密码修改: (15)菜单: (16)七、课程设计总结: (17)一、总体说明总体功能介绍:1、在学生选课信息管理系统中,先打开封面,两秒后自动关闭并跳转至登录界面;2、首先输入用户名和密码等登录信息,点击确定登录进入主界面,点击退出登录,退出系统;3、登陆成功,进入主界面以后,有以下模块“数据查询”、“记录修改”、“报表”、“密码安全”。
在“数据查询”中,包含“课程查询”;在“记录修改”中包含“课程和学生选课修改”和“学生选课”;在“报表”中包含以下两项子菜单:“学生选课情况”,“可选课程”;在“密码安全”中有“密码修改”子菜单。
4、进入主界面1、在“数据查询”下的“课程查询”在其中输入中输入相应课程名称可以显示已将选课的内容,早课程信息上边的框中输入相应的课程名称可以查询该门课的课程信息;也可以在“数据查询”中的“选课记录查询”中可以通过按照“学号”对学生的选课记录进行统计;2、在“记录修改”的下拉菜单中的“课程和学生选课修改”中可以对课程信息进行修改,主要包括添加、删除、和退出等;在该下拉菜单下的“学生选课”子菜单中可以添加选课信息和删除选课信息;3、“报表”的下拉菜单中有“学生选课情况”和“课程信息”的报表,通过这两张报表可以查看和打印学生的选课情况,以及所有的课程信息内容,并可以按照学号、班级、系别显示学生的选课情况;4、在“密码安全”下拉菜单中有“密码修改”通过“密码修改”可以使原用户还可通过密码修改来不定期修改自己的原始密码,保证了数据的真实性和安全性。
CAD课程设计报告
三、绘制平面图的操作流程
绘制平面图时,不能按照手工绘图的方法来绘制,那样做不但不能充分发挥计算机的长处,甚至其绘图速度还不如手工绘图的速度快。绘图时,应充分考虑计算机的优点,使用按“线群”绘制的方法,而不是手工绘图的按“单线”绘制的方法。
修改线性,对实体进行填充。由于剖面图各部件可视化程度不同,这决定了该图上有不同线型。通过之前设置好的图层,将图线进行修改,使它呈现在应在的图层上。接着对墙体进行填充,通过设置填充属性(比例),选择填充点,最后将要填充的地方补上。
4、标注
对图形进行标注,添加文字。通过综合应用线性标注和连续标注,快速地将图形大体标注上,对于图内部的标注,在标注的时候我更改标注文字高度,运用旋转命令,使标注更加合理化和美观化。在图上添加说明文字时,我先新建了3种基本的文字类型,(其他的都与这三种的格式一样),通过复制和修改文字内容的方法将之注写完。
通过练习绘制建筑平面图,让我们进一步了解各种命令按钮和方法的使用,各种属性和格式的设置,使最后的成图既美观又实用;通过识图工程施工图,加强学生阅读工程施工图的能力。在反复的操作中更加熟练的掌握CAD这个软件。同时作为测绘工程的学生,学习好CAD这门课并且不断进行练习操作,是十分重要的。
二、课程设计的内容
④绘制一些符号
利用块“Block”进行编辑,如以下符号等等,可以修改它们的属性,多次使用,方便有快速。直接用菜单栏下的绘图工具执行和用改变属性值来完成。
2、整体布局
整体布局阶段主要采用先定位、后定形的“多线法”。
绘制标题栏
按照所给图采用A4大小绘制一标题栏,采用直线和偏移、修剪等命令,其中的文字部分在后面填写标题栏是再补充。再将其输出成块,并在“对象”区选择“删除”单选框。
课程设计报告模板
数据库原理与应用技术课程设计报告学年学期2010-2011学年第2学期年级2009级专业工程管理班级一班学号090520116姓名储召生完成时间2011年6月任课教师肖文成绩一、情景描述某销售公司打算使用SQL SERVER数据库系统管理公司的所有信息,这些信息主要包括员工、订单、顾客、产品等,具体如下描述:1.员工:员工号、姓名、出生日期、入职日期、籍贯、备注2.订单:订单号、下单时间、下单员工号、顾客号、产品号、订购数量3.顾客:顾客号、顾客名称、地址、电话、传真、邮编、顾客类型4.产品:产品号、产品名称、产品单价、产品类型5.顾客类型:类型号、类型名称、备注6.产品类型:类型号、类型名称、应用领域二、简述实体-联系图的概念及简述实体-联系图的画法答:实体-联系图,简称E-R图,是指提供了表示实体集、属性和联系的方法,用来描述现实世界的概念模式。
实体-联系图的画法:在E-R图中:1)用长方形表示实体集,长方形内写实体集名。
2)用椭圆形表示实体集的属性,并用线段将其与相应的实体集联系起来。
由于实体集的属性比较多,有些实体可具有多达上百个属性,所以在E-R图中,实体集的属性可不直接画出,而通过数据字典的方式表示(即文字说明方式)。
无论使用哪种方法表示实体集的属性,都不能出现遗漏属性的情况。
3)用菱形表示实体间的联系,菱形内写上联系名,并用线段分别与有关实体集连接起来,同时在线段旁标出联系的类型。
如果联系具有属性,则该属性仍用椭圆框表示,仍需要用线段将属性与其联系连接起来。
联系的属性必须在E-R图中标出,不能通过数据字典说明。
三、根据第一部分的描述及第二部分E-R 图的画法,画出该系统的E-R 图(注意要标识出每个对象的主码和对象间联系的类型) 答:员工顾客出售产品包含顾客类型包含产品类型下单订单订购······员工号备注······顾客类型顾客号类型号类型名称备注订单号订购数量产品号······产品类型类型号类型名称应用领域m n ······1n1nnm1n 员工的属性有:员工号、姓名、出生日期、入职日期、籍贯和备注;订单的属性有:订单号、下单日期、下单号工号、顾客号、产品号和 订购数量;顾客的属性有:顾客号、顾客名称、地址、电话、传真、邮编和顾客类型;产品的属性有:产品号、产品名称、产品单价和产品类型。
课程设计报告书(四路抢答器)详解
第三节 系统设计
1、抢答电路�
该电路的根本任务是准确的判断出第一抢答者的信号并将其锁存。实现这一 功能可用触发器和锁存器等。在得到第一信号后应立即将电路的输入封锁�即使 其他组再次发出抢答信号也无效。同时还必须注意�第一抢答信号应该在主持人 清零之后才有效。当电路形成第一抢答信号之后�用编码、译码及数码显示电路 显示出抢答者的组别�并用发光二级管直接指示出组别�这里我们采用 LED 数码 管显示�。同时用第一抢答信号控制一个发光二级管�发光二级管不亮表示该题 抢答有效。本电路用一个 74LS75 双锁存器、BCD-7 段译码器和 LED 数码管显示 器组成�可以将四位抢答者的按钮通过双锁存器�驱动 LED 数码管显示器显示出 他们最先抢答者的序号。当有人抢答时�抢答电路和定时电路停止工作。
二、方案�
采用 74LS75 四 D 触发器、四输入与门、二输入与非门、BCD-7 段译码器� 各 5 个开关�二级管及电阻若干�构成枪答器�用二级管显示对应抢答者�并用 BCD-7 段译码器显示对应抢答者的编号�当有人抢答时�及当有人按下抢答开关 后�用低电平锁住四 D 触发器。当使用清零开关后才允许下次抢答。
西安邮电学院
数字电路课程设计报告书
——数字抢答器
学院名称 �
电子工程学院
学生姓名 �
XXX
专业名称 习 时 间 � 2011 年 6 月 20 日 — 2011 年 7 月 1 日
摘要�本课题设计是“四人抢答器”�包括可分为三部分�有脉冲信号产生、抢 答器、倒计时三个模块。先根据要求用 74LS75 双锁存器构造四人抢答器�用 BCD-7 段译码器显示抢答者编号�用 555 定时器产生脉冲信号�脉冲信号周期为 1.0024s。通过 74LS161 做个位计时器�用置数法通过反码实现减法计数�在用 BCD-7 段译码器显示倒计时。数码管与 74LS48 配合使用�本次课题使用的数码 管需要 74LS48 驱动工作�其允许抢答时间为 10s。 关键字�锁存器 脉冲信号 减法器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告学生姓名:黄楷淏学号:0809290113 学院: 理学院班级: 信计081题目: 旋转立方体指导教师:常志文职称: 教授邓冠男助教2011 年 5 月 30 日摘要计算图形学基础课程已经学完,对相关高级语言程序设计的基本知识也有了一定的了解。
画出正方体并使之旋转,这一题目考察了程序设计自顶而下、逐步细化的相关基本思想。
题目难点在于实现可视化界面的交互、以及图像的旋转过程。
分析题目可以得出程序可以大致分为两个方面的内容:1.画出一个正方体。
2.使正方体旋转起来。
经过查找相关资料,本程序采用功能强大的图形库OPENGL并调用一系列WINDOWS API采用C/C++语言在Microsoft Visual C++6.0环境下编写。
很好的解决了用C/C++编写图形界面的难点问题。
通过Win32平台的OPENGL API实现了逼真的三维旋转效果。
关键词:正方体;旋转;可视化;OPENGL目录一、选题背景............................................................................................................................ - 1 -1.1 背景及目的....................................................................................................................... - 1 -1.2 题目概述........................................................................................................................... - 1 -二、算法设计............................................................................................................................ - 2 -2.1 数据结构........................................................................................................................... - 2 -2.2 功能实现........................................................................................................................... - 3 -三、程序及功能说明................................................................................................................ - 4 -3.1 鼠标控制正方体的旋转..................................................................................................... - 4 -四、结果分析............................................................................................................................ - 6 -4.1 结果分析........................................................................................................................... - 6 -五、总结................................................................................................................................ - 7 -六、课程设计心得体会............................................................................................................ - 8 -参考文献.................................................................................................................................... - 9 -源程序. (10)一、选题背景1.1背景及目的基本高级语言程序设计以及相关专业基础课程已经学习完毕,在学习过程中遇到的一些难点问题,为了综合以前学过的课程知识并融会贯通。
可以通过课程设计的独立完成来通过相关途径解决,从而能够更好的掌握程序设计的思想,提升编程能力。
1.2题目概述本题:画出一个正方体,并将它旋转起来。
主要应实现以下4点基本要求:1.用C/C++或VB实现;2.友好性:界面要友好;3.可读性:源程序代码清晰、有层次;4.用鼠标可以决定立方体旋转速度的快慢。
题目难点在于实现可视化界面的交互、以及图像的旋转过程。
分析题目可以得出程序可以大致分为两个方面的工作内容:1.画出一个正方体。
2.使正方体旋转起来。
通过在互联网上查找资料,我决定使用OPENGL图形库来解决C/C++编写图形界面困难的问题。
二、算法设计2.1数据结构2.1.1opengl及windows 坐标系OPENGL的三维坐标系如图1所示:XOY平面为屏幕所在图1 OPENGL三维坐标系WINDOWS的窗体坐标如图2所示:图2WINDOWS窗体二维坐标系2.1.2 大体设计方案综上所述,在本程序中。
首先使用相关的WINDOWS API创建窗口,其次实现程序的相应功能:1.使用OPENGL相应库函数画出正方体。
2.使之旋转起来。
3.在窗体中响应鼠标事件,控制正方体的旋转。
程序流程图如图3所示:图3 程序流程图程序的大体内容以及机构已经构造成型,功能部分还需要进一步的细化。
显然在消息循环中的内容还远不止这些,还需加入响应以下事件:1.当窗口大小发生变化时,重置窗口。
2.响应鼠标事件,并改变相对应的参数值,来改变旋转速度。
3.响应窗口中断事件,如关闭事件、屏保事件。
2.2功能实现2.2.1 opengl的主体绘制工作首先使用glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 清除屏幕和深度缓存,然后使用glLoadIdentity();重置当前的模型观察矩阵,确定绘制好图形的位置glTranslatef(0.0f,0.0f,z); 移入屏幕z 个单位。
函数glTranslatef(x, y, z)作用为沿着X, Y 和Z 轴移动;现在是本程序中最重要的语句:glRotatef(angle,0.0f,0.0f,0.0f),其中angle为每次旋转的角度,之后分别是XYZ三个轴的旋转分量,这三个旋转分量构成了三维坐标轴中的旋转法向量。
glBegin(GL_QUADS);绘制四边形(使用每4个连续的顶点定义一个四边形的"填充图元-GL_QUANS")。
三、程序及功能说明3.1 鼠标控制正方体的旋转上面我们介绍到旋转函数的作用,来解决程序是要使正方体旋转起来的问题,程序还有一个要求就是,当鼠标在正方体表面的中心处拖动旋转时,其旋转的速度很慢,反之,当鼠标在表面的边角处拽动时,其速度很快,这刚好符合人们实际中的习惯。
此功能用一下程序实现:V oid mouseMotion(int x, int y){float curPos[3], dx, dy, dz;trackball_ptov(x, y, winWidth, winHeight, curPos);if(trackingMouse){dx = curPos[0] - lastPos[0];dy = curPos[1] - lastPos[1];dz = curPos[2] - lastPos[2];if (dx || dy || dz) {angle = 90.0F * sqrt(dx*dx + dy*dy + dz*dz);axis[0] = lastPos[1]*curPos[2] - lastPos[2]*curPos[1];axis[1] = lastPos[2]*curPos[0] - lastPos[0]*curPos[2];axis[2] = lastPos[0]*curPos[1] - lastPos[1]*curPos[0];lastPos[0] = curPos[0];lastPos[1] = curPos[1];lastPos[2] = curPos[2];}}glutPostRedisplay();}效果如下图所示:四、结果分析4.1 结果分析程序解决了老师提出的问题及相关的要求,能够用鼠标控制正方体的旋转速度,以及旋转方向。
大致取得了满意的结果。
体现出了OPENGL图形库的易用性与强大的图形设计功能,而且十分容易上手学习使用。
通过这次设计,掌握了以下几大方面的内容:1.WINDOWS消息消息机制。
2.OPENGL库的调用方法,以及使用OPENG创建窗口与WINDOWS的交互过程3.OPENGL绘制图形的基本过程。
但是由于技术上的不足,立方体的制作显得不够真实,3D效果也不突出,所以对opengl 的学习在以后还得继续进行。
五、总结信息与计算科学专业经过两年的课程学习,已经积累了相关高级语言程序设计的基本知识。
在学习了这么多的专业课程之后,如何体现本专业的实用性(在以后的学习和生活中,如何能够更好的应用所学的内容)成为我一直在思考的问题。
通过本次课程设计:画出正方体并使之旋转这一题目,这一题目考察了程序设计自顶而下、逐步细化的相关基本思想。
开始题目要求使用C/C++或者VB语言来设计,为了克服并解决C/C++编写图新界面困难的问题,我查阅了相关资料。