MCS51单片机课程设计教案.doc

上传人:大张伟 文档编号:7197328 上传时间:2020-11-05 格式:DOC 页数:25 大小:981.01KB
返回 下载 相关 举报
MCS51单片机课程设计教案.doc_第1页
第1页 / 共25页
MCS51单片机课程设计教案.doc_第2页
第2页 / 共25页
MCS51单片机课程设计教案.doc_第3页
第3页 / 共25页
MCS51单片机课程设计教案.doc_第4页
第4页 / 共25页
MCS51单片机课程设计教案.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《MCS51单片机课程设计教案.doc》由会员分享,可在线阅读,更多相关《MCS51单片机课程设计教案.doc(25页珍藏版)》请在三一文库上搜索。

1、MCS-51单片机课程设计(交通控制灯的制作)第一讲一单片机的概念所谓单片机就是将计算机的CPU、RAM、ROM、定时器/计数器和各种I/O口(如并行口、串行口等)集成在一片芯片上而制成的大规模集成电路。形成芯片级的计算机。因此单片机早期的含义称为单片微型计算机,简称为单片机(Single Chip Microcomputer)。CPU:是计算机的核心,叫做中央处理单元(Center Process Unit)。所有的数学运算和逻辑控制都由它完成。RAM:随机存取存储器(Random Access Memory),存放运算过程中的数据。ROM:只读存储器(Read Only Memory)。定

2、时器/计数器:计算机内部重要部件。I/O:输入/输出口(Input/Output),包括并行口、串行口等。二单片机的特点1 小巧灵活,成本低,易于产品化。2 面向控制,能针对性解决从简单到复杂的各类控制任务,因而能获得最佳性能价格比。3 抗干扰能力强,能在恶劣的环境下可靠工作。三单片机的应用1 工业方面:电机控制、过程控制、智能传感器等2 仪器仪表方面:智能仪器、医疗器械等3 民用方面:电子玩具、家电产品、游戏机等4 军事方面:导弹控制、智能武器装置等5 其它四、 MCS-51单片机内部结构(如图)内部BUS内中断振荡器OSC程序存储器4KB ROM数据存储器128B RAM216位定时器/计

3、数器8051CPU可编程并行口可编程串行口外中断1 1个8位的CPU2 一个片内振荡器及时钟电路3 4KB ROM(不同型号内容不同,看书)4 128B 内部RAM5 可寻址64KB的外部ROM和外部RAM的控制电路6 两个16位定时器/计数器(Timer/Counter)7 26个特殊功能寄存器(SpecialFunction Register)8 4个8位并行(Parallel)I/O口9 一个串行口(Series)10 5个中断源(Interrupt)这些我们称为单片机的资源(Souce),单片机的应用就是怎么充分合理地利用这些资源,来解决实际中的问题。五、MCS-51单片机的CPUMC

4、S-51的CPU包括两部分:运算部件和控制器。1运算部件运算部件包括算术逻辑部件ALU、布尔处理器、累加器A、寄存器B、暂存器以及程序状态寄存器PSW等。该部分的功能是实现数据的算术逻辑运算、位变量处理和数据的传送操作。ALU的功能十分强,可以对8位变量进行逻辑“与”、“或”、“异或”、循环、求补和清零等基本操作,还可以进行加、减、乘、除等基本运算。还可对位(BIT)变量进行布尔处理,如置位、清零以及逻辑“与”、“或”等操作。累加器A是一个8位的累加器(也可以写为ACC),绝大部分运算和操作都同A有关。在程序中用的最多。另外它有一个进位标志CY,同时又是布尔处理器的累加器。寄存器B是专为执行乘

5、法和除法操作而设置的,一般情况下也可以作为暂存器使用。程序状态寄存器PSW是一个8位的寄存器,内部存放程序运行状态的信息。2控制器(Controler)控制器是单片机的神经中枢,以振荡器的频率位基准,产生CPU时序,对指令(Command)进行译码,然后发出各种控制信号,实现各种操作。六、MCS-51单片机最小应用系统1、最小硬件系统(System)所谓最小硬件系统是指单片机能工作所必须具备的硬件条件,它包括四个部分:1)电源芯片接上5V电源,即40脚接5V电源的正,20脚接5V电源的负。2)时钟电路18、19脚接晶体振荡器和电容构成时钟电路。3)程序存储器选择EAAT89S51片内有EEPR

