南京邮电大学管理学院课程设计报告
课程名:课程设计Ⅱ-网站设计与开发
网站题目:网上机票订购系统
任课教师:洪小娟
专业:信息管理与信息系统
学号:
姓名:
成绩:
2016/2017学年第2学期
南京邮电大学管理学院
指导教师成绩评定表
一、需求分析
网上机票订购系统
该网上机票订购系统的核心功能是提供网上机票订购业务。
用户需求分析
用户最基本需求就是查询到合适目的地、合适起飞时间的机票信息,并且能够下订单,下完订单后能够查到已经订购的机票的订单信息。如果用户需要改变行程可以删除订单,然后重新下订单。
用户还有注册帐号,填写个人信息的需求,这样才能把用户与机票信息相匹配,生成机票订单。
二、系统设计
数据库设计:数据库名为shop
用户信息表(表名:users)主要储存用户帐号、密码和其他一些基本信息。
图2-1 users表属性
航班信息表(表名:filght)储存航班号,飞机型号,出发地、目的地,起飞时间、到达时间、机票价格等信息。
图2-2 filght表属性
订单信息表(表名:orders)OrderID为订单号,设置为自增属性,储存航班号、用户ID、总价格、起飞日期等信息。
图2-3 orders表属性
功能设计:
用户登录功能:没有注册的用户需要注册,填写一些个人信息,然后记录到数据库中。
用户密码修改功能,用在修改密码时需要先输入原密码,才能输入新的密码,原密码不对无法修改。
机票查询功能,用户可以查询到所有航班信息,也可以通过搜索航班号,目的地,起飞时间来查询特定的航班信息。
机票订购功能,在输入航班日期后会生成预览订单,提交后才会产生真正的订单,才能在订单页面看得到。
订单查询和删除功能,在这个页面,用户可以查到自己的订单。如果用户行程有变,可以删除订单。
网站架构:
网站的架构我主要做了前端机票展示和订购的机票部分,有以下模块组成。如下图
网站物理设计:
网页内容存放在服务器端,用户信息、航班信息、订单信息存放在MySQL 数据库中,用户请求时服务器在从数据库中调出数据给用户。
三、系统实现
开发环境:在虚拟机上搭建的Linux+Nginx+PHP+MySQL环境。
开发工具:Adobe Dreamweavercc 2017
开发环境配置:
在linux系统上安装ftp服务器vsftpd,Winndows上Dreamweave通过配置ftp的方式连接nginx服务器。如下图:(ftp地址为虚拟机IP地址)
图3-1 ftp连接配置
编程实现:(主要使用php语言)
odbc_connection.php
$con = mysql_connect("localhost","root","123456");
if (!$con)
die('Could not connect: ' . mysql_error());
mysql_select_db("shop",$con);
?>
这是数据库连接的php代码,其中shop为数据库名。
login.php
include "./odbc_connection.php";
if(($_POST['UserId']<>"")&&($_POST['Password']<>"")) {
$str=mysql_query("select UserID FROM users Where UserID='$_POST[UserId]' And Password='$_POST[Password]'");
if($result = mysql_fetch_array($str)) {
$_SESSION['UserId']=$result['UserID'];
mysql_close($con);
?>
else {
echo "";
}
}?>
图3-2 login.php
表单代码省略,这段php代码主要用于判断用户登录帐号和密码是否与数据库相匹配,如果匹配,把帐号写入$_SESSION['UserId']中再跳转到首页filght.php。reg.php
include "./odbc_connection.php";
$userid=$_POST['UserId'];
$exit_flag=0;
if($userid<>"") {
if ((strlen($userid)<4) or (strlen($userid)>20)) {
$strtemp="用户名必须大于4位小于20位";
$exit_flag=1;
}
$strSql=mysql_query("select UserId FROM users Where UserId='$userid'");
if($result = mysql_fetch_array($strSql)) {
$strtemp="已有人使用该用户";
$exit_flag=1;
}
if($exit_flag==0){
$sql="INSERT INTO users(UserID,Password,RealName,Sex,Tel,Email,QQ) V ALUES ('$_POST[UserId]','$_POST[password]','$_POST[realname]','$_POST[sex]','$_POST [tel]','$_POST[email]','$_POST[QQ]')";
mysql_query($sql);
?>
mysql_close($con);
} else
echo "";
}?>
图3-3 reg.php
表单代码同样省略,上面php代码主要用于判断用户名长度大于4位小于20位,并且不能重复,如果满足条件则会执行插入语句,把用户数据插入数据库。插入成功后会跳转到注册成功页面reg-ok.php,内容很简单就不放出来了。
Filght.php
$strSql=mysql_query("select Sex FROM users Where
UserID='$_SESSION[UserId]' ");
$result=mysql_fetch_array($strSql);
if($result['Sex']=="female")
echo "";
else
echo "";?>
图3-4 filght.php
页面布局参考了网站设计课本代码,参杂了其他网站的内容,做的还是比较丑,就不放出来了。上面的php代码主要是通过读取登陆界面存入的$_SESSION来获得登录用户的用户名,同时也从数据库读出用户的性别信息,并判断输出的图片是男性还是女性。
book.php
if($_POST['Airid']==""&&$_POST['departureplace']==""&&$_POST['departure time']){
$result = mysql_query("SELECT * FROM filght Order By Departuretime Asc"); while($row = mysql_fetch_array($result)){?>
$flag=0;
$p=0;
$str="SELECT * FROM filght ";
if($_POST['Airid']<>"")
{
$str=$str."where AirID='$_POST[Airid]'";
$p=1;
$flag=1;
}
if($_POST['destination']<>"")
{
if($flag==1)
$str=$str."and Destination='$_POST[destination]'";
else {
$str=$str." where Destination='$_POST[destination]'";
$flag=1;
}
}
else
$flag=0;
if($_POST['departuretime']<>"")
{
if(($flag==1) || ($p==1))
$str=$str."and Departuretime='$_POST[departureptime]'";
else
$str=$str."where Departuretime='$_POST[departuretime]'";
}
$str=$str."Order By Departuretime Asc";
$result = mysql_query($str);
while($row = mysql_fetch_array($result))
{ ?>
图3-5 book.php 图3-6 左图搜索结果显示Book.php页面的内容为整个机票订购网站的核心内容,主要用于显示航班信息。form2表单为搜索机票部分的表单,form1表单参杂在用作显示航班信息的php 代码中,主要用于输入日期信息,用隐藏表单传递航班号。上图中大段php代码主要分为两种情况输出,一是搜索框有内容的输出查询;二是搜索框为空时,输出所有航班信息。
preview-order.php
include "./odbc_connection.php";
mysql_query("set names gbk;");
$str1=mysql_query("select * FROM users Where UserID='$_SESSION[UserId]' ");
$result1 = mysql_fetch_array($str1);
?>
$str2=mysql_query("select * FROM filght Where AirID='$_POST[hide]' ");
$result2 = mysql_fetch_array($str2);
$p=$result2['price']+50;
$str3="insert into orders(AirID,UserID,price,dates) values ('$_POST[hide]','$_SESSION[UserId]','$p','2017-$_POST[Month]-$_POST[Day]')";
mysql_query($str3);
$str4=mysql_query("select OrderID FROM orders Where UserID='$_SESSION[UserId]' ");
$result4=mysql_fetch_array($str4);
?>
if($_POST['submit2']=="返回")
{
$del="delete from orders where UserID='$_SESSION[UserId]'";
mysql_query($del);
?>
}
mysql_close($con);
?>
图3-7 preview-order.php
该页面主要显示下订单后预览订单信息,并生成订单。第一部分主要用于获取图3-7上半部分用户信息;第二部分主要显示航班信息、总价格,并且生成订单(订单号在数据库中自增);第三部分主要用于判断用户如果放弃订单,则会执行删除代码删除已经生成的订单并返回book.php。
Order.php
if($_POST['submit']=="删除订单")
{
$del="delete from orders where OrderID='".$_POST['HideAirid']."'";
mysql_query($del);
echo "";
?>
}
mysql_close($con);
?>
图3-8 order.php 图3-9 删除订单成功的提示
此页面主要用于展示用户的所有订单,显示订单的代码和book.php差别不大,就是隐藏表单传递的值是OrderID给上面的删除订单代码,让用户能删除指定的订单。
Updatepw.php
include "./odbc_connection.php";
if(($_POST['opasswd']<>"")&&($_POST['npasswd']<>"")) {
$str=mysql_query("select * FROM users Where UserID='$_SESSION[UserId]' And Password='$_POST[opasswd]'");
if($result = mysql_fetch_array($str)) {
$str1="update users set Password='$_POST[npasswd]' where UserID='$_SESSION[UserId]' ";
mysql_query($str1);
mysql_close($con);
echo "";
?>
else {
echo "";
}
}
?>
图3-10 updatepw.php
此页面用来修改密码,html语言与登录页面相似,php代码不同,先需要验证原密码,原密码错误不能修改,并弹出错误提示。
Out.php
session_start();
unset($_SESSION['UserId']);
session_destroy();
?>
次代码用来注销用户,会删除$_SESSION['UserId'],然后跳转login.php。
编程错误及解决方法
问题一:Dreamwear用ftp方式连接不上linux服务器
图3-11 ftp连接错误
①Linux系统的iptables阻挡了端口连接。解决方案:使用serviceiptablesstop关
闭防火墙就好了;
②使用root用户登录linux系统时,vsftpd目录下记录有禁止连接ftp帐号的文
件ftpusers中有root用户。解决方案:打开/etc/vsftpd/ftpusers,删除root即可。
③连接时还会提示出现未知错误,可能是selinux未关闭。解决方案:使用
setenforce 0临时关闭selinux即可;
以上就是我在用dreamweave连接linux系统出现过的问题,我都是通过百度和自己摸索得出解决方案。
问题二:使用php的SESSION报错(上方黑体字部分)
图3-12 session使用不当
错误原因是在使用session_start();时前面还有值输出,在通过查看源代码时发现在创建php文件时Dreamwear自动添加的在
之前,所以只要把删除即可。
问题三:SQL查询语句出错及其他问题
图3-13 preview-order.php的各种问题
订单日期的错误是因为php.ini中默认设置格林威治时间,而我系统的时间匹配的是亚洲/上海时间,所以报错。解决方案:在开头设置php时区为上海时区,如下ini_set('date.timezone','Asia/Shanghai');
下面一条错误是提示我的SQL查询语句有误,再仔细1检查我的查询语句后发现,由于自己粗心,英文逗号敲成了中文,所以语法出错。
由于我初学php语言,每新编写一个php页面都出现过许多小的php语法错误,篇幅关系就不一一举例了。
四、实践收获和心得体会
通过几天的努力,终于完成这个简单的网上机票订购系统编写。其实,我在此之前没用过php语言,而我之所以选择使用php语言编写,主要是因为之前一段时间学习linux系统,在虚拟机上搭好php所需要的环境,再加上自己也想学一些php知识,所以就选择使用php语言搭建动态网页。
我此次设计并编写的网上机票订购系统,主要给用户提供机票的查询和订购功能,我主要做了用户需要使用的功能,管理员功能待开发。系统的运行环境是linux+ngin+mysql+php,网站的编写使用Dreamweaver2017。
由于我是初学php,基本上没编写一个网页都会遇到php语法错误;php参数书写的格式不对,导致获取不了表单的信息;还有遇到一些逻辑错误,比如说搜索机票功能搜索不了特定的航班信息,删除订单需要点击两次,都是我在编写时遇到的逻辑错误。我在遇到php语法和php参数书写格式错误时,是通过百度其他人写的php代码作为参考,对比自己的代码,找出问题所在。在遇到逻辑错误时就检查自己的if’判断语句,看看是不是有括号没加问题等。
通过此次的课程设计,让我对温习以前学习网站设计,数据库的等知识,学到了一点php编程知识,学会了使用Dreamwear编写网站,获益匪浅,让我对网站设计有了更深的认识。
南邮广播电视工程数字视频非线性编辑制作课 程设计实验报告精编 W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】
通信与信息工程学院 2016 / 2017 学年第一学期 课程设计实验报告 模块名称数字视频非线性编辑制作 专业广播电视工程 学生班级 B130114 学生学号 学生姓名陈超 指导教师姚锡林 日期: 2016 年 11 月 21 日 摘要 本次课程设计利用软件premiere进行数字视频非线性编辑制作。本文首先就本次实验主题归纳总结电视节目制作一般流程方法,接着对此次课程设计主要软件工具进行系统介绍,主要涉及实验相关借本操作的详细阐述;接下来两大章节部分先从取材、构思角度详细分析此次课程设计所做的主题内容与规划,并以此为指导再从具体操作上分步骤、多角度实现视频序列的制作;最后对本次课程设计的体味与收获进行思考。 此次作品《再次出发》电影鉴赏是将导演约翰卡尼的一部经典音乐影视作品利用premiere软件,在制作的过程中添加了转场特效,关键帧,字幕,音频等功能,并运用多种素材,重新删减编辑,形成一部情节连贯,内容完整、主题明确的电影鉴赏短片。短片的片长时间为9分40秒,大小为720*576,AVI格式,PAL制式(48Khz)。
关键词:数字视频非线性编辑制作;premiere;视频制作;
目录 第一章电视节目制作的一般流程与方法 (1) 1.1 电视节目制作一般流程 (1) 1.1.1 前期制作流程 (1) 1.1.2 后期制作工作流程 (2) 1.2 电视节目制作的一般方法 (2) 1.2.1 ENG方式 (2) 1.2.2 EFP方式 (2) 1.2.3 ESP方式 (3) 第二章 Premiere的功能介绍及操作方法 (4) 2.1 Premiere概述 (4) 2.1.1 概述 (4) 2.1.2 基本操作界面 (4) 2.2 Premiere的基本操作 (5) 2.2.1 新建项目 (5) 2.2.2 新建序列 (6)
南京邮电大学电子科学与工程学院电磁场与无线技术Wilkinson功分器 课题报告 课题名称 Wilkinson功分器 学院电子科学与工程学院 专业电磁场与无线技术 班级 组长 组员 开课时间 2012/2013学年第一学期
一、课题名称 Wilkinson(威尔金森)功分器的设计 二、课题任务 运用功分器设计原理,利用HFSS软件设计一个Wilkinson功分器,中心工作频率3.0GHz。 ?基本要求 实现一个单阶Wilkinson等功分设计,带内匹配≤-10dB,输出端口隔离≤-10dB,任选一种微波传输线结构实现。 ?进阶要求 多阶(N≥2),匹配良好(S11≤-15dB),不等分,带阻抗变换器(输出端口阻抗 不为50Ω),多种传输线实现。 三、实现方式 自选一种或者多种传输线实现,如微带线,同轴线,带状线等,要求输入输出端口阻抗为50Ω,要求有隔离电阻(通过添加额外的端口实现) 四、具体过程 1.计算基本参数 通过ADS Tool中的Linecalc这个软件来进行初步的计算。 在HFSS中选定版型为Rogers RT/duroid 5880 (tm),如具体参数下图
50Ω微带线计算 得到选取微带线宽度约为0.67mm。 70.7Ω微带线计算 得到选取微带线宽度约为0.34mm,由于微带线电长度与其宽度没有必然联系,所以两个分支微带线的长度根据具体情况进行更改。
2.绘制仿真模型 微带单阶功分器
◆微带参数:w50:阻抗为50Ω的微带线宽度;w2:两分支线宽度; l1,l2,l3,l4:各部分微带线长度; rad1,rad2:各部分分支线长度(即半环半径) ◆在本例中,需要调整的调整关键参数为w2,rad1,空气腔参数随关键参数相应调 整即可。 ◆根据计算,此处的吸收电阻值应该为100Ω,但是在实际情况中,选取97Ω。 微带多阶功分器
课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日
一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。
PIC单片机原理与应用实验报告 学校: 学院: 班级: 姓名: 学号: 指导教师:
实验一I/O端口实验 一、实验目的 (1)掌握MPLAP IDE集成开发环境的基本操作。 (2)掌握单片机的I/O端口的设计方法。 (3)掌握在线调试器的使用方法。 (4)学会查阅相关数据手册。 二、实验仪器设备 (1)PC机一台; (2)MPLAP IDE开发软件一套; (3)PICkit3在线调试器一套; (4)APP009实验板一块; 三、实验要求 (1)设计发光LED灯闪烁程序,下载调试,验证功能。 (2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。 (3)设计按按键加1计数程序,下载调试,验证功能。 四、实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电; (4)完成实现发光LED灯闪烁实验; 程序代码: #include
南京邮电大学 实验报告 实验名称熟悉MATLAB环境 快速傅里叶变换(FFT)及其应用 IIR数字滤波器的设计 FIR数字滤波器的设计 课程名称数字信号处理A 班级学号___ 14110 _ __ 姓名_______ ___ ___ 开课时间 2015/2016学年,第二学期
实验一熟悉MATLAB环境 一、实验目的 (1)熟悉MA TLAB的主要操作命令。 (2)学会简单的矩阵输入和数据读写。 (3)掌握简单的绘图命令。 (4)用MATLAB编程并学会创建函数。 (5)观察离散系统的频率响应。 二、实验内容 (1) 数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3,4,5,6],求 C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B 。并用stem语句画出A、B、C、D、
xlabel('n') ylabel('F') subplot(4,1,4) G=A.^B stem(n,G) xlabel('n') ylabel('G') 图像:
(2) 用MATLAB 实现下列序列: a) 08(). 0n 15n x n =≤≤ 实验程序: n=0:1:15; x1=0.8.^n; stem(n,x1) xlabel('n') ylabel('x(n)') title('2(a)') 图像:
b) 023(.)() 0n 15j n x n e +=≤≤ 实验程序: n=0:1:15; i=sqrt(-1); a = 0.2+3*i; x2=exp(a*n); figure subplot(1,2,1) stem(n,real(x2)) xlabel('n') ylabel('x(n)实部') subplot(1,2,2) stem(n,imag(x2)) xlabel('n') ylabel('x(n)虚部') 图像:
院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日
一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:
3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include
南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。
Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY
通信与信息工程学院 2016 /2017 学年第 1 学期 课程设计报告 模块名称DSP技术及应用 专业电子信息工程 学生班级 学生学号 学生姓名 指导教师王奇王明伟吴庆国卢敏
目录 一、设计任务及要求 (4) 1.1 设计电子时钟,要求有报时功能。 (4) 1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。 (4) 二、相关原理简介 (4) 2.1 液晶显示器显示原理 (4) 2.1.1 EMIF 接口 (4) 2.1.2 液晶显示模块的访问 (4) 2.1.3 显示控制方法 (4) 2.1.4 数据信号的传送 (5) 2.1.5 程序流程图 (5) 2.2 音频信号发生原理 (6) 2.2.1 EMIF 接口 (6) 2.2.2 蜂鸣器 (6) 2.2.3 蜂鸣器的连接 (6) 2.2.4 程序流程图 (6) 三、设计方案与实现 (6) 3.1 设计方案 (6) 3.1.1 数字时钟选择方案 (6) 3.1.2 液晶显示屏显示方案 (8) 3.1.3 蜂鸣器整时报时 (8) 3.2 设计结果 (8) 四、调试过程及问题解决 (8) 五、体会与建议 (9) 参考文献 (9) 附录 (10)
DSP技术及应用课程设计报告 一、设计任务及要求 1.1 设计电子时钟,要求有报时功能。 1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。 二、相关原理简介 2.1 液晶显示器显示原理 2.1.1 EMIF 接口 TMS320C5509DSP 的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。这一接口提供地址连线、数据连线和一组控制线。ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。 2.1.2 液晶显示模块的访问 液晶显示模块的访问、控制是由 5509ADSP 对扩展接口的操作完成。控制口的寻址:命令控制接口的地址为 0x602800,数据控制接口的地址为 0x602801 和0x600802,辅助控制接口的地址为 0x600801。 2.1.3 显示控制方法 液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与象素的对应方式如表1: 发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制接口写入命令控制字,然后再向辅助控制接口写入0。下面是基本命令字、解释和 C
目录 第一章技术指标 (2) 1.1 系统功能要求 (2) 1.2 系统结构要求 (2) 1.3 电气指标 (2) 1.4 设计条件 (2) 第二章整体方案设计 (2) 2.1 整体方案 (2) 2.2 整体原理及方框图 (2) 第三章单元电路设计 (4) 3.1 频率控制电路设计 (4) 3.2 计数器设计(256) (5) 3.3 存储器及正弦函数表 (6) 3.4 D/A(II)正弦波产生电路 (7) 3.5幅度控制 (8) 3.6 阻抗控制 (9) 3.7整体电路图 (9) 3.7 整体元件清单(理论值) (9) 第四章测设与调整(数据) (11) 4.1 频率控制电路调测 (11) 4.2 地址计数器电路调测如下: (11) 4.3 存贮器电路调测(R=1千欧) (11) 4.4 数字幅度电路调测 (11) 4.5 波形扩展 (11) 4.6 整体指标测试 (12) 第五章设计小结 (13) 5.1电子电路课程设计的意义 (13) 5.2 设计任务完成情况 (13) 5.3 问题及改进 (13) 5.4 心得体会 (14) 附录 (15) 参考文献 (15) 主要芯片介绍: (15)
第一章技术指标 1.1 系统功能要求 数控正弦函数信号发生器的功能是,用数字电路技术产生正弦波信号。正弦波输出信号的频率和电压幅度均由数字式开关控制。 1.2 系统结构要求 数控正弦波信号发生器的结构要求如图(1)所示,其中正弦波发生器采用数字电路产生正弦信号,频率选择开关用于选择输出信号的频率,幅度选择开关用于选择输出信号电压幅度。频率选择开关和幅度选择开关均应采用数字电路。 1.3 电气指标 输出信号波形:正弦波 输出信号频率范围:1kHz~5kHz 输出信号最大电压:2.8V (峰峰值) 输出阻抗:50Ω 幅度选择档位:5档 波形可选择:方形,正弦波,三角波,斜波 输出频率最小步长:20Hz 1.4 设计条件 电源条件:+5V,-5V ?可供选择器件如下: ?型号名称及功能数量 ?DAC0832 8位D/C转换电路 2 ?MC4046 锁相电路 1 ?28C64B EEPROM存储器 1 ?T4LS393 双16进制计数器 1 ?MC4051 四模拟开关 1 ?TL084 运算放大器 1 ?8路开关双制直插式微型开关 2 ?MC4060 与晶振为频率器 1 ?CD7474 双D型触发器 3 ?CD7404 六反向器 1 ?74139 译码器 2 ?LED 二极管12 ?单开关开关 3 ?晶振32768k 1 ?其他若干电阻,电容 第二章整体方案设计 2.1 整体方案 事先对正弦波进行取样,把各个取样点的取样值存入存储器构成正弦函数表(可以存入一个周期完整信号,也可以存入半个周期或1/4周期)。通过数字频率控制电路对正弦函数表的读取,再把读出的取样值取出还原成原始的正弦信号。 2.2 整体原理及方框图
单片机实验报告 学院:姓名:学号:指导老师:
目录 第一章实验内容、目的及要求 (2) 一、内容 (2) 二、目的及要求 (3) 第二章实验 (3) 实验一数字量输入输出实验 (3) 实验二定时器/计数器实验 (4) 实验三A/D、D/A转换实验 (11) 实验四串行通信设计 (20) 第三章实验体会 (28)
第一章实验内容、目的及要求 一、内容 实验一数字量输入输出实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目。 实验二定时器/计数器实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.3 定时/计数器实验”基本实验项目。 提高部分:定时器控制LED灯 由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。 实验三A/D、D/A转换实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目。 提高部分:(要求:Proteus环境下完成) 小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。 实验四串行通讯实验 阅读、调试C语言程序功能。使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。(要求:实验仪器上完成)提高部分:(要求:Proteus环境下完成) 利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。
单机无穷大系统稳态实验: 一、整理实验数据,说明单回路送电和双回路送电对电力系统稳定运行的影 响,并对实验结果进行理论分析: 实验数据如下: 由实验数据,我们得到如下变化规律: (1)保证励磁不变的情况下,同一回路,随着有功输出的增加,回路上电流也在增加,这是因为输出功率P=UIcos ,机端电压不变所以电流随着功率的增加而增加; (2)励磁不变情况下,同一回路,随着输出功率的增大,电压损耗在增大;这是由于电压降落△U=(PR+QX)/U,而横向分量较小,所以电压损耗也随着输出功率的增大而增大。 单回路供电和双回路供电对电力系统稳定性均有一定的影响,其中双回路要稳定一些,单回路稳定性较差。 二、根据不同运行状态的线路首、末端和中间开关站的实验数据、分析、比较运行状态不同时,运行参数变化的特点和变化范围。 由实验数据,我们可以得到如下结论: (1)送出相同无功相同有功的情况下:单回路所需励磁电压比双回路多,线路电流大小相等,单回路的电压损耗比双回路多;(eg.P=1,Q=0.5时) (2)送出相同无功的条件下,双回路比单回路具有更好的静态稳定性,双回路能够输送的有功最大值要多于单回路; 发生这些现象的原因是:双回路电抗比单回路小,所以所需的励磁电压小一些,电压损耗也要少一些,而线路电流由于系统电压不改变;此外,由于电抗越大,稳定性越差,所以单回路具有较好的稳定性。 三、思考题: 1、影响简单系统静态稳定性的因素是哪些? 答:由静稳系数S Eq=EV/X,所以影响电力系统静态稳定性的因素主要是:系统元件电抗,系统电压大小,发电机电势以及扰动的大小。 2、提高电力系统静态稳定有哪些措施? 答:提高静态稳定性的措施很多,但是根本性措施是缩短"电气距离"。 主要措施有:
汇编语言程序设计 1)编译后,系统提示:目标越界,改为AJMP后编译通过,将ORG 07FFH 改为0800H, 系统提示:目标越界,这说明AJMP可以在2KB 范围内无条件转移。 2.改为LJMP编译通过,这说明LJMP可以在64KB 范围内无条件转移。 3.将LJMP LP1改为SJMP LP0,机器码为80FC,其中FC为偏移量,它是一个补码,01H~7FH说明向PC(增大√、减小)方向跳,80H~FFH说明向PC(增大、减小√)方向跳,这说明SJMP可以在当前PC值-128B~+127B 范围内无条件转移。 1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 实验程序: MOV A,20H JZ ZREO JB ACC.7,NEG MOV 21H,#01H SJMP PEND ZREO:MOV 21H,A SJMP PEND NEG:MOV 21H,#0FFH PEND:SJMP$ END 结果记录: 1.将数89H存放于20H中,运行程序,观察到21H单元中的内容为FF; 2.将数05H存放于20H中,运行程序,观察到21H单元中的内容为01; 3.将数00H存放于20H中,运行程序,观察到21H单元中的内容为00; 2、将20H~27H中的压缩BCD码拆为两个单字节BCD码,存放在以2000H为首地址的外部RAM 中。 实验程序: MOV R0,#20H MOV R7,#08H MOV DPTR,#2000H LOOP:ACALL CZ INC R0
INC DPTR DJNZ R7,LOOP SJMP $ CZ:MOV A,@R0 SWAP A ANL A,#0FH MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH MOVX @DPTR,A RET END 结果记录: 20H 21H 22H 23H 24H 25H 26H 27H 87H 54H 36H 23 19H 43H 77H 69H 2000H 2002H2004H2006H2008H200AH200CH200EH 07H 04H 06H 03H 09H 03H 07H 09H 2001H 2003H2005H2007H2009H200BH200DH200FH 08H 05H 03H 02H 01H 04H 07H 06H 1、数在计算机中是以补码形式存放的,因此,判断数据的正负,往往采用判断第7 位,是0 则为正数,是1 则为正数 2、实验内容2中JZ ZREO 的机器码为600DH ,其中0DH 为偏移量,当前PC值0004 加上这个偏移量等于0011H ,这正是即将执行的程序的首地址,即标号为ZREO 语句。程序计算器PC的功能是指向下一条指令,因此,跳转语句是依靠偏移量来改变程序计数器PC的值,从而改变程序的流向。 3、分支程序一定要注意分支的语句标号的正确性,每一分支之间必须用跳转(如SJMP)指令分隔,并跳转到相应标号。 4、子程序往往用间址寄存器传递数据,内部RAM用@Ri ,外部RAM用@DPTR ,绝对不能用直接地址。最后以RET 结尾。 5、循环程序往往用寄存器传递数据,用R7控制循环次数,用调用作为循环体,用指令INC 修改地址指针,用指令DJNZ 判断循环结束。 6、执行ACALL前(SP)= 07H ,执行ACALL时,(SP)= 09H ,(08H)= 09H ,(09H)= 00H ,(PC)= 000FH ,PC的值正是子程序的入口地址,而堆栈中这两个单元存放的是断点处PC的值;执行到RET后,(SP)= 07H , 原08H的值弹给(PC)7~0 ,原09H的值弹给(PC)15~8 ,因此,返回断点继续执行主程序。
通信与信息工程学院2015/2016 学年第一学期课程设计实验报告 模专块名称 业 ARM 嵌入式开发 电子信息工程 学生班级学生学号学生姓名
指导教师余雪勇
实验内容 一、基本要求 在基本要求中,需要从11 个测试程序中选做8 个,以下是对8 个程序的实验过程的叙述,包括实验前的硬件连接准备、软件环境配置(串口工具、dnw、ADS、交叉编译环境等)、每个实验的关键代码以及简单分析。 1、硬件连接 用USB 线、串口线把开发板连到电脑相应的端口,再将电源线插好。 2、软件环境配置 设置串口工具SecureCRT 解压在“windows 平台开发工具包\”目录下的“SecureCRT.rar”后,即可使用SeureCRT,双击图标,打开SecureCRT,如下图所示: 点击图中红色方框图标,出现下图的设置窗口:
在 Ptotocol 里面选择 Serial,出现如下图所示的对话框,详细设置 参考下图,超级终端设置部分,不再重复。 注意:Port 选项部分根据您实际使用的端口进行配置,其他选项请一 定配置如下图所示。 配置完毕后,点击上图的“Connect”选项即可连通串口。 DNW 设置 DNW 在这里是我们的.bin 文件下载软件,可实现我们向 flash 或者内存当中烧写程序的功能。 直接双击“Windows 平台工具\DNW”目录下的DNW 软件,出现下图: (1)点击“Configuration”菜单的“Options”,出现“UART\USB
Options”配置 (2)配置如下图: 3、实验前准备 串口工具和开发板连接成功后,将选择开关打到norflash,并按一下重启键,开发板则自动按照选择从norflash 启动。此时,如果 SecureCRT 界面显示如下,则表示串口工具已经工作正常: 一般出厂光盘里面已经有许多bin 文件了,其中包括我们此处所说的 TQ2440_Test 的bin 文件。我们也可以参考以下步骤,使用ADS1.2 生成自己的“*.bin”文件。 (1)、安装ADS1.2(ARM Developer Suite v1.2,一款针对ARM 的开发套件),并使用ADS打开天嵌科技的出厂自带的测试程序。 (2)、点击compile 键进行编译,点击make 键生成我们此处所需要的“*.bin”文件生成自己的 bin 文件之后,就可以使用SecureCRT 配合dnw 来实现对bin 文件的下载了:操作步骤其实和上面烧写出厂程序一样,在此再详细叙述一下:
南京邮电大学通信学院 软件课程设计 实验报告 模块名称:___MATLAB软件设计 专业班级:__通信工程 姓名:____ ____ 学号:___ 实验日期:2013年 6 月 17—28日实验报告日期: 2013 年 7 月 1 日