课 程 设 计 报 告
单片机课程设计报告——温度报警器
4.2.1主程序软件设计
通过上述原理,已对密码锁整体运行环境有了充分认识,绘制主程序和子程序流程图,利用Keil软件,对单片机进行编程,如图4-1为主程序功能流程图:
4-1主程序功能流程图
4.2.2温度采集的软件设计
如图4-2为温度采集的软件设计,主要功能是完成DS18B20的初始化工作,并进行读温度,将温度转化成为压缩BCD码 并在显示器上显示传感器所测得的实际温度。读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。
1.2温度报警器的背景与研究意义
在日常生活中,温度对于我们并不陌生,它是一个时时刻刻存在的物理量在我们的日常生活中占据了十分重要的地位。温度的大小时刻与我们的生产、生命、安全息息相关。因此对温度的测量与控制对各个行业领域有着很及其重要的作用尤其是在金属冶炼、化学研究、建材生产、食品加工、机械制作、石油提炼等工业领域,占据不可忽视的作用。众所周知,当我们进行陶瓷烧烤,制作陶瓷工艺时,必须很精确的控制其烧烤温度,只要我们控制好其温度,这样才能创造出完美的、无瑕疵的艺术品,一旦温度控制不佳,将会一件次品;另外当我们进行酿酒时,同样也需要对温度进行合理适当的控制,只有这样,我们才能够生产出大家公认的好酒。如此可见,对于温度的检测与把控在我们日常生活以及工业生产占据着举足轻重的地位。
1.DS18B20不断采集周围环境温度;
2.单片机处理温度的数据显示在DS18B20;
3.用户设定温度报警的上限和下限;
系统整体设计框图如图2-1所示:
图2-1系统整体设计框图
2.2系统的基本方案
2.2.1系统方案选择
采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0—100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。
单片机交通灯课程设计报告
《单片机原理与应用》课程设计报告题目:学院:姓名:学号:日期:指导老师:交通灯的设计一、课程设计的目的1、进一步熟悉和掌握单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的特性,控制方法。
3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。
6、通过课程设计,培养学生综合运用所学专业知识分析问题和解决问题的能力。
二、仪器设备伟福Lab8000系列单片机仿真实验系统。
三、课程设计主要内容及技术指标基本要求:设计由红黄绿三色灯组成的交通信号灯,各灯逐次点亮,按照红灯亮63秒——绿灯亮60秒——黄灯亮3秒——红灯亮63秒的顺序反复循环。
利用单片机片内的定时计数器定时,红黄绿灯用发光二极管表示,计时值用数码管以十进制数字显示。
要求定时准确,数码管和二极管显示正确。
拓展要求:要有较好的人机对话界面;由单向路口的红绿灯循环点亮拓展为十字路口红绿灯的循环点亮;在十字路口的某一方向设定紧急通行开关,闭合开关时要求此方向绿灯点亮,另一方向红灯点亮,且倒计时的显示数码管停止计时。
四、系统工作原理该系统以89C51单片机为控制核心,由外接三色(红绿黄)LED灯同步八段数码管的倒计时显示,外接两开关电路控制两方向的应急中断。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到八段数码管上实时显示。
在此过程中随时通过开关调用LED灯常亮显示和清除数码管显示的中断。
五、系统的硬件设计注:单片机的晶振电路的复位电路略去连线时,伟福Lab8000系列单片机仿真实验系统的数码管显示打到外驱,P2口连接数码管的段码口,P3连接位选通口;用P1.0~P1.5分别选连两组红绿黄灯,P1.6~P1.7连接两控制开关key和key1.六、系统的软件设计1、系统工作过程(1) 在一个十字路口的两条主干道上,分别装上一套红、黄、绿3种信号灯。
单片机课程设计——交通灯
单片机课程设计报告书题目:交通信号灯学院:班级:姓名:学号:课程名称:指导老师:日期:一.设计任务:交通灯的硬件和软件设计二.设计目的课程设计是本专业集中实践环节的主要内容之一。
训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。
学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。
例如组成系统、编程、调试、绘图等。
使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础三.设计思路交通灯的变化规律按照常规我们假设一个十字路口为东西南北走向。
初始状态为状态1,南北方向绿灯通车,东西方向红灯。
经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。
再转换到状态3,东西方向绿灯通车,南北方向红灯。
过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。
最后循环至南北绿灯,东西红灯。
在这些状态下,有时钟倒数计时。
四.硬件介绍基础知识交通灯控制器实例主要使用了89C51单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4种工作方式、以及定时器/计数器的变成。
4.1定时器/计数器定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。
首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。
课程设计实验报告10篇
课程设计实验报告10篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、合同协议、心得体会、演讲致辞、规章制度、岗位职责、操作规程、计划书、祝福语、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample texts, such as work reports, contract agreements, insights, speeches, rules and regulations, job responsibilities, operating procedures, plans, blessings, and other sample texts. If you want to learn about different sample formats and writing methods, please pay attention!课程设计实验报告10篇【第1篇】大学物理实验课程设计实验报告北方民族大学大学物理实验(设计性实验)实验报告指导老师:王建明姓名:张国生学号:XX0233学院:信息与计算科学学院班级:05信计2班重力加速度的测定一、实验任务精确测定银川地区的重力加速度二、实验要求测量结果的相对不确定度不超过5%三、物理模型的建立及比较初步确定有以下六种模型方案:方法一、用打点计时器测量所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等.利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒X两点间隔数.由公式h=gt2/2得g=2h/t2.将所测代入即可求得g.方法二、用滴水法测重力加速度调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下:取液面上任一液元a,它距转轴为X,质量为m,受重力mg、弹力n.由动力学知:ncosα-mg=0(1)nsinα=mω2X(2)两式相比得tgα=ω2X/g,又 tgα=dy/dX,∴dy=ω2XdX/g,∴y/X=ω2X/2g.∴ g=ω2X2/2y..将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标X、y测出,将转台转速ω代入即可求得g.方法四、光电控制计时法调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法五、用圆锥摆测量所用仪器为:米尺、秒表、单摆.使单摆的摆锤在水平面内作匀速圆周运动,用直尺测量出h(见图(1)用秒表测出摆锥n转所用的时间t,则摆锥角速度ω=2πn/t 摆锥作匀速圆周运动的向心力f=mgtgθ,而tgθ=r/h所以mgtg θ=mω2r由以上几式得:g=4π2n2h/t2.将所测的n、t、h代入即可求得g值.方法六、单摆法测量重力加速度在摆角很小时,摆动周期为:则通过对以上六种方法的比较,本想尝试利用光电控制计时法来测量,但因为实验室器材不全,故该方法无法进行;对其他几种方法反复比较,用单摆法测量重力加速度原理、方法都比较简单且最熟悉,仪器在实验室也很齐全,故利用该方法来测最为顺利,从而可以得到更为精确的值。
包装控制器数电课设报告
等级:课程设计课程名称数字电子技术课题名称包装控制器专业电气工程及其自动化班级电气1201学号201201030218姓名许旺指导教师杨四秧2014年12月22日电气信息学院课程设计评分表评价项目优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综合评分指导教师签名:________________日期:________________注:①表中标*号项目是硬件制作或软件编程类课题必填内容;②此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
目录一、设计总体思路,基本原理和框图 (3)二、单元电路设计 (4)1、倒计时电路 (4)2、74ls192级联电路 (6)3、译码显示模块 (7)4、扩展 (8)三、总电路设计 (9)四、安装调试步骤 (11)五、故障分析与电路改进 (11)六、总结与设计调试体会 (13)七、附录 (14)元器件清单 (14)八、参考文献 (14)一、设计总体思路,基本原理和框图根据设计要求设计一个食品包装控制器按顺序依次计数:12个为一袋,36袋为一盒,48盒为一箱。
用显示器显示个、瓶、盒数量。
(用倒计时方式);用一位显示器显示箱数。
(用顺计时方式)。
加入功能扩展(自选)。
控制器的设计方法有很多种,例如,可用组合逻辑电路电路组成控制器;也可以利用单片机来实现电子钟等等。
我们这里采用成本较低,设计较简单的中小规模集成电路组成药品包装控制器。
该交通灯控制系统的总体设计框图如下图所示。
本设计采用74ls192来倒计时计数,首先将要求的预制数预制入芯片,最低位芯片位由秒脉冲来控制倒计数。
然后将芯片级联,互相之间通过低位的借位脉冲来控制相应芯片置入数的倒计数。
机械原理课程设计报告书(四冲程内燃机设计) (2)
课程设计报告书题目:四冲程内燃机设计【目录】一、四冲程内燃机的运动分析及总体设计思路 (1)二、绘制内燃机运动简图(A4) (6)三、绘制连杆机构位置图(A2) (6)四、连杆机构15个位置速度、加速度分析及曲线绘制(A2) (7)i.绘制机构15个位置的速度及加速度多边形 (7)ii.绘制滑块B的位移曲线、速度曲线及加速度曲线 (10)五、动态静力分析(A1) (11)六、计算飞轮转动惯量(不计构件质量)(A4) (14)七、计算发动机功率 (18)八、对曲柄滑块进行机构部分平衡 (18)九、凸轮的轮廓设计(A4) (19)十、绘制内燃机工作循环图(A4) (24)十一、心得体会 (25)一、四冲程内燃机的运动分析及总体设计思路根据设计任务书,我们需要解决以下问题:凸轮的参数是多少?如何能让机构正常循环工作?为了解决这个问题,我们需要对整个机构从运动及力学的角度分析。
首先,需要明确四冲程内燃机的工作原理:内燃机是通过吸气、压缩、燃烧、排气四个过程不断重复进行的。
如果在四个冲程里完成吸气、压缩、做功(燃烧、膨胀)、排气的循环动作,就叫做四冲程。
相应的内燃机叫四冲程内燃机。
第一冲程,即吸气冲程。
这时曲轴向下转动,带动活塞向下,同时通过齿轮带动凸轮向下旋转,是凸轮的突起部分顶开进气阀门,雾状汽油和空气混合的燃料被吸入气缸。
第二冲程,即压缩冲程。
曲轴带动活塞向上,凸轮的突起部分已经转两个过去,进气阀门被关闭,由于凸轮只转了14周,所以排气阀门仍然处于关闭状态。
活塞向上运动时,将第一冲程吸入的可燃气体压缩,被压缩的气体的压强达到0.6~1.5兆帕,温度升高到300摄氏度左右。
第三冲程是做功冲程。
在压缩冲程末火花塞产生电火花,混合燃料迅速燃烧,温度骤然升高到2000摄氏度左右,压强达到3~5兆帕。
高温高压烟气急剧膨胀,推动活塞向下做功,此时曲柄转动半周而凸轮转过14周,两个气阀仍然紧闭。
第四冲程是排气冲程。
模电课程设计:低频功率放大器实验报告
课程设计课程设计名称:模拟电路课程设计专业班级:学生姓名:学号:指导教师:课程设计时间: 2015年6月电子信息科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1、设计任务及要求这次的模拟电路课程设计题目为音频功率放大器,简称音频功放,作为模拟电子课程设计课题设计,本课题提出的音频功率放大器性能指标比较低,主要采用理论课程里介绍的运算放大集成电路和功率放大集成电路来构成音频功率放大器。
音频功率放大器主要用于推动扬声器发声,凡发声的电子产品中都要用到音频功放,比如手机、MP4播放器、笔记本电脑、电视机、音响设备等给我们的生活和学习工作带来了不可替代的方便享受。
2、设计方案整体电路的设计与工作原理是通过前置放大器的处理,使输入的音频信号与放大器的输入灵敏度相匹配,从而使放大器适应不同的输入信号,再通过音量控制,输入功率放大电路进行处理。
同时设计电源电路,为前置电路和功率放大电路提供电源,最后得到较为理想的信号。
音频功率放大器实际上就是对比较小的音频信号进行放大,使其功率增加,然后输出。
其原理如图1所示,前置放大主要完成对小信号的放大,使用一个同向放大电路对输入的音频小信号的电压进行放大,得到后一级所需要的输入。
后一级的主要对音频进行功率放大,使其能够驱动电阻而得到需要的音频。
设计时首先根据技术指标要求,对整机电路做出适当安排,确定各级的增益分配,然后对各级电路进行具体的设计。
3、模块设计与参数计算低频功率放大器原理图(1)前置放大器:音频功率放大器的作用是将声音源输入的信号进行放大,然后输出驱动扬声器。
声音源的种类有多种,如话筒、录音机、线路传输等,这些声音源的输出信号的电压差别很大,从零点几毫伏到几百毫伏。
单片机课程设计报告-电子时钟--完结篇
⑴ -芯片电源,接+5V;
⑵GND-接地端;
注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速
度没这么快而已,在某一个瞬间单片机引脚电压
仍保持在0或者5v。
2
XTAL1、XTAL2 -当使用芯片内部时钟时,此二引线用于外界石英晶体振荡器和电容。当使用外部时钟时,用于接外部时钟脉冲信号。
关键字:单片机;子时钟;键盘控制。
一
单片计算机即单片微型计算机。(Single-Chip Microcomputer),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬件的能力。
三、总体方案及硬件设计
简易电子钟硬件系统的设计,关键是其键盘、显示器接口电路的设计,本设计采用直接利用单片机AT89C52的并行I/O口构成电子钟的键盘、显示接口电路,其硬件系统原理框图如图3-1所示,主要包括单片机、时钟电路。复位电路。键盘及显示接口电路。
四
AT89C51有40个引脚,按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。
定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。
数字秒表设计报告
吉林建筑工程学院电气与电子信息工程学院微机原理课程设计报告设计题目:数字秒表的设计专业班级:学生姓名:学号:指导教师:设计时间:数字秒表设计报告一、课程设计目的通过该设计,掌握8255并行接口芯片、8253定时计数芯片的使用和数码管的使用,并掌握相应的程序设计和电路设计的技能。
是对8255并行接口芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。
二、课程设计的内容及要求利用8253计数器2和计数器1,实现1Hz信号的产生,然后计数器采用硬件触发选通方式计数,CPU读取计数结果,并转换为读秒计数,并把读秒计数的结果用数码管显示出来(2位)。
三、总体设计方案设计一个利用微机原理与接口技术完成秒表的设计方案, 该方案主要是选择8253A的计数器2与计数器1产生一个1Hz的中断脉冲,其输出端与不可屏蔽中断请求信号端相连接。
利用1.19318MHz脉冲方波输入CLK2,设置CLK2的初值为59659,将CLK2的输出端连接到CLK1,设置CLK1的初值为20,将OUT1连接到8086CPU 的NMI端。
将NMI端有一个低电平信号输入时,8086CPU将产生中断进行秒计数。
8086通过8255A将PA口作为段选信号输出端,将PB口作为片选信号输出端。
图3.1 方案设计框图此方案的核心内容是利用微机原理与接口技术完成秒表的设计方案,该方案主要是选择8253A的计数器2和计数器1进行1s的定时,其输出于OUT1与8086的NMI相连,当定时到1s的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元;8255的A口接七段数码管的段选信号,B口接七段数码管的位选信号,秒的数值通过对8255的编程可以显示在七段数码管上面。
该方案是利用微机接口技术的典范案例,就可行性而言,也是行之有效的。
四、硬件系统设计8086简介Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。
单片机数字温度计课程设计报告
单片机数字温度计课程设计报告1.引言2.课程目标3.教学内容4.教学方法5.教学评价6.结论7.参考文献引言:数字温度计是现代生活中常用的一种温度测量工具。
对于学生来说,了解数字温度计的使用原理和正确使用方法是非常必要的。
因此,本课程设计旨在帮助学生掌握数字温度计的基本知识和技能,提高其实际应用能力。
课程目标:1.了解数字温度计的基本原理和结构。
2.掌握数字温度计的使用方法。
3.能够正确进行数字温度计的校准和维护。
4.能够应用数字温度计进行实际温度测量。
教学内容:1.数字温度计的基本原理和结构。
2.数字温度计的使用方法。
3.数字温度计的校准和维护。
4.数字温度计的实际应用。
教学方法:本课程采用讲授、实验和讨论相结合的教学方法。
通过讲解数字温度计的基本原理和结构,让学生了解数字温度计的工作原理;通过实验操作,让学生掌握数字温度计的使用方法和校准方法;通过讨论,让学生了解数字温度计的实际应用场景。
教学评价:本课程的教学评价主要采用考试和实验报告相结合的方式。
考试主要考查学生对数字温度计的理论知识掌握情况;实验报告主要考查学生对数字温度计的实际应用能力和实验操作能力。
结论:通过本课程的研究,学生能够掌握数字温度计的基本知识和技能,提高其实际应用能力,为其未来的研究和工作打下坚实的基础。
参考文献:1.《数字温度计使用手册》2.《数字温度计原理与应用》3.《温度测量技术与应用》1.设计任务1.1 设计目的本设计旨在实现一个温度监测系统,能够实时监测环境温度,并在温度超出预设范围时发出报警信号,同时在液晶显示屏上显示当前温度。
1.2 设计指标本设计的主要指标包括:温度监测精度、报警准确性、系统响应速度、硬件成本、软件复杂度等。
1.3 设计要求本设计要求系统稳定可靠,操作简便,能够满足实际应用需求。
2.设计思路与总体框图本系统采用单片机作为主控芯片,通过温度传感器采集环境温度,并将数据传输到单片机进行处理。
同时,液晶显示屏用于显示当前温度,按键用于对系统进行设置和调整。
微机课设报告 打字游戏汇编语言的设计
学号09750223实习报告微型计算机原理及应用课程设计报告打字游戏程序设计起止日期:2012 年1 月3 日至2012年 1 月6 日学生姓名马聪班级09电气2班成绩指导教师(签字)电子与信息工程系2012年1月05日摘要为了更好地掌握学习微机原理的知识,我们进行了这次课程实验,以完善我们的知识体系,我们通过汇编语言在PC机上完成了一个打字游戏的设计,它具有练习打字的功能。
本有游戏主要针对指法练习,并提供字母和单词两种选择。
根据用户自身情况,可以进行速度调节,以达到最佳的练习效果。
同时本游戏提供显示得分,正确率和失败个数的功能。
当失败个数超过一定个数后,游戏结束并提示是否继续。
目录一、课程设计题目 (2)二、设计思路模块划分流程图 (2)㈠设计思路 (2)㈡模块划分 (2)㈢流程图 (3)三、程序源代码 (4)四、调试过程,运行结果和出现的问题及解决 (12)1、调试结果 (12)2、在调试中碰到问题 (14)五、课程设计心得 (14)六、成绩单 (15)一、课程设计题目、内容和实现的功能字母打字游戏基本功能:0 菜单主界面由“开始”“速度调整”“暂停”“结束”“统计得分”等项组成1 按ESC键退出游戏,显示得分,正确打字数和错误打字数.二、设计思路、模块划分、流程图(一)设计思路:利用计算机控制发声的原理,来演奏乐曲的程序。
乐曲按一定的高低、长短和强弱关系组成的音调。
根据歌谱,来编写歌程序的音符表和节奏表。
组成乐谱的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。
通过来设时间值,然后通过发声程序“*”来播放音乐。
通过键盘控制扬声器发出各种音符声音,使计算机键盘变成钢琴键盘,这是可以用它来演奏各种简单的声音。
弹奏时对应乐谱上的q音符,按下1,程序将接收到的1键的频率为262Hz送入程序中。
1、音乐播放选择从键盘上输入“1”,则播放“新年好”;从键盘上输入“q”,则退出;从键盘上输入其它字符,则等待重新输入。
信息技术校本课程设计
信息技术校本课程设计一、课程目标知识目标:1. 让学生掌握信息技术的基本概念,理解信息处理、存储和传输的基本原理。
2. 使学生了解计算机网络的基础知识,掌握网络通信的基本操作。
3. 培养学生对信息系统安全性的认识,了解信息安全的基本措施。
技能目标:1. 培养学生熟练运用常用办公软件,如Word、Excel、PowerPoint等,解决实际问题。
2. 提高学生运用网络资源进行信息检索、筛选、整理和分析的能力。
3. 培养学生利用编程软件进行简单程序设计和解决问题的能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣,激发他们主动学习和探究的热情。
2. 培养学生的团队协作意识,提高他们在团队项目中沟通与协作的能力。
3. 增强学生的网络安全意识,使他们能够正确使用网络资源,遵循道德规范,拒绝不良信息。
课程性质:本课程为校本课程,旨在提高学生的信息技术素养,培养学生的实际操作能力和创新能力。
学生特点:学生处于初中阶段,对信息技术有一定的基础,好奇心强,求知欲旺盛,喜欢动手操作。
教学要求:结合学生特点,注重理论与实践相结合,强调实际操作,鼓励学生创新,提高他们的信息技术素养。
将课程目标分解为具体的学习成果,以便在教学设计和评估中更好地落实。
二、教学内容1. 信息技术基本概念:介绍信息的定义、特征、类型,信息技术的组成和发展趋势。
教材章节:第一章 信息与信息技术2. 计算机网络基础:讲解网络的结构、分类、协议,网络通信的基本原理。
教材章节:第二章 计算机网络基础3. 常用办公软件应用:教授Word、Excel、PowerPoint等软件的基本操作,应用技巧。
教材章节:第三章 常用办公软件4. 信息系统安全:介绍信息安全的基本概念、原则,常见的安全技术和防范措施。
教材章节:第四章 信息系统安全5. 网络资源利用:教授网络信息检索、筛选、整理和分析的方法,培养信息素养。
教材章节:第五章 网络资源的利用6. 简单程序设计:引导学生学习编程思维,掌握基本的编程方法和技巧。
绵阳市中小学课程设置标准
本文由云亦无心hdg贡献doc文档可能在WA P端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
绵教发[2007]37 号绵阳市教育局关于印发《绵阳市义务教育课程设置方案(试行)》和关于印发《绵阳市义务教育课程设置方案(试行)和》》的通知《绵阳市义务教育阶段地方课程实施方案(试行)的通知绵阳市义务教育阶段地方课程实施方案(试行)》各县市区教育(教体、教文体)局,各园区社发局,科学城教育局,63820 部队教育办,市直属有关单位:为了进一步贯彻落实《国务院关于基础教育课程改革与发展的决定》《中共中央国务院关于加强青少年体育增强青少年体质、的意见》和《教育部国家体育总局关于进一步加强学校体育工作切实提高学生健康素质的意见》精神,推动我市基础教育课程改革深入实施,促进全市学校、教师进一步转变教育教学观念,全面提高学生综合素质,根据《四川省教育厅关于印发<四川省义务教育课程设置方案(修订稿)>》(川教[2007]173 号)精神,现将我局制定的《绵阳市义务教育课程设置方案(试行)》和《绵阳市1义务教育阶段地方课程实施方案(试行)(以下简称《方案》》)印发给你们,请遵照执行。
《方案》是贯彻落实《义务教育法》,切实推进素质教育的重要抓手和着力点。
各县市区教育行政部门、各学校务必深刻领会,坚持依法治教,各示范学校必须带头模范执行。
从 2007 年秋季开学起,各义务教育阶段学校务必严格遵照《方案》安排好学校的教学计划,开齐课程、开足课时,全面发展学生素质,严禁随意砍减课程、增减课时。
各县市区教育行政部门要加强对所属义务教育阶段学校严格执行本《方案》的指导、管理和监督,承担相应管理责任,并将执行本《方案》情况于 9月 15日前书面报告市教育局基教科备查。
51单片机课程设计数字温度计报告
电子毕业设计数字温度计题目:数显温度计学院:电子信息学院班级:学号::指导老师:日期:数字温度计设计任务书一、课程设计目的1、加强学生理论联系实际的能力,提高学生的动手能力;2、学会基本电子元器件的识别和检测;3、学会应用EDA软件Proteus进行电路的设计和仿真;4、基本掌握单片机的基本原理,并能将其应用于系统的设计。
5、通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。
二、设计任务先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。
三、设计要求具有以下功能:(1)采用DS18B20作为温度传感器进行温度检测;(2)对采集温度进行显示(显示温度分辨率0.1℃);(3)采集温度数值应采用数字滤波措施,保证显示数据稳定;(4)显示数据,无数据位必须消隐。
目录数字温度计设计任务书 (2)1、设计思路(1)设计原理 (4)(2)系统方案及总体设计框图 (4)2、数字温度计应用系统的硬件设计(1)单片机小系统基本组成及硬件图(2)外围电路工作原理及系统硬件图(3)主要芯片及其功能3、系统软件程序的设计软件流程框图4、系统调试(1)仿真器介绍(2)调试结果及其分析(3)系统设计电路的特点和方案的优缺点5、课程设计心得体会参考文献附录程序清单及注释一、 设计思路:设计方案及其总体设计框图温度计设计系统流程图系统设计原理:本次课程设计是基于单片机的数字温度计设计,在开始课程设计的时候我们要理解并掌握对单片机的开发,学会使用KEIL 及Proteus 等仿真软件。
根据设计任务要求选二、数字温度计应用系统的硬件设计1、单片机小系统的基本组成及其选择 (1)单片机 单片机选型参考 • ① AT89S51、AT89S52 :具备ISP 下载功能 ,可以使用USBASP 程序下载线或者并口下载• ② STC89C51、STC89C52:使用串口线+MAX232烧写程序。
计组实验报告
计算机组成原理课程设计报告实验名称:硬布线控制器的设计学院:计算机学院班级:2010211301组员:张宇明,郭逊,谌惠民,廉鸿一目录本报告包括以下内容:1. 数据通路图及其说明.............................P42. 硬布线控制器逻辑模块图及设计...................P53. 硬布线控制器指令周期流程图及设计...............P84. 控制模块VHDL语言源程序/原理图(包含说明和注释)..................................................P95. 测试波形图(以WRM为例)........................P156. 控制模块原理图.................................P167. 设计说明书.....................................P178. 设计与调试小结.................................P20 8. 本组成员实验心得...............................P21数据通路图说明:数据通路是将双端口存储器模块和双端口通用寄存器模块连接在一起形成的。
双端口通用寄存器(RF)由一个ispLSI1016实现,功能相当于四个八位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。
双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从右端口读出的通用寄存器,RD1、RD0用于选择从左端口读出的通用寄存器。
而WR1、WR0用于选择写入的通用寄存器。
LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。
左右端口分别与操作数暂存器DR1和DR2相连,RF的右端口通过三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过右端口送到DBUS上。
系统软件程序设计报告(linux下C语言程序课程设计报告)
一、 引言(简要说明设计题目的目的、意义、内容、主要任务等) 1.1 设计目的
本次系统软件课程设计的主要目的有两个:一方面是分析设计 linux 源代码,另一方面 是进行系统级的程序设计。 1.2 题目与要求
我计划编写的题目是:⑴小学算术运算测试程序。制作一个可供小学数学运算的程序: 10 以内加减法,能根据输入题数出题,判断题是否正确,最后计算分数。并用 make 工程管 理器编译,编写 makefile 文件。⑵简单聊天程序。在 linux 下用 C 语言编写一个简单的网络 聊天程序。实现网络传输功能。 1.3 内容及主要任务
2
⑴出题模块(question_out()):这一模块主要负责对题目的储存和调出这两个功能。 ⑵答题模块(answer()):这一模块主要负责将用户端的答案通过键盘输入到系统。 ⑶检查计分模块(check()):这一模块主要负责检查判断用户所提供的答案是否正确并 根据它来记录每题所的总分。 ⑷评分模块(count()):这一模块主要负责统计总得分并打印。 ⑸评价模块(assessment()) :这一模块主要负责根据给出的总得分打印相应的评语。 总之这五个模块都有着各自的功能且互相联系,五者在程序中缺一不可。 2.1.4 makefile 介绍 ⑴Makefile 文件介绍 Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中, makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些 文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell 脚本一 样,其中也可以执行操作系统的命令。 ⑵makefile 主要功能 Make 工具最主要也是最基本的功能就是通过 makefile 文件来描述源程序之间的相互关 系并自动维护编译工作。而 makefile 文件需要按照某种语法进行编写,文件中需要说明如 何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文 件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开 发环境中,用户通过友好的界面修改 makefile 文件而已。 ⑶自动化编译 Makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个 make 命令,整 个工程完全自动编译,极大的提高了软件开发的效率。make 是一个命令工具,是一个解释 makefile 中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,比如:Delphi 的 make, Visual C++的 nmake,Linux 下 GNU 的 make。可见,makefile 都成为了一种在工程方面的编 译方法。 2.1.5 makefile 规则
单片机原理与应用技术课程设计报告
单片机原理与应用技术课程设计报告题目基于单片机控制的出租车计价器专业班级:电气工程及其自动化2009年3月6日基于单片机控制的出租车计价器任务书一.设计目的与要求1.基本功能(1)显示:可以显示单价、里程、总金额。
(2)停车计费功能:中途因故停车超过5分钟后每分钟按当时单价的50%收费。
(3)自动分时计费功能:白天和夜间应能自动更换单价。
2.性能里程误差小于2%。
3.扩展功能(1)可增加时钟功能。
(2)可增加数据掉电保护功能。
二.计划完成时间三周(1)第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
(2)第二周完成软件的具体设计和硬件的制作。
(3)第三周完成软件和硬件的联合调试。
目录1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.1.1方案论证与比较 (1)3 设计原理分析 (2)3.1计价器的硬件设计 (2)3.1.1单片机最小系统单元 (2)3.1.2霍尔电路 (3)3.1.3掉电存储单元单元电路 (3)3.1.4显示单元电路设计 (4)3.1.5 键盘电路 (5)3.2计价器的软件设计 (6)3.2.1主程序模块 (6)3.2.2外部计数中断(计程计价程序) (6)4 结束语 (7)参考文献 (8)附录 (9)整体电路图 (9)源程序 (10)基于单片机控制的出租车计价器摘要:随着出租车行业的发展,出租车行业已经是城市交通的重要组成部分,从加强行业管理以及减少与乘客的纠纷出发,以单片机为核心的智能出租车计价系统的开发就显得尤其重要。
本设计采用AT89S51单片机为主控器,A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。
本设计是以单片机AT89S51为核心,通过外围及附属电路来实现的。
该系统满足计程、计时、计费、存储等多种计量功能为一体的出租车计价器的实用要求。
给出了硬件电路图及主程序流程图,阐述了软硬件设计过程中关键技术的处理。
unity3d开题报告
uni ty3d开题报告游戏程序设计课程报告课程:U ni ty3D课程设计题目:班级:学号:姓名:日期:一、摘要UN IT Y游戏是一种新型的I T引擎。
我们研究主要内容是U NI TY游戏设计方法。
指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。
本报告主要讲述了这个小游戏的设计思路及初步使用Un it y3D软件的感受和总结。
设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。
基于U NI TY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。
本游戏的控制很简单,及用键盘的WA SD及S PA CE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。
二、概述《U NI TY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。
大作业主要内容为设计完成面向某一主题内容的游戏演示程序。
自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交互过程等的设计;开发完成与设计相符的游戏D em o。
数电课设报告——出租车计价器
课程设计任务书学生姓名:专业班级:指导教师:许建霞工作单位:信息工程学院题目: 出租车计价器的设计与实现初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等,也可以使用单片机系统构建多功能数字钟。
用数码管显示行驶里程、停车时间和计费值。
要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:1)设计一个出租车计价器。
要求用4位数码管显示行驶里程、停车时间和计费值,采用按键切换显示物理量。
2)出租车的起步价为3元,当里程行驶到1km后,费用为4元;当里程行驶到1.5km后,费用为5元;,当里程行驶到2km后,费用为6元;当里程行驶到2.5km后,费用为7元;当里程行驶到3km后,费用为8元;此后每公里计费为0.7元/0.5km。
停车每达3分钟,增加0.7元。
3)具有秒、分为60进制计数功能,能显示分、秒停车状态的计时结果,格式为:00:00min。
按照轮胎转动1圈为1m计算,计算并显示行驶的里程结果,格式为:000.0km。
能显示乘车费用,格式为:000.0元。
4)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2013年5 月17日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、年月日至年月日,方案选择和电路设计。
3、年月日至年月日,电路调试和设计说明书撰写。
4、2013年7月5日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录1. 1 原理图的设计 (4)1.1方案的选择、比较 (4)1.1.1 方案一 (4)1.1.2 方案二 (5)1.1.3 方案比较选择 (6)1.2 方案二的说明及电路 (6)1.2.1 AT89S52单片机及最小系统 (6)1.2.2 振荡电路 (7)1.2.3 按键单元 (7)1.2.4 显示单元 (8)1.2.5 存储单元 (9)1.3 系统总程序 (10)1.3.1系统总程序 (10)1.3.2 行驶路程子程序 (11)1.3.3 等待时间子程序 (12)1.4主要电路图及工作原理 (14)2 仿真结果分析 (15)3 分析测试数据 (16)4收获、体会、建议 (17)5元器件清单 (18)5.1单片机主板BOM清单 (18)5.2 显示部分器件 (19)6 主要参考文献资料 (20)附录一 (22)附录二 (23)摘要随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。
24点游戏开发课程设计报告书
C++课程设计报告24点游戏软件的开发专业计算机科学与技术学生姓名班级学号指导教师完成日期目录1概述 (1)1.1课程设计目的 (1)1.2课程设计内容 (1)2系统需求分析 (1)2.1系统目标 (1)2.2主体功能 (1)2.3开发环境 (2)3系统概要设计 (2)3.1系统功能模块划分 (2)3.2系统流程图 (3)4系统详细设计. (4)4.1设计步骤 (4)4.2界面设计 (4)4.3关键功能的实现 (5)5测试 (6)5.1测试方案 (6)5.2测试结果 (6)附录 (12)附录1 源程序清单 (12)24点游戏软件的开发1.1课程设计目的a、巩固并加深学生对C++语言程序设计知识的理解;b、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;c、进一步掌握和应用VC++ 6.0 集成开发环境;d、提高运用C++语言解决实际问题的能力;e、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的M IS 系统;f 、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
1.2课程设计内容课题名称:24 点游戏软件的开发说明:24 点游戏是一种常见的纸牌游戏说明要求:a)实现随机发牌;b)能进行结果验算;c )计分;d)难度设置。
2系统需求分析2.1系统目标24 点游戏是个流行的数学运算游戏。
本次课程设计通过24 点游戏来加深我们对对话框编程的认识和理解,并介绍Visual C++在数学计算方面的应用,以及在按钮上设置位图和设置计时器的方法。
24 点扑克游戏的规则是:由系统发出4 张扑克牌,要求用户利用扑克牌上显示的数字(JQKA算10),通过加减乘除运算得出24。
2.2主体功能a.对游戏设计三个难易级别,分别为低级、中级和高级。
每次开始游戏前可以根据玩家的需要进行难度设置,如若不设置,系统默认难度级别为中级,设置完难度级别之后就可以开始游戏了,单击“发牌” 按钮,桌面上出现四张翻开的扑克牌,与此同时,游戏开始计时,进度条开始前进。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、问题描述 (2)二、课程设计目的 (2)三、概要设计 (2)四、问题实现的主要算法与分析 (3)五、数据信息 (3)六、源程序 (4)七、运行结果 (8)八、课程设计的小结 (9)九、参考文献 (10)一、问题描述1.若要在扬州大学的七个校区(广陵校区、盐阜校区、瘦西湖校区、农学院校区、工学院校区、水利学院校区、医学院校区)之间架设校园网,如何以最低的经济代价架设这个校园网。
2.利用二种方法(Prim算法和克鲁斯卡尔(Kruskual)算法生成校园网的架设方案3.分别对每种方法选定一组测试数据进行测试,验证程序的正确性。
二、课程设计目的课程设计的目的是培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。
巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。
为今后学习其他计算机课程打下基础。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程序能力和创新意识。
三、概要设计1.Prim算法:ADT Graph{数据对象V:V是具有相同特性的数据元素的集合,成为顶点集。
数据关系R:R={VR}VR={(v,w)|v,w∈V,(v,w)表示v和w之间存在路径}基本操作P:min(closedge,n);初始条件:图G存在。
操作结果:求权值最小的弧尾顶点。
minspantree(u,n,closedge);初始条件:图G存在。
操作结果:求图G的最小生成数。
}ADT Graph2.Kruskal算法:ADT MGraph{数据对象V:V是具有相同特性的数据元素的集合,成为顶点集。
数据关系R:R={VR}VR={(v,w)|v,w∈V,(v,w)表示v和w之间存在路径}基本操作P:sort(edges,G)初始条件:图G存在。
操作结果:求按权值大小从小到大排序。
MinSpantree(G);初始条件:图G存在。
操作结果:求图G的最小生成数。
Find(parent,f);初始条件:parent是已经存在的集合,v是某个子集成员。
操作结果:查找函数。
返回父亲结点。
}ADT MGraph四、问题实现的主要算法与分析1.Prim算法(1)typedef struct{int adj,low;}edge:定义结构体edge,包含成员adj(顶点),low (权);(2)int min(edge closedge[],int n):求权值最小的弧尾顶点;(3)void minspantree(int u,int n,edge closedge[]):用Prim算法求最小生成树;(4)main():包括用文件打开方式调用数据创建一个图,并对其用Prim算法求最小生成树2.Kruskal算法(1)typedef struct{int begin;int end;int weight;}edge:定义结构体edge,包含成员begin(弧头),end(弧尾),weight(权值);typedef struct{int adj;int weight;}AdjMatrix[MAX][MAX]:定义结构AdjMatrix[MAX][MAX],包含成员包含成员adj(顶点),weight(权值);typedef struct{AdjMatrix arc;int vexnum,arcnum;}MGraph:定义结构体MGraph,包含成员AdjMatrix arc(AdjMatrix 型的成员),vexnum(顶点数),arcnum(边数);(2)void sort(edge edges[],MGraph *G):对权值进行从小到大的排序;(3)void MinSpanTree(MGraph *G):用Kruskal算法求最小生成树;(4)int Find(int *parent,int f):找尾;(5)void main():包括用文件打开方式调用数据创建一个图,并对其用Kruskal算法求最小生成树。
五、数据信息1:广陵校区 2:盐阜校区3:瘦西湖校区 4:农学院校区5:工学院校区 6:水利学院校区7:医学院校区;1 2 111 3 201 4 121 5 101 6 111 7 152 3 102 4 12 5 12 6 22 7 43 4 93 5 113 6 123 7 124 5 24 6 34 7 35 6 15 7 56 7 6六、源程序Prim算法:/* Note:Your choice is C IDE */#include"stdio.h"#define Max 200typedef struct{int adj,low;}edge;int G[20][20];int min(edge closedge[],int n){int i,t,l;t=100;for(i=1;i<=n;i++)if((closedge[i].low)&&(closedge[i].low<t)) {t=closedge[i].low;l=i;} return l;}void minspantree(int u,int n,edge closedge[]){int i,j,k;for(i=1;i<=n;i++)if(i!=u){ closedge[i].adj=u;closedge[i].low=G[u][i];}closedge[u].low=0;for(i=1;i<n;i++){k=min(closedge,n);printf("(%d,%d) %d\n",closedge[k].adj,k,closedge[k].low);closedge[k].low=0;for(j=1;j<=n;j++)if(G[k][j]<closedge[j].low){closedge[j].adj=k;closedge[j].low=G[k][j];}}}main(){edge closedge[20] ;int i,n,m,j,w,q;int u;FILE *fp;printf("1:广陵校区2:盐阜校区\n3:瘦西湖校区4:农学院校区\n5:工学院校区6:水利学院校区\n7:医学院校区\n");printf("please input vexnum and edgenum!\n");scanf("%d,%d",&n,&m);for(i=1;i<=n;i++)for(j=1;j<=n;j++)G[i][j]=100;if((fp=fopen("H:\\shuju.txt","r"))==NULL){printf("can not open file\n");exit(0);}printf("please input i,j,w:\n");for(q=1;q<=m;q++){fscanf(fp,"%d %d %d",&i,&j,&w);G[i][j]=G[j][i]=w;printf("%d %d %d\n",i,j,w);}fclose(fp);printf("please input start point!\n");scanf("%d",&u);minspantree(u,n,closedge);}Kruskal算法:/* Note:Your choice is C IDE */#include"stdio.h"#include"stdlib.h"#define M 20#define MAX 20typedef struct{int begin;int end;int weight;}edge;typedef struct{int adj;int weight;}AdjMatrix[MAX][MAX];typedef struct{AdjMatrix arc;int vexnum,arcnum;}MGraph;void sort(edge edges[],MGraph *G){int i,j,temp;for(i=1;i<G->arcnum;i++)for(j=i+1;j<=G->arcnum;j++){if(edges[i].weight>edges[j].weight) {temp=edges[i].begin;edges[i].begin=edges[j].begin;edges[j].begin=temp;temp=edges[i].end;edges[i].end=edges[j].end;edges[j].end=temp;temp=edges[i].weight;edges[i].weight=edges[j].weight;edges[j].weight=temp;}}}void MinSpanTree(MGraph *G){int i,j,n,m;int k=1;int parent[M];edge edges[M];for(i=1;i<G->vexnum;i++)for(j=i+1;j<=G->vexnum;j++)if(G->arc[i][j].adj==1){edges[k].begin=i;edges[k].end=j;edges[k].weight=G->arc[i][j].weight;k++;}sort(edges,G);for(i=1;i<=G->arcnum;i++)parent[i]=0;printf("最小生成树为:\n");for(i=1;i<=G->arcnum;i++){n=Find(parent,edges[i].begin);m=Find(parent,edges[i].end);if(n!=m){parent[n]=m;k++;printf("(%d,%d) %d\n",edges[i].begin,edges[i].end,edges[i].weight);}if(k==G->vexnum-1) break;}}int Find(int*parent,int f){while(parent[f]>0)f=parent[f];return(f);}void main(){int i,j,m,n;MGraph *G;FILE *fp;G=(MGraph *)malloc(sizeof(MGraph));printf("1:广陵校区2:盐阜校区\n3:瘦西湖校区4:农学院校区\n5:工学院校区6:水利学院校区\n7:医学院校区\n");printf("please input vexnum and edgenum!\n");scanf("%d,%d",&G->vexnum,&G->arcnum);for(i=1;i<=G->vexnum;i++)for(j=1;j<=G->vexnum;j++)G->arc[i][j].adj=G->arc[j][i].adj=0;if((fp=fopen("H:\\shuju.txt","r"))==NULL){printf("can not open file\n");exit(0);}printf("please input n,m,weight:\n");for(i=1;i<=G->arcnum;i++){fscanf(fp,"%d %d",&n,&m);G->arc[n][m].adj=G->arc[m][n].adj=1;fscanf(fp," %d",&G->arc[n][m].weight);printf("%d %d %d\n",n,m,G->arc[n][m].weight);}fclose(fp);MinSpanTree(G);}七、运行结果1.Prim算法:2.Kruskal算法:八、课程设计的小结这一个多星期一直在做程序设计,今天终于完成了,心里别提有多兴奋。