6、OM,EA接“正”。4)复位电路8.2KRSTVCC+5V+5V+5V40 31 89C511 9 181920EA10F6MHz20P为保证单片机正常工作,必须有复位电路,电路复位后程序从头开始运行。要使电路复位,只要在复位引脚上加两个机器周期以上的高电平。2、MCS-51复位状态1)复位后PC值为0000H,程序(Program)从头运行(Run)。2)SP为07H3)P0P3口为FFH4)其余的SFR被置为03、I/O口线 P0口:8位双向I/O口。在访问外部存储器时,P0口可用于分时传送低8位地址总线和8位数据总线。能驱动8个LSTTL门。 P1口:8位准双向I/O口(“准双向”是指该

7、口内部有固定的上拉电阻)。能驱动4个LSTTL门。 P2口:8位准双向I/O口。在访问外部存储器时,P2口可用于高8位地址总线。能驱动4个LSTTL门。 P3口:8位准双向I/O口。能驱动4个LSTTL门。P3口还有第二功能。I/O口应用要求: (AT89S51)I/O口 作输入使用 作输出使用 带负载能力 P0 先向对应锁存器写入“1” 上拉电阻 8TTLP1 同上 / 4TTLP2 同上 / 4TTLP3 同上 / 4TTL七、单片机应用的一般步骤:1硬件电路设计:单片机的最小应用系统: 包括电源、时钟电路、复位电路、程序存储器选择四个方面。制作显示电路。 状态指示灯和LED/LCD显示电

8、路。制作键盘电路。 行列式键盘或独立式按键接口电路。根据系统的实际情况选择自己的键盘电路。2软件设计:新建文件-保存(文件名和扩展名有何要求?)文件名长度小于等于8个字符,扩展名为ASM文件要保存在自己的文件夹中程序的一般结构 ORG 0000H LJMP SETUP;起始程序 ;中断入口地址 ORG 0030HSETUP: ;初始化部分MAIN: ;主程序 LJMP MAIN ;子程序和中断服务程序 END ;汇编程序结束先编好程序的一般结构,具体程序添加在一般结构的相应位置,要始终保持程序结构的完整性。 标点符号要在英文格式下输入。 编译-编译过程中自动检查语法错误,出现信息窗口提示错误类

9、型,并指出所在行。修改错误直到编译通过。仿真-观察CPU窗口、DATA窗口 -复位后执行单步F8或跟踪F7比较单步F8和跟踪F7的区别3下载:用编程器将目标文件*.HEX下载到单片机芯片中。 (器件选择、目标文件装入、擦除、写入)4通电调试:将单片机放到硬件电路上通电调试第二讲一、特殊功能寄存器SFRSFR也属于内部存储器,由于它是专用的,人们通常讲的内部RAM只指前面的128个,而不包括SFR。共计21个,它们离散的分布在80HFFH内。参看P34-35页的表。对特殊功能寄存器应注意以下几个问题:1 那些是可以位寻址的,字节地址(Address)的末位为0或8。2 可位寻址的SFR的几种操作

10、方式。3 不可位寻址的SFR的操作方式。4 80HFFH中其余单元,不要使用。5 程序状态寄存器PSW位编号PSW.7PSW.6PSW5PSW.4PSW.3PSW.2PSW.1PSW.0位地址D7HD6HD5HD4HD3HD2HD1HD0H位定义名CYACF0RS1RS0OVPRS1、RS0=000区(00H07H)RS1、RS0=011区(08H0FH)RS1、RS0=102区(10H17H)RS1、RS0=113区(18H1FH)CY 与的区别OV:CY为无符号数运算时的进位或借位标志,OV为有符号数运算时的溢出标志。二、RAM内部RAM:(00H7FH)内部数据存储器的空间编址是00H7

11、FH,共128个,它又分为三部分:工作寄存器区,位寻址区和数据缓冲区。堆栈、数据缓冲区(30H7FH)位寻址区(202FH)工作寄存器3区(18H1FH)工作寄存器2区(10H17H)工作寄存器1区(08H1FH)工作寄存器0区(00H07H)1 工作寄存器区00H1FH共32个单元,分为4组,每次只有一组处于工作状态,通过改变状态寄存器PSW中RS1,RS0的设置来改变当前使用的工作寄存器。指令系统中有专用于工作寄存器的操作,读写速度比一般内RAM要快,另外还具有间接寻址功能,使用很方便。2 位寻址区20H2FH共16个单元为位寻址区,每个单元也就是一个字节8位,共计128位,每位对应一个地

