演讲时间控制器软件设计与仿真.doc

上传人:仙人指路1688 文档编号:2884367 上传时间:2023-03-01 格式:DOC 页数:43 大小:234KB
返回 下载 相关 举报
演讲时间控制器软件设计与仿真.doc_第1页
第1页 / 共43页
演讲时间控制器软件设计与仿真.doc_第2页
第2页 / 共43页
演讲时间控制器软件设计与仿真.doc_第3页
第3页 / 共43页
演讲时间控制器软件设计与仿真.doc_第4页
第4页 / 共43页
演讲时间控制器软件设计与仿真.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《演讲时间控制器软件设计与仿真.doc》由会员分享,可在线阅读,更多相关《演讲时间控制器软件设计与仿真.doc(43页珍藏版)》请在三一办公上搜索。

1、演讲时间控制器软件设计与仿真 内容提要在电子工业高度发达的今天,智能控制系统的设计与应用已经越来越来广泛。由于人们的广泛需求促进了相关微控制芯片的发展与应用,本文就是介绍用8位的微控制芯片(STC89C52单片机)实现演讲时间显示控制器的设计。本设计主要以STC89C52单片机为核心外加相关的控制模块(如74HC154、74HC595、MAX7219芯片)实现演讲时间显示控制器的设计,它包括16*64LED点阵显示屏的设计和驱动设计,五位数码管的显示驱动设计,键盘驱动的设计等。在Keil uVision2软件平台上用C语言设计控制程序,用Proteus实现电路和程序的仿真,最后用Protel设

2、计原理图和PCB板以完成硬件的设计。关键词STC89c52单片机;16*64LED点阵;数码管;C语言;Protues仿真Speech Time Controller Software Design and SimulationYang Yujie Tutor Liu ZhaoyuAbstractToday, in the highly developed electronic industry, intelligent control system design and application has more and more popular. The promotion of the r

3、elevant micro control chip development and application is caused peoples extensive demand. This paper is written to introduce how to use the eight-bit micro control chip (STC89C52 SCM) to achieve the design of speech time controller. This design mainly use STC89C52 single-chip microcomputer and the

4、related control module (such as 74HC154, 74HC595 are needed, MAX7219 chip) to achieve speech time display controller design, which includes 16 * 64 LED dot matrix display design and driver design, five digital tube display driver design, keyboard driver design, etc. Use C language to design control

5、procedures in the Keil uVision2 software platform, then use the Proteus to finish the circuit and the simulation of the program . Finally , we complete hardware design with Protel design schematic and PCB board . Key wordSTC89C52 SCM; 16 * 64 of LED dot matrix; Digital tube; C language; Protues simu

6、lation 目 录第一章 绪论11.1 毕业设计的目的和背景11.2 设计简介3第二章 开发工具选择32.1 硬件部分工具选择32.2 软件设计工具选择6第三章 电路仿真部分73.1功能框图73.2 电路部分83.3 显示电路103.4 Proteus仿真11第四章 软件部分124.1软件设计的语言工具124.2 程序流程图134.3系统主控制程序介绍(总程序见附录)154.4 主要相关驱动程序介绍19第五章 调试部分245.1调试24第六章 总结24参考文献25附件26演讲时间控制器软件设计与仿真081308130 杨玉杰 指导老师 刘兆瑜 副教授第一章 绪论1.1 毕业设计的目的和背景

7、目的:演讲时间显示控制器可以有两个作用:一个是在讲座中提示演讲者对时间的有效控制;另一个是在演讲比赛中确保每个选手在相同的时间里演讲,可以让演讲者,裁判,观众同时看到计时的时间,达到公开公平公正的目的。演讲时间显示控制器可以克服掐秒表带来的许多弊端,达到精准无误的效果。它不仅适合于演讲,同时也适用于各高等院校和科研院所召开毕业答辩会、学术交流会、演讲会及各单位在召开在职干部述职报告会、年终总结汇报会等会议时使用,具有重要的实际意义。 背景:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和

8、智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM, I/O 接口和中断系统集于同一硅片上的器件。单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。目前单片机已渗透到我们生活的各个领域, 几乎很难找到哪个领域没有单片机的踪迹。在我们身边,由单片机作为主控制器的全自动洗衣机、高档电风扇、电子厨具、变频空调、遥控彩电、录像机、VCD/DVD机、组合音响、电子琴等。单片机己在广阔的计算机应用领域中表现得淋漓

