利用单片机设计的比记分及实时时钟系统.doc_第1页
利用单片机设计的比记分及实时时钟系统.doc_第2页
利用单片机设计的比记分及实时时钟系统.doc_第3页
利用单片机设计的比记分及实时时钟系统.doc_第4页
利用单片机设计的比记分及实时时钟系统.doc_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计任务书一 设计题目利用单片机设计的比记分及实时时钟系统二 设计要求 完成两队得分记录、显示,每队得分由2位段数码管组成,记分范围0-99;三. 设计依据 所选的单片机及其试验设备。四 设计任务要求在规定的时间内独立的完成下列工作量:1 设计说明书需包括:目录系统设计思想电路的硬件设计软件程序及其流程图收获体会参考次料2 设计图样利用Protel绘制出设计系统的硬件电路图。五 设计时间2008 年 月 日至2008 年 月 日指导教师:申一歌一单片机的特点历史及其应用 单片机又称单片微控制器,它是把一个计算机系统集成到一块芯片上,其主要包括微处理器(CPU)存储器(随机访问存储器RAM只读存储器ROM和各种输入输出接口(包括定时器/计数器、并行I/O接口、串行口、A/D转换器以及脉冲宽度调制(PWM,Pulse Width Modulation)等)。1.1单片机的特点(1) 集成度高 单片机把CPU 、RAM、 ROM、 I/O接口以及定时器/记数器都集成在一个芯片上,和常规的计算机系统相比,它具有体积小,集成度高的特点。如MC-51系列单片机,其时钟频率可达12MHZ,具有16位的定时器/计数器和4 个并行I/O接口,此外还提供有串行接口。(2)存储量大 采用16位地址总线的8位单片机可寻址外部64KB数据存取器和64KB程序存储器。此外,大部分单片机还有片上RAM(一般为128256B)和内部ROM(一般为24KB),在大多数情况下,内部存区器就已经足够了,从而减少了器件的使用数量,降低了成本。(3).性能高速度快 为了提高速度和执行效率,单片机使用RISC体系结构、并行流水线操作和DSP等设计技术,指令运行束度大幅度提高。一般单片机的时钟频率可以达到12MHZ。 (4)抗干扰性强 单片机的各种功能部件都集成一块芯片上,特别是存储器也集成在芯片内部,因此单片机布线短,大都在芯片内部传送数据,因此不易受到外部的干扰,增强了抗干扰能力,系统运行更可靠。5指令丰富单片机一般都有传送指令、逻辑运算指令、转移指令和加、减运算指令位操作指令。1.2 单片机的历史1971年微软处理器的研制成功不久,就出现了单片机。单片机根据其基本操作处理的位数可以分为:1位单片机、4位单片机、8位单片机、16位单片机和32位单片机。其发展历史基本上可以分为以下4个阶段: (1)单片机的初级阶段(19741976年)因工艺限制,早期的单片机普遍采用双片的形式,功能比较简单。例F8单片机,实际只包含8位CPU、64KBRAM和2个并行口。因此还需要加一块3851(由1KB RAM、定时器/计数器和2个并行I/O构成)才能组成一台完整的计算机。 (2)低性能单片机阶段(19761978年)此阶段的代表为Intel公司制造的MCS-48单片机,这种单片机集成了8位CPU、并行I/O口,8位定时器/计数器和RAM、ROM等,其不足之处是无串行口,中断处理比较简单,片内RAM和ROM容量较小,且寻址范围不大于4KB。(3)高性能单片机阶段(1978现在)此阶段推出的单片机普遍带有串行口,多极中断系统,16位定时器/计数器,片内RAM、ROM容量加大,且寻址范围可达64KB,有的片内还有A/D转换器。这类单片机的典型代表是Intel公司的MCS-51系列、Motoroal公司的6801和Zilog公司的Z8等。这类单片机的性价比高,因此仍被广泛应用,是目前应用比较广泛的单片机。(4)8位单片机巩固发展以及16位、32位单片机推出阶段(1982年现在) 此阶段的主要特征是,一方面发展16位单片机、32位单片机及专用行单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户的需求。16位单片机的典型产品如Intel公司生产的MCS-96系列单片机,其集中度已达成12000管子/片,主频为12MHZ,片内RAM为232B,ROM为8KB,中断处理为8级,而且片内带有多通道10位A/D转换器和高速输入/输出部件(HIS/HSO),实时处理能力很强。32位单片机除了具有更高的集成度外,其主频可达20MHZ,数据处理速度比16位单片机快了许多,性能比8位、16位单片机更加优越。1.3单片机的应用(1) 家用电器领域洗衣机、电冰箱、空调、微波炉、电饭煲、电视机、录像机及其它视频音像设备的控制器中已普遍采用单片机扩展电路取代传统的控制电路。(2)办公自动化领域 一台PC可以嵌入10个单片机系统,如键盘、鼠标、显示器、CD-ROM、声卡、打印机、软/硬盘驱动器和调节器制器等。现代办公室中所使用的大量通信、信息产品,如绘图仪、电话、传真机等多数采用了单片机控制系统。(3)工业自动化领域的应用在工业自动化领域,如工业过程控制、过程检测、工业控制器及机电一体化控制系统等,单片机系统主要用来实现信号的检测、数据的采集以及应用对象的控制。这些系统除了一些小型工控机外,许多都是发单片机为核心的单片机或多机网络系统。(4)智能仪器仪表与智能传感器领域目前各种变送器、电器测量仪表普遍采用单片机应用系统的测量,使测量系统具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音功能等。(5)汽车电子与航空航天电子系统通常在这些电子系统中的集中显示系统、动力检测系统、自动驾驶系统、通信系统以及运行监视器(黑匣子)等,都要构成冗余的网络系统。8031内部包括一个8位21个特殊功能寄存器(SFR)、4个8位并行口、1个全双工串行口,个位定时器计数器。片内无程序存储器,要外扩EPROM芯片。8051以8031为基础,片内又集成有KB ROM作为程序存储器,是一个程序不超过4KB的小系统。它品种齐全,兼容性强性能价格高。且软件应用设计资料丰富,已为广大工程人员所熟悉,因此在我国得到了广泛的应用,所以本此设计采用8051系列单片机。二.单片机内部定时/计数器的结构及其工作原理2.1 MCS-51单片机内部结构及组成 8751内部有4KB的EPROM;8031内部无ROM,必须外接EPROM;8051内部有4KB掩膜ROM。但对于MCS-51系列单片机来说,其基本功能是完全兼容的。T0T1程序存储器4KB数据存储器256B时钟电路2个16位定时器/计数器VCCVSSPSEN中央处理器CPUALEEA中断系统可编程全双工串行口并行I/O口64KB总线扩展控制RSTRXDTXDINT0INT1控制P2P3P1P08051单片机芯片的内部结构框图由图可以看出,8051单片机内部有以下一些主要部件:1)中央外理器CPU: 它是整个单片机的核心,由运算器和控制器组成,主要完成指令的运行控制8位数据运算和位处理。2)4KB的片内程序存储器: 主要用于存放程序,常数和表格等。3)128B的片内数据存储器RAM和特殊功能存储器SFR(占有128存储器空间)。片内数据存储器主要用于存放可随机读写的数据;SFR主要为一些记录状态的具有特殊功能的寄存器。4)4个8位并行口:P0、P1、P2、P3主要用于完成数据的并行输入和输出。5)两个16位的定时器/计数器: 主要用于定时或计数.6)一个可编程的全双工串行口: 于实现单片机与其它设备之间的的串行数据通信.7)具有5个中断源、两个优先级的中断系统.2.2.定时/计数器的内部结构及其工作原理在单片机控制系统中,常常需要有实时时钟以实现系统的定时或延时控制,也常需要有计数功能以实现对外部事件进行计数。8051单片机内部有两个16位的定时/计数器,可用于定时控制、延时、对外部事件计数等场合。下面介绍一下8051定时计数器的结构原理及工作方式。(1) 定时计数器的结构及工作原理8051单片机内部设有两个16位可编程的定时/计数器:定时计数器0和定时计数器1,分别用T/C0和T/C1表示(或用T0、T1表示)。它们的工作方式、定时时间、量程等均可以通过程序来设定。TMOD(89H)CPUTH1H1TH0O0TL1TL0TCON(88H)8051定时器逻辑结构框图由图可以看出,定时/计数器内容由特殊功能寄存器TCON、TMOD及TH0、TLO、TH1、TL1组成。其中TMOD为模式控制寄存器,主要用来设置定时计数器的操作模式;TCON为控制寄存器,主要用来控制定时计数器的启动与停止;TH0、TL0、TH1、TL1用于存放定时计数器值,为加1计数器。两个定时计数器均具有两种工作方式,即定时和计数功能,对工作方式的选择可通过特殊功能寄存器TMOD来设置。计数工作方式T/C0或T/C1工作在计数方式时,定时/计数器作为一个计数器使用,用于对外部事件进行计数,计数得到的脉冲信号来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。当外部输入脉冲信号产生由1至0的跳变时,计数器的值加1。计数器在每个机器周期的S5P2期间,对外部输入的脉冲信号进行一次采样。例如要第一个机器周期中CPU采样到高电平“1”,而在第二个机器周期中采样到一个低电平“0”,这样,计数器则在紧跟着的再下一个(第三个)机器周期的S3P1期间自动加1,完成一次计数操作。由于计数器确认一次由1至0的负跳变要花2个机器周期,即24个振荡周期,故计数器的最高计数频率应为fcosc=fosc1/24,即外部输入的计数脉冲的最高频率不应高于振荡器的频率的1/24。例如若fosc为12MHZ,则单片机的最高的计数频率为0.5MHZ(即12MHZ1/24)。另外,为了确保某一给定的电平在变化之前至少被采样一次,一般要求对外部计数脉冲的高低电平保持时间应在一个机器周期以上。定时工作方式 T/C0或T/C1工作在定时方式时,定时计数器作为一个定时器使用,其定时脉冲由内部时钟提供,每一个机器周期使定时器的值加1,在这种工作方式下,单片机实质上不是通过对其内部时间固定的机器周期进行计数,由计数值可以计算出定时时间,从而实现定时的目的。对定时器而言,由于每一个机器周期等于12个振荡周期,故其计数频率为振荡器频率的1/12。例如若fosc为12MHZ,则定时器的计数频率为fcont=fosc/12=1MHZ。由以上可以看出,单片机的定时计数器实际上是一个加1计数器,只不过在不同的工作方式下,计数的对象不同。一个是来自于单片面内部的固不定期频率信号,另一个是来自于外部的频率不固定的的信号。定时计数器用于定时或计数时,从设置的初值重新开始,其中定时时间的长短和计数次数的多少可由计数器初值来确定。此外,不管是定时工作方式还是计数工作方式,定时/计数器在对内部时钟或对外部事件计数时,都不占用CPU的时间,除非计数器计满溢出,需要执行中断服务程序时才可能中断CPU当前的操作,所以定时/计数器是单片机中效率最高且工作灵活的部件。(2) 与定时器有关的特殊功能寄存器8051单片机的定时/计数器是一种可编程控制的部件,它的工作方式、操作模式、计数初值以及启动、停止等均可通过对特殊功能寄存器编程来设置。下面介绍与定时/计数器有关的特殊功能寄存器。a) 计数器TH0、TL0 TH0、TL0是定时/计数器0的高、低两个字节,地址分别为8CH、8AH,用于存放T/C0的定时或计数值,根据要求可组合成8位、13位、16位的计数器使用。b) 计数器TH1、TL1 TH1、TL1是定时/计数器1的高、低两个字节,地址分别是8DH、8BH,用于存放T/C1的定时或计数值,根据要求可组合成8位、13位、16位的计数器使用。c) 模式控制寄存器TMOD TMOD中定时/计数器T/C0 、T/C1的模式控制寄存器,字节地址是89H,用于设置T/C0 、T/C1的工作方式和操作模式,其中高4位用于控制T/C1,低4位用于控制T/C0。各位定义如下所示:D7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M0 M0、M1:定时/计数器操作模式选择位。通过对M0、M1的设置,可对应选择T/C0、T/C1的工作模式。 定时/计数器的模式选择M0 M1功能说明0 0模式0:13位的定时/计数器 0 1模式1:为16位的定时/计数器 1 0模式2:初值自动重新装载的8位定时/行数器 1 1模式3:两个8位定时/计数器(仅适用于T/C0) C/T:功能选择位。C/T =0为定时方式,C/T =1为外部事件计数方式。定时时,是以单片机振荡器输出的时钟脉冲的十二分频信号为计数信号。在晶振频率一定的情况下,从初值到计满溢出时间是固定的,所以称为定时方式;计数时,计数脉冲由单片机的外部引脚输入,对外部输入脉冲计数的目的通常是为了测试脉冲的周期、频率等。GATE:门控位。GATE =0,定时/计数器只受寄存器TCON中的TR0(或TR1)控制(软件控制)。将TR0(或TR1)设置为1,就可启动T/C0(或T/C1)开始工作;GATE =1,定时器的启动要由TR0(或TR1)和外部中断信号共同控制(硬件控制)。只有TR0(或TR1)为“1”,且外部中断引脚INT0(INT1)为高电平时,才能启动相应的定时/计数器工作。TMOD不能进行位寻址,只能用字节传送指令设置定时/计数器的工作方式及操作模式。系统复位后,TMOD的所有位均为0,其值为00H。d) 控制寄存器TCON 特殊功能寄存器TCON的高4位存放用于定时/计数器的启动、停止的控制位及溢出标志位,低4位存放外部中断的标志位和有关控制位。该寄存器的字节地址为88H,可对其字节寻址,也可对单独的位进行寻址。其各位功能具体如下:TCON(88H)D7 D6 D5 D4 D3 D2 D1 D0TF1TR1TF0TR0IE1IT1IE0IT0 TF1:T/C1溢出标志位。定时器启动后,从设定的初值开始加1计数,至计满产生溢出时,由硬件自动将该标志位置“1”,向CPU申请中断。CPU响应进入中断服务程序后,由硬件自动对该标志位清 “0”在中断查询方式下工作,TF1应由软件来清“0”。TR1:T/C1启动控制位。T/C1的启动与门控位GATE和外部中断源INT引脚有关。当GATE位设置为0,则T/C1的启动由TR1控制,采用指令使TR1置“1”,就可就可启动T/C1开始工作;对该位清“0”,则可使T/C1停止工作。当GATE位设置为1时,T/C的启动除TR1为“1”外,还要求外部中断源INT1引脚电平为高电平时,才能启动相应的定时/计数器工作。TF0:T/C0溢出标志位,功能同TF1类似。TR0:T/C0启动控制位,功能同TR1类似。IE1:外部中断源1中断清求标志位。当外部中断源有请求时中断标志位置“1”,向CPU申请中断。IT1:外部中断1触发方式选择位。IT1=1,边沿触发方式;IT1=0,电平触发方式。IE0:外部中断源0中断请求标志位,功能同IE1类似。IT0:外部中断源0触发方式选择位,功能同IT1类似。系统复位时TCON所有位均为0,其值为00H。 (3) 定时/计数器的操作模式根据定时/计数器的结构特点,通过对TMOD中M1、M2的设置,可使T/C0工作在03四种模式,使T/C1工作在02三种模式。本次设计只采用模式1和模式2,所以在这里只介绍模式1和模式2的定时/计数器结构和功能。A模式1 当模式控制寄存器TMOD中的M0 M1=01时,T/C工作在模式1。在该模式下,计数值寄存器的位数为16位,由THi和Tli各提供8位,形成一个16位的定时/计数器.模式1的逻辑结构图如下图所示:OSC12分TF0TH0(8位)TL0(8位)+=由图可发看出,当C/T为0时,T/C为定时器工作方式,此时,多路开关振荡器械的十二分频信号连接,T/C对单片机内部的机器周期进行计数;当C/T为1时,T/C为计数器工作方式,这时,定时/计数器接Ti引脚,对外部输入T0或T1的脉冲进行计数。B模式2 当模式控制寄存器TMOD中的M0 M1=10时,T/C工作在模式2。模式2是自动重装计数初值工作模式。要该模式中THi、Tli作为两个独立的8位计数器。模式2的逻辑结构图如下图所示:OSC12分TLO(8位)TLO(8位)TF0+在T/C工作过程中, THi存放的8位初值保持不变,系统用Tli中的8位值进行计数。当Tli中的8位计数产生计满溢出时,将相应的TFi位置“1”,同时又将保存在THi中的计数初值重新自动装入Tli中,继续下次计数操作。此种模式就称为自动重装计数初值工作模式。(4)定时/计数器的初始化A.在使用单片机的定时/计数器时,首先要对它进行初始化编程,即对定时/计数器进行初始化设置。 初始化内容主要是对TCON和TMOD编程,计算和装载T/C0 、T/C1的计数初值等。一般步骤如下:1) 对模式控制寄存器TMOD编程,确定T/C的启动控制方式、工作方式及操作模式。2) 计算T/C中的定时或计数初值,并装载到相应的Thi和Tli中。3) 当T/C工作在中断方式时,须对中断允许寄存器IE进行编程设置,开放CPU中断。4) 设置TCON中的TRi位,启动定时/计数器开始定时或计数。若第一步设置为软启动,即GATE =0,则执行置位SETB TRi指令后,相应的定时/计数器即可开始工作;若GATE =1时(双重控制),还必须与外部中断引脚INTi共同控制,即执行置位SETB TRi后,且当INTi引脚电平为高时,定时/计数器方启动工作。定时/计数器一旦启动就按规定的方式定时或计数。B.计数初值的计算在计算单片机的计数初值时,选择不同的工作方式,不同的操作模式其计数初值是不相同的。计数器的计数初值 在计数器工作方式下,T/C对外部脉冲计数,若设最大计数值为M,则各操作模式下的M值为 模式0:M=213=8192 模式1:M=216=65536 模式2:M=28=256 模式3:M=256,定时器T0分成2个独立的8位计数器,所以TH0、Tl0的M值均为256因为8051的两个定时/计数器均为加1计数器,当加到最大值时产生溢出,置位Tfi,发出中断请求信号,因此对计数器的初值X的计算式为 X=M-计数值勤式中的M由操作模式确定,不同的操作模式下计数长度不相同,其M值也不相同:式中的计数值为系统要求的计数次数。定时器的计数初值 在定时器工作方式时,计数脉冲输入信号是由内部时钟提供,每一个机器周期使计数器的值加1,即T/C是对单片机内部的机器周期进行计数。若fosc为12MHZ,则一个机器周期为1us,各操作模式下最大的定时时间为 模式0: 2131us=8192us 模式1: 2161us=65536us 模式2: 281us=256us 模式3: 21us=256us因此定时器计数初值X的计算式为 (M-X)机器周期=t 即: X=M-tfoscf/12式中 fosc -振荡器的振荡频率;t -要求的定时时间;M -相应模式下的最大计数值。三单片机外部硬件电路的设计 3.1电源电路的设计 在电子设备中, 内部电路都由直流稳压供电,一般情况下,直流稳压电源电路由电源变压器、整流、滤波、和稳压电路四部分组成。其原理方框图如下图所示。图中各环节的作用分别说明如下: 方框图 电源变压器 将电网220V或380V的工频交流电压变换成为符合整流需要的电压值。 整流电路 利用二极管的单向导电性将交流电压变成脉动的直流电压。 滤波电路 利用电容、电感等元件的储能特性,将单方向的脉动直流电中的所含的大部分的交流成分滤掉,得到一个较恒定的直流电压。 稳压电路 当电网电压波动或负载变化时,稳压电路能自动维持直流输出电压稳定。直流稳压供电源IN40014_C08V220V0.1uF0.33uF1000uFC2C17805uiud=5V+ 整流工作原理:由变压器、四个整流二极管组成。属于全波整流。当u2是正半周时,二极管VD1和VD3导通,而二极管VD2和VD4截止,负载RL上的电流自上而下流过负载,负载上得到了与u2的正半周相周的电压;在u2负半周时,u2的实际极性是下正上负的,二极管VD2和VD4导通而VD1和VD3截止,负载RL上的电流仍然自上而下流过负载,负载上得到了与u2正半周相同的电压,如此的循环下.。滤波工作原理:经过整流后,输出电压在方向上没有变化,但输出电压波形仍然保持输入正弦波的波形。输出电压起伏较大,为了得到平滑的直流电压波形,必须采用滤波电路,以改善输出电压的脉动性,常用的滤波电路有电容滤波。在负载RL两端并联一只较大容量的电容器。设电容无能量储存,输出电压从0开始增大,电容器开始充电。一般充电速度很快,当u0=uc时,u0达到u2的最大值,当u2从最大值下降时,电容通过负载RL放电,放电时间常数为=RLC在RL较大时,的值比充电的时间常数大。u0按指数规率下降,当的值再增大后,电容再继续充电,同时也向负载提供电流。电容上的电压仍会很快的上升。这样不断地进行,在负载上得到比无滤波整流电路平滑的直流电。 稳压工作原理:整流、滤波后得到的直流输出电压往往会随时间而有些变化,造成这种直流输出电压不稳定的原因有二:其一是由于市电交流电压不稳定,而使整流滤波电路输出的直流电压不稳定。其二当RL变化时,整流滤波电路输出的电压也会变化。负载电流越大,由于整流滤波电路具有一定的内阻,故输出的直流电压就越低。因此在整流滤波电路后面再加一级稳压电路,以获得稳定的直流输出电压。本次设计将用集成稳压器代替稳压电路,它交调压管、比较放大单元、启动单元和保护环节等元器件都集成为一片芯片。常用的三端固定正电压稳压器有7800系列,型号中的00两位数表示输出电压的稳定值,例7805输出的电压是5V。输入端电容C1用以抵消输入端较长接线的电感效应,防止产生自激振荡,输出端C0用以改善贡载的瞬态响应,减少高频噪声。 3.2复位电路的设计 在设计单片机应用系统时,必须了解单片机的复位状态,因为单片机应用系统在使用时会经常进入复位工作状态。应用系统的复位状态与单片机的复位状态密切相关。VCCRSTVSS单片机在开机时或者在时钟电路工作后,RESET(RST)引脚上出现24个时钟周期以上的高电平时,单片机将进入复位状态。单片机复位后,其程序计数器和特殊功能寄存器的复位状态表如下所示 程序计数器和特殊功能寄存器复位状态寄存器内容 寄存器内容PC0000HTCON00HACC00HTH000HB00HTL000HPSW00HTH100HSP07HTL100HDPTR0000HTH2(8052)00HP0P30FFHTL2(8052)00HIP(8052)00000BRLDH(8052)00HIP(8051)000000BRLDL(8052)00HIE(8051)000000BPCON(HCMOS)0BIE(8052)0000000BPCON(CHMOS)00000BTMOD00HSCON00HSBUF不定MCS-51系列的单片机的RST引脚是复位信号的引入端,复位信号为复位高电平有效,其所需时间在2个机器周期(24个振荡周期)以上。手动复位时,按下复位按钮,电容C通过电阻R1迅速放电,使RST/VPD迅速变为高电平,松开后,电容通过R2和内部下拉电阻充电,逐渐使RST/VPD恢复为低电平。 3.3时钟电路的设计 时钟电路用于产生单片机工作所需要的时钟信号。单片机在时钟信号的控制下,各部件之间协调一致的工作,时钟信号控制着计算机的工作节奏。下图所示为单片机的时钟电路引脚XTAL1和XTAL2之间跨接晶体振荡器和微调电容,可以和芯片内部的振荡器构成一个稳定的自激振荡器,这就是单片机的时钟电路,这种方式称之为内部时钟源方式。电容器C1和C2的主要作用是帮助振荡器起振,且电容器大小对振荡频率有微调作用,典型值为C1 =C2=30pF。振荡频率主要由石英晶振的频率确定,目前,51系列单片机的晶振频率范围为1.260MHZ,其典型值为6MHZ、12MHZ、11.0592MHZ、20MHZ、24MHZ、33MHZ、40MHZ等。 3.4LED显示电路设计LED显示器的结构:LED显示器由8个发光二极管组成,显示中的发光二极管有两种接法:共阴极接法:把二极管的阴极连在一起构成公共阴极.使用时,公共阴极接地,这样,阳极端接输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮. 共阳极接法:把二极管的阳极接在一起构成公共阳极。使用时,公共阳极接+5V,这样,阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或符号,要为LED显示器提供代码,因为这些代码是供显字形的。不同的连接方式,其字形代码也是不同的: 十六进制数字型代码表字型共阳极码共阴极码字型共阳极码共阴极码0C0H3F H990 H6F H1F9 H06 HA88 H77 H2A4 H5B HB83 H7C H3B0 H4F HCC6 H39 H 499 H66 HDA1 H5E H592 H6D HE86 H79 H682 H7D HF84 H71 H7F8 H07 H“灭”FF H00 H880 H7F H8路反相驱动器 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 8051 PC5 PC4 PC3 PC2 PC1 PC06路反相驱动器LED显示器与8051的接口电路为了实现LED显示器的动态扫描。除了要给显示器提供段码(字形代码)的输入之外,还要对显示器加上位的控制,这就是通常所说的段控和位控。因此,多们LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(字形代码),另一个用于输出位控线(位码),位控线的数目与LED显示器的位数相同。 上图为使用8051作6位LED显示器的接口电路,8051的C口作为位控输出口,以PC5PC0输出位控线。由于位控线的驱动电流较大,8段全亮时,约为4060 mA,因此,8051C口输出常加74LS06,以实现反相和提高驱动能力,然后再接各LED显示器的位控端。8051A口为段控输出口,以输出8位字形代码。段控线的负载电流约为8 mA,为了提高显示亮度,通常加74LS244,以增加输出驱动能力。&P1.0 VCCP1.1 P0.0P1.2 P0.1P1.3 P0.2 P0.3P1.4 P0.4 P0.5P1.5 P0.6P1.6 P0.7P1.7 RST P3.0 P3.1 EA ALE PSEN P3.2(INT0) P3.3(INT1) P3.4 P2.7P3.5 P2.6P3.6 P2.5P3.7 P2.4XTAL2 P2.3 P2.2XTAL1 P2.1 VSS P2.0实时时钟的设计实时时钟就是以秒、分、时为单位进行计时的。1实时时钟实现的基本方法时钟的最小计时单位是秒,但如果使用定时器的方式1,最大的定时时间也只能达到131ms。我们可以把定时器的定时时间定为100ms,这样,计数溢出10次即可得到时钟的最小计时单位:秒,而计数10次可用软件方法来实现。(1) 计数初值的计算假设使用定时器的方式1,进行100 ms的定时。设计数初值为X,单片机的晶振频率为6MHZ,为得到100 ms的定时,则(2-X)210=0.1所以X=15536=0011110010110000B=3CB0H(2)秒、分、时计时的实现秒计时是采用中断方式进行溢出次数的累计而得到的.从秒到分,从分到时可通过软件累加并进行比较的方法来实现的.要求每满1秒,则“秒”单元32中的内容加1;“秒”单元满60,则“分”单元31中的内容加1;“分”单元满60,则“时”单元30中的内容加1;“时”单元24,则将的内容全部清“0”。2. 程序设计 (1)主程序的设计 主程序的主要功能是进行定时器的初始化,并启动,然后通过循环(或反复调用显示子程序),等待100ms定时中断的到来。 (2)中断服务程序的设计 中断服务程序(1TOP)的主要功能是实现时、分、秒的计时处理。NNYY显示开始初始化部分P1.2是否为0比赛计数实时时钟记时P1.0是否为0A队记分B队记分显示显示结束设置T0为方式1设中断次数为10清计时单片开中断启动T0调用显示子程序实时时钟主程序流程图调用记分子程序开中断启动T0开始初始化部分设置最高记分设置T0为方式1比赛记分主程序流程图 单片机控制器六位LED显示器列驱动硬件系统的总体设计框架YYYNYNNN保护现场设计数初值是否到1秒(32H)+1(32H)(32H)=60?0(32H)(31H)+1(31H)(31H)60?0(31H)(30H)+1(30H)0(31H)恢复现场返回(30H)=24?实时时钟中断服务程序流程图取要显示的数查表送段码显示选中LED显示数字流程图 主程序ORG 0000H ;设定起始位置LJMP MAIN ;转移至主程序ORG 0003B ;外部中断入口地址LJMP INSE ;设置中断服务程序入口ORG 0100H MAIN: SETB EX0 ;允许INT0中断SETB IT0 ;充IT0为边沿触发SETB EA ;开总中断SJMP $ ;等待中断ORG 0200H ;中断服务子程序 INSE: JNB P1.0,L0 ;查询三个装置,转入相应的子服务程序JNB P1.1,L1JNB P1.2,L2 L0: CLR P1.3 ;装置0的服务程序SJMP JSHUJ L1: CLR P1.4 ;装置1的服务程序SJMP JSHUYL2: CLR P15 ;装置2的服务程序SJMP JSHI比赛记分显示子程序T/C0为计数方式,采用模式2,软启动则(1)TMOD的各们设置为 00000110B (06H) (2)比赛记分的最大值为99分,则计数初值X0为 X0=256-99=157=9DH 则TH0=9D TL0=9D (3)T/C0允许中断则 EA=1 ET0=1 IE=10000010B (82H) (4)初始化程序ORG 0300H ;设定起始位置LJMP MAIN ;转移至主程序ORG 000BH ;定时/计数器0溢出中断入口地址LJMP INSE ;设置中断服务程序入口ORG 0100HMAIN: MOV SP,#60HMOV TMOD,#06H ; 工作模式设置MOV TH0,#9DH ;装入T/C0计数初值MOV TL0,#9DH SETB EA ;开总中断SETB ET0 ;开定时器0中断SETB TR0 ;启动定时JSHUJ: MOV A,60H ;所记的分数送入A中ADD A,#01H ;加1计数MOV R0,A ;累加器的数送入寄存器MOV P2.7,#7FH ;P2.7=0MOV R1,#FEH ;R1指向L1MOV DPTR,#TAB1 ;段码表首址MOV R7,#2 ;LED显示器位数2送R7MOV A,R0 ;取要显示的数MOV A,#0FHMOVC A,A+DPTR ;查表CLR A ;取反MOV R1,A ;送段码显示CJNE R1,#99,INSE ;比较最大数不相等转移JSHUY: MOV A,60H ;所记的分数送入A中ADD A,#01H ;加1计数MOV R0,A ;累加器的数送入寄存器MOV P2.7,#7FH ;P2.7=0MOV R1,#FCH ;R1指向L2MOV DPTR,#TAB1 ;段码表首址MOV R7,#2 ;LED显示器位数2送R7MOV A,R0 ;取要显示的数MOV A,#0FHMOVC A,A+DPTR ;查表CLR A ;取反MOV R1,A ;送段码显示CJNE R1,#99,INSE ;比较最大数不相等转移 TAB1: DB 3FH, 06H, 5BHDB 4FH, 66H, 6DHDB 7DH, 07H, 7FH DB 6FHRETIEND实时时钟程序 JSHI: ORG 0010H AJMP MAIN ;上电,跳向主程序ORG 000BH ;T0的中断入口AJMP 1TOP ;跳T0的中断服务ORG 1000H MAIN: MOV TMOD,#01H ;设T0为方式1定时MOV 20H,#0AH ;中断次数为20H单元CLA A ;A清0MOV 30H,A ;“时”单元清0MOV 31H,A ;“分”单元清0MOV 32H,A ;“秒”单元清0SETB ET0 ;允话T0申清中断SETB EA定 ;CPU开总中断MOV TH0,#3CH ;给T0装入计数初值MOV TL0,#B0HSETB TR0 ;启动T0HERE: SJMP HERE ;等等中断(也可调用显示子程序)1TOP: PUSH PSW逻辑 ;T0中断服务程序入口,保护现场PUSH ACCMOV R2,#FAH ;R2指向L2MOV DPTR,#TAB2 ;段码表首地址MOV R7,#2 ;LED显示器位数4送R7MOV TH0,#3CH ;重新给T0装入初值MOV TL0,#B0HDJNZ 20H,EXIT ;1秒未到,返回MOV 20H,#0AH ;1秒时间到,重置中断次数MOV A,#01H ;“秒”单元增加1ADD A,32HDA A ;“秒”单元十进制调整MOV 32H,A ;“秒”的BCD码存回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论