12、址,地址的范围为00H7FH。位寻址区的主要用途是存放各种标志位信息和位数据。3 数据缓冲区(Buffer)内RAM中30H7FH为数据缓冲区,用于存放各种数据和中间结果。中断源(AT89C51)中断源 5个 中断源名称 入口地址外部中断0 INT0 0003H定时器0 T0 000BH外部中断1 INT1 0013H定时器1 T1 001BH串行口 0023H三、外部中断应用步骤: 1)硬件上:在对应的中断引脚上加有效请求信号外中断0 (12引脚P3.2)/外中断1 (13引脚P3.3)2)在程序开头送入口地址 ORG 0003H LJMP INEXOP 3)外部中断初始化 IT0 信号触发

13、方式/SETB IT0 EX0 中断允许/SETB EX0 EA 总中断允许/SETB EA4)对应中断服务程序 保护现场 PUSH (压入堆栈) 恢复现场 POP (弹出堆栈)(堆栈:先进后出,后进先出)四、定时器中断的应用步骤:1.在程序开头送入口地址2.定时器初始化2.1选择定时器工作方式:MOV TMOD,#11H2.2送定时初值 TH0(TH1) /MOV TH0,#;定时初值高八位TL0(TL1)/ MOV TL0,#;定时初值低八位2.3、启动定时器 (TR0 TR1) SETB TR0 2.4、定时器中断允许(ETO ET1) SETB ET0 SETB ET12.5、开总中断

14、EA SETB EA3.定时器服务程序 保护现场 重装初值 恢复现场 五、 MCS-51单片机的设计思路和步骤一个单片机的控制系统在运行时,一般情况下都需要和使用它的人之间交换信息。单片机运行的状况要有指示或显示,便于人掌握运行情况,同时人也要给单片机系统输入适当的参数,控制或改变其运行。单片机应用系统一般都包含显示和键盘电路(除特别简单的应用),在设计制作时应首先做好显示电路,便于后面的工作展开,如键盘电路是否正确可以通过显示电路表现出来。硬件制作和软件互相配合,程序编制也应跟硬件制作同步,即某部分电路制作好以后编写相应的程序对其操作,看是否达到设想的要求。单片机应用系统的一般设计步骤如下:

15、1 制作最小应用系统,也即单片机能工作的最基本的必要条件。包括电源、时钟电路、复位电路、程序存储器选择四各方面。2 制作显示电路。状态指示灯和LED/LCD显示电路,根据系统工作的性能要求确定显示电路的形式,分配资源并要考虑后面制作对资源的要求,综合考虑。编写相应的控制或显示程序。3 制作键盘电路。行列式键盘或个独立式按键接口电路。根据系统的实际情况选择自己的键盘电路,如果是系统要求的按键比较多,或要求直接能输入数字、字符,一般选用行列式键盘,其它情况下一般用独立式按键,并且可以采用复合功能的方法减少键的数量。同样硬件的制作也要和软件同步,特别要和显示程序结合起来。4 其它功能电路设计制作。包

16、括输出的驱动电路、数字量输入的缓冲整形电路、A/D、D/A转换电路、模拟量的变换电路等。需要根据它们之间内在关系确定制作的前后顺序,同步地编写控制程序。合理使用定时器,定时器也可以看作是硬件的资源,由于数量有限,需合理配置满足系统要求。六、 MCS-51单片机应用程序的一般结构ORG 0000HLJMP SETUP ;起始程序 ;中断服务程序入口地址ORG 0030HSETUP: ;初始化部分 MAIN: ;主程序 LJMP MAIN ;子程序和中断服务程序END汇编语言的程序结构在软件设计过程中非常重要,程序结构的错误将导致系统不能运行,因此在编写程序过程中应始终保持程序结构的完整性。程序的

17、开头一般都是一句跳转语句,要跳过中断服务入口地址。初始化部分一般包括系统运行的起始参数和运行状态标志的设置,内部中断源的设置等。初始化程序还应考虑堆栈的设置,一般应将堆栈设置在数据缓冲区,跳过工作寄存器区和位寻址区。主程序一般是显示程序和键盘程序(键盘用程序控制扫描方式时)。主程序是循环程序。程序内容上的错误是容易检查,通过运行的状态和结果可以判断出问题所在,而结构的错误往往较难判断,最好在编写过程中注意。七、 位信息的使用在实际的单片机应用程序的设计中,程序比我们实验上设计的程序要复杂得多,不是课堂上讲的顺序程序和循环程序,更多的是分支程序,分支程序的设计要根据某一状态确定程序执行的分支。在

