川大《计算机综合实践9033》课程设计 离线作业 顾浩
- 格式:doc
- 大小:1.18 MB
- 文档页数:18
《物联网协议》作业设计方案(第一课时)一、作业目标本节课的作业旨在帮助学生深入理解物联网协议的基本概念和工作原理,提高他们在实际应用中运用物联网协议的能力。
通过完成作业,学生将能够:1. 掌握常见的物联网协议,如ZigBee、蓝牙、Wi-Fi等;2. 了解物联网协议的工作原理和优势;3. 学会如何在项目中使用物联网协议。
二、作业内容1. 阅读相关文献:学生需要阅读与物联网协议相关的文献资料,了解物联网协议的基本概念和工作原理。
文献资料可以是书籍、网站或在线资源等。
2. 小组讨论:学生以小组形式进行讨论,讨论物联网协议在实际应用中的优势和挑战。
每个小组需要准备一份讨论报告,总结小组的观点和看法。
3. 实践操作:学生需要选择一种常见的物联网协议(如ZigBee、蓝牙、Wi-Fi等),并完成以下实践操作:a. 了解协议的工作原理和数据传输方式;b. 设计一种实际应用的场景,并说明如何使用所选协议实现该场景;c. 分析所选协议在实现过程中可能遇到的挑战和解决方案。
三、作业要求1. 独立完成阅读和讨论任务,积极参与小组讨论;2. 实践操作需要提交一份完整的报告,包括所选协议的工作原理、实际应用场景的设计、可能遇到的挑战及解决方案等;3. 作业需要在规定时间内完成,字数不少于XX字;4. 作业成绩将根据完成质量、参与度和提交时间进行评定。
四、作业评价1. 作业完成质量:学生是否深入理解物联网协议的基本概念和工作原理,是否能够根据所选协议设计实际应用场景,是否能够分析并解决实际应用中可能遇到的挑战等;2. 参与度:学生是否积极参与小组讨论,是否主动分享自己的观点和看法;3. 提交时间:学生是否按照规定时间提交作业。
五、作业反馈在作业评价完成后,教师将向学生提供反馈,包括对作业的总体评价、存在的问题和建议等。
同时,教师也将根据学生的完成情况和参与度,给予相应的成绩评定。
学生可以根据反馈进行反思和改进,以提高自己的学习效果。
四川大学期末考试试题(开卷)(2018——2019学年第 1 学期) A卷课程号:课序号:课程名称:任课教师:成绩:试卷编号:8. 设有如下的单链表的按序号查找的算法,其时间复杂度为()。
LinkNode *GetNode(Linklist head, int i) {int j;ListNode *p;P = head; j=0;while(p->next && j<i){ p = p->next; j++;}if(i==j)return(p);elsereturn(NULL); }A. O(n2)B. O(n)C. O(n3)D. O(logn)9. 假定一个链式队列的队首和队尾指针分别用front和rear表示,每个结点的结构为:,当出列时所进行的指针操作为()A. front = front->next;B. rear = rear->next;C. front->next = rear; rear = rear->next;D. front = front->next; front->next = rear;10. 如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是()。
A. e3,e1,e4,e2B. e2,e4,e3,e1C. e3,e4,e1,e2D. 以上均有可能11. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。
A. 1和5B. 2和4C. 4和2D. 5和112. 判断一个顺序栈ST(最多元素为mo)为空的条件是()。
A. ST->top <> 0B. ST->top == 0C. st->top <> moD. st->top == mo13. 有一个N×N的下三角矩阵A,若采用行优先进行顺序存储,每个元素占用k个字节,则A ij(1≤i ≤N,1≤j≤i)元素的相对字节地址(相对首元素地址而言)为()A. (i×(i+1)/2+j-1)×4B. (i×i/2+j)×4C. (i×(i-1)/2+j-1)×4D. (i×(i-1)/2+j)×414. 一个数组元素a[i]与()的表示等价。
计算机综合应用实践周2题目:基于Android的简单用户注册登陆系统班级: 1120541 学号: 112054141 姓名:汪智成绩:日期: 2014年 12月一、综合设计的目的与要求通过这次计算机综合应用实践周,进一步掌握Android技术相关理论和方法,熟悉Android应用系统的基本开发过程,培养和锻炼开发Android应用系统的能力。
要求了解Android应用系统的开发方法,理解Android技术与应用课程相关的概念,掌握Android应用系统开发的全过程。
主要包括:确定主题、需求分析、系统设计、搜集素材、创作与开发、后期合成、测试、包装等过程。
完成一个小型Android应用系统的设计与开发。
二、综合设计正文1 系统分析1.1设计目的1、掌握用户注册、登陆、列表等功能的实现2、了解Android各控件的使用3、掌握Android常用类的使用方法4、了解SQLite数据库的访问方式及对数据库的各种操作1.2设计要求实现用户管理系统的界面设计简约清晰美观运用文本框、密码框、单选按钮、复选框、下拉列表等控件实现相应的功能,用户注册成功后能跳转到登录界面,登陆成功后可以实现跳转到用户信息记录,实现拨打电话与发送短信的功能2 系统设计2.1功能设计1、运用文本框、密码框、单选按钮、复选框、下拉列表等控件完成注册页面2、实现注册成功后直接跳转到用户登陆页面3、登陆成功后可以跳转到用户信息页面4、在登陆之后可以进行拨打电话和发送短信5、优化系统界面2.2系统运行环境与开发工具开发环境:Windows 7 Jdk1.7开发工具:Eeclipse SQLite3 系统实施1 注册登录界面系统介绍此界面系统是在仿照网络上的用户登录系统设计而成的,根据自己所学过的Android知识加上百度到的一些程序算法和代码而做的一个基于Android平台的能实现用户注册,并在注册后直接跳转到登陆界面的系统,由于我们所接触的Android知识面很小,所以此用户注册登录系统相对比较简单,只能实现页面的跳转和注册成功后的查看,主要运用到了表格布局、单选按钮、数据库等相关知识点,是一个很简单的用户注册后直接登录的系统对话框。
四川大学22春“计算机科学与技术”《数字电子技术2390》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.逻辑电路如图所示,当A=0,B=1时,脉冲来到后触发器()。
A.具有计数(翻转)功能B.保持原状态C.置“0”D.置“1”参考答案:A2.OD门的输出端可以并联运行,实现“线与”的逻辑关系。
()A.正确B.错误参考答案:A3.正逻辑的与门是负逻辑的与非门。
()A.正确B.错误参考答案:B4.B.错误参考答案:A5.当时序逻辑电路存在有效循环时该电路能自启动。
() T.对F.错参考答案:F6.满足的触发器是()。
A.B.C.D.参考答案:A7.8路数据分配器的地址输入端有()个。
A.3D.1参考答案:A8.两个二进制数相加,并加上来自高位的进位,称为全加,所用的电路为全加器。
() T.对F.错参考答案:F9.将三角波变换为矩形波,需选用()。
A.施密特触发器B.多谐振荡器C.双稳态触发器D.单稳态触发器参考答案:A10.4位移位寄存器构成的环形计数器的模M=()。
A.4B.8C.16D.6参考答案:A11.可用ADC将麦克风声音信号转换后送入计算机中处理。
()T.对F.错参考答案:T不是Verilog HDL语言用于描述电路逻辑功能的是()描述方式。
A.卡诺图B.结构C.门级D.行为参考答案:A13.移位寄存器不仅可以寄存代码,而且可以实现数据的串-并行转换和处理。
()A.正确B.错误参考答案:A14.在VerilogHDL语言中,行为级描述方式的关键词是initial或always,always是无限循环语句。
()A.正确B.错误参考答案:A15.二进制的算术运算通常是转换成加法运算来完成的。
()T.对F.错参考答案:T16.4位二进制减计数器的初始状态为1001,经过100个有效计数脉冲后,状态是()。
A.0101B.1101C.1100D.0100参考答案:A17.逻辑电路如图所示,当A=0,B=0时,脉冲来到后触发器()。
四川大学蔡鹏综合实践实验报告1、实验报告(学生打印后提交)实验名称:作业调度系统实验时间:2015年6月4日实验人员:_(姓名)_(学号)_(年级)实验目的:理解操作系统中调度的概念和调度算法。
学习Linux下进程控制以及进程之间通信的知识。
理解在操作系统中作业是如何被调度的,如何协调和控制各个作业对CPU的使用实验环境:linux 实验步骤:1. 1、调用vi编辑器修改job.h文件,为命名管道FIFO 设置正确的路径,修改语句:#defineFIFO /home/student/SVRFIFO 2. 修改scheduler.c文件,添加作业的打印信息,即修改函数do_stat,要求再输出作业名称、当前优先级、默认优先级。
3.在printf语句中添加JOBNAME、CURPRI、DEFPRI。
4.接下来的两个输出语句根据表头修改,注意printf语句的输出格式,输出的信息内容参照jobinfo结构体用gcc分别编译连接作业调度程序、三个命。
2、令程序。
在一个控制台窗口中运行作业调度程序作为服务端。
提交一个运行时间超过100毫秒的作业(要求提供源程序) ,并编译连接。
再打开一个窗口登录服务器作为客户端,在其中运行作业控制命令(提交作业、删除作业、查看信息),在服务端观察调度情况,分析所提交作业的执行情况。
实验陈述:1、基础知识:说明进程与程序的区别:程序是静态的指令集合,不占用系统的运行资源,可以长久保存在磁盘。
进程是进程实体(程序、数据和进程控制块构成)的运行过程,是系统进行资源分配和调度的一个独立单位。
进程执行程序,但进程与程序之间不是一一对应的。
通过多次运行,同一程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。
说明进程与作业的区别:作业是用户一个事务处理过程中要求计算机系统所做工作的集合,作业可以包含几个进程。
说明作业调度与进程调度的区别:作业调度是按照一定的原则从外存的作业后备队列中选择作业调入内存,并为其分配资源,创建相应的进程,然后进入就绪队列。
四川大学网络教育(专升本)电气工程及其自动化专业实验教学大纲课程名称:计算机综合实践英文名称:Synthetic Practice of Computer课程性质:基础课程代码:本大纲主笔人:电气信息学院计算机应用实验中心面向专业:电气工程及其自动化(网络教育专升本)实验讲义名称:计算机综合实践指导书编写单位:四川大学电气信息学院计算机应用实验中心编写日期:2007年5月主编:一、课程学时学分实验总学时:20 实验总学分:2二、课程简介电气工程及其自动化专业作为电气信息类本科专业,要求学生具有较强的计算机应用水平,也应具有一定的计算机应用开发能力。
电气工程及其自动化专业网络教育专升本层次教学计划中开设了微机原理及接口技术计算机基础及应用课程,这些课程都具有很强的实践性。
在学习教科书、阅读课程教学光盘,掌握理论知识的同时,还应注重实践、理论联系实践,使学生具有一定的动手能力。
本实践性课程为此而开设。
计算机综合实践课程主要内容及学时分配如下:1、微机原理及接口技术:进行汇编语言及接口程序设计的实践,学时控制在8~10学时;三、实验的地位、作用和目的微机原理及接口技术等计算机课程都是实践性很强的课程。
学习这些课程不能仅满足于看懂书上的内容或程序,而应当熟练地掌握程序设计或应用开发的全过程,即独立编写源程序,独立上机调试程序,独立运行程序和分析结果;通过这种完整实践过程的锻炼,将加深学生对书本或光盘上内容的理解和掌握。
因此,就必须十分重视实践环节。
本实践环节的主要目的就是:1.加深对课堂讲授内容的理解,掌握各种语言的语法规则。
2.熟悉所用的计算机系统的操作方法,了解和熟悉程序开发环境。
3.学习上机调试程序的方法和技巧,提高编程能力。
四、实验方式及基本要求学生每人一机。
以学生独立上机,教师辅导答疑的方式开展实验。
要求学生能独立编写源程序,独立上机调试程序,独立运行程序和分析结果,并提交实验报告。
五、实验报告实验报告是整个实验过程的重要环节。
云南大学软件学院综合技能实践实验报告学期:2014 秋季学期任课教师: 金鑫刘宇实验题目: 计算机系统安全检测和管理小组长:联系电话:电子邮件:一、【构思】本实验的目的是进行计算机系统安全检测与管理,但是该要求过于宽泛,因此将其细分为操作系统安全、网络安全、病毒防治三方面来分别进行实现,以下为三者各自的具体构思:(1)操作系统安全操作系统安全是系统安全的基础,上层软件要获得运行的可靠性和信息的完整性、保密性,必须依赖于操作系统提供的系统软件基础。
在网络环境中,网络安全依赖于网络中各主机的安全性,而主机系统的安全性正是由其操作系统的安全性决定的。
对于操作系统安全的检测与管理,通过账户安全、文件系统、文件资源安全、日志与审核、服务管理、端口安全、注册表、系统备份与恢复等方面来设计并实现。
(2)网络安全由于大型网络系统内运行多种网络协议(TCP/IP,IPX/SPX,NETBEUA),而这些网络协议并非专为安全通讯而设计。
所以,网络系统可能存在的安全威胁来自以下方面:★操作系统的安全性。
目前流行的许多操作系统均存在网络安全漏洞,如UNIX服务器,NT服务器及Windows桌面PC。
★防火墙的安全性。
防火墙产品自身是否安全,是否设置错误,需要经过检验。
★来自内部网用户的安全威胁。
缺乏有效的手段监视、评估网络系统的安全性。
★采用的TCP/IP协议族软件,本身缺乏安全性。
★未能对来自Internet的电子邮件挟带的病毒及Web浏览可能存在的恶意Java/ActiveX控件进行有效控制。
★应用服务的安全。
许多应用服务系统在访问控制及安全通讯方面考虑较少,并且,如果系统设置错误,很容易造成损失。
对于网络安全的检测与管理,可以从常见的网络攻击与防范技术、IE浏览器安全设置、网络监听与防范、网络漏洞扫描、防火墙技术等方面来设计并实现。
(3)病毒防治随着计算机及计算机网络的发展,伴随而来的计算机病毒传播问题越来越引起人们的关注。
算法设计综合实训题目0.逆序数字(借助栈)编写一个函数,接收一个4位整数值,返回这个数中数字逆序后的结果值。
例如,给定数7631,函数返回1367.输入:第一行一个正整数T(T<=10),表示有T组测试数据; 以下T行,每行一个非负的整数N。
输出:共T行,对于每组输入数据输出一行,即数字逆序后的结果值。
样本输入:3763110185158样本输出:1367810185151.人见人爱A+B这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。
输入:输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。
题目保证所有的数据合法。
输出:对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0-59),每个输出占一行,并且所有的部分都可以用32位整数表示。
样本输入:21 2 3 4 5 634 45 56 12 23 34样本输出:5 7 947 9 302.敲七【问题描述】输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)【要求】【数据输入】一个整数N。
(N不大于30000)【数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。
【样例输入】20【样例输出】714173.统计同成绩学生人数问题【问题描述】读入N名学生的成绩,将获得某一给定分数的学生人数输出。
【要求】【数据输入】测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数当读到N=0时输入结束。
其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
实验一 Office组件的基本操作一、实验题目: Office组件的基本操作二、实验日期:2017/12/12三、实验目的:制作简历、学生成绩处理四、实验内容:使用word制作一份简历;利用EXCEL对学生的成绩进行登记、计算等处五、过程设计:制作简历初始化页面新建一个Word文档,按“Ctr1+S”快捷键将其保存为“个人简历”。
执行菜单栏上的【文件】【页面设置】命令,打开【页面设置】对话框。
单击【页边距】标签,打开【页边距】选项卡,在【页边距】选项区域中设置上、下、右边距。
单击【确定】按钮完成页面设置。
为表格添加标题输入标题内容“个人简历”。
选中标题,设置标题的字体。
选中标题,执行菜单栏上的【格式】【调整宽度】命令,打开【调整宽度】对话框。
在【调整宽度】对话框中设置新文字宽度。
如下图所示。
插入表格单击菜单栏上的【表格】【插入】【表格】命令,打开【插入表格】对话框, 在【列数】和【行数】文本框中分别输入X列和X行,如下图所示,然后单击【自动套用格式】对话框。
在【表格样式】下拉列表框中选择典雅型样式,如下图所示。
单击【确定】按钮返回【插入表格】对话框。
单击【确定】按钮,此时表格以所选择的样式插入到页面中。
也可以在插入表格后,单击菜单栏上的【表格】【表格自动套用格式】来选择表格的样式。
修改表格结构将指针停留在两列间的边框上,指针变为 ,向左拖动边框到合适的宽度。
我们可以事先,向左拖动边框到合适的宽度。
我们可以事先在第一列中输入文本“应聘职务”,拖动边框时以能容纳完此文本的宽度为准。
如下图所示。
下面我们使用绘制表格或拆分、合并单元格来修改表格结构。
为了方便操作,首先单击菜单栏上的【视图】【工具栏】,选择【表格和边框】激活如下的【表格和边框】工具栏。
对表格执行下面的操作,具体操作见下面的动画。
绘制表格——单击【绘制表格】按钮,指针变为 ,这时就可以绘制表格,绘制结束后单击【绘制表格】按钮取消绘制表格状态。
合并单元格——选择要合并的单元格区域,单击【合并单元格】按钮。
拆分单元格——选择要拆分的单元格区域,单击【拆分单元格】按钮,在弹出的【拆分单元格】对话框中设置要拆分的行数及列数,单击【确定】按钮完成。
输入表格中各单元格内容。
参照第1步,拖动各边框调整各单元格的宽度,效果如下图所示。
对表格进行修饰单击表格左上角的标记,选定整个表格。
设置字体为。
移动指针到表格第1列的顶端,指针变为,单击选定整列。
单击右键,选择快捷菜单中的【单元格对齐方式】【中部居中】样式。
如下图所示。
学生成绩处理我们选某班的10名学生为例,对其成绩进行汇总、排序、统计各分数段人数,绘制成绩分布曲线。
根据要求设计表格并录入成绩,经处理后所得的结果见图1计算学生各科总分首先计算第一名学生的各科成绩总分,然后通过复制函数得到其他学生各科总分。
1.计算第一名学生的总分(1)选取函数。
选择H4单元格,然后单击菜单栏中的“插入/函数”或工具栏中的“fx”按钮,接着弹出“粘贴函数”对话框,首先在对话框“函数分类”一栏中选取“数学与三角函数”,然后在“函数名称”中选取“Sum”按“确定”退出。
(2)选取需要计算的单元格区域。
选取函数后即打开“函数参数输入”对话框,然后单击“折叠对话框”按钮(即 Number1右边的按钮),此时对话框消失,接着选取单元格区域,选取方法(单击C4拖曳至G4或单击C4按 Shift键同时单击G4),最后必须按“回车键”加以确认,“函数参数输入”对话框再次出现,单击对话框中的“确定”按钮退出后即可得到第一名学生总分。
2.计算其他同学各科总分单击H4单元格,鼠标指向该单元格右下角的小黑方块(即填充句柄),待光标变为黑色“十”字时,按下鼠标的左键向下拖曳至H13,各科总分就很容易显示出来(根据需要可以选择不同函数对数据进行处理,如用Max函数计算最高分,Min计算最低分, Average计算平均分等)。
按总分排名次1.单元格区域的命名首先选取“总分”数据的单元格区域H4-H13,然后单击菜单中的“插入/名称/定义”,在弹出“定义名称”对话框中的“当前工作簿名称”一栏中输入或修改名称为“总分”,在“引用位置”一栏中显示刚才选取的单元格区域H3-H16(当然也可以单击其右侧的“折叠按钮”重新选取单元格区域),然后按“确定”退出。
2.选取函数确定排名在单元格I3中输入“名次”,单击14单元格,选择“数据/函数”菜单项或单击工具栏中“fx”按钮后弹出“粘贴函数”对话框,选择“统计”类中“RANK”函数即弹出“函数参数输入”对话框。
在 Number一栏中输入H4(或单击其右边“折叠按钮”对话框消失,单击H4后按“回车键”,此栏中即为刚才选定的单元格H4),Ref一栏中输入“总分”,单击“确定”按钮退出就可以得到第一个学生的成绩排名,然后选取单元格J3,通过“复制句柄”复制,得出全班成绩的排名。
统计各科各分数段人数在A14-A19中分别输入“49分以下”、“50-59分”、,“90分以上”,先统计“高数”成绩在“49分以下”人数,方法与求总分基本相同,只是选择不同函数。
在“函数分类”中选择“统计”,在函数名中选择 COUNTIE(G3:G65,>=80),弹出“函数参数输入”对话框,在 Range一栏中选择或输入计算区域C4~C13,在Criteria一栏中输入“<=49”,按“确定”按钮退出后即在C14中得到满足条件的人数。
要统计50-59分之间人数只要在 Criteria一栏中输入“>=50AND<=59”即可。
同样的方法可以求出其他分数段人数,最后,通过复制的方法求出各科各分数段人数。
绘制成绩分布曲线(以“高数”课程为例)1.选定创建图表的数据区域选取A14拖曳至C19或单击A14同时按住Ctrl1键再单击C192.择图表类型和子类型(1)选定创建图表的数据区域后,单击“常用”工具栏的“图表向导”按钮或者选择“插入图表”菜单命令后弹出“图表向导”对话框;(2)在“图表类型”中单击“自定义类型”选项卡,在选项框中选择“平滑直线类型”(在图表类型中选择合适的曲线可以按住“查看示例”按钮预览后重新选择);(3)单击对话框中“下一步”按钮弹出“图表源数据”对话框,选定“数据区域”选项卡中的“列”单选项,接着单击对话框“下一步”按钮弹出“图表选项”对话框,在对话框中添加说明性文字;(4)单击“下一步”按钮弹出“图表位置”对话框,选定对话框中的“作为新工作表插入”单选项后,单击“完成”按钮退出,得到如图2所示成绩曲线(可以对曲线图进行编辑)。
实验二 8253定时器/计数器接口与数字电子琴一、实验题目:8253定时器/计数器接口与数字电子琴二、实验日期:2017/12/17三、实验目的:改变定时器2的计数值来改变声音频率,通过编程来获得声调(率)和节奏(延时长短)使计算机演奏出乐曲来。
四、实验内容:设计程序让微机演奏一段简单乐曲利用DOS的键盘管理功能。
将微机变为一个具有简单功能的电子琴(选作)。
五、程序设计硬件设计利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。
8255的A口设置为输出,8255的A口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时。
将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。
这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。
此外,通过控制PA0的通断时间,就能发出不同的音长。
8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。
8253有三个定时器。
分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器工作方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。
当8255的PA0和PA1都为1时,8253发出指定频率的声音信号的前提下,声音信号通过与门到达驱动器驱动扬声器发声。
软件设计系统要求实现2个功能,电子琴和音乐盒的功能。
两者发声的方法一样,只是一个数据是从键盘读取的,另一个是已经保存好的数据。
首先我们可以用一个子程序实现单个音调的产生,对8253输入不同的计数初值生成不同频率的波形,然后延时一段时间。
电子琴程序主要是读取键盘按键,根据键值产生不同的音调即可。
而乐曲的播放先将乐曲的音符编码表和节拍编码表建立好的,然后在播放时读取数据。
1. 单音调子程序SOUND 单音调子程序的调用前需要进行以下几个方面工作, 1)确定相应的音调所对应的频率,查表可以得到,再由频率得到对应的8253计数初值。
2)确定音长,即一个音符所持续的时间。
在单音调子程序中实现发出一个音符的声音,持续所需的时间,流程图如图3所示:2,音乐盒程序音乐盒的乐曲播放程序中需要有两组数据支持,一组是频率数据,一组是节拍时间数据。
音符的频率可以通过简谱从频率表中查得。
节拍时间就是音符的持续时间,取决于乐曲的速度和每个音符的节拍数据。
如4/4,四四拍,中,每小节包括4拍,全音符持续4拍,二分音符持续2拍,四分音符持续一拍,八分音符持续半拍等。
有了音调与频率和时间的关系后,就可以按照乐曲的曲谱将每个音符的频率和持续的时间定义成两组数据表,然后编程依次取出表中的频率值和节拍值,调用单音调子程序就可依次产生各个音调,播放出乐曲。
在程序中存储几个乐曲数据,根据音乐盒子菜单选择相应的乐曲演奏,读取对应的数据输出。
乐曲《两只老虎》的简谱如下:对应的频率数据表Freq、节拍数据表Time如下:TWOTIGERS_FRE DW 2 DUP(524,588,660,524,0) ;乐曲的频率表 DW 2 DUP(660,698,784,0)DW 2 DUP(784,880,784,698,660,524,0)DW 2 DUP(588,392,524,0),1TWOTIGERS_TIME DW 10 DUP(100),200,100,100,200 ;乐曲的时间表 DW 2 DUP(50,50,50,50,100,100)DW 2 DUP(100,100,200)outb_p(0x34,0x43);utb _p(LATCH&0xff,0x40);outb_p(LATCH>>8,0x40);outb(inb_p (0x21) & ~0x01, 0x21); //允许接收定时器中断}void do_timer(void){这是定时器主程序,用于每隔一段时间后进行某些操作}[8253.asm]://以下是nasm格式的汇编代码,这个中断处理函数必须用汇编timer_interrupt:push gspush fspush espush dspush ebppush edipush esipush edxpush ecxpush ebxpush eax如果你不在操作系统下使用,以下三行必须删除,否则必须把0x10更改为内核段选择符mov eax,0x10mov ds,axmov es,axmov al,0x20out 0xa0,al ;发送EOI out 0x20,alcall do_timerpop ebxpop ecxpop edxpop esipop edipop ebppop dspop espop fspop gsxor eax,eaxiretd践体会实验三网络数据包分析一、实验题目:实验内容网络数据包分析二、实验日期:2017/12/25三、实验目的:通过工具软件分析数据包,给出数据包结构。