单片微型计算机实验与实践教程pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:单片微型计算机实验与实践教程pdf/doc/txt格式电子书下载
推荐语:
作者:陈黎娟,吴开志,万在红
出版社:电子工业出版社
出版时间:2016-02-01
书籍编号:30468312
ISBN:9787121280665
正文语种:中文
字数:118972
版次:1
所属分类:教材教辅-大学
版权信息
书名:单片微型计算机实验与实践教程
作者:陈黎娟 吴开志 万在红
ISBN:9787121280665
版权所有 · 侵权必究
前言
自20世纪70年代初世界上出现了第一款微处理器以来,微型计算机技术得到了迅猛的发展。特别是单片微型计算机技术的应用,使得许多电子类、机电类产品的设计发生了革命性的变化。应用微型计算机技术开展相关产品的设计、研发,已成为电子类及相关专业本科学生必备的基本能力之一。鉴于MCS-51单片机具有功能丰富、结构简单、易学易用、成本低廉、种类繁多等优势,在国内各领域具有较广泛的应用市场。许多高校也以MCS-51系列单片机为内容开设单片机技术及相关的课程,通过学习和掌握MCS-51系列单片机技术,可以为学生开展课外科技创新活动、完成后续的相关课程设计、毕业设计环节及就业提供了良好的条件;另外,也为进一步学习DSP、ARM等嵌入式系统技术打下基础。由于单片机技术属应用技术类课程,其特点是实践性极强,除理论讲授外,必须通过亲自动手实践才能完全理解课程的内容,并真正掌握其应用的方法,因此,实验环节和实践动手对课程的教学效果起到至关重要的作用,这也是编写本书的出发点。
为实现这一目标,本书从初学者角度出发,在内容的编排上,由浅入深、由易到难、循序渐进;从对市场上常用的Keil μVision 开发软件熟悉开始,到实验系统电路模块的认识,从掌握汇编语言A51程序设计实验入门,到单片机内部功能模块实验、硬件扩展接口实验,再到简单的综合性、设计性实验,最后提供了进行系统设计的方法介绍及进行综合性训练的课程设计题目。这种安排既适合初学者一步步按顺序进行动手训练,扎实推进;也可为具有一定基础的读者选择合适的起点,做更进一步的学习与锻炼。在具体实验项目的设计上,既注重实验基本原理的介绍,又充分考虑实验内容与原理的充分结合,并使实验线路和程序尽量接近工程实际应用,充分激发学生进行实验的兴趣与积极性。通过各实验项目的学习与训练,既可加深理解理论课程学习的原理,同时又提高实际操作和应用单片机技术的能力,真正做到学以致用。
全书共5章,第1章介绍Keil μVision 软件的使用;第2章以DJ-5286K为原型介绍进行单片机实验的实验系统组成、各实验模块的电路原理;第3章是单片机软件程序设计的实验,介绍在实际应用中常用的软件设计思路和需通过实验进行训练的程序模块;第4章介绍单片机硬件、接口技术和综合应用的实验,通过实验掌握单片机接口和应用技术的基本能力;第5章主要介绍进行单片机应用系统开发的过程、软件工具及基本方法,同时附上一组进行课程设计的参考题目。
本书由南昌航空大学信息工程学院的陈黎娟、吴开志、万在红编著,由俞子荣教授主审,王琪教授副审;在编写过程中得到了邓洪峰、陶秋香、张先庭、叶蓁等老师及研究生徐明萌、杨辉同学的大力支持与帮助,以及南昌航空大学单片机与嵌入式系统实验中心同事们的关心;本书的出版得到了南昌航空大学教材建设基金的资助;同时电子工业出版社的王晓庆编辑在出版过程中也给予了大力的支持。在此一并表示感谢。
由于编写时间仓促,作者水平又有限,书中错误及不妥之处在所难免,恳请广大读者和专家批评指正。
编 者
2016年3月
第1章 Keil C51仿真开发系统的介绍
1.1 Keil C51仿真开发系统软件概述
Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、C 语言的程序设计,界面友好。与汇编相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,而且易学易用。
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,它集项目管理、源程序编辑、程序调试于一体,是一个强大的集成开发环境。Keil μVision集成开发环境支持Keil的各种8051工具,包括:C51编译器,A51宏汇编器、连接/定位器及Object-hex转换程序,可以帮助用户快速有效地实现嵌入式系统的设计与调试。采用C语言进行单片机系统的开发,具有避免人工分配寄存器、移植容易等优点。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时,更能体现高级语言的优势。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用A51汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也易达到事半功倍的效果。
本书中,综合实验仪串行监控模式是在可视化Windows环境下,上位机软件采用Keil C51仿真开发系统,启动串行监控源语句调试软件,利用微机向综合实验仪发送串行监控命令,综合实验仪的微处理器8051根据监控命令做相应的动作。在该种工作模式下,做实验时用到的微处理器是仿真器上的微处理器。
上位机软件Keil C51仿真开发系统具有编辑、连接、动态调试综合实验仪的硬件接口等功能。在串行监控模式下的上位机软件Keil C51仿真开发系统的详细使用说明见1.3节。
1.2 硬件安装
1.连接仿真板
Keil_CPU 是一个支持Keil C51系统软件的仿真模块,仿真模块板用一片SST89E58RDA单片机(主CPU)和一片ATMEGA8515单片机(用户CPU)来实现仿真功能,两片CPU之间通过一组I/O引脚进行通信,主CPU负责实验程序的仿真,用户CPU负责与Keil C51μVision进行通信。把Keil_CPU仿真模块按CPU正方向(芯片缺口朝上)插入综合实验仪中的“CPU插卡区”,同时将CPU选择开关拨向“51”,即完成安装。
2.系统通信口
将综合实验仪上的通信选择开关KB6拨向“51”,这是与Keil C51进行通信的接口,Keil C51通过这个串口发送命令到仿真单片机。
1.3 Keil C51仿真开发系统软件使用
1.3.1 Keil C51软件的安装
将带有Keil C51安装软件的光盘放入光驱里,打开光驱中带有Keil C51安装软件的文件夹,双击文件夹中的安装文件即开始安装。如果计算机上已经安装了其他版本的Keil C51的软件,建议先卸载掉,然后再安装本软件,如图1.1所示。
图1.1 软件安装示意图
1.3.2 Keil C51软件的使用
1.软件界面介绍
KeilμVision5软件界面由4大部分组成:菜单工具栏、工程项目管理窗口、文件编辑窗口和输出窗口,如图1.2所示。
(1)菜单工具栏:共有11个下拉菜单,界面上还列有可执行不同功能的快捷键,如图1.3所示。
图1.2 KeilμVision软件界面
图1.3 菜单工具栏
(2)工程项目管理窗口:用来管理项目文件并显示文件目录,它由项目(Project)、寄存器(Registers)、指南(Books)、函数(Functions)等窗口组成。在项目窗口中可查看装入的各项目文件;在寄存器窗口中显示51系列单片机的工作寄存器、特殊功能寄存器及相对应的内容;在指南窗口中列出了对Keil C51(μVision5)软件的详细介绍。可通过单击窗口下方的标签切换打开,如图1.4所示。
(3)文件编辑窗口:用于程序的编辑和显示。此窗口中可显示多个程序,还可显示程序汇编后的程序代码和所在地址。
(4)输出窗口:用于编译、调试和运行后所得结果信息的输出显示。它由编译、命令和搜索窗口组成,可通过菜单工具栏中的快捷键切换打开。
图1.4 工程项目管理窗口
在程序调试过程中对所得结果信息的输出,Keil μVision5还提供许多的信息窗口,如存储器窗口、变量观察窗口等,如图1.5所示。
图1.5 Keil μVision软件信息窗口
2.操作
1)创建工程名
(1)选择【Project】→【New μVision Project】选项,如图1.6所示;
(2)在弹出的“Create New Project”对话框中选择要保存项目文件的路径,在“文件名”文本框输入项目名,然后单击“保存”按钮,如图1.7所示;
(3)这时会弹出一个对话框,要求选择单片机的型号,选择后单击“确定”按钮,如图1.8所示。
2)输入设计的模块文件
(1)这时可以开始建立新的源程序文件(包括.c文件、.h文件或.asm文件),通过选择【File】→【New】选项或单击工具栏上快捷键中的“”按钮来进行,如图1.9所示。
图1.6 新建工程示意图
图1.7 工程项目保存对话框
图1.8 单片机型号选择对话框
图1.9 新建源程序文件
(2)在弹出的程序文本框中输入所设计的程序,如图1.10所示。
图1.10 源程序文件输入
(3)选择【File】→【Save】选项或单击工具栏上快捷键中的“”按钮,在弹出的“Save As”对话框中输入文件名(后缀为.c或.asm),单击“保存”按钮,保存文件,如图1.11所示。
图1.11 文件保存示意图
(4)重复步骤(1)~(3),建立所有设计的模块。
(5)修改程序时,直接打开要修改的文件,修改完成后,单击“保存”按钮,保存文件即可。
3.将模块文件选入工程
(1)单击文本编辑框左侧Target1前面的+号,展开里面的内容Source Group1。
(2)用鼠标右击Source Group1,在弹出的快捷菜单中选择“Add Existing Files to Group ‘Source Group1’”选项,如图1.12所示。
图1.12 将模块文件选入工程
(3)在弹出的“Add Files to Group‘Source Group1’”对话框中逐个选择需加入的文件,并单击“Add”按钮,然后单击“Close”按钮,关闭对话框,如图1.13所示。
(4)确认在Source Group1目录中包含所有需要的文件,否则重复(2)和(3)步。
图1.13 选择需要加入的文件
4.设置环境
(1)用鼠标右击Target1,在弹出的快捷菜单中选择“Options for Target‘Target1’”选项,或单击工具栏上快捷键中的“”按钮。
(2)在弹出的“Options for Target‘Target1’”对话框中设置编译环境:单击“Debug”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真;若选中“Use Simulator”,将做软件仿真实验(无须硬件电路支持的实验)调试;若连接实验箱做实验时选择硬件仿真,单击硬件仿真选项后面的[Settings]选项,在此对话框中选择串口“Port”和波特率“Baudrate”,串口根据所连计算机来决定;波特率为57600或115200。只需对串口、波特率进行设置,其他选项不用设置,均取默认值即可,如图1.14所示。
图1.14 设置环境
5.编译程序
选择【Project】→【Rebuild all target files】选项,或单击工具栏上快捷键中的“”按钮,如果编译成功,状态框将显示“0 Error(s),0 Warning(s)”;否则修改源程序,重新编译,直到成功,如图1.15所示。
图1.15 程序编译示意图
6.调试程序
选择【Debug】→【Start/Stop Debug Session】选项,或单击工具栏上快捷键中的“”按钮,进入调试界面,如图1.16所示。
图1.16 启动程序调试
在调试界面中可以对程序进行单步或全速运行的调试,如图1.17所示。
图1.17 调试界面
若要查看内存中的数据,选择【View】→【Memory Windows】,或单击工具栏上快捷键中的“”按钮,如图1.18所示。
图1.18 打开内存数据窗口
在其地址(Address)框中,输入不同的指令可查看不同存储区的数据,格式如图1.19所示。
C:XXXXH,显示ROM程序存储区数据,XXXXH为具体地址。
X:XXXXH,显示外部RAM存储区中数据。
D:XXH,显示CPU内部RAM区中数据。
图1.19 调试数据查看
若要修改内存中的数据,在对应内存数据上方右击,选择“Modify Memory at D:0x80”,如图1.20所示,在弹出的对话框中写入数据后单击“OK”按钮,如图1.21所示。
图1.20 修改内存数据
图1.21 向内存写入数据示意图
若要查看变量的数据,选择【View】→【Watch Windows】选项,或单击工具栏上快捷键中的“”按钮,在变量观察窗口中“Name”栏中用鼠标单击<Enter expression>至蓝色框,写入变量名后回车,即可在Value栏中显示此变量值,如图1.22所示。
注意:用户程序在全速运行后,若按仿真板上RST复位按钮,此时仿真器存储器数据清零;如果要再次运行所编写的程序,就必须重新装载运行。
在调试的过程中,若要看I/O口的变化,单击【Peripherals】→【I/O-Ports】选项,选好要观察的P口单击,会弹出P口的状态窗口,然后单击“”按钮单步运行程序,P口的状态将随着程序而变化,如图1.23、图1.24所示。
图1.22 查看变量数据
图1.23 选择观察的I/O口
图1.24 查看I/O口的变化
第2章 实验系统装置的介绍
本书是在DJ-5286K模块化单片机、微机实验系统中完成的,该系统由仿真器、综合实验仪、软件、电源组成,实验平台提供各类实验模块,CPU资源均开放;计算机系统端软件提供实验调试的环境,软件运行环境为Windows 98以上版本平台;计算机与综合实验仪之间采用RS-232串口进行通信,这种结构既可由软件进行“模拟”实验,又可进行联机验证实验结果。
2.1 实验系统组成及布局
实验系统的总体布局如图2.1所示,由图可见,整个综合实验仪由CPU仿真模块、I/O及总线端口、信号产生模块、通信接口及一系列实验模块电路组成。CPU仿真板及接口是整个实验系统的核心,一方面,通过RS-232接口与运行在计算机系统上的Keil C仿真开发环境进行交互,另一方面,通过与相应的实验模块组合便可构成所需的实验线路。而信号产生模块则为完成实验提供基本的信号源。
图2.1 实验系统的总体布局
2.2 CPU仿真模块及接口
51CPU仿真模块采用双CPU结构。其中SST89E58RDA作为仿真芯片,执行用户程序,利用P4口与管理CPU进行通信,彻底释放P3.0、P3.1口;另外采用ATMEGA8515作为管理CPU,负责仿真器和Keil μVision之间的通信,接收并执行Keil软件的各项命令。不占用SST89E58RDA仿真芯片的UART口和T2定时器,可方便仿真串行通信接口功能。其组成框图如图2.2所示。
51CPU仿真模块的主要特点如下。
(1)直接支持 Keil μVision开发仿真环境。
图2.2 51CPU仿真模块的组成框图
(2)可以使用C51语言或ASM汇编语言进行调试。
(3)可执行单步、断点、全速、停止、在线编辑、编译、目标代码下载等操作,具有极速下载、快速单步和全速运行等功能;可查看寄存器、RAM和变量。
(4)可以真实仿真51系列单片机的P0、P1、P2、P3的32条I/O脚,包括任意使用P3.0和P3.1口,P0和P2在仿真过程中可以同时作为I/O或总线使用。
(5)可以仿真63KB内部程序空间,用户可以直接下载最多63KB大小的程序在仿真器中。
(6)可以仿真64KB的全部xdata地址空间。
(7)有脱机运行用户程序模式,这时仿真机就相当于目标板上烧好的一个芯片,可以更加真实地运行。
(8)监控程序和用户代码分离,并采用双重保护,避免产生不能仿真的软故障。
(9)具有全速运行程序暂停功能,并可以从暂停处继续运行。
(10)断点数量增加到20个,使调试更简单。
由图2.2可见,MAX232组成的电平转换电路实现计算机系统的COM口与仿真模块中的管理CPU之间的数据通信,为方便实验,仿真模块扩展了两片32K×8位的高速静态RAM存储器,其地址范围为0000H~FDFFH;FE00H~FFFFH为I/O扩展空间,仿真模块对这一I/O扩展地址空间进行了译码,以便实验使用,同时将所有端口,包括P1口、P3口、数据总线D0~D7、部分地址总线A0~A2、I/O地址译码等以插针、插孔方式输出,方便进行实验线路的扩展和组合。输出端口的安排如表2.1所示,其中P1、P3口及实验扩展端口地址的插孔位置如图2.3所示;存储器地址分配、I/O扩展地址分配及使用如表2.2所示。
图2.3 扩展端口位置图
表2.1 I/O输出端口的安排