18、程序设计中大多数要编程者人为分配位地址,来存放这些状态信息。位信息的使用需要注意以下几个方面:1 位信息只能用来存放两个相反的状态,对于多状态的情况需要用多个位信息的组合表示。如:表示灯的亮灭,开关的闭合都可以用一个位信息来表示,而要表示红灯、绿灯和黄灯量的状态,一个位信息显然无法存放,我们可以用两个位信息的组合来表示,BIT1=1时,BIT2任意值表示红灯亮、绿灯灭、黄灯灭的状态;BIT1=0时,BIT2=0表示红灯灭、绿灯亮、黄灯灭的状态;BIT1=0时,BIT2=1表示红灯灭、绿灯灭、黄灯亮的状态;2 位信息在使用前都必须初始化,在初始化程序中确定其初始的状态值以及所表示的状态。一般在初

19、始化时都设为0(可以根据编程者的习惯任意设定),在需要改变时用指令切换。3 位信息的修改一般都是“双次”的,“双次”的意思是某一位信息被改变了,在程序的其它地方一定有使其恢复的操作。只有极个别情况下不是这样,如系统出现某一种特殊状态,不允许继续运行程序,继续运行可能造成控制系统设备或人员的损伤。这时系统待外部检查没有问题了,从上电开始重新运行。4 位信息的使用在很多情况下是和定时器配合使用,编写多延时程序;或者和键盘程序配合使用,实现按键的复合功能。八、 多延时程序设计在单片机的实践应用中,经常遇到多个同时(三个以上)与延时有关的程序设计,我们把这样的程序称为多延时任务程序。多延时任务程序从任

20、务间的关系上分为两类:一是各延时时任务间无时间关联,称为简单多延时任务程序。二是延时任务程序间有时间关联,延时任务的执行同时启动其它一个或多个延时任务操作,或者延时任务执行的同时启动自己的取消操作延时,这类多任务程序称为复合多延时任务程序。由于单片机内部的定时器数量总是有限的,如MCS51系列单片机,内部只有23个定时器。这时就需要用位信息和定时器配合设计多延时程序。方法步骤如下:1 首先,为每个时间任务分配一个计时标志(用位寻址区的位存放,1计时,0不计时)、计时单元(一般用内部RAM)和执行标志(1有效,0撤消)。2 找出所有时间任务的公倍时间值,这个时间值要小于单片机系统的定时器能产生的

21、最大定时值,定时值时间越长越好,可以减少定时器中断的次数。3 分配一个定时器反复产生确定的公倍时间。4 在需要执行某一时间任务时,置位该任务的计时标志并清除其计时单元。该操作可能在系统初始化时执行,也可在主程序中,或者是某一延时任务动作时执行,示具体的任务间关系而定。在定时器的服务程序中,判断这些任务的计时标志是否为1,为0不计时,去判断下一任务的标志。如果为1,相应计时单元加1,并和设定的值比较,达到设定值时,置该任务的执行标志为1,同时清除其计时标志。5 主程序或其它程序检查到某一任务执行标志时执行相应的操作。例:用一个定时器输出多路矩形波在P1.0和P1.1引脚输出图3所示的多路矩形波(

22、输出更多路信号,方法类似)。将要输出的信号分解成若干个延时任务。P1.0输出信号可以分成两个延时任务,TASK1延时2ms使P1.0输出低电平,TASK2延时3ms使P1.0输出高电平,且TASK1和TASK2相互交替启动对方延时。同样可以把P1.1输出分解成延时任务TASK3和TASK4。显然这4个延时任务的最大公倍延时时间为1ms。 P1.0P1.12ms3ms3ms4ms 单片机输出多路矩形波延时任务TASK1TASK2TASK3TASK4计时标志00H01H02H03H计时单元70H71H72H73H计时标志位和计时单元由于4个延时任务的操作都是简单的操作,可以直接放在定时器的服务程序

