文档库 最新最全的文档下载
当前位置:文档库 › 跟我学单片机凌阳spce61A

跟我学单片机凌阳spce61A

前言

本书是一本有关单片机学习的入门读物,主要目标是使用尽量少的篇幅,对单片机的使用进行从最简单的知识到基础应用进行一个完整的阐述,并指出进阶方法,使读者在有限的学习时间内,对单片机的完全不了解实现快速上手,为读者减少学习过程中所走的弯路,并形成一个对单片机的整体认识。

目前有很多单片机方面的书籍,均在原理上和理论上消耗大量的篇幅,但缺少实践操作和一步步指导进行开发的书籍,导致很多读者看完书还是不知怎么进行开发,无形中给学习单片机设置了一定的门槛。本书将从基础讲起,以实践操作为手段,从试验中加深对一些理论性的东西的理解,尽量解决在开发过程中遇到的问题。表面上看,本书介绍的内容比较简单,但通过学习你会发现,利用本书学习单片机,将激发你对单片机的浓厚兴趣和加深学习的目的性,能够做到事半功倍,快速入门,并为进一步学习打下坚实的基础。

为加深读者学习单片机的目的性,本书将从单片机的概念和作用开始讲解,让读者清楚的知道学习单片机可用来做什么,这样带着目的性的学习将极大的提高学习效率,同时也提醒不愿意往这方面发展的读者提早放弃,以为读者提高学习效率和节省时间为最终目的。

在开始进行单片机操作的时候,我们会给出一些比较有意思的的程序来让读者进行体验,从而激发对单片机学习的兴趣,相信会让大家受益非浅。

为了使本书读起来更容易理解,本书所有程序都使用C语言写到一个文件里,并且在每一条代码后面都加入了中文注释,同时在讲到应用模块的时候,也只拿出一些常用的按键、键盘、定时器进行分析和讲解,旨在让读者快速理解和上手。

在阅读本书时,读者最好具备一定的模电和数电基础,当然如果你没有这方面的知识也没有关系,作者在提到每一个专业术语时都会进行相关的解释。

所需的一些基本概念分布在各章中,这样编排是为了能够使读者方便的找到相关信息,而且在结合程序阅读时,对一些基本概念能有更深的理解。

最后要说明的是,当你对本书的所有例程全部理解了,也不代表你已经成了一个单片机开发的行家,你只是刚刚踏上单片机开发的征程,具有了成为一个单片机开发高手的基础知识。这时你应该根据我们提供的进阶方法进行更深一步的学习。

本书的定位是一些想学习单片机,但却找不到一个好的学习途径的电子爱好者。在阅读本书时可以参考凌阳大学计划网站https://www.wendangku.net/doc/3e2515497.html,。从中可以下载到很多学习资料和上机实习程序,也可进行在线讨论。

本书的编排和规划,凝聚了多位电子工程师的开发经验,是在实践中总结出的一条单片机学习捷径,当然也不排除有一些失误,如果有任何问题欢迎发邮件与我们讨论unsp@https://www.wendangku.net/doc/3e2515497.html,。

目录

第1章单片机的一些概念和作用 (1)

1.1什么是单片机 (1)

1.2学了单片机可用来做什么 (1)

1.3利用单片机进行开发的一般过程 (1)

1.4为什么选用SPCE061A单片机来讲解 (2)

SPCE0661A单片机开发 (3)

第2章如何用SPCE0

2.1SPCE061A单片机开发的过程 (3)

2.2

61板

(3)

2.3下载线和在线调试器 (4)

2.4开发环境 (5)

第3章做第一个程序前我要进行哪些准备 (7)

3.1软件准备-IDE安装 (7)

3.1.1IDE路径 (7)

3.1.2IDE安装步骤 (7)

3.1.3IDE安装路径下的资源 (8)

3.2硬件准备-硬件连接、硬件检测 (9)

3.3精彩程序体验 (11)

第4章我的第一个程序 (14)

4.1新建一个项目 (14)

4.2新建一个文件 (15)

