1、原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材产品计数器单片机汇编语言指令和程序设计任务2.1 LED数码管及其驱动电路(静态)LEIS数码管,就是用多个LEIS组合排列成可以显示数字的元件,现在用得很多。我们的产品计数器要用它来显示数字。Proteus仿真项目:数码管试验1字形.dsn(电子文档),通过这个仿真项目来复习一下数码管的特性。熟悉数码管的字形和极性。Proteus仿真项目:数码管试验2译码.dsn(电子文档),通过这个仿真项目来复习一下数码管的电源特性和译码器的特性。红绿蓝黄各种不同颜色电特性不同,
2、不同型号译码器特性也不同。重点了解译码器。可参看:7段数码管和译码.dsnoProteus仿真项目:数码管试验3软件译码.dsn(电子文档),通过这个仿真项目来了解数码管的不同使用方法。重点是软件译码。Proteus仿真项目:一位数码管.dsn电子文档),有了单片机,数码管也开始起作用了。重点还是软件。任务要求:数码管显示和驱动电路。知识要求:驱动方法、字形译码和译码器。任务2.1 LED数码管及其驱动电路(静态)【技能训练2-1 2位数码管显示电路(软件译码)。任务2.2 数码管计数器(静态)显示程序设计2.2.1 汇编语言指令概述指令和程序设计是单片机的两个重要知识(单片机知识包括硬件和软
3、件两部分)。程序是由指令组成的,指令是程序的最小语言单位。要编程序就要懂指令(高级语言叫语句)。现在讲的是汇编语言指令。汇编语言指令是机器码的助记符形式,与二进制的机器码一一对应。用汇编语言指令写成的源程序翻译成机器码的过程叫作汇编。能完成汇编任务的软件称为汇编程序。按大类来说,汇编语言指令可以分为两类:指令和伪指令。指令可以分成若干小类,伪指令也可以分成若干小类。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令1.ORG起始地址定义伪指令格式:ORG 16位地址功能:规定目标程序在程序存储器中所占空间的起始地址。例如:ORG 1000H,表示以下的数据或程序存放在从10
4、00H开始的程序存储单元中。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令2.END汇编程序结束伪指令格式:END功能:标志源程序的结束,即通知汇编程序不再继续向下汇编。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令3.EQU宏代换伪指令格式:符号EQU字符串功能:在程序中用EQU后面的字符串去替换EQU前面的符号。EQU后面的字符串可以是符号、数据地址、代码地址或位地址。说明:EQU伪指令所定义的符号必须先定义后使用。所以该语句一般放在程序开始。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令4.DATA数值赋值伪指令格式
5、:符号DATA表达式功能:将表达式指定的数据地址或代码地址赋予符号名称。说明:DATA伪指令功能与EQU伪指令相似,但是DATA所定义的符号可以先使用后定义。该语句一般放在程序开始或结尾。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令5.DB字节存储伪指令格式:标号:DB 8位二进制数据表功能:从指定的地址单元开始,定义若干个字节存储单元的内容。6.DW字存储伪指令格式:标号:DW 16位二进制数据表功能:从指定的地址单元开始,定义若干个字存储单元的内容。任务2.2 数码管计数器(静态)显示程序设计2.2.2 汇编语言伪指令7.DS定义空间伪指令格式:标号:DS表达式功
6、能:从指定的地址单元开始,保留由表达式指定的若干字节空间作为备用空间。8.BIT位地址符号伪指令格式:字符名称BIT位地址功能:用规定的字符名称表示位地址。任务2.2 数码管计数器(静态)显示程序设计2.2.3 MCS-51系列单片机的指令格式和寻址方式1.汇编语言指令格式2.机器语言指令格式 标号:操作码 第一操作数 ,第二操作数 ,第三操作数 ;注释 机器语言指令是一种二进制代码,包括两部分:操作码和操作数。MCS-51指令系统中,机器语言指令长度有单字节、双字节和三字节共三种。任务2.2 数码管计数器(静态)显示程序设计2.2.3 MCS-51系列单片机的指令格式和寻址方式3.汇编语言指
7、令系统符号约定任务2.2 数码管计数器(静态)显示程序设计2.2.3 MCS-51系列单片机的指令格式和寻址方式3.汇编语言指令系统符号约定任务2.2 数码管计数器(静态)显示程序设计2.2.3 MCS-51系列单片机的指令格式和寻址方式3.汇编语言指令系统符号约定任务2.2 数码管计数器(静态)显示程序设计2.2.3 MCS-51系列单片机的指令格式和寻址方式4.寻址方式指令的一个重要组成部分是操作数,它指定了参与运算的数或数所在的单元地址。把指令中寻找操作数或操作数地址的方式称为寻址方式。寻址方式越丰富,计算机的功能越强,灵活性越大。寻址方式是指令系统及汇编语言程序设计中最基本的内容之一,
8、必须十分熟悉,牢固掌握。MCS-51指令系统有六种寻址方式:寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址任务2.2 数码管计数器(静态)显示程序设计2.2.4 数据传送指令4.寻址方式单片机系统是由许多部件构成,主要工作就是完成这些部件之间的信息交换,所以数据传送指令是CPU最基本最重要的操作之一。数据传送指令的功能是:把源操作数提供的数据传送给目的操作数所指定的单元,源操作数内容不变。另外一个功能是将源操作数和目的操作数所指定的两个单元内容彼此进行交换。任务2.2 数码管计数器(静态)显示程序设计2.2.5 算术运算指令 MCS-51系列单片机指令系统的算术运算指令包括加、减、乘
9、、除四种基本操作。这四种基本操作能对8位无符号数进行直接运算;借助溢出标志可以对带符号数进行补码运算;借助进位标志可以实现多字节加减运算;也可实现压缩BCI码运算。算术运算类指令的执行结果将影响到特殊功能寄存器中的程序状态字PSW的进位标志Cy(PSW.7)、辅助进位标志AC(PSW.6)、溢出标志OV(PSW.2)以及奇偶标志P(PSW.0)四个标志位(注意:加1指令INC和减1指令DEC对这些位无影响,乘除指令不影响AC标志位)。任务2.2 数码管计数器(静态)显示程序设计2.2.6 逻辑操作指令 MCS-51系列单片机指令系统的逻辑操作指令包括逻辑“或”、逻辑“与”、逻辑“异或”以及针对
10、累加器A的清零、取反和移位等六类。2.2.7 控制转移指令控制转移指令又称为跳转指令,通过改变程序计数器PC的值来改变程序执行顺序。转移指令分为无条件转移指令、条件转移指令、子程序调用和返回指令。任务2.3 产品计数器电路和显示程序【技能训练2-3】四位数码管显示(硬件译码)。目的:学习程序设计方法。内容:四位数码管显示的计数器。说明:这是一个模仿型项目。先看电路设计,使用硬件字形译码器,一个端日8位二进制数,可以供两个译码器使用,两个端日可以接四个译码器,提供四位数显示,硬件译码可以省掉软件译码。但是,计数程序要按照十进制数来重新编写。任务2.3 产品计数器电路和显示程序2.3.1 程序设计
11、方法概述1.程序设计语言简介(1)机器语言当指令和地址采用二进制代码表示时,机器能够直接识别,因此称为机器语言。机器指令代码是。和1构成的二进制数信息,与机器的硬件操作一一对应。(2)汇编语言汇编语言是采用易于人们记忆的助记符表示的程序设计语言,方便人们书写、阅读和检查。一般情况下,汇编语言与机器语言一一对应。用汇编语言编写的程序称为汇编语言源程序。把汇编语言源程序翻译成机器语言程序的过程称为汇编;完成汇编过程的程序称为汇编程序;汇编产生的结果是机器语言程序(目标程序)。任务2.3 产品计数器电路和显示程序2.3.1 程序设计方法概述1.程序设计语言简介(3)高级语言高级语言是对计算机操作步骤
12、进行描述的一整套标记符号、表达格式、结构及其使用的语法规则。它是一种面向过程的语言,使用一些接近人们书写习惯的英语和数学表达式的语言去编写程序,使用方便,通用性强,不依赖于具体计算机。用高级语言编写的源程序,同样需要翻译成用各种机器语言表示的目标程序,计算机才能解释执行,完成翻译过程的程序称为编译程序或解释程序。高级语言程序所对应的目标代码往往比汇编语言要长得多,运行时间也更多。任务2.3 产品计数器电路和显示程序2.3.1 程序设计方法概述2.汇编语言源程序的设计步骤(1)分析任务(2)确定算法(3)画程序流程图(4)分配资源(5)编写代码(6)程序修改与调试任务2.3 产品计数器电路和显示
13、程序2.3.3 分支程序设计(1)单分支结构程序通常用条件转移指令形成简单分支结构。任务2.3 产品计数器电路和显示程序2.3.3 分支程序设计(2)两分支结构程序任务2.3 产品计数器电路和显示程序2.3.3 分支程序设计(3)三分支结构程序任务2.3 产品计数器电路和显示程序2.3.5 循环程序设计1.循环结构典型的循环结构一般包含:初始化循环处理循环控制结束任务2.3 产品计数器电路和显示程序2.3.5 循环程序设计2.单重循环程序设计(1)循环次数已知的循环程序任务2.3 产品计数器电路和显示程序2.3.5 循环程序设计2.单重循环程序设计(2)循环次数未知的循环程序任务2.3 产品计
14、数器电路和显示程序2.3.5 循环程序设计3.多重循环程序设计多重循环又称为循环嵌套,是指一个循环程序的循环体中包含另一个循环程序。(1)数制转换(2)软件延时任务2.3 产品计数器电路和显示程序2.3.6 子程序设计在程序设计过程中,经常会遇到在不同的程序中或同一个程序的不同地方执行同一个操作的情况,例如软件延时、代码转换等。为了缩短程序设计周期及程序长度,可以将这些程序段从源程序中分离出来单独组成一个程序模块,我们称为子程序。在需要使用这些模块的地方可以“调用子程序”。那些调用子程序的程序被称为主程序。主程序对子程序的调用是通过ACALI或LCALI指令完成的。一个主程序可以多次调用同一个
15、子程序,也可以调用多个子程序。子程序也可调用其他子程序(也称为子程序嵌套)。任务2.3 产品计数器电路和显示程序2.3.6 子程序设计3.子程序的嵌套调用任务2.4 产品计数器设计制作和调试2.4.1 产品计数器的设计和仿真调试1.设计方案选择根据需要和可能,提出两个方案:(1)46位数码管显示硬件译码的电路。这个可以在生位数码管的基础之上改进,显示数字多,适应性好,但是外部硬件多,成本高,软件简单。(2)23位数码管显示软件译码的电路。这个可以在2位数码管的基础之上改进,显示数字少,但是外部硬件少,成本低,软件相对复杂。此外,还可以利用所学知识,加上现有条件对以上方案改进,完成项目要求。Th
16、anks原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材自动防盗报警器中断系统任务3.1 中断控制LEDMCS-51单片机的中断系统任务要求:按钮按动一次,产生一次中断,中断服务程序中控制LEIS亮灯移位。知识要求:MCS-51单片机的中断系统及其控制。任务3.1 中断控制LEDMCS-51单片机的中断系统1.中断概念3.1.2 中断源单片机的CPU正在处理某个任务时,遇到其他事件请求(比如按钮按下或定时器溢出),暂时停止目前的任务,转去处理请求的事件,处理完后再回到原来的地方,继续原来的工作,这一过程称为“中断”,我们把请求的事件称为中断源。引起中断和处理中断的软件、硬件共同
17、构成单片机的中断系统。中断技术的采用使单片机具有快速响应突发事件的功能。任务3.1 中断控制LEDMCS-51单片机的中断系统2.中断源3.1.2 中断源(1)外部中断源(2)定时器/计数器中断源(3)串行中断源任务3.1 中断控制LEDMCS-51单片机的中断系统3.中断标志3.1.2 中断源(1)定时控制寄存器TCON中的中断标志任务3.1 中断控制LEDMCS-51单片机的中断系统3.中断标志3.1.2 中断源(2)串行控制寄存器SCON中的中断标志任务3.1 中断控制LEDMCS-51单片机的中断系统1.中断允许3.1.3 中断控制MCS-51系列单片机中断系统通过中断允许控制寄存器I
18、E实现开中断和关中断的功能。(1)IE寄存器IE寄存器由一个中断允许总控制位和各中断源的中断允许控制位构成,从而进行两级中断允许控制。IE寄存器可以位寻址,各位定义如下:任务3.1 中断控制LEDMCS-51单片机的中断系统2.中断优先级3.1.3 中断控制当多个中断源同时向CPU请求中断时,就出现了CPU应该先响应哪个中断请求的问题。往往根据中断源引发事件的轻重缓急为其设置不同的优先级,优先级是单片机对中断源响应次序的规定,优先级高的中断请求先响应,优先级低的中断请求后响应。(1)IP寄存器任务3.1 中断控制LEDMCS-51单片机的中断系统2.中断优先级3.1.3 中断控制(2)自然优先
19、级当两个不同优先级的中断源同时进行中断请求时,单片机将先处理高优先级中断,后处理低优先级中断。任务3.1 中断控制LEDMCS-51单片机的中断系统3.中断的嵌套3.1.3 中断控制CPU在进行中断处理时可以响应更高级的中断请求,这种情况称为中断的嵌套。需要注意的是,引起中断嵌套的中断源的优先级一定要高于当前响应中断源的优先级,同优先级或低优先级中断源的中断请求不能引起中断的嵌套,中断嵌套如图所示。任务3.1 中断控制LEDMCS-51单片机的中断系统3.1.4 中断处理过程中断处理过程:中断请求中断响应中断服务中断返回任务3.1 中断控制LEDMCS-51单片机的中断系统3.中断的嵌套3.1
20、.5 中断程序设计方法任务3.2 多个外部中断源控制LED扩展外部中断源任务要求:按照项目规划单要求,设计硬件电路和程序。目的:巩固中断知识和程序设计方法。重点为外部中断应用。任务3.2 多个外部中断源控制LED扩展外部中断源3.3.3 单片机的电源控制任务3.4 自动防盗报警器的制作调试3.中断的嵌套3.4.1 制作和测试自动防盗报警器任务3.4 自动防盗报警器的制作调试3.4.2 程序下载和调试实物制作完成之后,检查无误,通电调试。首先使用下载软件,将程序下载到单片机的内部程序存储器。下载软件的使用方法请按照自己使用的软件要求进行。3.4.3 文档整理调试完成以后,还要整理文档,完善使用说
21、明书包括注意事项等内容。文件资料归档,总结经验教训,为以后参考。Thanks原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材电子秒表定时器/计数器任务4.1 电子秒表电路4.1.1 6位数码管显示电路见教材第125页4.1.2 电子秒表的驱动程序见教材第126页任务4.2 认识定时器计数与定时任务4.2 认识定时器计数与定时4.2.1 计数 计数就是对来自单片机外部的脉冲进行计数。单片机的P3.4(T0)和P3.5(T1)即为外部计数脉冲的输入端。所谓计数,就是对有效计数脉冲的计数。4.2.2 定时MCS-51系列单片机中的计数器除了可以作为外来脉冲计数器外,还可以对来自单片机
22、内部的计数脉冲进行计数,这就是定时。定时可以完成时钟功能。任务4.3 定时器/计数器的控制4.3.1 定时方式寄存器TMODMCS-51系列单片机中的计数器除了可以作为外来脉冲计数器外,还可以对来自单片机内部的计数脉冲进行计数,这就是定时。定时可以完成时钟功能。任务4.3 定时器/计数器的控制4.3.2 定时控制寄存器TCON任务4.3 定时器/计数器的控制4.3.3 定时器/计数器工作原理定时器/计数器的内部结构图如图所示。任务4.3 定时器/计数器的控制4.3.4 定时器/计数器的编程方式1.中断方式编程定时器/计数器在中断方式下的编程步骤如下:(1)开中断;(2)设置中断优先级;(3)T
23、MOD初始化;(4)设置定时/计数初值;(5)启动定时/计数;(6)编写定时/计数中断处理程序。任务4.3 定时器/计数器的控制4.3.4 定时器/计数器的编程方式2.查询方式编程定时器/计数器在查询方式下的编程步骤如下:(1)关中断;(2)TMOD初始化;(3)设置定时/计数初值;(4)启动定时/计数;(5)查询TFi及相关处理。任务4.4 定时器/计数器的工作方式与应用举例定时器/计数器的工作方式由TMOD寄存器的M1和M0控制决定,重述如下:M1、M0工作方式选择位。00工作方式0:13位计数器;01工作方式:1:16位计数器;10工作方式2:自动重装初值的8位计数器;11工作方式3:对
24、于T0,分解为两个8位计数器,对于T1,停止。任务4.4 定时器/计数器的工作方式与应用举例 定时器/计数器T0和T1在方式0下的工作情况完全相同。此时的计数寄存器为13位,构成如下:4.4.1 工作方式0任务4.4 定时器/计数器的工作方式与应用举例 定时器/计数器T0和T1在方式1下的工作情况完全相同。此时的计数寄存器为16位,构成如下:4.4.2 工作方式1任务4.4 定时器/计数器的工作方式与应用举例 在方式0和方式1中,当定时/计数溢出后计数寄存器的内容为0,在下一次定时/计数时需要进行初值重载,初值重载是由软件实现的。如果需要多次进行定时/计数,则需占用较多CPU时间且影响精度。定
25、时器/计数器在方式2下可由硬件自动实现初值重载。T0和T1在方式2下为8位定时器/计数器,二者的工作情况相同。由TIi充当计数寄存器,由THi充当初值重载寄存器,如图所示。4.4.3 工作方式2任务4.4 定时器/计数器的工作方式与应用举例定时器/计数器T0在方式3下是双8位计数器结构,定时器/计数器T1在方式3下停止计数。如图所示是定时器/计数器T0在方式3下的逻辑电路图。T0的低8位(TL0)在方式3下占用T0的控制位和引脚信号,成为一个8位的定时器/计数器。其功能和操作与方式0和方式1完全相同。4.4.4 工作方式3任务4.5 电子秒表的仿真调试和制作 关于软件设计,程序设计思路如下:让
26、定时器T0定时10 ms,时间到就中断,将中断次数记录起来作为时间单位,100个10毫秒就是1秒,60个1秒就是1分钟。定时器T0启动/停止的最后控制权交给外部引脚INT0(P3.2)。随时将记录的分和秒数送给显示器(数码管)。不需要的显示数就清零。4.5.1 设计思路任务4.5 电子秒表的仿真调试和制作可以按照Proteus软件的操作方法打开参考文件:电子秒表.dsn,运行,就可以看到结果。单击“启动/停止”按钮,可以看到计时变化;单击“清零”按钮,可以看到显示回到全零。制作和调试过程,按照电子文档中附录的有关要求执行。从原理图到PCB板设计,用Proteus或者Protel 99,亦可参照
27、PCB图在万能板上制作。焊接、测量和电路功能验证。可以在最小系统的基础上,增加接日电路按钮和数码管。然后下载程序,调试,直到符合要求为止。最后整理文档,项目总结。4.5.2 仿真调试和制作任务4.5 电子秒表的仿真调试和制作增加年月日功能。不需要秒表的时候,就可以作为一般的时钟使用,还可以加上日历,使用更加方便。增加记录功能。记录每一次秒表测量结果,附上记录时间,便于事后检查,这对于野外作业很有用。如果有其他需求的功能也可以附加进来,以便产品性价比更好。4.5.3 电子秒表的改进Thanks原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材远程控制电子钟串行接口与应用任务5.1
28、了解有关通信的知识5.1.1 数据通信的概念 计算机的CPU与外部设备之间以及计算机与计算机之间的信息交换称为数据通信。基本的数据通信方式有两种:并行通信和串行通信。1.并行通信 并行通信是数据的各位同时进行传送(发送或接收)的通信方式。其优点是数据传送速度快;缺点是数据有多少位,就需要多少根传送线。2.串行通信 串行通信是数据的各位一位一位顺序传送的通信方式。其优点是数据传送线少(利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信;其缺点是传送速度较低。任务5.1 了解有关通信的知识5.1.2 串行通信中数据的传输方式串行通信中数据的传输方式有单工、半双工和全双工传输
29、方式。单工传输方式:数据只能单方向地从一端向另一端传送。半双工传输方式:允许数据向两个方向中的任一方向传送,但每次只允许向一个方向传送。全双工传输方式:允许数据同时双向传送。全双工通信效率最高,适用于计算机之间的通信。任务5.1 了解有关通信的知识5.1.3 串行通信的两种基本通信方法1.同步通信任务5.1 了解有关通信的知识5.1.3 串行通信的两种基本通信方法2.异步通信任务5.1 了解有关通信的知识5.1.4 串行通信的传送速率 1.波特率通信线路上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据传送速率确定,而传送速率是以每秒传送多少个二进制位来度量的,这个速率叫波特率,
30、它的单位是位/秒(b/s或bps)。波特率对于CPU与外部的通信很重要。2.允许的波特率误差假设传递的数据一帧为10位,若发送和接收的波特率达到理想预设,那么接收方对数据的采样都将发生在每位数据有效时刻的中点。如果接收一方的波特率比发送一方大或小5%,那么对10位一帧的串行数据,时钟脉冲相对数据有效时刻逐位偏移,当接收到第10位时,积累的误差达50%,则采样的数据已是第10位数据的有效与无效的临界状态,这时可能发生错位,所以5%是10位一帧串行传送的最大的波特率允许误差。任务5.1 了解有关通信的知识5.1.5 串行通信中的校验1.奇偶校验奇偶校验是检验串行通信双方传输的数据正确与否的一个方法
31、,并不能保证通信数据的传输一定正确。换言之,如果奇偶校验发生错误,表明数据传输一定出错;如果奇偶校验没有出错,不等于数据传输完全正确。奇校验:8位有效数据连同1位附加位中,二进制“1”的个数为奇数。偶校验:8位有效数据连同1位附加位中,二进制“1”的个数为偶数。2.和校验所谓和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。任务5.2 认识单片机的串行口5.2.1 串行口结构MCS-51系列单片机
32、串行日由串行控制器电路、发送电路和接收电路三部分组成。任务5.2 认识单片机的串行口5.2.2 串行口控制1.串行控制寄存器SCONSCON寄存器的字节地址为98H,可位寻址,位地址为98H9FH。SCON用于设定串行日工作方式、接收发送控制及设置状态标志。SCON格式如下:任务5.2 认识单片机的串行口5.2.2 串行口控制(1)SM0,SM1串行日的工作方式选择位任务5.2 认识单片机的串行口5.2.2 串行口控制(1)SM2多机通信控制位。(3)REN允许串行接收控制位(4)TB8为发送数据位(5)RB8为接收数据位(6)TI发送完成标志位(7)RI接收完成标志任务5.2 认识单片机的串
33、行口5.2.2 串行口控制2.电源控制寄存器PCON3.中断允许控制寄存器IEIE寄存器控制中断系统的各中断的允许与否。其中与串行通信有关的位有EA和ES位,当EA=1且ES=1时,串行中断允许。任务5.3 单片机串行口的工作方式和应用5.3.1 串行口方式01.发送2.接收3.方式0的波特率任务5.3 单片机串行口的工作方式和应用5.3.2 串行口方式1方式1是10位为一帧的全双工异步串行通信方式,共包括1个起始位、8个数据位(低位在先)和1个停止位。TXD为发送端,RXD为接收端,波特率可变。其帧格式为:任务5.3 单片机串行口的工作方式和应用5.3.3 串行口方式2串行日工作于方式2,为
34、波特率固定11位异步通信日,发送和接收的一帧信息由11位组成,即1位起始位、8位数据位(低位在先),1位可编程位(第9位)和1位停止位,TXD为发送端,RXI为接收端,发送时可编程位(TB8)根据需要设置为“。”或“1(TB8既可作为多机通信中的地址数据标志位又可作为数据的奇偶校验位);接收时,可编程位的信息被送入SCON的RB8中,其帧格式为:任务5.3 单片机串行口的工作方式和应用5.3.4 串行口方式3串行日工作于方式3,为波特率可变的11位异步通信方式,除了波特率外,方式3和方式2相同。方式3的波特率和方式1的波特率计算方法相同。5.3.5 关于11位帧格式的使用1.关于奇偶校验奇偶校
35、验,就是在发送了8位数据之后,再来一个奇偶检验位。任务5.3 单片机串行口的工作方式和应用5.3.5 关于11位帧格式的使用2.关于多机通信任务5.4 远程控制电子钟的设计5.4.1 远程控制电子钟的电路设计(见教材162页)5.4.2 PC机的串行口任务5.4 远程控制电子钟的设计5.4.3 单片机与PC机串口相连任务5.4 远程控制电子钟的设计5.4.4 远程控制电子钟的程序设计 程序名:T0方式1时钟595远控.asm,这里只介绍程序思路和重点子程序。先利用伪指令定义资源使用。然后是主程序,进行初始化,包括定时器T0、T1和串行日,中断,堆栈,各种初值。1.时钟部分2.远程通信部分3.远
36、程控制部分任务5.5 远程控制电子钟的仿真调试【技能训练5-4】远程控制电子钟。目的:串行日通信和模拟串行日扩展I/()端日输出。内容:定时器T0方式1产生时间,中断编程。模拟串行日输出扩展并行日,用于数码管显示、按键对表、串行日远程通信。任务5.6 其他串行总线介绍5.6.1 串行总线概述1.UART总线UART是一种通用串行数据总线(Universal Asynchronous Receiver/Transmitter,通用异步收发器的缩写UART),用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART常用来与PC进行通信。MCS-51系列单片机的串行日,就具有
37、UART功能。其他大多数单片机也都具有功能类似的内置串行日。任务5.6 其他串行总线介绍5.6.1 串行总线概述2.USB总线USB是一个外部总线标准,用于规范计算机与外部设备的连接和通信。USB(UniversalSerial Bus,通用串行总线)是在1992年底由英特尔、康柏、IBM和微软等多家公司联合提出的。USB基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本以及扩展PC连接外设范围的目的。任务5.6 其他串行总线介绍5.6.1 串行总线概述3.单总线不意图单总线的特点是只使用一根导线,既传送数据又包含时钟信息,同时还具有供电作用。当然还需要一根地线。其数据传输方向是
38、双向的(半双工),其传输距离在几十米到几百米之间,主要用于组建小型低速测控网络。典型芯片是DS18B20,测量温度用。温度测量范围:-55+125;分辨率:士0.5(-10+85时)。其他产品还有:A/D转换器DS2250,可寻址控制开关,如DS2205、DS2206以及DS2209等。具体的工作原理和应用将在项目8中详细介绍。任务5.6 其他串行总线介绍5.6.1 串行总线概述4.同步串行总线(SPI)SPI是英文Serial Peripheral Interface的缩写,中文意思是串行外围设备接日,SPIMotorola公司推出的一种同步串行通信方式,是一种三线同步总线,因其硬件功能很强
39、,SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。SPI总线系统图如图所示。任务5.6 其他串行总线介绍5.6.1 串行总线概述5.CAN总线(控制器区域网络)控制器区域网络(CAN)是一个多主异步串行总线。CAN总线使用一对双绞线通信(电源自备)。当总线空闲时,任何CAN节点都可以开始数据发送。如果两个或更多的节点同时开始发送,就使用标识符来进行按位仲裁以解决访问冲突。CAN是一个广播类型的总线,所有节点都接收总线上的数据,硬件上的过滤机制决定消息是否提供给该节点使用,这种总线现在广泛应用在工业场合和汽车上。6.I2 C总线I2 C由Philips公司在20世纪80年代开发,主
40、要用于芯片级通信。I2 C总线需要两条双向信号线路,一条用于时钟,一条用于数据,另外还需要接地线和电源线。Thanks原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材http./ 认识单片机三总线6.1.1 MCS-51系列单片机三总线概述总线就是连接系统中各扩展部件的一组公共信号线。按照功能可分为地址总线AB、数据总线DB和控制总线CB。任务6.1 认识单片机三总线6.1.2 MCS-51系列单片机三总线的形成1.PO端口线用作数据线/低8位地址线任务6.1 认识单片机三总线6.1.2 MCS-51系列单片机三总线的形成2.P2端口线用作高8位地址线任务6.1 认识单片机三总
41、线6.1.2 MCS-51系列单片机三总线的形成3.控制信号任务6.1 认识单片机三总线6.1.3 I/O接口扩展方法1.扩展并行输出口(I)用72LS372扩展并行输出日任务6.1 认识单片机三总线6.1.3 I/O接口扩展方法1.扩展并行输出口(I)用72LS372扩展并行输出日任务6.1 认识单片机三总线6.1.3 I/O接口扩展方法任务6.1 认识单片机三总线6.1.4 使用地址译码器扩展I/O接口任务6.2 点阵式LED广告屏的电路设计6.2.1 认识LED点阵【技能训练6-2】认识LED点阵器件。目的:认识点阵器件,掌握接线规律。内容:使用Proteus软件的调试工具,测试LED点
42、阵元件的特性。任务6.2 点阵式LED广告屏的电路设计6.2.2 LED点阵的扫描式显示驱动电路涉及扫描式显示原理,驱动电路,总线驱动,地址分配,I/()端日地址和存储器地址分配,常用器件,译码器以及可编程I/()器件等。【技能训练6-3】扫描显示。目的:认识点阵器件的扫描显示,掌握编程方法。内容:使用Proteus软件,画出测试电路,编写扫描式显示程序并调试,得到稳定的显示效果。参考文件:点阵8X8扫描.dsn。任务6.2 点阵式LED广告屏的电路设计6.2.3 点阵式广告屏的电路设计【技能训练G-4】点阵式LED广告屏电路设计。目的:设计16X16点阵广告屏。内容:设计能显示三个汉字的LE
43、D广告屏,显示“单片机”三个汉字。任务6.3 点阵式广告屏的程序设计6.3.1 图形和字模通过技能训练6-3项目,我们知道一个字符或图形的显示是由很多的点组成的。要显示不同的图形,需要不同的点组合,这就要对每一个点进行控制。如果要对每一个点单独控制,电路会很复杂,于是就有了扫描式显示,电路相对简单一些。任务6.4 点阵式广告屏的制作调试和改进6.4.1 制作和调试实际制作,最好是四个汉字以上的屏幕,否则内容太少信息可能不完整。用Proteus或者Protel 99完成从原理图到PCB板的设计,亦可参照PCB图在万能板上制作。焊接、测量和电路功能验证。然后下载程序、调试,符合要求为止。6.4.2
44、 改进方向1.扩展外部存储器,增加显示内容、增加串行接日与PC机通信,随时改变显示内容等其他特色功能等。2.为了实现这些功能,需要将显示内容送给单片机系统,单片机系统需要有足够的存储空间来保存这些内容,而且这些内容要确保断电不会丢失,否则,每次开机都要重复送入同样内容,很不方便。概括起来两条:一是要把新的显示内容送给LEIS屏控制器,在项目5中已经研究过;二是要有可以改写的并能掉电不丢的存储器,这个问题将在后续项目中讲述。Thanks原理与接口技术主编:于军新世纪应用型高等教育计算机类课程规划教材LCD日历时钟人机接口任务7.1 键盘接口7.1.1 按键与去抖1.按键的分类键盘输入是单片机应用
45、系统中使用最广泛的一种输入方式。键盘的主要元件是各种按键或开关。这些按键或开关可以独立使用,也可以组合成键阵使用。在单片机应用系统中,使用较多的按键或开关,有带自锁和非自锁的、常开或常闭的以及微动开关和ICI P开关等。2.按键电路及按键抖动处理任务7.1 键盘接口7.1.2 键盘接口单片机中常用的按键式键盘可以分为两类:(1)独立连接式键盘 独立连接式键盘是一种最简单的键盘,每个键独立地接入一根数据输入线。(2)矩阵式键盘 矩阵式键盘是指由若干个按键组成的开关矩阵。任务7.1 键盘接口7.1.3 键盘输入程序设计举例1.CPU对键盘扫描的方式(1)程序控制的随机方式。(2)定时控制方式。(3
46、)中断方式。任务7.1 键盘接口7.1.3 键盘输入程序设计举例2.键盘扫描程序处理过程(1)判断键盘上是否有键闭合;(2)去除键的机械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合仅做一次处理。任务7.2 LED显示接口7.2.1 LED显示与驱动1.LED数码管显示器2.LED点阵模块显示器3.LED的驱动接口任务7.2 LED显示接口7.2.2 LED数码管静态显示LEIS数码管显示器常用的工作方式有静态显示方式和动态显示方式两种。静态显示是指当显示器显示某一个字符时,LEIS的位选恒定地被选中。在这种显示方式下,每一个LEIS数码管显示器都需要
47、一个8位的输出日进行控制。由于单片机本身提供的I/O接日有限,在实际使用中通常通过扩展I/O接日的形式解决输出日数量不足的问题。电子钟就是利用串行日扩展6个并行日实现静态显示。静态显示:参看仿真文件595.dsn,串行日扩展并行日静态显示6位计数器,也可以参考仿真文件。809ADC+.dsn,其中用到了串行日扩展并行日的静态数码管显示。任务7.2 LED显示接口7.2.3 LED数码管动态显示动态显示方式,是指逐位轮流点亮每位数码管(称为扫描),即每个数码管的位选被轮流选中,多个数码管共用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导
48、通电流有关,也与点亮时间和间隔时间的比例有关,通过调整电流和时间参数,可以既保证亮度又保证显示连续。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O接日进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位日(称为段码输出)。为了节约I/O接日线,常采用动态显示方式。任务7.3 LCD显示7.3.1 LCD液晶显示器简介1.LCD的结构和工作原理LCD是通过在上、下玻璃电极之间封入液晶材料,利用晶体分子排列和光学上的偏振原理产生显示效果的。同时,上、下电极的电平状态将决定LCD的显示内容,根据需要,将电极做成各种文字、数字或图形后,就可以获得各种状态显示。通常情况下,图
49、中的上电极又称为段电极,下电极又称为背电极。任务7.3 LCD显示7.3.1 LCD液晶显示器简介2.LCD的分类及特点LCD显示器有段式和点阵式两种,点阵式又可分为字符型和图像型。任务7.3 LCD显示7.3.1 LCD液晶显示器简介3.LCD显示模块任务7.3 LCD显示7.3.2 常见LCD显示模块FM1602的介绍1.基本特性任务7.4 LCD显示的日历时钟设计7.4.1 LCD日历时钟的电路设计7.4.2 LCD日历时钟的程序设计任务7.5 日历时钟的完善 改进方向:闹钟功能、音乐播放或改用12862显示等。最后的自动打铃器项目,是日历时钟的改进版。Thanks原理与接口技术主编:于
50、军新世纪应用型高等教育计算机类课程规划教材数字温度控制器I/O过程通道任务8.1 温度控制器电路设计8.1.1 设计要求设计一个简易温度控制器,功能:099控制,通电加热,断电自然降温,如有必要,可以加风扇降温。设置一个温度点,低于此值自动通电加热,高于此值自动断电。显示:两个带译码器的数码管。设置控制温度值的时候,显示控制值。设置完成后自动显示当前测量的温度值。可以应用在大棚温度控制,洗浴水温控制等场合,只要把温度传感器放在需要测温的介质里就可以了。操作:打开电源,自动开始测温并控制加热器工作,按设置键,进入设置功能,显示设置温度,并闪烁,按增加键,设定温度加1,按减少键,设定温度减1。8秒