第一篇:实验五 定时器、串行口以及人机交互综合编程
仲恺农业工程学院实验报告纸
信息学院(院、系)专业班组单片机原理及接口技术课实验五定时器、串行口以及人机交互综合编程
一、实验目的1、巩固掌握单片机定时器、串行口、键盘以及数码管显示的工作原理以及编程方法;
2、掌握单片机定时器、串行口以及人机交互的综合编程。
二、实验内容
1、复习定时器、串行口、键盘以及数码管显示的工作原理以及编程方法;
2、综合利用单片机定时器、串行口、键盘以及数码管显示编写具有一定功能的程序。
三、实验设备
1、STC单片机开发板;
2、PC机以及串口线。
四、实验步骤
参考实验指导书。
五、实验总结
第二篇:实验三 单片机串行口编程(最终版)
仲恺农业工程学院实验报告纸
信息学院(院、系)专业班组单片机原理及接口技术课实验三单片机串行口编程
一、实验目的1、掌握单片机串行口的工作方式;
2、掌握单片机串行口的编程方法。
二、实验内容
1、学习单片机串行口的工作方式、初始化以及应用等;
2、利用单片机串行口编写程序在超级终端输出输入相应信息并根据输入的信息驱动开发板上的蜂鸣器按一定规律工作。
三、实验设备
1、STC单片机开发板;
2、PC机以及串口线。
四、实验步骤
参考实验指导书。
五、实验总结
第三篇:实验二 单片机定时器和计数器编程
仲恺农业工程学院实验报告纸
信息学院(院、系)专业班组单片机原理及接口技术课实验二单片机定时器/计数器编程
一、实验目的1、掌握单片机定时器/计数器的工作方式;
2、掌握单片机定时器/计数器的编程方法。
二、实验内容
1、学习单片机定时器/计数器的工作方式、初始化以及应用等;
2、利用单片机定时器/计数器编写程序驱动开发板上的led和蜂鸣器按一定规律工作。
三、实验设备
1、STC单片机开发板;
2、PC机以及串口线。
四、实验步骤
参考实验指导书。
五、实验总结
第四篇:人机交互实验册
学
生
实
验
报
告
(理工类)
课程名称:
人机交互技术
专业班级:12软件工程班
学生学号:
学生姓名:
所属院部:
指导教师:
——20
学年
第1
学期
XX学院教务处制
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。
实验报告书写说明
实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:
图形用户界面设计
实验学时:
同组学生姓名:
实验地点:
工科楼
实验日期:
实验成绩:
批改教师:
批改时间:
实验1
图形用户界面设计
一、实验目的和要求
1)熟悉图形用户界面的设计原则
2)利用一种设计工具完成图形化的用户界面设计
3)记录系统分析及层次结构设计的过程,调试程序要记录调试过程中出现的问题及解决办法;
4)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
5)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows
XP、Visual
Studio
三、实验过程
利用常用的设计工具完成一个通用图形用户界面设计,要遵循界面设计的一般原则,注意颜色的使用,学会使用图标、按钮、屏幕布局、菜单和对话框的设计。
主要步骤:
(1)
熟悉开发环境
(2)
分析所要实现的功能
(3)
编程实现
程序清单:
界面图
主程序
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
银行储蓄处理系统
{
public
partial
class
load
:
Form
{
public
load()
{
InitializeComponent();
}
private
void
Form1_Load(object
sender,EventArgs
e)
{
}
/***************登陆代码部分**************/
private
void
queding_Click(object
sender,EventArgs
e)
{
if
(textBox1.Text.Trim()
==
““)
MessageBox.Show(“请输入用户名!“,“提示“);
else
{
if
(textBox1.Text.Trim()
==
“1234“
&&
textBox1.Text.Trim()
==
“1234“)
{
this.Hide();
Mainform
maiform1
=
new
Mainform();
maiform1.ShowDialog();
}
else
{
MessageBox.Show(“账号或密码有误,请重新输入!“,“提示“);
textBox1.Clear();
textBox2.Clear();
}
}
}
/***************退出代码部分**************/
private
void
quxiao_Click(object
sender,EventArgs
e)
{
this.Close();
}
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
银行储蓄处理系统
{
public
partial
class
Mainform
:
Form
{
public
Mainform()
{
InitializeComponent();
}
private
void
Mainform_Load(object
sender,EventArgs
e)
{
}
private
void
退出系统ToolStripMenuItem_Click(object
sender,EventArgs
e)
{
DialogResult
Digrst
=
MessageBox.Show(“是否退出银行储蓄处理系统?“,“提示信息“,MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if
(Digrst
==
DialogResult.Yes)
{
Application.Exit();
}
else
if
(Digrst
==
DialogResult.No)
{
return;
}
}
private
void
存款ToolStripMenuItem_Click(object
sender,EventArgs
e)
{
Cunkuan
cun
=
new
Cunkuan();
cun.ShowDialog();
}
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
银行储蓄处理系统
{
public
partial
class
Cunkuan
:
Form
{
public
Cunkuan()
{
InitializeComponent();
}
private
void
button2_Click(object
sender,EventArgs
e)
{
if
(textBox1.Text.Trim()
==
“123456“
||
textBox2.Text.Trim()
==
“123456“)
{
Addkehu
addkehu
=
new
Addkehu();
addkehu.ShowDialog();
}
else
MessageBox.Show(“请输入正确信息!“,“提示“);
}
private
void
button1_Click(object
sender,EventArgs
e)
{
this.Close();
}
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
银行储蓄处理系统
{
public
partial
class
CreateRole
:
Form
{
public
CreateRole()
{
InitializeComponent();
}
private
void
button2_Click(object
sender,EventArgs
e)
{
this.Close();
}
private
void
CreateRole_Load(object
sender,EventArgs
e)
{
}
}
}
四、实验结果与分析
菜单在图形界面的应用程序中使用得非常普遍,是软件界面设计的一个重要组成方面,描述了一个软件的大致功能和风格。菜单中的选项在功能上与按钮相当,一般具有下列一种或几种类型的选项:命令项、菜单项和窗口项。菜单的结构一般有单一菜单、线状序列菜单、树状结构菜单、网状结构菜单等,其中树状结构菜单是最常见的结构。
界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致
五、讨论、思考题
图形用户界面的应用程序与控制台应用结构的主要区别体现在哪些地方?
图形界面程序基于一个无穷的消息循环。直到退出消息时,程序才终止。而控制台程序是一个简单的直线型结构,运行到最后一段代码就停止。实验项目名称:多通道用户界面
实验学时:
同组学生姓名:
实验地点:
工科楼
实验日期:
月
日
实验成绩:
批改教师:
批改时间:
实验2
多通道用户界面设计
一、实验目的1)
了解常见的多通道用户界面
2)查找资料,熟悉一种多通道用户界面并写出综述
二、实验要求
(1)记录系统分析及结构设计的过程,调试程序要记录调试过程中出现的问题及解决办法;
(2)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(3)做完实验后给出本实验的实验报告。
三、实验设备、环境
奔腾以上计算机,Windows
XP
四、实验步骤及内容
(一)实验内容:
要求上网查找资料,熟悉一种多通道用户界面并写出综述,可以是眼动跟踪、手势识别、三维输入、语音识别、表情识别、手写识别等。
(二)实验步骤:
1)借助图书馆的中英文参考文献资料以及网络,确定出一种多通道用户界面;
2)完成对该多通道用户界面的综述(包括定义、发展历史、当前的应用、主要的研究方法分类、以及发展前景以及中英文参考文献(至少各5篇))
语音识别多通道用户界面
定义
随着计算机技术的发展,人们迫切需要一种更加自然的、更加能为多数人所接受的方式与计算机沟通。在人机对话方面寻求最好的语音信息交换手段是发展人机语音通信和新一代智能计算机的主要组成部分。随着计算机的普及,越来越多的人在使用计算机,如何给不熟悉计算机的人提供一个友好的人机交互手段,逐渐引起了人们的重视。从而也就诞生了计算机语音学。计算机语音学覆盖了广泛的研究活动,包括语音识别、语音合成、语音编码、自然语言理解、机器翻译等。
语音识别技术是计算机通过识别和理解的过程把语音信号转变为相应的文本文件或命令的技术。当人们想对计算机说话时,通常首先需要进行语音识别,即将声音信号转换成单词流。
发展历史
语音识别的研究工作大约开始于20世纪50年代,当时AT&T
Bell实验室基于共振峰提取技术实现了第一个可识别十个英文数字的语音识别系统——Audry系统。
60年代,计算机的应用推动了语音识别的发展。这时期的重要成果是提出了动态时间规划(DP)和线性预测分析技术(LPC),其中后者较好地解决了语音信号产生模型的问题,对语音识别的发展产生了深远影响。
70年代,语音识别领域取得了较大进展。在理论上,LP技术得到进一步发展,动态时间归正技术(DTW)基本成熟,特别是提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。在实践上,实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。
80年代,MFCC的参数提取技术和HMM模型的深入使用使得语音识别技术得到进一步的发展,语音识别的问题逐步在理论体系上得到了比较完整和准确的描述,同时在实践上又逐步研发出效率较高的解决算法。
90年代以来,在美国国防部的Darpa测试、Ears计划、近期的Gales计划,以及我国863计划等推动下,一大批高水平的研究机构和企业加入到语音识别的研究领域,极大地推动了语音识别技术的发展和应用。语音识别系统已经从过去的小词汇量、孤立词识别、特定人识别、安静环境等简单任务逐步发展到大词汇量、连续语音、非特定人、噪声环境下的识别任务,从单纯的语音识别任务发展到语音翻译任务,从实验室系统走向商用系统。
最近年里,语音识别技术的显著进展,带来了高性能的算法和系统。用于语音拨号、语音命令控制、简单的数据输入和准备结构化文档的语音识别工具已经开始出现。
主要的研究方法分类
语音识别技术是计算机通过识别和理解的过程把语音信号转变为相应的文本文件或命令的技术。一个完整的语音识别系统应包括以下三个部分:
1)
语音特征提取
语音信号在完成模/数转换后,还要进行特征提取,一方面为了获得语音的本质特征;另一方面还可以进行数据的压缩。目前通用特征提取的方法是基于语音帧的,即将语音信号分为有重叠的若干帧,对每一帧提取语音特征。
2)
声学模型
声学模型是用于从语音到音节的概率计算。在识别时将提取的语音特征与声学模型比较并匹配,以获得最佳的识别效果。目前广泛采用的声学建模法有:隐马尔科夫模型建模和上下文相关建模。
3)
语言模型
语言模型用于计算从音节到字的概率。目前,语言模型主要有:规则模型和统计模型两种。
语音识别的过程分为三个步骤:预处理、识别和后处理。
1)
预处理
包含波形硬件采样率的确定、分帧的大小和帧移策略的确定;剔除噪声的带通滤波、高频预加重处理、各种变换策略;波形的自动切分。
首先对模拟语音信号采样,将其数字化。连续语音流切分是找出语音信号中的各种识别基元如音素、音节、半音节、声韵母、单词或意群等的始点和终点的位置,进而将对连续语音的处理变为对各个语音单元的处理。语音端点检测指的也是连续语音流切分。
2)
识别
包含特征参数提取;参数模板存储及识别。
识别语音的过程,实际上是对语音特征参数模式的比较和匹配的过程。寻找一个既能充分表达语音特征又能彼此区别的、较稳定的特征参数是很重要的。语音识别系统常用的特征参数有线性预测系数、倒频谱系数、平均过零率、平均能量、短时频谱、共振蜂频率及带宽等。识别参数的选择着眼于能得到高的识别率,由于有些参数的提取较为复杂,计算较费时,因而要折衷考虑选用哪些参数并确定采用哪种识别方法。
3)
后处理
包括自动分词、词类分析、词义分析、词用分析、语法分析、句法分析、同音词判别等。后处理是利用语言学知识库中的知识,按一定的推理策略,把识别出来的拼音转换成汉字并理解语句的含义。语言学知识库中有词汇、语法、句法、语义、语用和常用词语搭配等知识。
发展前景
21世纪是信息和网络的时代,Internet和移动通信、固话通信的网络把全球各地连接起来。自然口语对话、电子商务、信息索取、数字图书馆、语音翻译、远程教育等一系列的人类活动都可在网络上实现。语音识别系统的出现,会让人更加自由的沟通,让人在任何地方,任何时间,对任何事都能够通过语音交互的方式,方便地享受到更多的社会信息资源和现代化服务。这必然会成为语音识别技术研究和应用的重要发展趋势。
参考文献
[1]
柳春
语音识别技术研究进展[J]
甘肃科技
[2]
杨尚国
语音识别技术概述[J]
福建电脑
[3]
熊燕
抗噪声语音识别技术研究[J]
中国科技信息
[4]
刘筠
一种新型语音识别系统[J]
成都大学学报(自然科学版)
[5]
马斌
基于小波变换的DSP语音识别系统[J]
低压电器
[6]
英锋
基于SPCE061A的语音识别系统的设计[J]
微计算机信息五、讨论、思考题
简要讨论人机交互界面的发展趋势。
人机交互和计算机用户界面刚刚走过基于字符方式的命令语言式界面,目前正处于图形用户界面时代。但是,计算机科学家并不满足于这种现状,他们正积极探索新型风格的人机交互技术。当前语音识别技术和计算机联机手写识别技术的商业成功让人们看到了自然人机交互的曙光。虚拟现实和多通道用户界面的迅速发展显示出未来人机交互技术的发展趋势是追求所谓“人机和谐”的多维信息空间和“基于自然交互方式的”的人机交互风格。多通道用户界面与多媒体用户界面一道共同提高人机交互的自然性和效率。多通道用户界面主要关注人机界面中用户向计算机输入信息以及计算机对用护意图理解的问题,它所要达到的目标可归纳为如下方面:
a.交互自然性,使用户尽可能多地利用已有的日常技能与计算机交互,降低认识负荷;
b.交互高效性,使人机通讯信息交换吞吐量更大、形式更丰富,发挥人机彼此不同的认知潜力;
c.吸取已有人机交互技术的成果,与传统的用户界面特别是广泛流行的WIMP/GUI兼容,使老用户、专家用户的知识和技能得以利用,不被淘汰。
我们认为,自然人机交互模式是以直接操纵为主的、与命令语言特别是自然语言共存的人机交互形式。理想的人机交互模式就是“用户自由”。
第五篇:实验二 定时器程序设计121
一、实验目的学会使用单片机定时器产生定时中断,并利用定时中断产生更长时间延时。
二、实验设备及器件
IBM PC机
一台
DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台
三、实验内容
1.实验二 定时器程序设计
2.编写程序,使P10端口来控制LED闪烁 3.C语言程序
//1ms定时中断实现100ms发光管闪烁 #include“REG51.h” sbit LED=P1^0;void main(void){ TMOD = 0x01;//设置定时器模式 16位定时器
TL0 = 0x18;//设置定时初值
TH0 = 0xFC;//设置定时初值
TR0 = 1;//定时器T0开始计时
ET0=1;//开定时器中断
EA=1;
//开总中断
while(1);}
//******************** //1ms void pit0(void)interrupt 1(中断程序){ static unsigned char ms_cnt=0;//16 ffff TL0 = 0x18;//设置定时初值
TH0 = 0xFC;//设置定时初值
if(++ms_cnt==100){
ms_cnt=0;
LED=!LED;} } 定时器的由程序
直接汇编语言 ORG 0 AJMP MAIN ORG 0BH AJMP PIT0 MAIN: MOV TMOD,#01H MOV TH0,#18H MOV TL0,#0FCH SETB TR0 SETB ET0 SETB EA SJMP $
生成;********************************** PIT0: MOV TH0,#18H MOV TL0,#0FCH INC R7 CJNE R7,#100,PIT0_R MOV R7,#0 CPL P1.0 PIT0_R: RETI END
四 实验要求
学会使用并掌握单片机定时器中断来实现LED100ms闪烁。
五 实验步骤
1.调试运行本节实验程序。若程序无错误,编译并进行二进制转换,下载程序。
2.连接线路,将A2区的P10端口连接到D1区的任意LED接口。3.观察LED灯闪烁情况