详细超声波驱虫器设计报告 程序加仿真

详细超声波驱虫器设计报告 程序加仿真
详细超声波驱虫器设计报告 程序加仿真

超声波驱虫器设计报告

一、设计任务与要求

人们日常生活中,尤其是夏季,人们常常遭遇蚊虫的叮咬,主要是蚊子叮咬后起包发痒,影响了人们的日常生活和工作。根据生物学基本原理,利用蚊虫对超声波均会产生厌恶感,设计了此超声波驱虫器。超声波驱蚊器不但环保节能而且对人体无害。超声波驱虫器主要是NE555构成无稳态多谐振荡器,产生超声波信号,由压电超声波扬声器构成超声波发生装置。从而可以产生频率范围为23—64kHz范围内,周而复始地变换十种不同频率的超声波,即可起驱除蚊子、蟑螂、苍蝇、跳蚤、等害虫的效果。

二、方案设计与论证

根据设计要求,对于超声波驱虫器的设计,可分为两大部分:1、产生率范围为23—64kHz范围内,周而复始地变换十种不同频率的电信号。2、利用23—64kHz范围内,周而复始地变换十种不同频率的电信号,驱动超声波喇叭产生超声波。从而达到超声波驱蚊器的设计目标。

方案一

本方案依据不同种类昆虫,对不同波段超声波厌恶反应的生物现象,设计、制作超声波驱虫器。本设计主要分为三大模块:第一模块设计可提供由220V交流转化为5V直流的电源。第二模块利用STC89C25芯片控制超声波发射频率,以应对不同驱虫需要,并且实现通过按钮切换,并在液晶显示屏上显示超声波驱虫器工作状态。第三模块利用NE555芯片实现不同频率声波信号的输出,输出信号驱动超声波喇叭,且输出频率受控于单片机。最终完成超声波驱虫器的设计,实现相应功能。

方案二

本方案依据不同种类昆虫,对不同波段超声波厌恶反应的生物现象,设计、制作超声波驱虫器。主要是由NE555和CD4017构成时钟振荡器、计数器和多谐振荡器,由扬声器和三极管构成发生设备,从而可以产生频率范围为23-64KHZ 的超声波(分为10个频段),NE555双时基电路中,第一个时基电路接成频率可调的(1-3HZ)无稳态多谐振荡器,第二个时基电路接成无稳态多谐振荡器,

但它具有大约45KHZ的固定振荡频率,23KHZ-64KHZ的频率范围,是通过C2两端电压耦合到第二个时基电路的控制电压端来实现,辐射超声波的元件是压电高音喇叭。最终完成超声波驱虫器的设计,实现相应功能。

三、单元电路设计与参数计算

第一与第二设计方案公共部分,都是IC3(NE555)构成超声波振荡器。由于NE555的7脚接入阻值不同,它们分别与C3组成的充电时间常数不同,因此在Q0~Q9依次为高电平的各个时段内,IC3输出的振荡频率不同。当Q0为高电平时,IC3输出约23KHZ的信号,当Q9为高电平时,IC3输出约64KHZ的信号,驱动超声波喇叭产生超声波。

第一种设计

由单片机的P0、P2口接16位输出端,分别接16个不同阻值的电阻,P3.3、P3.6、P3.7口分别接三个弹性按钮。当第一个按钮key1按下时,单片机检测到P3.3为低电位P0口工作,当第二个按钮key2按下时,单片机检测到P3.6为低电位P2口工作,当第三个按钮key3按下时,单片机检测到P3.7为低电位P0、P2口工作。单片机P口的工作方式为0~7循环为高电平,这样就可以使NE555输出16种超声波信号。针对不同害虫有不同工作模式,并且可以将工作方式显示在液晶屏幕上,分别有三种工作方式:INSECT MODEL、MOUSE MODEL、ALL MODEL。(程序见附件1)

第二种设计

该电子驱虫器电路由时钟振荡器、计数器、多谐振荡器和音频输出电路组成,多频超声波发生器电路见图,Ic1(NE555)构成时钟振荡器,产生频率为1HZ的时钟信号,此信号作用于IC2(CD4017)的时钟输入端cp,使IC2的输出端Q0~Q9依次输出高电平,各输出端高电平持续期均为1s,IC3(NE555)构成超声波振荡器,由于IC2的Q0~Q9输出端电阻R4~R13的阻值各不相同,他们分别与C 3组成的充电时间常数不同,因此在Q0~Q9依次为高电平的各个时段内,IC3输出的振荡频率不同。当Q0为高电平时,IC3输出约23KHZ的信号,当Q9为高电平时,IC3输出约64KHZ的信号。十种频率的信号持续期各为1s,周而复始的产生,因而压电扬声器B周而复始的发出10种不同频率的超声波。

