《单片机原理与应用实验课程讲义全.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用实验课程讲义全.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理与应用实验讲义(2011-2012-2学期)授课教师:肖婧授课年级:电信2009级商学院计电学院电子技术实验室二一二年三月第一讲 前言及要求一、前言单片机是微机的一种,是将微机的CPU、存储器、I/O接口和总线制作在一块芯片上的大规模集成电路。由于单片机具有体积小、功能全、价格低、开发应用方便等优点,且又可将其嵌入到产品部,因此得到了极其广泛的应用。作为电子信息工程专业的学生,学习和掌握单片机应用系统的设计方法,是专业设置的要求,同时也是同学们将来毕业走上工作岗位前必须具备的职业技能要求。单片机与普通计算机不同,它是一个集成电路芯片,它只能运行程序而本身没有开发的能力。因此,对于单片
2、机应用系统的设计,必须先在计算机上运行单片机开发调试软件(或者也可称为集成开发环境),形成可以在单片机上运行的程序文件,然后通过电路烧写手段,将程序下载到单片机的程序存储器中。这样单片机才能按照设计者的要求来执行相关指令。如此以来,要掌握单片机应用系统的设计方法,首先就必须掌握单片机开发调试软件的使用方法,其次就是具体编程语言的编写和调试方法,然后就是单片机系统其它控制部件的设计使用方法,再来就是单片机系统整体安装以及调试的方法等。本学期同学们学习单片机原理与应用实验课程,其目的就是掌握单片机应用系统的设计方法,其学习过程就是刚才说到的先学习开发调试软件的使用方法,其次掌握单片机程序的编写和调
3、试方法,然后是利用单片机以及其它控制部件构成单片机应用系统,并在调试软件上进行调试,最终实现具体的硬件安装和调试。二、实验课程要求单片机的原理以及单片机编程语言的具体学习,理论课程为大家都进行了详细的讲解。单片机原理与应用实验课顾名思义是动手实践的课程,这就要求大家对于上课时所要进行编写的程序、绘制的电路图、系统的基本调试思路等容,必须在上实验课之前就要基本完成,这样大家才能在有限的上课时间,有针对性的解决程序编写或系统设计过程中遇到的问题,并实现系统的设计。为此,实验课程对大家的要求如下:1、关于教材大家除了本课程所使用的这本邮电大学出版的单片机系统及应用实验教程以外,至少要把理论课程所使用
4、的教材带来,或者也可带上其它单片机设计的参考书籍。这主要是大家在上课时遇到一些问题时,可以及时地查阅到相关容,节省时间。2、关于课前的准备上课前,大家必须做好课前的准备。这些准备工作包括:了解本次课的具体容,学习和掌握该容用到的程序编写方法,并先行完成前期的程序初步调试。若是系统设计,则还需先行了解相关控制部件的一些使用方法,以及系统电路图的初步绘制。在做这些准备的过程中,大家必然都会遇到一些疑难问题。大家可以一方面先查阅相关的资料,另一方面,带着这些问题来到课堂,经过老师的分析和讲解,大家才好解决问题,并真正掌握课程的容。3、关于实验作业本学期,大家上实验课程,其作业就是实验报告。实验报告是
5、大家对于当次实验全过程的一个完整记录。大家不要小看实验报告,能写一份好的实验报告,这也是工科学生必须具备的一个基本能力。实验报告中,应该包括实验名称、实验的目的、完成实验所需的设备、实验的思路、电路图、程序、实验中遇到问题的解决过程、实验结束后的思考等多个容。大家必须尽量完整且有序地写在实验报告中,一方面方便教师实验后查看,另一方面也方便大家课后自行查看。4、关于上课时未做完的实验容由于上课时间有限,有些同学上课时可能会有一些容无法及时完成。由于本学期单片机原理与应用实验课程有部分容可以在调试软件中完成设计,因此这些同学可以在课后利用调试软件在宿舍中先行做完剩余容,然后再找时间或在下次课时向教
6、师演示结果,这样也可算是完成了实验的全部容。5、关于上课的纪律上课不能迟到早退,有特殊原因不能来上课必须请假,出示辅导员签字的请假条。上课容完成后,老师批准才能下课。下课前,将使用的仪器设备整理好,并清理垃圾杂物后,方可离开实验室。本学期实验课程共24学时,分12次课,时间为第5周至第16周,每周1次课。实验报告,在当次实验完成后的下一周的星期一上午下班前交到教师手中。三、课程成绩评定方式 课程成绩的评定采用5:5的综合评定方法,即期末考试成绩占50%;平时成绩占50%。平时成绩包括:(1)实验报告成绩占总成绩40%(未完成预习报告者,当次实验不计分);(2)平时能力考核成绩占总成绩10%(根
7、据上课情况的记录来计分)。四、实验容具体安排实验序号实 验 名 称参考教材页码实验时间1单片机软硬件操作介绍部分参考教材实验2第6周2设计流程及仿真练习部分参考教材实验1、3、4第7周3输入输出口程序设计及仿真部分教材实验1、5第8周4按键程序设计部分参考教材实验6、10第9周5定时器程序设计参考教材实验13第10周6中断程序设计教材实验12第11周7可调频率波形程序设计教材实验17第12周8串口通信程序设计教材实验14第13周9单片机程序下载实验第14周10数码管显示实验教材实验16第15周11外扩芯片程序设计(AD)教材实验18第16周实验一 单片机软硬件操作介绍(一)、实验目的1、了解单
8、片机系统设计的软硬件构成情况。2、学习keil软件的基本使用方法。(二)、实验仪器设备计算机、keil uVinsion4软件(三)、实验原理单片机应用系统设计中使用的软件和硬件,实际是指编程软件以及各种控制硬件。单片机的编程软件有很多,目前实验室中有两种,一个是WAVE,另一个是keil。其中WAVE对于汇编程序的调试效果比较好,但对于C51语言的调试则需要使用keil软件。keil软件是德国KEIL公司开发的基于WINDOWS操作系统下的MCS-51系统单片机的集成开发软件。它可以实现工程项目的管理;源程序的编辑、汇编、编译、;程序的仿真和调试运行,是一种功能很强大的单片机集成开发平台。教
9、材P10-13介绍了keil软件启动、新文件的建立和使用的全部过程,大家使用时可以参考。教材P14-15介绍了利用keil软件对于程序进行单步调试、连续调试和断点调试的方法和步骤,具体使用时大家可以参考。此外教材P15-18介绍和展示了keil软件调试时各单元显示窗口的观察方法以及变化情况。在调试时大家可以结合其说明来使用。(四)、实验容与步骤1、新建求和运算程序自行启动keil软件,并根据教材的介绍,新建一个求和运算程序。利用汇编程序和C51两种语言分别新建成汇编源程序和C51源程序。程序名称可参考使用教材中的名称,也可自取,但后缀不能错,即汇编源程序后缀为.asm,C51源程序后缀为.c。
10、2、调试程序根据教材的介绍,将新建的程序进行具体调试,注意观察和记录单步调试时各调试窗口中相关数据的变化情况。两种语言的源程序分别都调试一下,以便熟悉软件调试的操作方法。3、新建并调试查表求数平方程序。根据教材P19-21的介绍,自行新建一个查表求一个数平方值的源程序,并完成该程序的调试。源程序语言可选汇编语言或者C51语言。注意观察和记录相关数据的变化。(五)实验报告要求1、整理实验中记录的数据,并抄录到实验报告中。2、绘制两个程序的程序流程图。3、分析和总结keil 软件编程和调试的基本步骤。实验二 设计流程及仿真练习(一)、实验目的1、了解单片机系统设计的基本流程。2、回顾和了解Prot
11、eus软件的界面以及基本应用情况。3、进一步掌握keil软件的编程和使用方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理上次实验中,我们以及对于单片机应用系统设计中使用的keil软件进行了具体操作练习,这次实验我们主要是了解单片机应用系统的具体设计流程,同时进一步掌握keil软件编程的方法,并具体设计和调试一些程序。单片机应用系统的设计流程:首先,使用编程软件编写源程序代码,并具体调试,生成可执行文件。其次,将可执行文件写入单片机。然后,将单片机与控制部件连接构成具体的应用系统电路。最后,对系统电路进行具体通电调试,直至得到能完成设计要求的
12、系统。这里编程软件是用keil软件,而硬件调试可先用硬件仿真调试软件Proteus来完成,最后再连接实际的硬件。Proteus软件在前面的电子技术实验等课程中,大家已经有所了解,有些同学可能还能比较熟练地使用。因此,对于Proteus软件,我们就不再从头重新开始讲解,只在使用时再针对大家遇到的问题进行具体讲解。(四)、实验容与步骤本次实验主要的容仍然是keil软件编程练习。1、程序编程练习利用keil软件,根据教材P26顺序结构的汇编语言程序设计实验容以及教材P32软件延时的程序设计实验容,新建两个程序。并将程序进行实际调试,观察并记录调试中的结果。这里教材P26顺序结构的汇编语言程序,实际上
13、就是设计一个数据传送程序。而教材P32软件延时程序,是设计一个延时100mS的延时程序。2、程序设计根据教材P27分支结构的程序设计实验容说明和介绍,完成判断数值正负还是零的程序设计。程序可以采用C语言,也可采用汇编语言。要求写出源程序代码,并具体调试,写出结果。3、课后完成的设计容。根据教材P35求平方和的汇编语言程序设计实验容的介绍,完成求平方和程序的设计。程序可以采用C语言,也可采用汇编语言。要求写出源程序代码,并具体调试,写出结果。(五)实验报告要求1、整理程序编程练习实验中的数据,并将各数据抄录到实验报告中。2、写出程序设计实验的源程序代码,记录调试的过程,分析运行的结果。3、对课后
14、完成的设计容进行整理后,写出设计的源程序代码,并列出调试的过程以及运行的结果,并对结果进行分析。实验三 输入输出口程序设计及仿真(一)、实验目的1、了解单片机软硬件结合解决应用问题的方法。2、掌握单片机输入输出口编程控制的方法。3、进一步掌握keil软件和Proteus软件的编程和使用方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理1、单片机并行接口简介MCS-51单片机具有4个并行接口,分别为P0、P1、P2和P3。他们都是双向并行接口,既可以输入数据,也可以输出数据。每个接口都有8个引脚,在使用时,他们可以单独使用,因此,单片机就具有3
15、2个并行输入/输出引脚。单片机的并行接口引脚作为输入引脚时,该引脚上必然连接了可以提供高/低电平的控制部件,如按键。我们可以通过编程来读取该引脚上的电平,从而获取输入的数据值。当单片机的并行接口引脚作为输出引脚时,该引脚上可以连接具有显示功能的控制部件,如发光二极管、LED灯等等。我们可以通过编程将需要控制电平信号,传送到该引脚上,从而实现显示部件的点亮或熄灭。2、Proteus软件和Keil软件联调的设置方法。在设计中,大家也可以将两个软件进行系统联调,具体设置方法如下:打开Proteus软件,创建原理图文件,在主菜单中选择“Debug”。打开子菜单,选中“use romote debugg
16、er monitor”选项,即选择第三方调试工具。再打开keil软件,在工程菜单中,选择“options for target target1”,即目标1属性设置。然后选择Debuger选项,单击“Use:”按钮,显示黑点表示选中。然后旁边的对话框下拉菜单中选中“Proteus VSM Monitor”。接下来,在设置选项中选择“Output”选项,将其下的“Create HEX File”项前面的复选框打勾选中,表示编译后产生烧录程序存储器的HEX文件。这里省略了Keil软件信接口的设置,当调试的仿真电路在另外一台计算机上时,才需要设置,大家届时注意修改其默认设置。(四)、实验容与步骤1、单
17、片机P1口控制LED小灯亮灭的系统设计练习利用keil软件和Proteus软件,根据教材P3-4的介绍,完成利用单片机P1口控制一个LED小灯亮灭的简单系统设计实验。大家先在Keil软件中完成源程序的编程设计,其次在Proteus中绘制电路图,然后将编译得到的HEX文件下载到单片机中,最后运行调试。2、系统修改设计练习根据教材P45-47实验容说明和介绍,完成P1口控制8个LED小灯循环亮灭的系统设计实验容。(五)实验报告要求1、将系统的电路原理图打印粘贴到实验报告中。2、记录源程序代码,记录软件和硬件调试的过程,分析运行的结果。3、分析总结单片机输入输出口控制的编程方法。实验四 按键程序设计
18、(一)、实验目的1、掌握单片机按键输入数据采集编程控制的方法。2、进一步掌握keil软件和Proteus软件的编程和使用方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理1、按键结构和数据采集接线方法按键的结构很简单,它是一个有两个端子的元件,当没按下按键触点时,两个端子是断开的;当按下按键触点时,两个端子是导通的。根据按键的结构,我们对于按键数据采集控制时,一般连接方法如图所示,将它一端与地连接,另一端连接控制接收的线路。这样一来,当没有按键时,控制线路等于是处于悬空的状态,电路默认为高电平;当有按键时,控制线路与地导通,电路接入低电平。图
19、4.1 按键接线示意图2、按键程序编程我们在系统中连接按键的目的,往往是要通过按键,让系统接收按键数据后,接下来进行某种预定的操作。于是我们进行按键程序设计时,必须考虑到由于按键是一种机械结构,手动按键的过程难免会产生抖动,因此我们编程时必须进行除抖动的设计,以免系统出现误判。除抖动的方法,就是利用延时程序,让系统稍等一段时间,然后再重新判断接收按键的数据。按键程序编程的思路就是:先预先设置按键连接引脚为高电平。然后判断按键是否为低电平,若为低电平,则延时除抖动,之后再次判断是否为低电平,若是则接收该引脚的当前电平值,接收后引导系统做下一阶段的处理程序;若不是,则判断按键是否已松开,若未松开,
20、则进行等待或做其它处理程序。教材P87有c51语言延时子程序,该程序为单片机晶振频率为11.0592MHz时,可以产生1ms的延时时间。(四)、实验容与步骤1、单片机采集一个按键数据并控制一个LED灯亮灭的系统设计练习利用keil软件和Proteus软件,根据教材P85-87的参考程序,修改后,完成利用单片机接收一个按键的数据,并控制一个LED灯进行相应亮灭的简单系统设计实验。2、系统设计练习教材P49选做题中,根据自己的学习情况,选择其中一个完成系统设计练习。前一个题为一个按钮连接到单片机的一个引脚上,单片机接收按钮的按键次数后,将结果的二进制值通过4个小灯的亮灭来进行显示。后一个题为利用3
21、个开关,实现单片机流水灯不同点亮方式的控制。K0为8个小灯都亮;K1为8个小灯先从左至右依次亮,然后从右至左依次亮,反复循环;K2为8个小灯都灭。开关实现控制的方式,大家也可以自行另外定义。(五)实验报告要求1、将系统的电路原理图打印粘贴到实验报告中。2、记录源程序代码,记录软件和硬件调试的过程,分析运行的结果。3、将实验容2设计的电路原理图、源程序、调试过程以及运行结果分别列入实验报告中。实验五 定时器程序设计(一)、实验目的1、掌握单片机定时/计数器的基础知识,理解定时/计数器的基本应用。2、掌握MCS-51单片机使用定时/计数器设计应用系统的软硬件方法。3、掌握使用定时/计数器设计调试方
22、法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理教材P122-126对于定时/计数器的原理进行比较详细的介绍和分析,我们这里只选其中比较关键的容做重点分析。1、定时/计数器的结构原理MCS-51单片机中有2个可编程的16位定时/计数器T0和T1,他们的部都是由“加1”计数寄存器、工作方式寄存器TMOD和控制寄存器TCON三个部分构成。“加1”计数器又分为高8位和低8位两部分。TMOD寄存器主要是用于控制定时或计数功能选择、工作方式设置以及启动方式的控制等。TCON寄存器主要是用于控制T0和T1的启/停、溢出标志的设置等。定时/计数器工作时,每
23、来一个脉冲,“加1”计数寄存器会加1,当其为全1时,再输入一个脉冲,这时计数寄存器产生溢出。与此同时,计数寄存器值会被清零,同时TCON寄存器的溢出标志被置为1,并向单片机的CPU发出定时中断信号。若此时工作于定时模式,则代表设定的时间到;若工作于计数模式,则代表计数值已满。定时/计数器工作于定时模式时,“加1”计数寄存器是对单片机部产生的机器周期进行计数,其频率为系统晶振频率的1/12,此时定时时间T=TP*N(TP为每个机器周期的时间,N为累计的机器周期脉冲的个数)。定时/计数器工作于计数模式时,它用于对外部事件的计数,其值由单片机T0或T1引脚输入。输入值从一个高电平变化到低电平,至少需
24、要2个机器周期,因此计数频率最大为系统晶振频率的1/24。例如,单片机晶振频率为6MHz时,最高计数频率将不超过0.25MHz,即计数周期必须要大于2us。2、定时/计数器的设置定时/计数器的设置其实就是设置工作方式TMOD和控制寄存器TCON。具体设置可查表,如下图所示。图5.1 单片机TMOD和TCON设置图3、定时/计数器的工作方式(1)方式0:13位定时/计数器,由TH0的8位和TL0的低5位(高3位未用)构成,TL0溢出时,向TH0进位;TH0溢出时,溢出标志TF置1。做定时器时,定时时间T=TP*N(TP为每个机器周期的时间,N为累计的机器周期脉冲的个数);定时初值X=213-N做
25、计数器时,计数初值Y=213-M(M为T0或T1引脚输入的计数脉冲个数)(2)方式1:16位定时/计数器,由TH0作为高8位、TL0作为低8位构成。做定时器时,定时时间T=TP*N(TP为每个机器周期的时间,N为累计的机器周期脉冲的个数);定时初值X=216-N做计数器时,计数初值Y=216-M(M为T0或T1引脚输入的计数脉冲个数)(2)方式2:8位自动重装载定时/计数器,TL0作为计数寄存器。当TL0溢出后,TL0初值自动装入TH0的值。做定时器时,定时时间T=TP*N(TP为每个机器周期的时间,N为累计的机器周期脉冲的个数);定时初值X=28-N做计数器时,计数初值Y=28-M(M为T0
26、或T1引脚输入的计数脉冲个数)(四)、实验容与步骤1、定时器0控制小灯交替亮灭利用keil软件和Proteus软件,根据教材P127的分析以及参考程序,完成利用单片机定时器0控制小灯交替亮灭的简单系统设计实验。2、电子计时器的设计教材P130提供了一个电子计时器系统的设计参考,大家根据自己的学习情况,尽量了解和掌握其设计方法。(五)实验报告要求1、将完成设计的系统电路原理图打印粘贴到实验报告中。2、记录源程序代码,并记录软硬件调试的过程以及运行的结果,分析结果。3、若完成了实验容2,则将其设计思路、程序流程图列在实验报告中。实验六 中断程序设计(一)、实验目的1、理解中断的基本概念,了解MCS
27、-51单片机的中断系统。2、理解外部中断的作用及基本应用。3、掌握单片机使用外部中断的简单应用系统的设计和调试方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理教材P111-114对于中断的原理进行了比较详细的介绍和分析,我们这里只选其中比较关键的容做重点分析。单片机的中断源有5个,其优先级次序、单片机引脚以及中断服务程序入口地址等如下表所示。中断源名称中断优先级次序单片机引脚中断类型号m中断服务程序入口地址外部INT0中断1P3.200003H定时/计数T0中断2P3.31000BH外部INT1中断3P3.420013H定时/计数T1中断4
28、P3.53001BH串行中断5RXD(P3.0)和TXD(P3.1)40023HC51程序中断函数的定义格式为:Void 中断函数名()interrupt m using n局部变量定义;中断函数体;C51程序的中断函数没有返回值;所有函数都不能调用中断函数;定义中断函数时必须用关键字interrupt说明中断源的类型号m。MCS-51单片机5个中断源的类型号如上表所示。此外,中断函数用关键字using说明使用哪组通用寄存器,n省略时,表示第0组寄存器,其取值围为03。中断程序设计时,主程序中先设置EA(总中断)=1,然后设置相应中断的控制字,之后设置相应中断为允许。对于外部中断,其控制字是设
29、置触发方式(IT),IT设置见图5.1所示。外部中断允许位为EX0和EX1,分别控制INT0中断和INT1中断。(四)、实验容与步骤1、外部INT0中断控制小灯交替闪烁利用keil软件和Proteus软件,根据教材P115的分析以及参考程序,完成利用单片机外部INT0中断控制小灯交替闪烁的简单系统设计实验。2、单片机声光报警的设计教材P120提供了一个单片机声光报警系统的设计题,大家根据自己的学习情况,可在课后修改根据电路图写出源程序,完成系统的设计。(五)实验报告要求1、将完成设计的系统电路原理图打印粘贴到实验报告中。2、记录源程序代码,画出源程序流程图,并记录软硬件调试的过程以及运行的结果
30、,分析结果。3、若完成了实验容2,则将其设计思路、程序流程图和源程序列在实验报告中。实验七 可调频率方波程序设计(一)、实验目的1、理解D/A转换的基本概念,了解D/A转换器的用途。2、了解D/A转换器DAC0832芯片的使用方法。3、掌握单片机控制进行数/模转换,并产生多种波形的设计调试方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理教材P174-177对于D/A转换的原理、DAC0832芯片以及单片机控制D/A转换的设计方法等都进行了比较详细的介绍和分析,我们这里只选其中比较关键的容做重点分析。DAC0832芯片讲解注意点:DAC083
31、2引脚作用基本上可以总结为:当片选CS为低电平为选中,ILE为高电平且WR1低电平时,8位数字量从D0D7送入芯片第一级锁存。当WR2为低电平时,锁存器中数字量送入8位DAC寄存器,等待转换。当转换完成时,转换后的模拟电流信号由Iout1和Iout2从芯片输出。Iout1和Iout2两电流相加值为常数,当输入为0FFH时,Iout1为最大,Iout2为最小;反之,当输入为00H时,Iout1为最小,Iout2为最大。DAC0832的工作方式有3种,分别为直通方式、单缓冲和双缓冲。其中单缓冲方式和双缓冲方式为单片机控制DAC0832时采用的连线工作方式。大家在设计时注意合理选用。(四)、实验容与
32、步骤1、单片机控制DAC0832产生方波教材P179程序是利用DAC0832控制小灯每1S亮灭一次,实际就是产生一个周期为2秒的方波。大家根据教材的分析和参考源程序,利用keil软件和Proteus软件,完成实验。尝试将方波的频率进行调节,然后再运行调试,并观察记录波形的变化。2、课后完成的设计教材P180提供了一个单片机控制产生锯齿波的系统设计参考,该题是采用DAC0832双极性输出的应用方式,大家可参考教材和理论书籍的说明来完成设计。(五)实验报告要求1、将完成设计的系统电路原理图打印粘贴到实验报告中。2、画出源程序流程图,并记录软硬件调试的过程以及运行的结果,(结果中应包含波形图),分析
33、结果。3、总结方波频率调节的方法,并将实现调节的源程序语句标注在修改的程序语句旁边。记录波形的变化。3、若完成了实验容2,则将其设计思路、程序流程图列在实验报告中。实验八 串口通信程序设计(一)、实验目的1、理解单片机串行通信的基本概念、工作方式以及通信原理。2、掌握单片机点对点串行通信应用系统的软硬件设计方法。3、掌握单片机之间串行通信的调试方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理教材P137-142对于单片机串行通信的原理进行了比较详细的介绍和分析,我们这里只选其中比较关键的容做重点分析。1、串行通信的概念通信分为并行和串行两种
34、,并行是数据在多条线路同时传输;串行时数据在一条线路逐位传输。串行通信又分为异步和同步两种,异步就是发送和接收方采用各自的时钟信号,通过协议来达到两者的通信;同步就是发送和接收方必须使用同一个时钟信号。异步串行通信传输的一帧数据,包括起始位、数据位、校验位、停止位和空闲位等部分。2、单片机串口单片机P3.1(TXD)为串行数据发送端口,P3.0(RXD)为串行数据接收口。单片机发送数据和接收数据,数据都是先存放在发送接收缓冲器SBUF中。数据发送完成后,TI置1;数据接收到SBUF后,RI被置为1,单片机才可从SBUF读取数据。串行通信前后主要是要设置串口控制寄存器SCON和电源控制寄存器PC
35、ON。它们的说明如图8.1所示。图8.1串口控制寄存器SCON和电源控制寄存器PCON说明图3、单片机串行通信应用异步通信的形式有两种,即点对点双机通信和一点对多点多机通信,大家主要掌握点对点双机通信形式。连接时,将发送方的TXD与接收方的RXD连接,再将发送方的RXD与接收方的TXD连接即可。串行通信传输速度用波特率来衡量,它是指每秒传输的二进制数据的位数,单位为bit/s。不同工作方式波特率计算方法如下:方式0:fosc/12 ;方式1和3:(2smod/32)*T1溢出率 ;方式2:(2smod/64)*fosc fosc为单片机系统时钟频率,SMOD为电源控制寄存器PCON的最高位,T
36、1溢出率为fosc/12*(256-计数器TH1初值)(四)、实验容与步骤1、单片机点对点单向串行通信利用keil软件和Proteus软件,根据教材P143的分析以及参考程序,完成利用单片机串口实现两机单向串行通信的实验。2、课后完成的设计根据教材P147分析,结合前面单向串行通信实验的程序,掌握单片机双向串行通信的的设计方法。(五)实验报告要求1、将点对点单向串行通信的系统电路原理图打印粘贴到实验报告中。2、画出源程序流程图,并记录软硬件调试的过程以及运行的结果,分析结果。3、若完成了实验容2,则将其设计思路、程序流程图列在实验报告中。实验九 单片机程序下载实验(一)、实验目的1、掌握单片机
37、软硬件结合的系统设计方法。2、了解和掌握单片机芯片烧写及电路连线调试的方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件、单片机实验箱(三)、实验原理1、单片机实验箱简介本学期使用的单片机实验箱,是由湖大达盛公司设计生产的单片机微机实验箱。上学期大家已经使用该实验箱完成了微机原理课程的实验项目,本学期我们将实验箱的处理器芯片换成51单片机,完成单片机原理实验项目。实验箱中的布局以及箱中各部件的构成情况,在上学期大家已经有所了解,这里就不再赘述。我们需要说明的是,我们利用这个实验箱,主要是利用它将计算机中已经编译好的hex文件下载到单片机芯片中。同时,由于它带
38、有许多常见的电路控制部件,我们使用它可以节省不少安装接线的人力物力。因此,在实验时,我们只需并通过电路连线,就可以完成单片机系统在硬件上实际运行的目的。2、单片机程序下载的过程首先,在编程软件中完成程序文件的编写和编译,并生成HEX文件;其次,在Proteus软件中虚拟硬件调试通过确认无误;然后,打开单片机实验箱,将带有51单片机芯片的CPU模块插入实验箱的处理器插槽中。将拨动开关打EXP,然后打开实验箱电源开关。在计算机中,打开ISP-30a文件夹,找到IspPgm.exe文件并双击打开。之后,左击界面右边芯片选择窗口的下拉箭标,选择编程芯片的型号。再左击界面上的“Open File”按钮,
39、选择需要写入的hex文件。这时,当确认编程电缆连接正确,且CPU工作正常后,左击界面上的“Write”按钮,开始向芯片写入程序。当界面上出现写入“OK”后,退出ISP程序,完成程序的下载。当程序下载完成后,关闭实验箱电源。将需要用到的电路引脚与单片机引脚相连,检查无误后,打开实验箱电源开关。(四)、实验容与步骤1、单片机流水灯的实现根据前面实验三的实验容1,将其已编译好的HEX文件通过编程电缆烧写下载到单片机中,然后具体连线,查看电路通电后系统运行的效果。2、单片机按键控制系统实现根据前面实验四的实验容1,将其已编译好的HEX文件通过编程电缆烧写下载到单片机中,然后具体连线,查看电路通电后系统
40、运行的效果。(五)实验报告要求1、整理实验中的观察记录结果。2、分析总结单片机软硬件设计调试的方法和步骤。实验十 数码管显示实验(一)、实验目的1、了解七段数码管的基础知识和工作原理。2、掌握单片机控制数码管进行显示的软硬件方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件(三)、实验原理1、七段数码管的原理七段数码管,其实部有8个发光二极管构成,其中七个为长条形状,构成“8”字,还有一个为小小的圆形,构成小数点。七段数码管各段按地址从高到低名称依次为dp、g、f、e、d、c、b、a。若将各段发光二极管的正极连接在一起,将负极分别与各自的控制信号连接,则这种
41、数码管称为共阳极的数码管;反之,若将各段发光二极管的负极连接在一起,将正极分别与各自的控制信号连接,则这种数码管称为共阴极的数码管。共阳极数码管使用时,其控制信号应当是低电平点亮,而高电平熄灭;共阴极数码管使用时,其控制信号应当是高电平点亮,而低电平熄灭。教材P62有数码管的部结构图和字型码表。大家使用数码管进行设计前务必要熟练掌握其应用。2、数码管的控制显示方法单片机控制数码管进行显示,有静态显示和动态显示两种方式。所谓静态显示,这种方式常用于控制单个数码管的情况。它是将每个数码管的段码端分别单独与单片机的I/O引脚相连,从而保证每个数码管上的显示数据总是呈现静止不变的状态。所谓动态显示,这
42、种方式常用于控制多个数码管的情况。它将所有数码管的段码都连接到一起,只是将每个数码管的位置选择端(也就是公共端)在不同时刻给予有效工作电平,这样就可实现在一个时刻只有一个数码管显示,而其它数码管则利用人眼的视觉暂留作用,形成多个数码管假象静态显示的目的。(四)、实验容与步骤1、单片机控制单个数码管显示利用keil软件和Proteus软件,根据数码管的工作原理,完成利用单片机控制单个数码管的简单系统的设计和调试。2、单片机控制多个数码管的显示设计教材P64提供了单片机控制8个数码管静态显示09和英文字母A、b、c、d、E、F,或者动态显示数字07的电路原理图和源程序。大家通过程序和电路的调试,掌
43、握数码管显示控制的设计方法。(五)实验报告要求1、将两个容的系统电路原理图打印粘贴到实验报告中。2、写出实验容1的源程序代码,画出实验容2的源程序流程图。3、记录两个实验中软硬件调试的过程以及运行的结果,分析结果。实验十一 外扩芯片程序设计(AD)(一)、实验目的1、理解A/D转换的基本概念,了解A/D转换器的用途。2、了解常用的A/D转换器芯片和使用方法。3、掌握使用A/D转换器实现单片机模拟量数据输入的设计调试方法。(二)、实验仪器设备计算机、keil uVinsion4软件、Proteus软件、单片机实验箱(三)、实验原理教材P165-169对于A/D的原理、常用芯片等都进行了比较详细的
44、介绍和分析,我们这里只选其中比较关键的容做重点分析。A/D转换,也就是模拟量输入,数字量输出。书上介绍了三个重要的转换指标,它们是转换速率、转换精度、分辨率。在今后做具体设计时,大家务必要了解和掌握它们的含义。我们常用的A/D转换芯片为ADC0809,它是8位并行A/D转换芯片。该芯片应用时,IN0IN7共八路模拟输入引脚,通过地址A、B、C选择其中一路将模拟信号送入芯片中,当转换结束后,数字量从D7D0以8位二进制的形式输出,同时EOC引脚会输出高电平,表示转换结束。单片机控制ADC0809芯片实现A/D转换,通过I/O引脚传输信号控制芯片的启动、转换数据传送等工作。单片机读取A/D转换结果
45、的方式有两种,分别为查询方式和中断方式,这主要是根据ADC0809的EOC引脚与单片机的什么引脚相连来区别的。若将其连接在一般的I/O引脚上,就必须不断查询该引脚的状态,当其变为高电平时,就可读取数据;若将它通过一个反相器连接到外部中断INT0或INT1引脚上,那么当EOC变为高电平(也就是转换结束时),单片机就可自动触发外部中断,从而实现在中断服务程序中读取数据的目的。(四)、实验容与步骤1、单通道A/D转换应用系统的设计利用keil软件和Proteus软件,根据教材P169的分析同时结合其参考电路图和源程序,完成利用单片机实现控制的单通道A/D转换应用系统的设计实验。2、课后掌握完成的设计教材P172提供了一个多通道A/D转换应用系统的设计参考,大家根据自己的学习情况,可在课后修改前一个实验的电路图和源程序从而完成设计。(五)实验报告要求1、将完成设计的系统电路原理图打印粘贴到实验报告中。2、画出源程序流程图,并记录软硬件调试的过程以及运行的结果,分析结果。3、若完成了实验容2,则将其设计思路、程序流程图列在实验报告中。
限制150内