表2.2 存储空间地址安排表

2.3 实验模块电路原理
综合实验仪主板由许多独立的硬件实验模块组成,可用它们组成各种各样的硬件实验。线路板上的“○”形圆孔用来作为测试孔或用于连接导线,组成实验电路。以下将详细地介绍各个实验模块的电路原理图及其功能与用途。
2.3.1 基本实验模块单元电路
1.LED发光二极管指示电路
实验平台上有12只发光二极管及相应驱动电路,如图2.4所示,L1~L12为相应LED发光二极管驱动信号的输入端,输入低电平“0”时,点亮发光二极管。
2.逻辑电平开关电路
实验平台上有8只拨动开关K1~K8,如图2.5所示,与之相对应的K1~K8这8个引线孔为逻辑电平输出端。开关向上拨,相应插孔输出为“1”高电平,反之,输出为“0”低电平。
图2.4 LED发光二极管指示电路
图2.5 逻辑电平开关接线图
3.显示器驱动与键盘接口模块
模块电路中提供了6只共阴数码管和24个按键,由JLED插排接入的8根数码管段控制信号是由74LS240驱动后接所有6个LED数码管的段控制端,由JS插排引入的6根位控信号经75451驱动后接各数码管的COM公共端。
24个按键在逻辑图上构成一个4×6矩阵式键盘,4根行输入线引向JR转接口,6根列扫描线引向JS转接口,如图2.6所示。
4.系统8255键盘、显示管理模块
实验平台配置了一片系统的8255键盘、显示接口芯片,其构成的电路原理图如图2.7所示。8255芯片的数据、地址及控制总线与CPU模块直接连通,其片选地址为FF20H。相应8255的PA口地址为0FF20H,PB口为0FF21H,PC为口0FF22H,控制命令口为0FF23H。8255输出端口经74LS245驱动后直接控制图2.6所示的键盘、显示电路,其中PB口作为LED显示的段控信号,通过74LS245控制后连接至JLED;PA口作为LED位控和键盘的列扫描输出信号,通过74LS245控制后连接至JS,而PC口作为键盘的行入信号,通过74LS125控制后连接至JR。图2.7与图2.6共同构成一个完整的8255控制的键盘、显示模块。同时为使图2.6所示电路能与其他模块共享,在图2.7中的74LS245驱动芯片的端安装了一开关,当开关使
为“1”时,断开了8255与图2.6所示电路的连接。图2.6的键盘、显示电路便可由其他接口模块电路控制。
由于PB口线与LED数码管的段控制脚之间的位置已确定,编程时控制LED字符显示所需的字形码如附件C中的附表C.5所示。
图2.6 键盘与显示器电路
图2.7 系统8255键盘、显示接口电路
5.简单I/O扩展模块
图2.8所示为由74LS244和74LS273构成的简单I/O口扩展模块电路,其中74LS244为输入扩展。输入信号通过Y0~Y7插孔输入到74LS244的输入端,输出通过JX7连至系统的数据总线,端口地址由连到CS1的I/O端口地址引线决定。74LS273为输出扩展,数据总线通过JQ连到74LS273的输入端,锁存的输出信号经Q0~Q7输出,端口地址由连至CS2的I/O地址引线决定。
图2.8 I/O口扩展模块电路
6.ADC0809模数转换模块
实验中采用的A/D转换器为ADC0809,它是一种8路模拟输入,8位数字输出的逐次逼近型A/D转换器件,转换时间约为100μs。电路如图2.9所示,模拟信号可从IN0~IN7输入,转换结果的输出可由JX6送至系统的数据总线。A/D转换器的端口地址由连至CS4的I/O端口地址线决定。若采用查询方式控制A/D转换,也可读取其提供的EOC信号。
图2.9 A/D转换模块电路
7.DAC0832数模转换模块
实验电路中DAC0832采用单级缓冲连接方式,如图2.10所示。Vref参考电压的极性和大小决定了输出电压的极性与幅度。实验台上Vref的电压为-5V,模块的输出电压为0~5V。D/A转换的输入需由JX2连至系统的数据总线,转换的模拟量由Aout插孔输出,A/D转换的端口地址由连至CS5的I/O端口地址引线决定。
图2.10 DAC0832模块电路
8.8255 I/O扩展模块
该模块是单片机外扩展的I/O接口电路,它将8255可编程并行I/O接口中PA、PB、PC口,共24根端口线全部用插孔引出来,可分别用导线连接到其他电路;另PA、PB、PC口又分别连至JX9、JX15、JX16单排插座上,可通过排线与其他电路相连,如图2.11所示。扩展的8255地址固定分配为:PA口0FF28H;PB口0FF29H;PC口0FF2AH,控制命令口0FF2BH。
图2.11 8255扩展模块电路
9.8253计数器扩展模块
图2.12所示为8253计数器扩展电路,一方面,8253的数据总线、地址总线、控制总线已由内部连接至CPU系统的相应总线,但端口地址由CS3插孔引出,其地址由连至CS3的I/O端口地址线决定。8253内部共有三个计数器通道,实验装置只通过插孔引出了其中的通道0(CLK0、GATE0、OUT0)和通道1(CLK1、GATE1、OUT1)。
图2.12 8253模块电路
10.8279键盘、显示管理模块
模块电路中,8279的扫描输出采用的是编码输出方式,SL0~SL2(扫描信号输出线)通过3-8译码器74LS138后,得到直接可用的扫描线,此线接至转接口JSL;OUTA0~OUTA3(A组显示数据输出线)、OUTB0~OUTB3(B组显示数据输出线)接至转接口JOUT;RL0~RL3回复输入线接至转接口JRL,芯片8279的片选端也被引出CS6,如图2.13所示。通过JOUT、JRL、JSL单排插座接口与图2.6所示的键盘、显示模块电路相连,即可构成8279键盘、显示接口电路。
图2.13 8279模块电路
11.步进电机实验电路
综合实验仪选用的是四相步进电机,通过切换流过电机每相线圈中电流的顺序来使电机步进式旋转,驱动电路由74LS04和75452组成,原理如图2.14所示。控制信号由HA、HB、HC、HD输入到步进电机驱动电路。
图2.14 步进电机实验电路
12.继电器输出模块
继电器控制模块电路如图2.15所示,控制信号从JIN插孔输入,经74LS04和三极管驱动后控制继电器J的动作。当控制端JIN为低电平时,74LS04输出高电平,三极管导通,公共触点(JZ)与常开端(JK)吸合;当控制端为高电平时,三极管截止,公共触点(JZ)与常闭端(JB)吸合。将触点串入执行机构的控制回路,则可实现对执行机构的断、通控制。
13.DS18B20数字温度传感器电路
DS18B20是一个集成式数字温度传感器,它采用“单总线”接口方式,接口电路如图2.16所示。只需将DQ插孔连接至CPU的双向I/O口便可实现对DB18B20的控制及温度数据的读取。
图2.15 继电器控制模块电路
图2.16 数字温度传感器电路
14.16×16 LED点阵显示模块
模块电路中采用了4块8×8的LED点阵组合成16×16 LED点阵显示模块电路,由74LS244驱动LED点阵显示器的行(H0~H7),提供20mA的驱动电流输入LED点阵显示器的行,由7407驱动LED点阵显示器的列(L0~L7),电流从行输入、由列输出,从而点亮LED点阵显示器中的LED,如图2.17所示。行控制信号从JHQ、JHPC单排插座输入,列控制信号由JLPA、JLPB单排插座输入。
图2.17 LED点阵显示模块电路
15.LCD-12864显示模块
点阵LCD液晶显示屏SG12864的数据信号和一些功能引脚都引到JX12、JX14接口上,它可通过JX12、JX14单排插座与单片机相连
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询