9、尽致,出尽了风头。从家用消费类电器到复印机、打印机、扫描仪、传真机等办公自动化产品;从智能仪表、工业测控装置到CT、MRI等医疗设备;从数码相机、摄录一体机到航天技术、导航设备、现代军事装备等等都有单片机在里而扮演重要角色。因此,单片机己成为电子类工作者必须掌握的专业技术之一。单片机就是一个微型中央处理器,通过编程即能完成很多智能化的上作,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。随着人们生活水平提高,社会经济的发展,人们开始考虑精神生活的享受,并开始注重文化的提高。开始举办一些文化活动。例如诗歌演讲比赛、演讲比赛等。所以我就设计了一个演讲时间显示控制器。设计简单,耗费少,容易

10、制作。可用于校园等演讲比赛。花很少的钱就可以得到一个实用的演讲比赛计时器。本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。本次设计的重要意义还在于对单片机的内部结构和各种工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。此次设计更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和上作打好基础,为自己的专业技能打好基础。1

11、.2 设计简介演讲时间显示器用来显示和控制演讲时间,时间可任意设置,比如设置演讲时间为5min,距演讲时间结束最后10秒时每过一秒响一次以提醒演讲者时间演讲即将结束,在5min时喇叭响3秒钟以提示演讲者时间已经结束,应停止演讲,然后LED显示屏显示“时间到!”字样。本设计主要用单片机实现,由五部分组成:电源、输入部分、计时部分、显示部分(数码管显示和LED点阵显示)、报警部分。本设计有两个电源模块,一个是为控制部分提供电源的电源模块,另一个是为LED点阵显示提供电源的电源模块,通过输入模块来任意设定演讲的时间,其最大设定时间为99min。演讲开始后,通过两个显示器来显示时间,数码管显示是给演讲

12、者看,另一个LED点阵显示是给台下观众和评委看,通过两个显示器和报警器来提醒演讲者和台下观众演讲的时间。第二章 开发工具选择2.1 硬件部分工具选择2.1.1 Proteus软件Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:功能特点:Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: (1)原理布图 (2)PCB自动或人工布线 (3)SPICE电路仿真 革命性的特点: (1)互动的电路仿真 用户甚至可以实时采用诸如RAM,R