4.3编程与编译 (17)

4.4在线调试 (19)

第5章我的第二个程序 (22)

5.1新建一个项目 (22)

5.2新建一个文件 (23)

5.3编程与编译 (23)

5.4在线调试 (25)

第6章我的第一个输入输出端口程序 (28)

6.1输入/输出端口的定义 (28)

6.2I/O端口的作用 (28)

6.3输入/输出寄存器及其说明 (30)

6.3.1寄存器作用说明 (30)

6.3.2I/O端口寄存器的使用 (32)

6.3.3SPCE061A IOB端口的特殊功能 (32)

6.4编程进行I/O端口操作 (33)

第7章输入/输出接口简单应用与操作 (36)

7.1发光二极管 (36)

7.1.1发光二极管工作原理 (36)

7.3键盘 (43)

7.3.1键盘应用 (43)

7.3.2键盘工作原理 (44)

7.3.3按键控制发光二极管亮灭 (45)

第8章如何使用定时器/计数器 (50)

8.1什么是定时器/计数器 (50)

8.2为什么需要定时器/计数器 (51)

8.3SPCE061A 的定时器/计数器 (52)

8.4定时器应用示

例........................................................................................................................................................52第9章我怎样进行

更高阶的学习................................................................................................................................................

.55第10章附件 (56)

10.1

61板原理图...............................................................................................................................................................5610.2

61板元器件清单.......................................................................................................................................................5710.3

61板上的跳线和接口作用.......................................................................................................................................5910.3.1下载调试接口...........................................................................................................................................5910.3.2I/O 电压选择接口......................................................................................................................................6010.3.3喇叭接口和A/D 参考电压选择接口.........................................................................................................6010.3.4I/O 接口......................................................................................................................................................6010.4

61板的自检...............................................................................................................................................................6110.4.1是否下载自检程序检查............................................................................................................................6110.4.2自检过程...................................................................................................................................................6210.5

61板相关产品介绍...................................................................................................................................................6410.6联系我们.. (65)

7.1.2

用SPCE061A 控制发光二极管的亮灭........................................................................................................377.2数码管 (3)

97.2.1

数码管应用..................................................................................................................................................39数码管工作原理 (40)

数码管的共阴接法和共阳接法 (40)

SPCE061A 控制数码管显示数字 (41)

第1章单片机的一些概念和作用

1.1什么是单片机

单片机一词最初源于“SingleChipMicrocomputer,简称“SCM。单片机也叫做“微控制器”或者“嵌入式微控制器”。它不是完成某一个逻辑功能的芯片(芯片也称为集成电路块,它是1958年9月12日,在Robert Noyce的领导下,发明集成电路后开始出现的一个名称),而是把一个微型计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

1.2学了单片机可用来做什么

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航

装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种手机、充电器、电话、电风扇、录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

1.3利用单片机进行开发的一般过程

从上面的章节中我们已经了解了什么是单片机和单片机可以用来做什么,在那些实例中可以发现每一个系统都是在完成一个特定的功能,这些特定功能的实现依靠单片机来指派。单片机知道怎样来进行指派,是由我们编写的程序来控制,从这个过程反过来推导就是单片机开发的一个过程,最简流程是根据硬件设计编写程序并把程序加载到单片机里。