23、中执行,只需为每个任务分配一个计时标志和一个计时单元,如表1所示。在初始化程序中将定时器T0设置为方式1定时模式,定时1ms,所有计时单元清为0,位地址00H、02H置为1,位地址01H、03H置为0,P1.0置为1,P1.1置为0,波形的输出在T0的中断服务程序中完成。第三讲一、课题:设计一个交通控制灯二、设计目的 1、掌握MCS-51单片机应用的一般步骤 2、掌握单片机内部资源的使用方法 3、了解位信息的使用、多延时程序设计 4、设计制作一个交通控制灯三1基本要求(1)用红、绿灯(LED二极管)指示某一方向通行状态,并有时间提示(LED数码管)。(2)红、绿灯时间参数可设置。(3)控制灯切

24、换原则:红灯倒计时结束切换为绿灯,绿灯倒计时结束切换为红灯,某一时刻只能有一个方向为绿灯。状态指示灯切换和数码管上时间同步切换。(4)提供具体的修改参数方法,便于用户操作。(5)为简化设计,不考虑转向、行人通道。2高级要求(1)用红、绿、黄灯指示通行状态。(2)红、绿灯时间参数可设置,在断电情况下不丢失。(3)控制灯切换原则:同一时刻一个方向的红灯显示时间比另外一个方向绿灯显示多3秒钟,绿灯结束黄灯闪烁2秒,然后变红灯,红灯结束后变绿灯。(4)修改参数期间各个方向都黄灯闪亮,指示车辆减速慢行。(5)提供具体的修改参数方法,便于用户操作。(6)为简化设计,不考虑转向、行人通道。二、系统控制方案分

25、析1控制方案(以高级要求为例,基本要求参照高级要求适当删减)通过分析控制系统的功能要求,系统中需要以下功能电路:单片机最小系统(核心)、显示电路(LED指示灯和数码管)、键盘接口和存储器电路。系统如右图所示。2单片机资源分配1)显示电路。本例中用普通的LED数码管作为时间显示器件,LED二极管作为作为交通控制的指示灯(实际交通灯中都是高亮度的二极管点阵构成,和本例的区别仅是驱动电路,控制的过程是一致的)。共需要8个数码管,12个二极管(红、绿、黄各4个),由于相对方向码管显示的时间和二极管的状态是一致的,可以用同一个驱动电路控制,所以只需要设计4个数码管和6个二极管的控制电路。6个LED二极管

26、用P1口的六位控制,4个LED数码管的段用P0控制,位用P2口的4位控制。(用共阳型的数码管)2)键盘电路。系统操作的内容不多,仅修改红绿灯参数,键的数量要求不多,可以采用34个键的独立式键盘接口电路,采用中断控制扫描方式,键输入口线用P2的其它几位。按键功能和数码管的显示配合起来使用,在正常指挥交通时数码管上显示红、绿剩余时间,在修改参数时分别用来显示某一方向的红绿灯参数(只要设置一个方向的参数即可,两个方向参数之间有内在联系,知道一个方向的参数可以计算出另一方向的参数,参数间相互关系学生可以根据要求中的红绿灯变化规律推导)键的功能定义如下:第一个键:从指挥交通状态进入参数修改状态,并调出系

27、统原来的参数,前面2个数码管显示南北方向红灯时间,后两个显示南北方向绿灯时间,以备修改,修改时有一个数码管闪烁,表示该位显示的数可以修改。第二个键:(在指挥交通状态该键不起作用,后面两个键也是这样)加1键,使闪烁的数码管加1,并在09之间变化。第三个键:移位键,使4个数码管闪烁状态依次循环切换,和第二个键配合可以修改四个数码管上的数据,达到修改参数的目的。第四个键:运行键,保存设置的参数,并按照修改的参数进入指挥交通状态。3)电源。上述电路可以和单片机共用5V电源即可。4)一个定时器用于产生秒的倒计时,另一个用于在修改参数状态控制数码管的闪烁。(鼓励学生自主提出设计方案或不同的解题思路,鼓励创

28、新)单片机课程设计的报告要求:一、要有封面、正文两部分,装订成册二、正文内容1课题2实训目的3实训任务(设计要求)4硬件设计方案: (1)交通控制灯原理框图和原理图 (2)交通控制灯各单元电路进行原理阐述5软件设计: (1)交通灯的设计调试过程(分步进行,遇到问题和解决方法) (2)交通灯功能程序框图和总的交通灯源程序6收获体会第四讲 显示电路1显示电路设计单片机应用系统的显示电路一般有三种形式的显示电路:LED指示灯、LED数码管、LCD(液晶)。(1)LED指示灯一般被用来表示系统运行的状态,数量不多可以单片机的I/O直接控制。LED指示灯发光的条件是两端加正向电压1.8V左右,流过电流大