13、OM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 (2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。 功能模块:(1)智能原理图设计(ISIS)。(2)完善的电路仿真功能(Prospice)。(3)独特的单片机协同仿真功能(VSM)。资源丰富: (1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。 (2)P

14、roteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。 (3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 (4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 电路仿真:在

15、Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus是单片机课堂教学的先进助手。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于Proteus提供了实验室无法相比的大量

16、的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力。 因此综合以上优点的分析,本次设计采用了Proteus软件进行整个系统的软硬件的设计仿真。2.2 软件设计工具选择2.2.1 Keil软件

17、(1)Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(2)单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇

18、编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎

19、就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。因此综合以上软件特点的分析,本次软件设计采用的是Keil软件平台,用C语言进行程序的设计。第三章 电路仿真部分3.1功能框图 LED点阵显示 数码管显示STC89C52电源模块输入模块报警模块定时模块图1 功能框图3.2 电路部分3.2.1相关芯片的介绍 (1) STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程F

20、lash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8KB Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。 (

21、2)74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。当其余的使能输入端置低时,地址输出将会跟随应用的状态。(3)74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位

22、移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHCP的上升沿输入到移位寄存器中,在STCP的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。将串行输入的8位数字,转变为并行输出的8位数字。 (4)MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处

23、理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI、 QSPI以及 MICROWIRE相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150A的低功耗关闭模式,模拟和数字亮度控制

24、,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。3.2.2 主控制仿真电路 图2 主控制仿真图3.3 显示电路3.3.1 数码管显示电路 图3 数码管显示电路3.3.2 LED点阵显示电路图4 LED点阵显示电路3.4 Proteus仿真Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用Keil uVision2,在新建Keil项目时选择AT89C52单片机作为CPU,将源程序导入,在“options Far Target”对话窗日中,选中Output选项中的Create HEX File,编译链接后就可以生成.HEX文件。在Prot

25、eus ISIS中,选中AT89C52并双击鼠标右键,对AT89C52进行设置,设置单片机时钟频率为l2MHz,按照正确的文件路径加载.HEX文件。对单片机设置完毕后就可以开始仿真了。仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil uVision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。利用Proteus实现了对整个系统的仿真,说明程序和电路都没有问题。整个系统仿真效果如下图:图5 整个系统仿真通过整个系统仿真图可以看到,将.HEX文件下载到单片机里去的时候通过Proteus仿真能够很好地实现预期的功能要求,这说明了所设计

26、的电路图是没有问题的,所设计的程序也是没有问题的。这样在此仿真的基础上就可以进行实际电路的实现,从而大大的降低了开发成本和开发风险。第四章 软件部分4.1软件设计的语言工具4.1.1、 C语言的简介 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言过渡到逐渐使用高级语言开发,其中主要是以 C 语言为主,市场上几种常见的单片机均有其 C 语言开发环境。目前,8051上的C语言的代码长度,已经做到了汇编水平的1.21.5倍。在4KB以上的程度,C语言的优势更能得到发挥。至于执行速度的问题,只要有好的仿

27、真器的帮助,找出关键代码,进一步用人工优化,就可很简单地达到十分美满的程度。如果谈到开发速度、软件质量、结构严谨、程序坚固等方面的话,则C语言的完美绝非汇编语言编程所可比拟的。8051单片机C语言具有如下优越性: 不懂得单片机的指令集,也能够编写完美的单片机程序。 无须懂得单片机的具体硬件,也能够编出符合硬件实际的专业水平的程序。 不同函数的数据实行覆盖,有效利用片上有限的RAM空间。 程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏。 C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵

28、活性。 .提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址。 提供small、compact、large等编译模式,以适应片上存储器的。4.2 程序流程图 开始 初始化开始倒计时外部中断0?进入中断0处理K5=0?K3=0?K4=0?K3=0?K4=0?K6=0? 开LED点阵 开始计时最后十秒?过一秒响一次时间结束?显示“时间到!”K2=0?Y Y T4-1 T3-1 T4+1 T3+1N Y Y Y Y Y Y Y N 停止计时Y N 图6 程序流程图 4.3系统主控制程序介

29、绍(总程序见附录) 4.3.1系统主控制程序简述系统主控制程序首先对定时器0、定时器1、外部中断0的工作模式进行初始化设置,定时器0、定时器1计数值进行初始化。主控制程序中有两个循环,第一个循环是只调用数码管显示程序,实现数码管的显示计时。当按下K2键时跳出第一个循环进入第二个循环,在第二个循环中调用LED点阵显示程序和数码管显示程序,实现点阵和数码管的显示计时。在两个循环中定时器0每过0.05秒发生一次,当发生20次时完成1秒的计时,这时通过改变全局变量t1、t2、t3、t4实现显示数据的改变,从而完成演讲时间的计时。 4.3.2 主控制程序流程图准备 初始化 循环1数码管显示K2=0? 循

30、环2数码管、点阵显示Y N 定时器0中断中断次数是否20?改变显示数值Y N 继续计数图7 主控制程序流程图4.3.3 主控制程序如下:void main() EA=1; /两个定时器中断相关参数和max7219初始化程序段 TMOD=0x11; /定时器模式设定 ET0=1; /开定时器0中断 ET1=1; /开定时器1中断 TR0=1; /开定时器0 PT1=1; /设定定时器1中断优先级为 1 PT0=1; /设定定时器0中断优先级为1 EX0=1; /开外部中断0 IT0=1; /设定外部中断0为触发沿触发 TH0=(65536-50000)/256; /定时器0高8位赋初值TL0=(

31、65535-50000)%256; /定时器0低8位赋初值TH1=(65536-50000)/256; /定时器1高8位赋初值TL1=(65535-50000)%256; /定时器1低8位赋初值 Init_Max7219(); /MAX7219初始化函数声明 while(1) while(1) if(k2=0) delay(5); if(k2=0) break; smgdisplay(); while(1) uchar j=0; E1=0; while(t1=0&t2=0&t3=0&t4=0) for(j=0;j16;j+) /时间结束时 LED点阵显示 时间到!程序段 stcp=0; wri

32、te_595(table1t1+3j*2+1); write_595(table1t1+3j*2); write_595(table1t2+2j*2+1); write_595(table1t2+2j*2); write_595(table1t3+1j*2+1); write_595(table1t3+1j*2); write_595(table1t4j*2+1); write_595(table1t4j*2); hang=j; stcp=1; if(k2=0) /重新开始是倒计时程序段 delay(5); if(k2=0) TR0=1; while(!k2); for(j=0;j16;j+)

33、 /倒计时时LED点阵显示程序段 stcp=0; write_595(table10j); write_595(table10j); write_595(tablet1j); write_595(tablet2j); write_595(table11j); write_595(tablet3j); write_595(tablet4j); write_595(table10j); hang=j; stcp=1; smgdisplay(); 4.4 主要相关驱动程序介绍4.4.1、MAX7219驱动 MAX7219要工作首先要设置其工作模式,MAX7219内部有5个控制寄存器,它们分别为译码模

34、式寄存器、亮度调整寄存器、扫描限制寄存器、关断模式寄存器、显示测试寄存器。译码模式选择寄存器(地址F9H):该寄存器的8 位二进制数的各位分别控制8 个LED 显示器的译码方式。当高电平时,选择BCD-B 译码模式,当低电平时选择非译码模式,而使用送来数据为字型码。亮度调节寄存器(地址FAH):数码管的现实亮度可以用硬件和软件两种方法调节,亮度寄存器中的D0D3位可以控制LED 显示器的亮度,通过改变亮度寄存器的值,可以调整MAX7210驱动数码管的有效循环时间,从而改变数码管显示的亮度。扫描限制寄存器(地址FBH):用于限定MAX7219的扫描数码管的个数,该寄存器中D0D3 位数据设定值为

35、07H,设定值表示显示器动态扫描个数为18。关断模式寄存器(地址FCH):有两种模式选择:一种是关断状态模式(D00);一种是正常操作状态(D01),通常选择正常操作状态。显示测试寄存器(地址FFH):有两种选择用于设置LED是测试状态还是正常操作状态:当在测试状态时(D01)各位全应亮,一般选择正常操作状态(D00)。通过以上了解可写出相关的驱动程序如下:void Init_Max7219() Write_Max7219(SHUT_DOWN,0x01); /Normal Operation XXXXXXX1 Shutdown Mode XXXXXXXX0 Write_Max7219(DISP

36、LAY_TEST,0x00); /Normal Operation XXXXXXX0 Display Test Mode XXXXXXXX1 Write_Max7219(DECODE_MODE,0xff); /Decode Mode Select D7D0 1 B decode 0 No decode Write_Max7219(SCAN_LIMIT,0x04); /SCAN LIMIT 07 0xX00xX7 Write_Max7219(INTENSITY,0x0f); /Set Intensity 0xX00xXfvoid Write_Max7219_byte(uchar temp) /向

37、MAX7219发送一字节数据 uchar i; for (i=0;i8;i+) CLK=0; DIN=(bit)(temp&MSB); temp=1; CLK=1; void Write_Max7219(uchar address,uchar dat) /向MAX7219发送数据地址和数据 LOAD=0; Write_Max7219_byte(address); Write_Max7219_byte(dat); LOAD=1; 4.4.2、74HC595驱动 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。数据在SCHCP的上升沿输入,在STCP

38、的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 OE时(为低电平),存储寄存器的数据输出到总线。74HC595各个引脚的功能:Q1-Q7 是并行数据输出口,即储寄存器的数据输出口。Q7 串行输出口,其应该接SPI总线的MISO接口。STCP 存储寄存器的时钟脉冲输入口。SHCP 移位寄存器的时钟脉冲输入口。 输出使能端。 芯片复位端。Ds 串行数据输入端。通过以上了解可写出该芯片驱动程序如下:for(j=0;j

39、16;j+) stcp=0; write_595(table10j); write_595(table10j); write_595(tablet1j); write_595(tablet2j); write_595(table11j); write_595(tablet3j); write_595(tablet4j); write_595(table10j); hang=j; stcp=1; void write_595(uchar shuju) uchar i; for(i=0;i=1; 程序说明: 每当clk上升沿到来时,ds引脚当前电平值在移位寄存器中左移一位,在下一个上升沿到来时移位

40、寄存器中的所有位都会向左移一位,同时Q7也会串行输出移位寄存器中高位的值,这样连续进行8次,就可以把数组中每一个数(8位的数)送到移位寄存器;然后当stcp上升沿到来时,移位寄存器的值将会被锁存到锁存器里,并从Q1-Q7引脚输出。4.4.3、74HC154驱动 74HC154是4-16译码器,通过单片机的P2口的低四位向其输入行扫描数据,从而实现LED点阵的行扫描。第五章 调试部分5.1调试 调试主要分为硬件调试和软件调试: 硬件调试:在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道

41、到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足,在调试中进行修改了。 软件调试:软件部分是先参考书上的例子,然后自己根据硬件电路写程序,由于单片机C语言使用起来更加方便,所以这个系统在编写程序过程中都采用单片机C语言编写。刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。但是,当下载到实际的硬件电路板上时还会有很多的小问题,通过再次认真仔细分析多次修改程序后,程序能够正常运行。第六章 总结 本次毕业设计从四月份以来到现在大约有两个月的时间,回顾这些天做毕业设计的过程,我感到自己学到了很多的东西。这些东西都是无法从书本上能获得的,在做的过程中使我深深知道了这个专业不仅仅要求我们知道而且更要求我们有很好的动手能力,去把所知道的东西给做出来,这样才能成为一名合格的电子信息工程专业的毕业生。本设计是基于STC89C52单片机的演讲时间显示控制器,它能够实现任意定时的功能和报警功能,总结本文的研究工作,主要做了以下几点工作:(1)、通过查阅大量的相关资料和观看相关的教学视频,详细了解了51单片机内部结构和工作原理,更进一步增加了对单片机知识的理解和运用能力。

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号