所谓硬件(Hardware,就是看得到,摸得到的实体。有了这样的硬件,才有了实现计算和控制功能的可能性,硬件设计就是根据我们要设计的系统来找到实现这个系统所需要的硬件,并根据一定的电气规则把它们组合起来(前期用来做试验的硬件也称之为开发系统)。

单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。所谓程序,就是人们为了告诉微处理器要做什么事而编写的,微处理器能够理解的一串指令,有时也叫代码、程序。单片机能自动地进行运算和控制,是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在中央处理器(也称“内核”)的控制下,将指令一条条地取出来,并加以翻译和执行。

由于单片机只认识“0”和“1,为了让单片机认识我们编写的程序,这就需要一个“中间人”来充当翻译,把程序翻译成“0”和“1”的一系列组合(“0”和“1”的一系列组合也称之为目标码或机器码),这个“中间人”就是我们通常所说的开发环境(也称“编译器”,为了把翻译的结果“灌入”(存入)单片机,人们发明了下载器(或称“烧录器”。

同时,为了更加方便的检查我们编写的程序是否符合设计的系统的要求(或者说更好的进行程序调试),人们又发明了仿真机,当我们的程序仿真成功以后,再下载到我们设计的系统上,这样一来不仅为我们的程序调试提供了方便,也减少了把一个有误的程序下载到设计的系统上的可能。当然如果你确认你的程序没有问题的话,也可以不使用仿真器,可惜的是这种牛人在现实中很少见。

总体来说单片机开发的一般过程是首先进行硬件设计,然后根据硬件和系统的要求在开发环境中编写程序,经多次使用仿真器把程序调试成功后,再通过烧录器把程序写到单片机里。

1.4为什么选用SPCE061A单片机来讲解

SPCE061A是各类单片机里的一种,它是伴随着凌阳大学计划在大陆推出的,在短时间里SPCE061A 单片机得到了各大专院校师生的认可,并在业界获得了良好的声誉,因为这个单片机代表了现代单片机的大部分特点,在这本书中所有的例子都以它为标准进行讲解。

现在可以说是一个单片机百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,SPCE061A单片机之所以能在短时间内在国内得到认同,主要是因为它代表了单片机发展的潮流。

z它整合了多个常用的功能模块,让我们在进行系统开发的时候不用外加过多的硬件就可方便的完成一个系统的设计,这就是人们常说的SoC(System on chip)技术。

z耗电少,可以满足很多手提设备、掌上设备低能耗的需求,低能耗也是电子技术一直在追求的一个目标。

z可方便的用来实现声音录制、播放,Midi音乐合成和语音识别,相比别的单片机比较有特色。

z可方便的完成一系列乘加的运数,实现一些数据处理比较容易,别的单片机一般都不具备这种功能。

z芯片里具备在线仿真调试电路,使调试和程序下载更加方便,也把仿真器和烧录器的成本给节省下来了。

使用SPCE061A单片机进行学习,不仅可以学到单片机的一些基础知识,并且学习成本低廉,还可进一步了解单片机的发展方向和接触到当前一些先进的技术。

第2章如何用SPCE061A单片机开发

2.1SPCE061A单片机开发的过程

传统的单片机学习硬件方案是"编程器+开发系统+仿真器",由于这些设备相互之间各自独立,使用者在学习或开发项目时,需要反复不停地拔插电缆、芯片、电源等,其繁琐的连线和复杂的操作,极大的降低了学习和开发的效率,如稍有不慎就有可能造成器件和设备的损坏,给使用者带来不必要的麻烦或损失。而且备齐这些设备往往需要一笔昂贵的费用,大大提高了单片机学习的门槛。

SPCE061A单片机学习开发系统将开发软件、单片机开发系统(或称“实验板”、下载线、编程器、仿真器进行完美的结合。SPCE061A单片机里面整合了进行在线编程控制的功能模块,试验过程中无需拔插任何电缆和芯片,也无需切换电源,配合下载线,就可轻松地将编译好的代码下载到开发系统上进行验证或演示,整个过程只需利用鼠标操作即可。当然也可以使用配套的开发环境直接对实验板上的资源进行在线仿真。该开发系统摆脱了传统、繁锁的单片机学习方式,将当今最流行、最经济有效的学习方案完美地整合在了同一个系统中,是一个快捷、高效、灵活的单片机学习、开发方案。有了这个开发系统就同时拥有了学习实验板、下载线、编程器、仿真器,具有非凡的性价比,是单片机爱好者快速学习单片机开发的理想工具。

所以,采用SPCE061A单片机进行开发比采用传统单片机进行开发的过程简化很多,简单的说它的开发过程就是首先在我们开发环境中编程,把编好的程序下载到开发系统上,通过开发环境提供的各类调试窗口进行仿真调试,或者直接运行。

2.261板

“61板”是SPCE061A EMU BOARD的简称,是SPCE061A单片机的开发系统,通过挂接不同的硬件和下载不同的程序就可实现各类特定功能的系统。由于具有语音处理的特色,即便是不挂接额外的硬件,下载一些我们开发环境下提供的程序就可以实现一个复读机、语音万年历之类的系统,这也是一些人把61板称为一个准产品的原因,至于如何下载和找到那些程序在后面的章节中会详细介绍。

熟悉61板,应该从各功能模块入手,关于各功能模块的划分见图2.1。下面将各区的功能进行一下简要的介绍,以便在后面的编程调试时知道是要操作硬件的哪一部分,关于详细介绍请参考附录。

z电源区:为整个系统提供电源,通常采用系统配套的电池盒进行供电,只要放入3节5号电池就可以满足供电需求了。

z下载区:程序就是通过这边的接口下载到SPCE061A单片机的,当然,在进行在线调试时也能上传一些硬件信息到开发环境中。

z音频区:这里的麦克风是用来进行语音输入的,还有一个喇叭的接口用来进行语音播放。

z SPCE061A与周边:这就是整块板子的大脑,所有控制信息都是从这里发出的,那些周边器件用来协助SPCE061A单片机正常工作。

z键控区:采用这几个按键我们可以做一些简单的试验,比如说当板子里下载了复读机的程序,按这几个按键就可以分别用来进行录音、暂停和播放,如果下载了语音万年历的程序,这几个按键就可以用来设定初始时间和控制播放当前时间等。

z复位区:这里是由几个简单的电子元器件组成,当按下这里面的按键后,单片机就重新开始工作,也可以说成是单片机里的程序从第一条开始重新运行。

z端口区:用于对外挂硬件的控制,或者获取外部硬件的一些状态以便SPCE061A来进行处理。

A、电源区D、SPCE061A与周边器件F、复位区

B、下载区G、端口区

2.3由于61里行线调试。

调用与61图 2.2下载线联机开发

下载线的好处是便宜,但它在传输数据的过程中没有在线调试器快,在线调试器就比较贵了,另外在线调试器还可以调试凌阳科技一系列的单片机,但下载线做不到。

图 2.3在线调试

SPCE061A单片机的调试接口只有2根控制传输线,在线调试器和下载就是通过这两根传输线加上一些同电脑并行口(也称打印口)商量好的规则来进行联络(商量好的规则就是通常在通讯领域所听说的协议),由于并行口的信号是多个口一同发出的,要把它转换成两根线的传输方式,SPCE061A才能识别,正是在这里出现了下载线和在线调试器速度上的差别,从上面两个图可以看到在线调试器比下载线多一些硬件,在线调试器是通过设计一些硬件的逻辑关系进行转换的,而下载线是通过电脑进行软件编程来进行转换的,根据硬件处理通常比软件处理快的常识,我们就可得出在线调试器速度快的结论了。

2.4开发环境

所谓的开发环境,其实就是一个或几个电脑上的可执行程序,它同我们通常使用的word文本编辑器没有两样,仅是它们实现的功能不一样。不管是哪类单片机的开发环境都至少具备如下的功能:z程序编写:可以在开发环境里录入程序。

z编译程序:负责把程序翻译成机器码。

z程序下载:把机器码下载到仿真板或开发系统上。

61板开发系统的开发环境叫做集成开发环境(也称IDE,它除了具备上面的三个功能外还可以组织多个程序文件形成一个系统开发的项目,这样更有利于一些大型系统的开发和各功能模块的模块化,同时它还结合SPCE061A单片机的硬件提供各类在线调试窗口,使调试程序变得更加直观和简单,除此之外,它还提供一些软件模拟SPCE061A单片机仿真的功能,在没有硬件的情况下也可以完成一些简单程序的调试。

可以通过集成开发环境使用C语言和汇编语言对SPCE061A进行编程,也许你没有编程经验,甚至于不知道C语言和汇编语言是什么东西,没关系,因为学习它们并不是一件困难的事情,为了更加的便于理解,本书中所编写的程序均采用C语言,并且每一行程序都会加上详细的注释。

之所以会有语言的出现主要是因为单片机或电脑只认识“0”和“1,但人就难于理解,所以后来人们就发明了一种用文字助记符来表示机器指令的符号语言,这就是所谓的汇编语言,当然用汇编语言写的程序必需通过编译器翻译成机器码才能被单片机认识和执行。原来没有汇编的时候,那些电子技术的拓荒者们就是采用“0”和“1”来进行编程的,当然如果你修炼到了一定的层次也可以采用“0”和“1”来进行编程:,但那是完全没有必要的,除非你是超人,要不写一个比较大的系统程序是肯定会出错,一旦出错将很难查找,并且你的程序别人无法理解,不符合协同开化的潮流,再说现在的编译技术已经发展到非常成熟的地步了,完全可以胜任翻译的工作。

人能够勉强理解汇编语言。人常用的语言是更上一层的高级语言,比如C,BASIC。这些语言编写的程序更容易理解,并且一般都能在多种电脑上运行(多种电脑上运行就是所谓平台概念,可方便的实现资源重复利用)但同样必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。

汇编语言主要优点是占用硬件资源少、程序直接对硬件操作加快了处理速度。但是不同的单片机,其汇编语言可能有所差异,所以不利于资源重复利用。

C语言是一种比汇编更高级语言。其优点是可以很好的组织程序,并且容易读懂,可以在多种单片机上运行,是普遍使用的一种计算机语言。缺点是占用硬件资源较多,处理速度和效率没有汇编高,当然这也取决于编译器的翻译结果,正如现实中翻译员水平参差不齐,有的人翻译得很慢甚至出错,但有的人翻译得又快又准。

你可以在凌阳大学计划网站下载到一个集成开发环境的安装软件,如果你有这套开发系统,在附带的光盘里就可找到这个安装软件,安装过程非常简单,选择默认安装就可(建议新手还是使用默认安装,因为改变路径安装将会导致一些程序的路径错误,而新手通常不知怎样去设置)。图 2.4就是安装后打开的界面,你可以在这个界面下进行程序的录入、编译、调试和下载,如果你使用这个工具遇到什么难题,可以去查看Help菜单下的Help Topics,那里把每一部分的功能都说得很清楚,当然也可以通过联系凌阳大学计划得到解决。

图 2.4IDE打开的界面

第3章做第一个程序前我要进行哪些准备

3.1软件准备-IDE安装

3.1.1IDE路径

SPCE061A的开发离不开凌阳公司提供的集成开发环境(u’nSP IDE,后面简称IDE,在准备好61

板之后,还需要安装IDE以及完成61板与PC的连接;这样就可以准备体验开发的乐趣了。

凌阳公司目前提供的IDE共有3个版本,分别为unSP IDE1.6.2、unSP IDE1.8.4、unSP IDE1.16.1;本书的程序都是在最新的unSP IDE1.16.1上调试的,用户可以在61板附送的光盘上找到unSP IDE1.16.1的安装软件包;或者可以在凌阳大学计划网站的下载专区下的软件开发工具栏目里找到它的下载链接。IDE的安装软件包图标如图3.1所示:

图3.1u’nSP IDE安装软件包图标

3.1.2IDE安装步骤

在使用u’nSP IDE之前,用户必须要运行Windows98?/Windows2000?/WindowsXP?;注意在Windows2000?/WindowsXP?上使用本工具的用户必须拥有管理员权限,而打印端口必须被设置为[SPP](Standard Parallel Port)模式,端口地址必须被设置为378H。

找到IDE的安装软件包,双击图标,u’nSP IDE的安装软件被解压缩,画面如图3.2所示,其后出

现安装向导画面,如图3.3和图3.4所示:

图 3.2安装软件解压缩图

图 3.3安装向导

图 3.4安装向导

按照安装提示,u’nSP IDE就被安装到用户的硬盘上了。当然在安装过程中,可以选择IDE的安装路径,但在本书,选用了默认的安装设置,即安装在路径C:\Program Files\Sunplus\unSP IDE1.16.1下。3.1.3IDE安装路径下的资源

在IDE的安装路径下,可以找到非常丰富的资源,主要是针对教材以及其方面的例程,对于61板的自学者来说,是非常有用的。打开路径:C:\Program Files\Sunplus\unSP IDE1.16.1\SPCE061A,可以看到如图3.5中所示的几个文件夹:

图 3.5IDE下的相关资源文件夹

z“example”文件夹里有很多例程,分为61板典型实验(61_Exa、基础实验(BaseExa、C语言例程(C_Exa、音频应用例程(VoiceExa)等,初学者可以参考里面的例程,进行进阶的学习。

z“include”文件夹里面主要是一些头文件,有关于库包含的函数、变量声明,以及硬件寄存器的声明等。

z“library”文件夹里面可以找到有关音频库(SACMV25.lib、C库以及SPCE061A常用函数库。

z“TextBookExample”文件夹中为其它教材的范例程序。

安装好IDE后,我们可以先熟悉一下这个工具的界面。选择[开始]—>[程序]—>[Sunplus]—>[unSPIDE]—>[unSP IDE 1.16.1],或者直接双击桌面上的[unSP IDE 1.16.1]的图标,启动集成开发环境unSP IDE 1.16.1。启动后的界面如图3.6所示。

图 3.6集成开发环境IDE界

3.2硬件准备-硬件连接、硬件检测

安装好u’nSP IDE后,需要连接61板,确认以下的硬件都备全了:

z下载线(又称EZ-Probe;

z完好的61板;

z电池盒(要记得里面要装好电池);

z喇叭。

电池盒的接头接到61板上部的J10电源接口(插座具有防插错设计),喇叭接到61板上的J3接口。连接正确后,打开电源盒上的电源开关,可以看到61板上的电源指示灯(红色LED)点亮。各部分接口的位置如图3.7所示。

图 3.7各接口位置示意

下载线的一边(25针插座)与PC后面的并行接口(即打印口)相接,另一边的五针接头与61板上的J11接口(即标有“EZ-Probe”的插座)相接,并用J11接口边上的S5跳线把S5的2和3管脚短接。如图3.8所示。

图 3.8下载线连接线示

注意:在下载程序前,请先打开电源。

3.3精彩程序体验

连接好硬件,安装好软件后,我们就可以进行精彩的程序体验了。下载光盘中的三个语音相关的程序到61板上,并让程序在61板上运行,听听61板的“声音”,感受一下真正的人机“对话”。现在我们来体验两种不同的风格。

z听61板“唱歌”

1.打开u’nSP IDE集成开发环境。

2.选择[File]—>[Load Program]菜单项,如图

3.9所示。

图 3.9Load P r ogram菜单

3.选择后,打开如图3.10所示的“打开”对话框。

图 3.10载入程

4.在对话框中的“查找范围”一栏中,找到光盘下的文件夹“电子竞赛”,从里面找出一个播放语音音乐的程序。路径为:光盘\电子竞赛\基础篇\语音功能\a2000自动播放\a2000_Auto\Debug。在Debug文件夹中,找到后缀为“.S37”的文件,本例为:“a2000_Auto.S37;选择找到的文件,点击“打开”按钮,把程序载入IDE中。

载入程序后的IDE如图3.11所示,而程序下载前所需要用到的工具按钮的位置也在图中有标出;“Select Body”用于选择芯片、下载线类型,“Use ICE”使IDE处于在线仿真状态(只有在这种状态下,程序才能下载到61板里面)“Download”启动程序下载。

图 3.3.111工具栏按

5.点击“Select Body”图标工具,即图3.11中标出的按钮中的最右边的那个,打开“Select Body”对话框,如图3.12所示。在“Body Name”下拉选择框中,选择“SPCE061A;在“Probe”下拉选择框中选择所用的下载线、调试器,本例选用EZ_Probe(即简易下载线)。设置完成后,点击“OK。

图 3.12Select Body设置

6.点击“Use ICE”工具按钮(Select Body工具左边,图标上有“ICE”字样的),使IDE处于在线仿真状态。

7.选择[Build]—>[Start Debug]—>[Download]下载程序到61板中,或者直接点击按钮“Download”把程序下载到61板上。

当程序处在下载状态时,会弹出一进度条对话框以示下载进程,不过前提要保证软件的设置以及硬

件的连接都没有问题才可以,如图3.13所示。

图 3.13下载进程对话

8.程序下载结束后,拨下连接在61板上的下载线,并把S5跳线设置为1、2管脚短接,这时候就可以听到动听的歌声了。

z一个有趣的语音辨识的程序在光盘中找到“电子实习”文件夹,打开文件夹,可以找到一个“程序.rar”文件,我们把这个压缩

文件拷贝到PC的本地硬盘中,并把压缩文件解压,解压缩后生成一个“程序”文件夹,而我们要找的“.S37”的文件在路径:……程序\趣味语音识别程序5\Debug里面,找到“Guard_SD.S37”文件。

下载程序的方法步骤与前面一样,而不同的是,这个语音辨识的程序运行起来时,需要与操作都进行“对话”,下面是一个特定人辨识的范例,相关的操作方法如下。

在程序中我们通过三条语句的训练演示特定人连续音识别,其中第一条语句为触发命令。在程序一开始为训练名称,即触发命令,然后提示训练两条命令,训练完毕开始辨识,当识别出触发名称后,发布命令则会听到应答,具体命令如下:

训练

提示音输入语音“请输入触发名称”

“警卫”“请输入第一条命令”

“开枪”“请输入第二条命令”

“你在干什么?”“请再说一

遍”(以上提示音每说完一遍出现此命令)“没有听到任何声音“(当没有

检测到声音时出现此命令)“两次输入名称不相同”(当两次输入的名称

不同时出现此命令)“两次输入命令不相同”(当两次输入的命令有差异

时出现此命令)“准备就绪,请开始辨识”(以上三条语句全部训练成功

时,进入识别)

识别

发布命令应答“警卫”

“在"/"长官”

“开枪”“枪声”

“你在干什么?”“我在巡逻"/"我在休息"/"我在等人”注意:

在每次提示音结束后2-3秒再输入命令或当上次应答结束2-3秒后再发布命令。

第4章我的第一个程序

4.1新建一个项目

单片机的开发离不开程序的编写,我们需要通过程序告诉单片机,它要完成什么样的工作,以及怎么去完成。本章将用C语言来实现一个简单的1到100累加的程序,而在编程前,要理清整个程序的大概思路,完成对程序的组织,也就需要预先画一个程序流程图。这样会大大方便后面的编程,以及程序架构的组织。

要养成良好的编程习惯,一定要注意程序与流程图的先后关系,是先有流程图再有具体的程序;也就跟平常工作、办事一样,要事先对要完成的事情有个大概的理解、有个大概的思路后,才能一步一步地去完成所要做的事务。图4.1为本程序的流程图。

1.所示。

2.

3.在“”文本框

保存的路径。

4.

、TheOne.h 等,新建完的项目如图4.3所示,点击“Source File”左边的“+”即可看到该项目所包含的源程序文件(本例中即自动由IDE生成的Resource.asm、TheOne.rc文件)。

图 4.2新建项目对话框示意

图 4.3新建项目界面示意

4.2新建一个文件

项目的建立,搭建好了软件开发所需的平台,用户就可以在其上进行针对单片机的软件开发了;但在动手写程序之前,还需要新建一个源程序文件(也就是常用的C语言文件xx.c、汇编语言文件xx.asm,而程序的编写是直接在这些源程序文件里面进行直接编写的。

本书的例子程序全部采用C语言编写,所以先来看看怎么去新建一个C语言文件。

相关文档
相关文档 最新文档