29、于4毫安,小于10毫安,单片机系统的工作电压一般都是5V,不能直接用来驱动,要在LED回路中串接限流电阻,如下图所示:360+5V单片机口驱动可以用高电平或者低电平,电路分别如下(以AT89C51为例):+5VAT89C51360图B 低电平驱动AT89C51360+5V图A 高电平驱动高电平驱动由于单片机I/O输出拉电流较小,不足以驱动LED,需要接一个上拉电阻。一般情况采用低电平驱动,如图B所示。LED指示灯的程序控制很简单,用内部RAM操作指令对口操作。(略)如果系统需要的状态指示灯非常多,就不能直接用I/O驱动了,需要将LED指示灯设计成LED数码管形式来控制,后面介绍。LED流水灯电

30、路原理390+5V8.2KRSTVCC+5V+5V+5V40 31 89S511 8 9 181920EA10F6MHz20P图 15流水灯电路原理图如图所示。用P1口的8位分别驱动一个发光二极管,从图上可见,某位口上输出0(低电平)对应的发光二极管就亮,反之某位口上输出1(高电平)对应的发光二极管就熄灭。我们可以根据自己的思路设计灯亮灭次序从而形成不同的样式的流水灯。其余电路就是我们常讲的最小系统,实验箱已设计连接好。示例程序如下:(小灯依次亮灭程序。学生应编写自己的程序。) ORG 0000H ;汇编程序开头 LJMP SETUP ;跳过中断入口地址区 ORG 0030HSETUP: CL

31、R P1.0 ;点亮第一个小灯 LCALL DELAY ;调用延时子程序 SETB P1.0 ;熄灭第一个小灯(下同) CLR P1.1 LCALL DELAY SETB P1.1 CLR P1.7 LCALL DELAY SETB P1.7 LJMP SETUP ;所有灯依次亮灭后回到第一个灯DELAY: MOV R7,#80H ;延时子程序DEL: MOV R6,#0FFHDEL1: DJ NZ R6,DEL1 DJNZ R7,DEL RET END ;汇编程序结束这是一个简单的顺序程序,下面设计的是循环程序。 ORG 0000H ;汇编程序开头 LJMP SETUP ;跳过中断入口地址区

32、 ORG 0030HSETUP: MOV A,#0FEH ;A中赋初值(第一个灯亮,其余不亮信息)AA: MOV P1,A ;A中信息送给P1口,驱动对应的灯亮 LCALL DELAY ;调用延时子程序 RL A ;A中信息循环转移一次,改变了信息 LJMP AA ;将A中改变后的信息再从P1口输出DELAY: MOV R7,#80H ;延时子程序DEL: MOV R6,#0FFHDEL1: DJ NZ R6,DEL1 DJNZ R7,DEL RET END ;汇编程序结束(2)LED数码管在单片机应用系统中经常采用,其结构如下图所示:引脚共阳型共阴型a、b、c、d、e、f、g、h 8个引脚为

33、数码管的段引脚,其余两个引脚内部是相通的,为数码管的位引脚,LED数码管内部是由8个LED二极管,根据内部结构的不同分为共阳型和共阴型。从数码管的结构上看需要在其位和段加上适当的信号,使二极管两端有正向电压,流过的电流达到4毫安以上。数码管的显示电路分为静态显示电路和动态显示电路,静态显示电路控制的方式与LED发光类似,用一个8位的I/O口作为段控制信号,将公共端接地或电源即可,在实际应用中比较少,略去不讲。常用的是动态显示方式,如下图所示:将所有数码管相同的段连接在一起用一个8位的I/O口去控制,每个数码管的公共端用一位的I/O口控制开关使其接地或电源,如下图为共阳型数码管的动态显示电路。9

34、012P0.7P0.0P2.7P2.410Kadp P0最小系统 P2+5V+5V3601.5K数码管1234COMP0口作为数码管段控制口,P2.4P2.7为位控制口,控制三极管导通使公共端接到电源,控制三极管截止关断。数码管动态扫描电路的工作原理是:循环显示,动态扫描,视觉暂留。利用人眼的视觉暂留特性,在某一时刻只控制一个数码管显示,保留很短时间,再控制另一数码管显示,依次显示,到最后一个再返回到第一个,如此反复进行,当扫描的速度达到一定值时,人眼就感觉不到数码管熄灭,看到所有数码管都稳定显示。一个有实际意义的数码管动态扫描程序,汇编语言编写需要用到查表指令,设计查表程序。数码管动态显示电