四、总原理图及元器件清单

1.总原理图

第一种方案:

第二种方案:

2.元件清单

五、安装与调试

根据第一种设计方案,将各电子元件焊接在

元件序号 型号 主要参数

数量

备注 1 LM7812 输入14~35V 输出12V 1 2 NE555D

输入电压4.5~16V 2 3 CD4017 输入电压 3~15V 1 4 瓷片电容

1F μ、0.1F μ 2 5 STC89C52

输入定压 5V

1 6 1602液晶屏

8个数据口

1

7

电阻

2.2、6.8、4.7、10、15、18、22、27、33、39、470(ΩK ) 100(Ω) 12

8 电解电容 2200F υ、

10F υ、 3

9 超声波喇叭

20KHZ`65KHZ

2 10 按钮 自弹

3 11 变压器

220V 交流变24V 交流

1

电路板,电路板实物如图所示。

在调试过程中分别按key1,key2,key3,在液晶显示屏上分别显示三种工作

状态,如图所示。

但在随后的调试过程中,P0,P2口16个端口的电位,没有按照程序所写的那样,高低电位循环变化。在随后的检查中,改进了程序写法,检查了电路板的焊接。调试程序后液晶屏可按设计的正常显示,但P0,P2端口任然不能正常工作。由于电路连接稍显复杂,而且焊接过程中安排不合理。因此检查出问题所在特别复杂,便换了第二种方案。

第二种方法利用CD4017芯片,产生十个循环高低电位变化的信号,分别与10个阻值不同的电阻相连。从而控制NE555产生十中超声波信号,驱动超声波喇叭。根据第二种设计方案,将各电子元件焊接在电路板,电路板实物如图所示。

六、性能测试与分析

首先对超声波喇叭的输出电信号在示波器上显示,可发现屏幕中周期性的出现高频,伏指在0.6~1.16V之间的电信号。

首先用透明塑料袋将一只昆虫

装入袋中,两个超声波喇叭放入

袋。起先昆虫会在袋中飞舞,冲

撞熟料袋。等待昆虫安静下来后,

接通驱虫器电源,昆虫会出现躁

动。

七、结论与心得

本次对超声波驱虫器的课程设计中,从选题到制定合适的设计方案,根据方案制定电路图,都是由自己查资料、思考所确定的。查询非电子学资料也非常重要,在实验研究中,得知蚊虫对频率在26-28KHZ声波具有很强的反感性,但对于人耳是听不到这么高频率的声波的。这些生物学方面的资料对于超声波驱虫器频率的选择至关重。再依据制定的方案购买元器件,在洞洞板上焊接电路板。

其次,通过这次课程设计,我对仿真软件protues有了一定的认识,积累了焊接电路的经验,更懂得如何使用万用表我掌握了常用元件的识别和测试,熟悉了常用的仪器仪表的使用,例如恒压电源、示波器。初步了解了电路的连接和布局的方法和注意事项;以及如何选择元件参数以提高电路的性能等等。特别是在元器件选用上,通过计算算出来的电容电阻,在市面上未必能买得到,买不到我们只能通过再修改参数或选用临近值的元器件,并且对元器件的价格及其对应的

质量,也有了一定的了解。另外,如果买不到所要求的电阻,那就可以选购适当的变阻器来替代。反正一句话,方法不是唯一的,有很多东西是可以相互替换和相互补救的。

总的来说,在这次课程设计中学习了电路的基本设计方法,使我对抽象的理论有了具体的认识。加深对课堂知识的理解和应用。同时也锻炼了意志力,遇到问题,解决问题的能力也得到了提高,实现书本知识到工程实践的过渡,让我受益颇多。

七、参考文献

[1] 杨欣胡文锦张延强实例解读模拟电子技术 . 电子工业出版社,2013.1

[2] 郭天祥 51单片机C语言教程 . 电子工业出版社,2009.1

[3] 苏家健. 单片机原理及应用技术 .高等教育出版社,2004.11

[4] 周航慈. 单片机程序设计基础 . 北京航空航天大学出版社,2003.07

[5] 余锡存曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社

[6]吴小玲,查玉平,陈京元,陈其才.《华中师范大学学报》[J].2014,48

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

程序设计基础实验报告

《程序设计基础》 实验报告 专业班级: 姓名: 学号:

实验一 面向过程的简单程序设计 1.实验目的要求 (1) 使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程, 初步了解C++程序的特点。 (2) 掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。 (3) 掌握赋值语句的使用。 (4) 掌握数据的输入输出方法。 2.实验内容 (1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。 <1> d c b a x -++ <2> 11 11+++x x <3> sinX+cosX+tan -1 X <4> e x+y +e x-y <5> log 10(1+21x +) <6> 22b a -+??b a - (其中??a 表示取不大于a 的最大整数)。 <1> #include using namespace std; int main() { float x,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=x+(a+b)/(c-d); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sqrt(1+1/(x+1/(x+1)));

cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout< #include #include using namespace std; int main() { double x,y,z; cin>>x>>y; z=exp(x+y)+exp(x-y); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=log(1+sqrt(1+x*x)); cout< #include #include using namespace std; int main()

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.360docs.net/doc/aa4464682.html, https://www.360docs.net/doc/aa4464682.html,,能输出https://www.360docs.net/doc/aa4464682.html,和https://www.360docs.net/doc/aa4464682.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

大学程序设计基础实验报告 (2)

**大学程序设计基础实验报告 实验名称:实验三分支结构 实验目的: 1、掌握IF-ELSE语句使用。 2、掌握ELSE-IF语句使用。 3、熟悉SWITCH语句使用。 实验内容: 在本地电脑中新建一个文件夹,用于存放C程序,文件夹的名字要求是“学号姓名-实验序号”,如E:\ 1920115555张三-03。启动C-Free,完成如下各题。 1、编程题:输入参数a,b,c,求一元二次方程ax2+bx+c=0的根(①a、b、c都为0,②a 和b为0,c不为0,③a为0,b不为0,c任意,④a不为0,且a、b、c满足b2-4ac ≥0,⑤a不为0,且a、b、c满足b2-4ac<0)。 2、编程题:输入职工的月薪salary,计算并输出应缴纳的个人所得税tax。tax=rate * (salary –850),rate的计算方式如下: 当salary <= 850,则rate = 0; 当850 < salary <= 1350,则rate = 5%; 当1350 < salary <= 2850,则rate = 10%; 当2850 < salary <= 5850,则rate = 15%; 当salary > 5850,则rate = 20%;。 3、编程题:根据输入的3个边长a、b、c,判断它们是否能构成三角形,若能构成三 角形,则进一步判断此三角形是哪种类型的三角形(等边三角形、等腰三角形、直角三角形和一般三角形。等腰直角算作等腰)。 4、编程题:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、 除或求余运算。【请分别用if语句和switch语句实现此题功能】 上交作业的方法: 1.将程序代码及注释和运行程序的窗口复制到实验结果下方对应的题号上,并把这 次实验上机操作中遇到的问题及解决方法、心得等填好完成实验报告。 2.保存以上所有按要求已调试通过,并形成.c(或.cpp)和.exe文件到以自己的“学 号姓名-03”命名的文件夹中,并将以自己的“学号姓名”命名的文件夹压缩后上 交到ftp://10.172.250.252:1161中的“作业上传”文件夹下的“报告上交02”文件 夹下的子文件夹“源文件压缩上交”中,同时把以“学号姓名-03”命名的word 文档上交到“报告上交03”文件夹下的另一子文件夹“word文件上交”中。 特别提醒:每次上传的文件名一定要是“学号姓名-实验序号. doc”(如1720115555张

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

基于超声波传感器的障碍物检测课程设计

《智能仪器仪表设计基础》 课程设计报告 单位: 学生姓名: 专业: 班级: 学号: 指导老师: 成绩: 设计时间:2013 年5月

指导老师提供的设计题目和要求 1、设计题目:基于超声波传感器的障碍物检测电路仿真设计 2、指导老师: 3、设计条件: [1]仿真软件可用Multisim10软件或者saber软件。 [2]超声波传感器详细参数: 工作频率:40KHz±1.0KHz 声压值:≥94dB(30cm/10Vrms sine wave) 灵敏度:≥-82dB/v/u bar(0dB=v/pa); 余振::≤1.2ms; -6dB方向性(度):60°±10° 电容:2000pf±10%; 最大输入电压(Vp-p):150(40KHz) 使用温度范围:-35℃—+80℃ 储藏温度范围:-40℃—+85℃ 4、设计要求: [1]设计电路包括超声波发射电路、超声波回波接收电路两部分。超声波发射电 路包括升压激励模块。超声波回波接收电路包括一级带通滤波电路、二级带 通电路、回波二值化电路组成。 [2]当在超声波发射电路输入端输入VPP=5V,Vmin=0V的方波信号时,超声 波发射电路输出端能输出VPP=100V~150V,f=40KHZ的一个激励信号。 [3]当在超声波回波接收电路输入端输出VPP=60mV~2V,f=40KHZ的正弦 波信号时,超声波回波接收电路输出端能输出电平信号。当在超声波回波接 收电路输入端输入低电平信号时,超声波回波接收电路输出端能输出高电平 信号。 [4]附加要求:请用虚拟仪器显示各个电路模块输入端信号及输出端信号 5、参考书目 [1]胡向东,刘京诚,余成波等编著,传感器与检测技术机械工业出版社,2009 [2] 张国雄主编测控电路机械工业出版社,第4版

《程序设计课程设计》实验报告材料

《程序设计》课程设计 姓名: 学号: 班级:软件工程14 班 指导教师: 成绩:

1.消除类游戏 1.1【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 1.2【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 1.3【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 1.4【功能实现】 #include #include using namespace std;

int main() { int m, n, i ,j; int temp; cin >> n >> m; temp = m; m = n; n = temp; int * map = new int[m * n]; int * mark = new int[m * n]; int * tmap = map; int * tmark = mark; int dif = 0; //输入 for ( i = 0 ; i < m ; i++ ) for (j = 0; j < n; j++) cin >> *(tmap + i * n + j); for (i = 0; i < m; i++) for (j = 0; j < n; j++) { //横行 if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0) if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + 1) = 0; *(tmark + dif + 2) = 0; } //竖列 if (tmap + 2 * n - map < m * n || tmap + n - map < m * n) if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + n) = 0; *(tmark + dif + 2 * n) = 0; } tmap = map + (j+1) + i * n; } //输出 cout << endl; tmap = map; for (i = 0; i < m; i++)

超声波传感器测距仪设计报告(全)-张哲铭

单片机、传感器、印制电路板 课程整合实训 电子产品设计与制作 技术报告 (2013——2014 学年第二学期) 项目名称:超声波测距仪设计 指导教师:卢建声,曾庆波,代瑶 专业:微电子技术 班级:12微电子 组长:张哲铭 组员:高金阁,李雨泽,苏程龙黑龙江信息技术职业学院·电子工程系

目录 任务书...................................................................... 错误!未定义书签。 一、工作任务 ................................................................. 错误!未定义书签。 二、工作目标 (3) 三、主要设计内容 (3) 1.原理设计 (3) 2.原理框图 (3) 3原理图 (4) 4元件清单 (4) 五、提交成果 ................................................................. 错误!未定义书签。 一、原理设计与技术路线 .............................................. 错误!未定义书签。 1、原理图绘制......................................................... 错误!未定义书签。 2、PCB图绘制.......................................................... 错误!未定义书签。 3、单元电路设计..................................................... 错误!未定义书签。 4、整机设计 ............................................................ 错误!未定义书签。 (5) (6) 六、总结报告 (10) 附录 (13) 超声波测距仪设计

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

《程序设计实训》实验报告

计算机程序设计实训报告 [“拍飞虫”实验] 专业班级:装控1405,装控1406 实习时间:2015年7月11日至7月15日 实习地点:文理楼124 成员 1: 成员 2:

一、作品概述 本作品运用funcode平台所给模板,在所给源代码的基础上进行编写,对整个游戏进行美化,更换了背景,优化了空格开始键,并且添加了拍蚊子时的音效,以及开始时的欢迎界面,每次游戏结束会对积分进行排序,如果最终得分为满分,则会显示“游戏成功”。 二、功能设计 1.游戏运行,初试界面出现‘空格开始’的提示。 2.玩家按空格开始游戏,界面上出现25只小蚊子和15只大蚊子。 3.游戏开始后,用户每拍一个小蚊子,加两分 4.被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。 5.站在被淘汰猴子后方的选手依次往前移,填补空白 6.用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。 7.一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。 三、功能实现 含每个功能的具体实现,可以用流程图(不要贴代码)等描述。 (说明:主要写用到的各类型的全局变量、含义) 1.g_iMonkeys[6] 用一个int类型的数组来保存猴子精灵编号 2.g_flocation[6] 用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组保存6只猴子的x坐标值)。其中g_Monkeys[i] 对应的位置 g_fLocation 3.g_iNumMokeys 当前备选猴子数量,即截图中上层队列的猴子数。 4.g_iNumLoseMonkeys 淘汰的猴子数量,即下层队列中的猴子数。 5.g_iChooseMonkey 本轮淘汰的猴子编号。 6.g_iMoveMonkey 淘汰猴子后,后面需要移动的猴子数。

超声测距系统设计开题报告

毕业设计(论文)开题报告 学生姓名:学号: 专业:电气工程及其自动化 设计(论文)题目:超声测距系统设计 指导教师: 2011 年 2 月24 日

毕业设计(论文)开题报告 1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2000字左右的文献综述 文献综述 1 研究背景 测距的原理和方法有很多,根据信息载体的不同可分为光学方法、无线电方法和超声波方法[1]。随着电子技术的发展,先后出现了激光、超声波及红外线等非接触式测距方法。激光测距虽然测距精度高,操作简单,但是受环境的影响比较大,且系统检测维护不便,价格相对昂贵,一般多在军事领域应用。红外测距属于电磁波的一种,超声波是声波测距,实现起来更容易且不受电磁干扰影响。红外传播速度为3x108m/s,超声波在空气中的传播速度为340m/s,其速度相对电磁波是非常慢的,因此在同等距离的情况下,超声波的传播时间远大于红外,往返时间更易测量[1]。 由于超声波方向性好、超声测量无接触,超声波测距系统价格低廉、易实现、信息处理简单可靠,所以利用超声波进行距离和长度的测量越来越受到人们的重视。超声波技术的发展经历了从理论技术的研究到大范围的工业应用。在这期间,雷达技术、激光技术、电子技术等技术的发展对超声波技术不断更新和发展起到了很大的促进作用[2]。 2 国外研究现状 一般认为,关于超声波的研究最初起始于1876年F.Galton的气哨实验,这是人类首次有效产生的高频声波。在之后的三十年中,超声波仍然是一个鲜为人知的东西,由于当时电子技术发展缓慢,对超声波的研究造成了一定程度的影响[3]。 1917年,法国人Langevin使用一种晶体传感器在水下发射和接收相对低频的超声波。这种方法可以用来检测水中是否存在潜艇并进行水下通信联络。在这之后对超声的研究主要体现在电子领域[4]。 1925年,Pierce使用石英传感器和镍传感器来产生和探测超声波,而且频率扩展到兆赫级。至此;Debye,Sears,Lcas分别发现了超声波的衍射光栅,用超声波来研究液体和气体的声学特性方法得到稳定发展。 1927年Hantalnnn和Tro11e解决了超声汽笛的许多细节问题,这些汽笛被证明在流

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

C语言程序设计扫雷游戏实验报告

中南大学 程序设计基础实践报告 题目设计一个和window系统类似的小游戏【挖地雷】学生姓名张兰兰 学院信息科学与工程学院 专业班级物联网工程1301班 完成时间 2014.1

目录 1.课程设计内容 (3) 2.课程设计目的 (3) 3.背景知识 (3) 4.工具/准备工作 (5) 5.设计步骤、方法 (5) 5.1. 步骤1:步骤名称(二级标题) ....................................................... 错误!未定义书签。 5.1.1. 步骤1.1:步骤名称(三级标题) (5) 5.2. 步骤2:步骤名称.......................................................................... 错误!未定义书签。 5.3. 步骤n:步骤名称.......................................................................... 错误!未定义书签。 6.设计结果及分析 (5) 7.设计结论 (15) 8.问题及心得体会 (16) 9.对本设计过程及方法、手段的改进建议 (17) 10.参考文献 (17)

报告名称 1. 课程设计内容 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生活的一分,越来越多的人使用计算机办公、娱乐等等。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows 操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。我利用C-free编写了与它功能相仿的挖地雷游戏,寓学于乐。 即:设计一个功能与Windows中的挖雷游戏相同的小游戏。 2. 课程设计目的 1.培养学生综合运用所学知识独立完成课题的能力。 2.试学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 3.提高对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。 4.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 5.培养从资料文献、科学实验中获得知识的能力,提高从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核 3. 背景知识 游戏玩法:以windows XP自带扫雷winmine.exe为例 游戏区包括雷区、地雷计数器(位于左上角,记录剩余地雷数)和计时器(位于右上角,记录游戏时间),确定大小的矩形雷区中随机布置一定数量的地雷(初级为9*9个方块10个雷,中级为16*16个方块40个雷,高级为16*30个方块99个雷,

相关文档
最新文档