




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要2第1章 引 言 1.1 单片机的特点及发展概况31.2 单片机的基本组成31.3 单片机的特点31.4 单片机的应用31.5 单片机的发展概况41.6单片机在篮球记分牌中的应用4第2章 篮球记分牌硬件设计 2.1 设计题目分析52.2 系统硬件设计52.3 硬件设计电路图13第3章 篮球记分牌系统软件设计3.1 软件设计思路及程序流程图153.2 程序清单26 第4章 毕业设计小结 计心得及改进41致 谢42 参考文献43 摘 要: 单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多接口于一体的微控制器,被广泛应用在智能产品和工业自动化上,而51单片机是个单片机中最为典型和最有代表性的一种 本次毕业设计的主要任务是设计一个篮球比赛记分牌,包括硬件设计和软件设计。硬件设计的主要任务是:led数码管显示、按键控制系统设计以及辅助功能的设计。软件设计包括:功能选择、倒计时的实现。本文主要介绍了单片机实现篮球记分牌的整个设计流程,采用汇编语言编写程序。本课题选择at89c51为核心控制元件,设计了日常比赛中用到的篮球记分牌。设计同时引用max7219专用led驱动芯片,解决了多位led数码管同时显示的问题,硬件结构紧凑,成本低。该单片机篮球记分牌可适应不同篮球规则,通过按键修改每个设置。运行可靠,具有一定的使用价值和竞争价值。关键词 : at89c51单片机、led数码管、max7219、汇编、篮球记分牌 第一章 引 言1.1单片机的特点及发展概况 单片机是一个单芯片形态,面向控制对象的嵌入式应用计算机系统.它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域.从此,计算机技术在两个重要领域通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。1.2 单片机的基本组成 单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的,完整的单片微型计算机.1.3 单片机的特点单片机独特的结构决定了它具有如下特点.(1)高集成度,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的.芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的cpu.单片机程序指令,常数及表格等固化在rom中不易破坏,许多信号通道均在一个芯片内,故可靠性高.(2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,i/o口的逻辑操作及位处理能力,非常适用于专门的控制功能.(3)低电压,低功耗 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8v3.6v,而工作电流仅为数百微安.(4)优异的性能价格比 单片机的性能极高.为了提高速度和运行效率,单片机已开始使用risc流水线和dsp等技术.单片机的寻址能力也已突破64kb的限制,有的已可达到1mb和16mb,片内的rom容量可达62mb,ram容量则可达2mb.由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高.1.4单片机的应用 由于单片机功能的飞速发展,它的应用范围日益广泛,已远远超出了计算机科学的领域.小到玩具,信用卡,大到航天器,机器人,从实现数据采集,过程控制,模糊控制等智能系统到人类的日常生活,到处都离不开单片机.其主要的应用领域如下。(1)在测控系统中的应用 单片机可以用于构成各种工业控制系统,自适应控制系统,数据采集系统等.例如,工业上的锅炉控制,电机控制,车辆检测系统,水闸自动控制,数控机床及军事上的雷达,导弹系统等。(2)在智能化仪器仪表中的应用 单片机应用于仪器仪表设备中促使仪器仪表向数字化,智能化,多功能化和综合化等方向发展.单片机的软件编程技术使长期以来测量仪表中的误差修正,线性化的处理等难题迎刃而解。(3)在机电一体化中的应用 单片机与传统的机械产品结合使传统的机械产品结构简化,控制走向智能化,构成新一代的机电一体化产品.这是机械工业发展的方向。(4)在智能接口中的应用 计算机系统,特别是较大型的工业测控系统中采用单片机进行接口的控制管理,单片机与主机并行工作,可大大提高系统的运行速度.例如,在大型数据采集系统中,用单片机对模/数转换接口进行控制不仅可提高采集速度,还可以对数据进行预处理.如数字滤波,误差修正,线性化处理等.(5)在人类生活中的应用 单片机由于其价格低廉,体积小巧,被广泛应用在人类生活的诸多场合,如洗衣机,电冰箱,空调器,电饭煲,视听音响设备,大屏幕显示系统,电子玩具,信用卡,楼宇防盗系统等.单片机将使人类的生活更加方便舒适,丰富多彩。1.5 单片机的发展概况 单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步.1970年微型计算机研制成功后,随即在1971年,美国intel公司生产出了4位单片机4004,它的特点是结构简单,功能单一,控制能力较弱,但价格低廉.1976年intel公司推出了mcs-48系列单片机,它以体积小,功能全,价格低等特点获得了广泛的应用,成为单片机发展进程中的一个重要阶段,此可谓是第一代单片机.在mcs-48系列单片机的基础上,intel公司在20世纪80年代初推出了第二代单片机的代表mcs-51系列单片机.这一代单片机的主要技术特征是为单片机配置了完美的外部并行总线和串行通信接口,规范了特殊功能寄存器的控制模式,以及为增强控制功能而强化布尔处理系统和相关的指令系统,为发展具有良好兼容性的新一代单片机奠定了良好的基础.近几年出现了具有许多新特点的单片机,可称之为第三代单片机.它以新一代的80c51系列单片机为代表.同时16位单片机也有很大发展.尽管目前单片机品种繁多,但其中最为典型的仍当属intel公司的mcs-51系列单片机.它的功能强大,兼容性强,软硬件资料丰富.国内也以此系列的单片机应用最为广泛.直到现在mcs-51仍不失为单片机中的主流机型.在今后相当长的时间内,单片机应用领域中的8位机主流地位还不会改变.1.6单片机在篮球记分牌中的应用 由于本次设计的简单篮球记分牌体积小,故要求其控制器体积更小以便能嵌入其结构之中。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足需求。可以适应不同规则下操作。其具体功能及实现在以下两章做详细介绍。 第二章 硬件设计2.1 设计题目分析题目:篮球比赛电子记分牌 题目要求:1.显示球队的英文名称(缩写)或用led点阵显示中文名 2.显示比分用三位数表示 3.显示比赛剩余时间,进攻剩余时间,这些剩余时间变为0时发出相应警报 4.可用按键显示修改球队名称,及比赛剩余时间,并设置暂停键。 球队名 _ _ _ vs _ _ _ 比分 _ _ _ : _ _ _ 比赛剩余时间 _ _ : _ _ 第_场 进攻剩余时间 _ _2.2 系统硬件设计 2.2.1面板设计: 球 队 名 _ _ _vs_ _ _ active比 分 _ _ _ : _ _ _ start attack setn比赛倒计时 _ _ : _ _ setft up down第 _ 场 进攻倒计时_ _ 按 键 操 作篮球记分牌的实现方法有很多,可以分为两大类:第一类是全部采用硬件实现;第二类是采用硬件和软件想结合的方法实现。这里采用单片机实现电子钟属于第二种方法。 该设计的篮球记分牌基本功能如设计题目要求所述(1) 用三位英文字母缩写代表球队名,采用max7219专用led驱动芯片实现静态显示,共6位led(2) 采用单片机的动态扫描方式动态显示比分、比赛倒计时、进攻倒计时、场次,共需要13位led数码管(3) 通过按键修改球队名称,及比赛剩余时间等,并设置暂停键,实现倒计时全部暂停。按键有6个分别为 start键 attack键 up键 down键 setn 键 setft键和一个状态开关active (4) 通过蜂鸣器发出倒计时到报警信号,节时到报警2秒钟,竟工倒计时到报警1秒2.2.2按键及开关功能设定 start键 比赛开始/暂停attack键 进攻开始up键 加1down键 减1setn 键 设置球队名、节时、节数、进攻限时setft键 修改比分、修正比赛时间、修正进攻时间开关active 比赛前/比赛中状态开关硬件设计框图: 蜂鸣报警单片机键盘led显示2.2.3系统硬件设计1. 器件选型(1) 根据以上列出的主要功能,单片机可选用atmel公司生产的,与8031完全兼容的at89c51单片机,该单片机除了具有8031所有的功能外,该单片机还带有4kbde flash的程序存储器,外部不需要扩展程序存储器,此时p0、p1、p2、p3可以用做通用i/o口使用。另外,选用该单片机可以减低系统成本,由于不需要扩展外部rom存储器,系统的数量减少,使硬件结构更加紧凑,系统性能更好。(2) max7219专用led驱动芯片,是一种高集成化的串行输入/输出的共阴极led显示驱动器。每片可驱动8位7段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需3根线。max7219内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了mcu有限的运行时间和程序资源。(3) 由于一个按键要实现多种状态转换所以,按键采用独立式键盘结构。(4) 报警电路采用单音频报警(5) 综合其优缺点,led显示采用动静结合方式。2.max7219芯片简介max7219芯片上包括bcd译码器、多位扫描电路、段驱动器、位驱动器和用于存放每个数据位的88静态ram以及数个工作寄存器。通过指令设置这些工作寄存器,可以使max7219进入不同的工作状态。a.管脚说明 图1是max7219的管脚分布图。其中:(1)din为串行数据输入端。当clk为上升沿时,数据被载入16 b内部移位寄存器。(2)clk为串行时钟输入端。其最大工作频率可达10 mhz。(3)load为片选端,当load为低电平时,芯片接收来自din的数据,load回到高电平时,接收的数据将被锁定。 图2反映了din,clk和load的工作时序。(4)dig0dig7为吸收显示器共阴极电流的位驱动线。其最大值可达500 ma,关闭状态时,输出vcc。(5)segasegg,dp为驱动显示器7段及小数点的输出电流,一般为40 ma左右,可软件调整,关闭状态时,接入gnd。(6)dout为串行数据输出端,通常直接接入下一片max7219的din端。 b.操作指令max7219有5个工作状态寄存器,分别是译码方式选择、亮度调节、扫描位数设定、待机开关、显示器检测。除空指令外,7219的所有操作指令都是2个字节,前一个是操作代码,后一个是操作数。下面用十六进制数对控制命令加以说明。c.译码方式选择操作代码为“09h”,操作数为“0”或“0ffh”。选中“0”则不使用bcd译码器,在显示数字或符号时,按每段点亮与否编排传送码。而选中“0ffh”时,则按8421标准二进制编码来代表相应的显示数字,如表1所示。需要说明的是,无论译码与否,表1中操作数的最高位d7均为小数点,“1”为亮,“0”为灭,所以表1中所列是小数点不亮时的操作数。d.亮度调节操作代码为“0ah”,操作数如表2所示。这个指令可以用来调节显示器的亮度,改变其操作数可以改变max7219内部扫描脉冲的宽度,从而使电流的平均值有所变化,这个电流平均值可以从最小的1/32至最大的31/32之间进行16级调节。max7219还提供了一种硬件调整显示器亮度的方式,即通过第18管脚的iset和vcc之间跨接的一个电阻来调节其亮度,段驱动平均电流大约为流过此电阻电流的100倍,实际应用中常用十几k的电阻直接接入即可。e. 扫描位数设定操作代码为“0bh”,操作数如表3所示。如果所用的显示器少于8位,则应通过这条指令设置相应的位数。因为设置的位数如果比实际使用的位数大,就会形成“虚位”,而一旦对“虚位”进行操作,将会引起整个显示器的混乱,这是需要加以注意的。另外,扫描位数的设置,会影响到扫描频率的变化,相应地,显示器亮度也会随着变化,所以应先确定扫描位数,再设置显示器亮度。f.待机开关 操作代码为“0ch”,操作数为“0”或“1”。 操作数为“0”,则显示器不工作(灭灯),反之,显示器正常工作。待机状态下,7219的工作电流仅为150a。g.显示器检测 操作代码为“0fh”,操作数为“0”或“1”。 选择操作数为“1”时,可点亮整个显示器,通常用来检查数码管及连接电路是否存在故障。检测时,不会改变各位原有的显示数据,即检测完毕后,再送入不检测指令“0”,又可恢复显示原数据。h. 位操作指令位操作指令就是对8个数码管显示内容的操作,也是2个字节,第1个字节是位的代码,如表4所示,第2个字节则根据译码方式的选择,来使用表1中的编码。需要说明的是,上述所有指令的输入,不分先后(但每个指令2个字节的秩序不能颠倒)。通常,前5条指令一般在上电初始化程序中加以设置,而在工作程序中,仅使用位操作指令即可。另外,max7219上电时,译码方式、亮度调节、扫描位数、待机开关、显示检测等5个控制寄存器全部归零。i.与单片机的连接max7219与51单片机的连接形式有2种,一种是将max7219的3个输入端din,clk和load与1951单片机的任意3个端口连接;一种则是直接与51单片机的串行接口相连。以下分别介绍这2种方式。j.与单片机任意3个端口连接的方式 假定按图3所示方法连接。 max7219每次接收2个字节,高位在先,其指令可编写为: *以下是max7219与单片机串行接口及max7219之间多片联级知识,在此只作粗略介绍* * * * *k.用单片机的串行接口如果将max7219的din接入单片机的rxd,clk接入txd,load选任一口线,则可通过单片机串行口对max7219像对其他设备一样按模式0进行发送操作。但由于串行口数据缓冲寄存器sbuf为右移发送,所以max7219的所有命令和操作数与第一种方式相比均应反转,见表59。注意表6中操作数的最低位d0为小数点。l.max7219的多片级联max7219可以多片级联,只需将上一片的dout连接下一片的din即可,clk和load线全部公用,连在一起。在多片级联时,对max7219的操作指令要注意load信号的起止点,操作开始时,load下降为低电平,按照每片max7219两个字节,如果有n片,则发送2n个字节后,load上升为高电平。还需注意的是,先发送的指令将到达级联的最后一片。还有一条专为max7219多片级联设置的一条空操作指令,操作代码为“00h”。当不希望对级联中的某片或某几片max7219进行操作时,就可以用空操作指令跳过这片或这几片。例如,如果4个7219串联,为了写入第4个芯片,要在3个空操作指令码后发送2个字节的指令,当load升为高电平时,数据被锁存到所有设备,前3个芯片收到的是空操作命令,而第4个收到预期的数据。 在本次设计中采用max7219专用led驱动芯片,有以下几个优势:首先,max7219每片可以驱动8位led数码管,可以多片级联,在本次设计中用到6位led显示,不需要级联。第二,max7219 与单片机相连只需要3个口线,而采用mc14495则需要8个口线,这样就大大节省了口线资源;第三,max7219内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了mcu有限的运行时间和程序资源。 综上所述,结合了单片机的动态显示和静态显示的优缺,达到优势互补,最终选择max7219做静态显示球队名称,单片机动态扫描13位led显示比分、时间等2.3 硬件电路设计在该电路中,无需进行存储器和i/o口的扩展,p0-p3口都可以作通用i/o口来实现其他功能。p1.2p1.7口作独立式键盘的输入口线,由于p1口内部没有上拉电阻,所以在p1口外部需要外接上拉电阻。独立式键盘采用一键多功能方式,与矩阵键盘相比,按键设置要少。矩阵键盘适用于按键较多、功能单一的情况。一键多功能,可以减少键的使用,相比在该设计情况下,用独立式键盘更好。蜂鸣器由ttl 系列集成电路7406驱动,通过单片机控制实现报警功能单片机1.0引脚输出高电平时,7406输出低电平驱动蜂鸣器发声,p1.0输出低电平时蜂鸣器停止发声。 p0.0p0.2口与max7219的数据端口连接,p0.0和p0.1、p0.2分别max7219模块din、load、clk 端口相连,实现单片机与max7219模块的数据传输与控制。p3口作为led(共阴极)七段码输出端口,外加ttl7407驱动,数码管一般点亮电流为10ma左右,电流过大会损坏,电流太小数码管太暗,看不清晰。综合电流及驱动等因素考虑,选择7407后电阻选择1k。 显示子程序分为动态显示子程序和静态显示子程序,动态显示与静态显示比较各有优缺。 静态显示的亮度高,占用cpu的时间短,但它的成本高。为了简化硬件电路,降低成本,在单片机应用系统中采用动态扫描的方法,解决多位led显示问题。动态扫描显示的硬件接口简单,只需一个公共的七段码输出口(字形口) 一个选择显示位的数位选择口(字位口),显示时,从左到右轮流点亮每位显示器,只要保证扫描周期不超过一定的限度(一般在20ms以下)由于视觉的暂留,则可达到“同时”显示各位不同的数字或字符的目的。 动态显示的优点是成本低,接口电路简单,但它要求cpu繁地为显示服务。 考虑到成本和cpu负担,初期采用8155扩展芯片,完全用动态显示的方案不可取,采用motorola公司生产的mc14495芯片结合动态显示接口资源不够用需要扩展,暂时取消。最后引进max7219专用led驱动芯片解决了单片机接口问题,结合动静态显示的优点,最终得到如上设计的电路图。 第三章 系统软件设计3.1软件设计思路和程序流程图 根据系统的功能要求和硬件的连接情况,软件可分为:t0、t1定时中断模块和主程序模块。两个中断模块都设定10ms基本定时,中断100次为1s,进而实现分、秒的计时功能,以及蜂鸣器的开关控制。 主程序模块通过循环执行的方式实现以下功能:判断比赛前/中,比赛前调用静态显示子程序显示球队名称,比赛中则调用动态显示子程序显示比分、比赛时间、进攻时间、场次(节时),若有按键按下,则调用键盘处理子程序。主程序模块的流程图如31所示:系统初始化调动态显示子程调键处理子程调静态显示子程ny图3-1 主程序流程图开始比赛中?读active键在中断程序中,先重装定时器初值,基本计时单元加1,然后进行分、秒的计时,若倒计时为0则打开蜂鸣器,持续蜂鸣设定的时间后自动停止。t0、t1中断服务的流程图如图3-2、3-3所示。每节比赛结束后,计数器r7加1,到达比赛前设定的节数时,r7清0,相应的显示0节,以表示比赛结束。t0、t1定时中断采用工作方式1(16位定时器),由于系统时钟频率为12mhz,机器周期为1us。要实现10ms的定时方式,在t0、t1的初值为x=65536-12*100000*0.01/12=55536=d80fh倒 计时以二进制计数,在送入显示之前先拆分为单个bcd码,分别送入相对应的显示缓冲区。t0中断子程序置t0初值,计时单元加1fm=1?到1s基本单元清0,秒单元减1,修改显缓到60次分单元减1,秒单元清0倒计时为0开蜂鸣fm=1r7超过设定节数r7=0返 回 到2秒停(t0)蜂鸣nnnnnyyyy图3-2 t0中断子程序流程图计数寄存单元r7加1停t1,进攻停止,进攻显示00t1中断子程置t1初值,计时单元加1fm=1到1s基本单元清0,秒单元减1倒计时为0进攻限时清0,开蜂鸣fm=1返 回到1s ?停(t1)进攻倒计时nnnyyy图3-3 t1中断子程序当有键按下是先判断 active开关闭合与否,开关闭合p1.1低电平,比赛开始,相应的setn键无效,就是说比赛中先前设定的比赛规则和球队名称不可改变;相反开关打开p1.1高电平,比赛之前,setft键无效,无法修改比分和时间,可以保持比分不变。这样的设计可以防止误动作。有键按下时,先延时10ms去除抖动影响,确定有键按下时调用键处理子程序。键共有6个按键流程图如图3-4,根据按键的不同,跳转到相应的键处理小程序。 (1)setn键,根据按set键的次数,可以有不同的状态,根据这些状态通过up键和 down键作出相应的修改,setn键的状态转换图及流程图如图3-5和图3-6。setn键设置球队名称。键处理子程延时10毫秒n判断按键 ydownupattackkstartsetftsetn key-end返回 图3-4 键处理子程(2)setft键,根据按setft键的次数,可以有不同的状态,根据这些状态通过up键和 down键作出相应的修改,setnft键的状态转换图及流程图如图3-7和图3-8。setft键设置比分、修改时间等。(3)start键,start键有两种状态,开始和暂停。startval值=1比赛开始,比赛倒计时开始,进攻倒计时开始;再次按下start键时startval值=0,比赛暂停,比赛倒计时和进攻倒计时都停止,并保持原数据不变。(4)attack键,attack键也有两种状态,开始和停止。按下attack键,attackval值=1,启动进攻倒计时;再次按下attack键,attackval值=0,停止进攻倒计时,并重赋进攻初值。(5)up和down键,实现加1和减1或者指向上一位字母和指向下一位字母的功能。up键和down键分比赛与否实现不同的加减。具体情况如图3-9和图3-10setn比赛开始?读active键setncnt值加1到10次?setncnt值清0nnyy转key-end图3-5 setn键系统上电setncnt=0正常工作状态setncnt=1设置a-1名称setncnt=2设置a-2名称按setn键setncnt=3设置a-3名称按setn键setncnt=4设置b-1名称setncnt=7设置节数setncnt=8设置节时setncnt=5设置b-2名称setncnt=6设置b-3名称setncnt=9设置进攻限时按setn键按setn键按setn键按setn键按setn键按setn键按setn键按setn键setn状态转换图图3-6 setn键状态转换图setft比赛开始?读active键setftcnt值加1到5次?setftcnt值清0nnyy转key-end图3-7 setft键系统上电setftcnt= 0正常工作状态按setft键setftcnt= 1设置a比分setftcnt= 2设置b比分按setft键setftcnt=3修改计时时间setftcnt= 4修改进攻限时按setft键按setft键按setft键setft状态转换图图3-8 setft键状态转换图up键比赛开始?读active值判断setncnt值判断setftcnt值查字母 表an-1超过z?an-1指向a修改显缓0 1 2 3 4 5 6 7 8 9 节数加1限制0 - 9修 改显缓节时分加1限时加1限 制0 - 60修 改显 缓限 制0 - 60修 改显 缓0 1 2 3 4a分加 1调拆字子程2修改显 缓b分加 1比赛计时分加1进攻限时加 1调拆字子程2修改显 缓比赛中比赛中调拆字子程1调拆字子程1修改显缓修改显 缓n n y yn转key-end限制0-19限制0-19限制0-60限制0-60yan-1指向下一个字母球队名第一位显缓节数显缓节时显缓进攻限时显缓球队a比分显缓比赛计时显缓进攻限时显缓球队a比分显缓调拆字子程1调拆字子程1图3-9 up键down键比赛开始?读active值判断setncnt值判断setftcnt值查字母 表an-1到a?an-1指向a修改显缓0 1 2 3 4 5 6 7 8 9 节数减1限制0 - 9修 改显缓节时分减1限时减1限 制0 - 60修 改显 缓限 制0 - 60修 改显 缓0 1 2 3 4a分减 1调拆字子程2修改显 缓b分减 1比赛计时分减1进攻限时减 1调拆字子程2修改显 缓比赛中比赛中调拆字子程1调拆字子程1修改显缓修改显 缓n n y yn转key-end限制0-19限制0-19限制0-60限制0-60yan-1指向上一个字母球队名第一位显缓节数显缓节时显缓进攻限时显缓球队a比分显缓比赛计时显缓进攻限时显缓球队a比分显缓调拆字子程1调拆字子程1图3-10 down键 显示子程序分为动态显示子程序和静态显示子程序,动态显示与静态显示比较各有优缺。 静态显示的亮度高,占用cpu的时间短,但它的成本高。为了简化硬件电路,降低成本,在单片机应用系统中采用动态扫描的方法,解决多位led显示问题。动态扫描显示的硬件接口简单,只需一个公共的七段码输出口(字形口) 一个选择显示位的数位选择口(字位口),显示时,从左到右轮流点亮每位显示器,只要保证扫描周期不超过一定的限度(一般在20ms以下)由于视觉的暂留,则可达到“同时”显示各位不同的数字或字符的目的。 动态显示的优点是成本低,接口电路简单,但它要求cpu频繁地为显示服务。图3-11为动态显示流程图,图3-12是静态显示流程图。 考虑到成本和cpu负担,初期采用8155扩展芯片,完全用动态显示的方案不可取,采用motorola公司生产的mc14495芯片结合动态显示成本高,也不可取。最后引进max7219专用led驱动芯片解决了单片机接口问题,结合动静态显示的优点,最终得到动静结合的设计方案。 表3-1 动态显示七段码(字形码)表 显示字符d7d6d5d4d3d3d1d0七段码dpgfedcba 0001111113fh 10000001106h 2010110115bh3010011114fh40110011066h5011011016dh6011111017dh 70000011107h8011111117fh9011011116fh .1000000080h 空白0000000000h 动态显示子程(r0)显缓首址(r1)左起第1位(r2)左起第9位关显示从显缓中取数查七段码输出七段码延时1ms修改显缓指针修改数位代码13位扫描完完n返回y图3-11 动态显示流程图 定义端口max7219初始化(r3)显缓首址(r4)左起第1位(r5)显示位数从显缓中取数查表求字母七段码写入七段码值写入数位值修改显缓指针修改数位代码所有数据写入完毕?返回max7219显示子程序ny图3-12 静态显示流程图 表3-2 max7219静态显示字母七段码表 显示字符d7d6d5d4d3d2d1d0数码显示七段码值dpgfedcbaa1111011177hb111111117fhc101100014ehd101111117ehe111110014fhf1111000147hg111111015fhh1111011037hi1000011030hj1000111038hk1011011036hl101110000ehm1100111179hn1101010076ho1110001163hp1111001167hq1110011173hr1111000127hs111011015bht1100011031hu101111103ehv1110000003hw111110000fhx1010010012hy11111103bhz110110116dh黑屏 0000000000h 程序清单:;定义引脚 spk bit p1.0 ;蜂鸣器开关 din bit p0.0 ;p0.0p0.2为max7219模块控制端口 load bit p0.1 clk bit p0.2 active bit p1.0; ;比赛前/比赛中状态开关;ram区分配 t0cnt equ 30h ;t0基本计时单元 t1cnt equ 31h ;t1基本计时单元 ascore equ 32h ;球队“a”比分单元 bscore equ 33h ;球队“b”比分单元 minute equ 34h ;计时分单元 second equ 35h ;计时秒单元 lsecond equ 36h ;进攻限时秒单元 scene equ 37h ;节数(场次)单元 led_buf equ 40h ;动态显缓 setncnt equ 50h ;setn键按键次数存放单元 setfecnt equ 51h ;setft键按键次数存放单元 disp_equ equ 52h ;静态显缓 ;程序入口org 0000h ljmp main;t0中断入口 org 000bh ljmp it0p;t1中断入口 org 0010h ljmp it1p*主程序* org 0040h main: mov sp , #60h ;设置堆栈指针 mov tmod #11h ;设置t0,t1为16位定时器方式 mov th0 , #0d8h ;置t0初值 mov tl0 , #0f0h mov t0cnt , #00h ;t0中断次数清零 mov th1 , #0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公安考试申论考试题及答案
- 2025年能源行业智能电网在电力系统智能化升级中的应用报告
- 2025年进厂打工测试题及答案
- 机械伤害考试题及答案
- 2025年中级经济师经济基础题库及答案
- 2025年应急急救知识试题卷与答案
- 2025年职业病防治考试试题及答案
- 教学结合型的多媒体课件
- 毛概主题课件
- 毛巾行业知识培训总结
- 2025年工业区污水处理厂可行性研究报告
- 2024年婴幼儿托育服务与管理专业人才培养方案调研报告
- 特色农产品电商直播基地建设项目可行性研究报告
- 2024-2025学年人教版数学八年级下册期末复习卷(含解析)
- 致密油藏中CO2驱油机理研究
- 2025年高校教师岗前培训高等教育心理学知识竞赛考试题库50题及答案
- 电动港机装卸机械司机(高级技师)职业技能鉴定理论考试题(附答案)
- 无人机打药合同协议书
- 《肥胖症诊疗指南(2024年版)》解读课件
- 2025CSCO结直肠癌诊疗指南解读
- 电力隐患培训课件
评论
0/150
提交评论