35、路检查硬件检查主要检查位和段的控制电路,取下单片机芯片,上电,将两根连接线与地线相连,其中一根接到P2口的某个位控制引脚,另一根依次碰触P0口的某一位,如果硬件正确,则对应数码管的段亮,否则检查对应的段或位。三、查表程序设计数码管的动态扫描程序是单片机应用中最重要的程序之一,是进一步应用的基础和前提。数码管的动态扫描程序都是用查表程序设计的,包括LCD(液晶)也是用查表程序设计的。首先要命名一个标号,用DB伪指令定义表格,编写系统所要显示的所有数字和字符的字段码,并按顺序存放(如下面程序09的编码)。表格在程序结构中的位置一般放在查表程序的后面,在子程序区,注意不能放在某个子程序的内部,需放在

36、两个子程序之间。查表指令有两条:MOVC A, A+DPTRMOVC A, A+PC指令的具体功能请查阅课本。一般情况下用前一条指令,只有在系统有外部扩展并行数据存储器或扩展外部并行口使用MOVX指令来操作时,才使用第二条指令,使用该指令时表格位置与查表指令间的距离有限制,不能超过256个字节。以第一条指令说明查表程序设计的步骤。分为三步:第一步:将表格的首地址送给数据指针DPTR;第二步:将要查找的项(显示内容的字段码)与表格首地址的间隔数送给累加器A;第三步:执行指令MOVC A, A+DPTR;则累加器中就是要显示内容的字段码,将其送段控制口即可。编写显示程序时一般都为每个数码管设置一个

37、数据缓冲区,显示缓冲区存放的是显示内容的字段码在表格中的位置。参考程序如下: ORG 0000H ;汇编程序开头 LJMP SETUP ;跳过中断入口地址区 ORG 0030HSETUP: MOV 70H,#0 ;显示缓冲区赋初值 MOV 71H,#1 ; MOV 72H,#2 ; MOV 73H,#3 ; MAIN: LCALL DIS ;调用显示子程序 LJMP MAINDIS: ;显示子程序MOV DPTR,#TAB ;表格首地址送给数据指针DPTR MOV A,70H ;第一个显示的数送A MOVC A,A+DPTR ;查表得显示内容的字段码 MOV P0,A ;字段码从P0口输出 C

38、LR P2.4 ;开通第一个数码管的位,显示相应信息 LCALL DEL ;调用延时子程序 SETB P2.4 ;关闭第一个数码管的位,以下依次类推 ; MOV A,73H ;第略个显示的数送A MOVC A,A+DPTR ;查表得显示内容的字段码 MOV P0,A ;字段码从P0口输出 CLR P2.7 ;开通第略个数码管的位,显示相应信息 LCALL DEL ;调用延时子程序 SETB P2.7 ;关闭第略个数码管的位 RET ;显示子程序结束TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阳型数码管09字段码DEL: MOV

39、R7,#80H ;延时子程序 DJNZ R7,$ ;$在转移指令中表示转移到该指令本身 RET END ;汇编程序结束前面曾提到有许多LED状态指示时可以设计成数码管的电路形式,实际上就是把LED状态指示灯人为设计成数码管的形式,用数码管的动态显示方式来控制数码管的笔画,如上图虚线框内,只要将二极管不相连的管脚分别连到数码管的段上,在用一个位控制公共端,和前面的电路构成有5个数码管的动态显示电路,编写程序(最后数码管不需查表,直接输出控制即可)。(3)LCD显示电路要求高的场合可以采用LCD液晶显示器,LCD液晶显示器有数码型和字符型,显示器一般自带驱动模块,使用者按照驱动接口要求用单片机的I/O口去控制。批量大的产品可以定做。第五讲 键盘接口电路键盘是单片机应用系统最基础的电路之一,用于人和单片机系统的对话,通过键的操作控制系统的执行或获取系统的运行状态等,一般是和显示电路一起构成完整的人机交互系统。单片机常用的键盘接口电路有两类:行列式键盘和独立式按键。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1