




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书基于msp430单片机的时钟设计专业电气工程及其自动化学生姓名班级学号指导教师完成日期基于msp430单片机的时钟设计摘 要:msp430 系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机。说明书介绍了以msp430f149单片机为核心的时钟系统的设计。在硬件电路方面,采用spx1117低压差稳压器为单片机提供电源,它将5v电压转化为3.3v提供给单片机;用4*4矩阵键盘进行输入;在时间的显示上采用了两种方法显示,即led数码显示和lcd液晶显示;除此以外,在电路板上还留有供扩展电路应用的引脚接口。在软件设计方面,完成了键盘扫描程序、显示模块程序以及系统主程序的设计。由于采用msp430为核心,它的超低功耗的特点使得整个系统的功耗非常的低,一个普通的钮扣电池可使用长达10年之久。另外,由于片内具有丰富的外围电路,加之电路板上留有供扩展电路应用的引脚接口,还可以对其增加一些功能,比如整点报时、温度显示等。关键词:msp430;时钟设计;矩阵键盘;lcd the design of clock based on mcu430abstract: the series of msp430 is a 16 bit, with risc, ultra-low power mixed mcu. the brochure introduces the design of clock system with the core of msp430f149 mcu. in hardware electric circuit aspect, i adopt spx11117 low press manos tat to provide electrical source for mcu. it translates 5v press into 3.3v then provides it to mcu. and it use 4*4 matrix keyboard to input. and in the display of time aspect, i use two ways of showing: led and lcd. otherwise, i remain some cite way for extending the use of electro-circuit. in the design of software, i finish the scan process of keyboard, the programmer of display module, and the design of the main process of the system.chosen msp430 which is overtake low consume as it is core, so the cost of the whole system is very low, a button batteries can be used for ten years. in addition, because a lot of circuits are in it, and because there are some cite ways remained for extending the use of electro-circuit, we can still add some functions to it, such as give the correct time when it is the full time, the display of temperature and so on.key words: msp430;clock design;matrix keyboard;lcd 目 录1 概 述12 课题研究背景与意义32.1 课题研究背景32.2 课题研究意义33 msp430f149介绍43.1 msp430f149芯片特点43.2 msp430f149芯片引脚53.3 msp430f149芯片处理单元83.4 msp430f149芯片运行模式83.5 msp430f149芯片i/o端口93.6 msp430f149芯片时钟系统103.7 msp430f149芯片存储器结构和地址空间104 系统硬件电路设计124.1 系统方案论证与选择124.2系统总体设计134.3 电源稳压电路144.4 led数码显示电路144.4.1 led数码管的结构与工作原理144.4.2 led显示器的显示方式及驱动方式154.5 lcd液晶显示接口电路164.6 键盘输入电路194.7 jatg接口基本原理204.7.1 边界扫描技术204.7.2 tap控制器215 msp430集成开发调试环境225.1 关于iar embedded workbench225.2 iar embedded workbench的基本操作235.3 iar c430编译器246 系统软件设计286.1 led数码管显示器模块306.2 lcd液晶显示器模块316.3 矩阵键盘模块驱动327 结 束 语35参考文献36致 谢37附 录38附录1 程序清单38附录2 系统原理图50附录3 系统pcb图51附录4 元器件清单52基于msp430单片机的时钟设计1 概 述 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。现今,高精度的计时工具大多数都使用了石英晶体振荡器。由于电子钟、石英表、石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子钟用集成电路计时,译码代替机械式传动,用led显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:ds1302,ds12887,x1203等都可以满足高精度的要求。目前单片机应用于各个领域,其应用于仪器仪表中显得更为优越。基于单片机控制的电子时钟具有计时准确、功耗低等优点。美国德州仪器公司(ti)推出的msp430系列超低功耗16位混合信号处理器(mixed signal processor)。集多种领先技术于一体,以16位risc处理器、超低功耗、高性能模拟技术及丰富的片内外设、jtag仿真调试定义了新一代单片机的概念,给人以耳目一新的感觉。加之ti优良的服务,充分体现了世界级著名ic厂商的势力和综合优势。ti公司从1996年推出msp430系列开始到2000年初,推出了33x、32x、31x等几个系列。msp430的33x、32x、31x等系列具有lcd驱动模块,对提高系统的集成度较有利。每一系列有rom型(c)、otp型(p)和eprom型(e)等芯片。eprom型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即用户可以用eprom型开发样机,用otp型进行小批量生产,而rom型适应大批量产品的生产。随着flash技术的迅速发展,ti公司也将这一技术引入msp430系列单片机中。2000年推出了f11x/11x1系列,这个系列采用20脚封装,内存容量、片上功能和i/o引脚数比较少,价格也比较低廉。在2000年7月推出了带adc或硬件乘法器的f13x/f14x系列。在2001年7月到2002年又相继推出了带lcd控制器的f41x、f43x、f44x。ti在2003到2004年期间推出了f15x和f16x系列产品。在这一新的系列中,有了两个方面的发展:一是增加了ram的容量,如f1611的ram容量增加到了10kb,这样就可以引入实时操作系统(rtos)或简单文件系统等;二是从外围模块来说,增加了dma、dac12和svs等模块。另外,ti在2004年下半年推出了msp430x21x系列,该系列是对msp430x1xx片内外设的进一步精简,价格低廉,适合做一些简单的应用。msp430系列单片机不仅可以应用于许多传统的单片机应用领域,如仪器仪表、自动控制以及消费品领域,更适合用于一些电池供电的低功耗产品,如能量表、手持式设备、智能传感器等,以及需要较高运算性能的智能仪器设备。此次设计就是用msp430f149单片机设计数字时钟,在硬件电路方面,采用spx1117低压差稳压器为单片机提供电源,它将5v电压转化为3.3v提供给单片机;用4*4矩阵键盘进行输入;在时间的显示上介绍了两种方法显示,即led数码显示和lcd液晶显示;除此以外,在电路板上还留有供扩展电路应用的引脚接口。在软件设计方面,完成了键盘扫描程序、显示模块程序以及系统主程序的设计。通过此次设计,可以了解msp430f149的内部结构,理解其工作原理,同时可以掌握一般电子系统的调试方法。2 课题研究背景与意义单片机的应用在后pc时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以mcs51/96等处理器为中心,外扩各种接口构成各种应用系统。单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由dsp、arm、mips等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面:a.以电池供电的应用越来越多,而且由于产品体积的限制,很多是用纽扣电池供电,要求系统功耗尽可能低,如手持式仪表、玩具等。b.随着应用的复杂,对处理器的功能和性能要求不断提高。既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。c.产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。特别是仿真工具要有延续性,能适应多种mcu,以免重复,增加开发费用。d.产品性能稳定,可靠性高,既能加密保护,又能方便升级。2.1 课题研究背景目前单片机应用于各个领域,其应用于仪器仪表中显得更为优越。以单片机制成的电子时钟具有计时准确、功耗低的优点,从而得到了许多领域的广泛应用。单片机正处在微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。单片机的发展推动了应用系统的发展,应用系统的发展又反过来对单片机提出了更高要求,从而促进单片机的发展。单片机正向着功能更强、速度更快、功耗更低、辐射更小的方向发展。随着集成度的不断提高,把众多的外围功能器件集成在片内已经具备了充分的条件,这也是单片机以后发展的重要趋势。除了一般必须具有的rom、ram、定时器/计数器、中断系统外,随着单片机档次的提高,以适应检测、控制功能更高的要求,片内集成的器件通常还有电源监控与复位电路、wdt、a/d转换器、dma控制器、中断控制器、锁相器、频率合成器、字符发生器、声音发生器、crt控制器、译码驱动器等。2.2 课题研究意义数字钟是采用数字电路实现对时、分、秒进行数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电器的自动启用等,所有这些都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。通过对此次的时钟电路的设计,一方面可以巩固已经学习过的专业知识,比如protel99 se的使用等;另一方面可以了解并掌握一些新的知识,比如此次所用的核心芯片msp430单片机以及lcd液晶显示器等。通过这次毕业设计,可以将我的综合能力提升很多,学习很多东西,为以后的学习生活打下坚实的基础。3 msp430f149介绍msp430系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有强大的综合优势。在运算能力方面,msp430系列单片机是一个16位的单片机,采用了精简指令集(risc)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8mhz 晶体驱动下指令周期为125ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面,msp430系列单片机能在 8mhz 晶体的驱动下,实现125ns 的指令周期。16位的数据宽度、125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如fft等)。 msp430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用6。 超低功耗msp430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共计有一种活动模式(am)和五种低功耗模式(lpm0lpm4)。在等待方式下,耗电为 0.7a ,在节电方式下,最低可达 0.1a 。 另外,msp430系列单片机的各成员都集成了较丰富的片内外设。msp430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。msp430f149是msp430x14x系列的一种,、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路p口、两路usart通信端口、一个比较器、一个dco内部振荡器和两个外部时钟,支持8m的时钟。3.1 msp430f149芯片特点a.低电源电压范围:1.83.6v。b.超低功耗:2.5a 4khz,2.2v;280a 1mhz,2.2v。c.5种节电方式:等待方式 1.6a;ram保持的节电方式 0.1a。d.从等待方式唤醒时间小于6a。e.16位risc结构,125ns指令周期。f.基本时钟模块配置:高速晶体(最高8mhz);低速晶体(32768hz);dco。g.配合外部器件可构成单斜边a/d转换器。h.12位200ksps的a/d转换器,自带采样保持。i.内部温度传感器。j.具有3个捕获/比较寄存器的16位定时器timer_a,timer_b。k.两通道串行通信接口可用于异步或同步(uart/spi)模式。l.6个8位并行端口,且2个8位端口有中断能力。m.硬件乘法器。n.多达60kb flash rom和2kb ram。o.串行在线系统编程。p.保密熔丝的程序代码保护。3.2 msp430f149芯片引脚msp430f149芯片共有64个引脚,其中有48个为i/o引脚,具体说明如表3-1所示。表3-1 msp430f149芯片引脚说明表引 脚i/o说 明名 称序 号p1.0/taclk12i/o通用数字i/o引脚/timer_a,taclk时钟信号输入p1.1/ta013i/o通用数字i/o引脚/timer_a,捕获:cci0a输入,比较:out0输出p1.2/ta114i/o通用数字i/o引脚/timer_a,捕获:cci1a输入,比较:out1输出p1.3/ta215i/o通用数字i/o引脚/timer_a,捕获:cci2a输入,比较:out2输出p1.4/smclk16i/o通用数字i/o引脚/smclk信号输出p1.5/tao17i/o通用数字i/o引脚/timer_a,比较:out0输出p1.6/ta118i/o通用数字i/o引脚/timer_a,比较:out1输出p1.7/ta219i/o通用数字i/o引脚/timer_a,比较:out2输出p2.0/aclk20i/o通用数字i/o引脚/aclk输出端p2.1/tainclk21i/o通用数字i/o引脚/timer_a,inclk时钟信号p2.2/caout/ta022i/o通用数字i/o引脚/timer_a,捕获:cci0b输入,比较:out0输出p2.3/ca0/ta123i/o通用数字i/o引脚/timer_a,捕获:cci0b输入,比较:out0输出p2.4/ca1/ta224通用数字i/o引脚/timer_a,比较:out2输出p2.5/rosc25i/o通用数字i/o引脚/外接一电阻用以确定dco的工作频率续表3-1:引 脚i/o说 明名 称序 号p2.6/adc12clk26i/o通用数字i/o引脚/12位a/d转换器的转换时钟p2.7/ta027i/o通用数字i/o引脚/timer_a,比较:out0输出p3.0/ste028i/o通用数字i/o引脚/从属传输使能:usart0/spi模式p3.1/simo029i/o通用数字i/o引脚/ usart0/spi模式的从输入或主输出p3.2/somi030i/o通用数字i/o引脚/ usart0/spi模式的从输出或主输入p3.3/uclk031i/o通用数字i/o引脚/外部时钟输入usart0/uart或spi模式,时钟输出usart0/spi模式p3.4/utxd032i/o通用数字i/o引脚/发送数据输出usart0/uart模式p3.5/urxd033i/o通用数字i/o引脚/接收数据输入usart0/uart模式p3.6/utxd134i/o通用数字i/o引脚/发送数据输出usart1/uart模式p3.7/urxd135i/o通用数字i/o引脚/接收数据输入usart1/uart模式p4.0/tb036i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr0p4.1/tb137i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr1p4.2/tb238i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr2p4.3/tb339i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr3p4.4/tb440i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr4p4.5/tb541i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr5p4.6/tb642i/o通用数字i/o引脚/捕获i/p或pwm输出口定时器b_7ccr6p4.7/tbclk43i/o通用数字i/o引脚/定时器b_3的输入时钟tbclkp5.0/ste144i/o通用数字i/o引脚/从机发送使能usart1/spi模式续表3-1:引 脚i/o说 明名 称序 号p5.1/simo145i/o通用数字i/o引脚/usart1的从输入、主输出或spi模式p5.2/somi146i/o通用数字i/o引脚/usart1的从输出、主输入或spi模式p5.3/uclk147i/o通用数字通用i/o引脚/外部时钟输入usart1/uart或spi模式,时钟输出usart1/spi模式p5.4/mclk48i/o通用数字i/o引脚/主系统时钟mclk输出p5.5/smclk49i/o通用数字i/o引脚/子系统时钟smclk输出p5.6/aclk50i/o通用数字i/o引脚/辅助时钟aclk输出p5.7/tbouth51i/o通用数字i/o引脚/切换所有的pwm数字输出口为高阻抗定时器b_3 tb0tb2p6.0/a059i/o通用数字i/o引脚/12位a/d转换器模拟输入通道0p6.1/a160i/o通用数字i/o引脚/12位a/d转换器模拟输入通道1p6.2/a261i/o通用数字i/o引脚/12位a/d转换器模拟输入通道2p6.3/a32i/o通用数字i/o引脚/12位a/d转换器模拟输入通道3p6.4/a43i/o通用数字i/o引脚/12位a/d转换器模拟输入通道4p6.5/a54i/o通用数字i/o引脚/12位a/d转换器模拟输入通道5p6.6/a65i/o通用数字i/o引脚/12位a/d转换器模拟输入通道6p6.7/a76i/o通用数字i/o引脚/12位a/d转换器模拟输入通道7rst/nmi58i复位输入/不可屏蔽中断输入口,或自动加载程序启动(flash版本器件有此功能)tck57i测试时钟,tck是用于器件测试与自动加载程序启动的时钟输入接口(flash版本器件有此功能)tms56i测试方式选择,器件编程与测试的输入口tdi55i测试数据输入口,器件的保护熔丝被连接到tditdo/tdi54i/o测试数据输出口/编程数据输入口veref+10i/o送到模数转换器adc12的外部基准电压vref+7o模数转换器adc12的内部基准电压的正输入端vref-/ veref-11o模数转换器adc12的内部基准电压或外部加的基准电压负端xin8i晶体震荡器xt1的输入口xout/tclk9i/o晶体震荡器xt1的输出口或测试时钟的输入口续表3-1:引 脚i/o说 明名 称序 号xt2in53i晶体震荡器xt2的输入口,只能接标准晶体xt2out52o晶体震荡器xt2的输出口avcc64模拟电源的正输入端,送到模数转换器adc12的模拟部分avss62模拟电源的负输入端,送到模数转换器adc12的模拟部分dvcc1数字电源的正输入端dvss63数字电源的负输入端3.3 msp430f149芯片处理单元处理单元基于一种一致的正交设计的cpu和指令集,这种设计结构形成了一种对应用开发高度透明,并以编程简单著称的类risc体系。除了程序流指令以外的所有操作,都是作为寄存器操作连同7种源寻址方式和4种目的操作数寻址方式来执行的。msp430f149芯片cpu有16个寄存器提供精简指令执行时间。存储器到寄存器操作执行时间被减少到处理器频率的一个周期,4个寄存器被保留,专门用作程序计数器、堆栈计数器、状态寄存器和常数发生器。其余的寄存器可用作通用寄存器。外设利用一个数据地址和控制总线连接到cpu,并能容易利用内存处理指令操作。3.4 msp430f149芯片运行模式msp430f149具有一种活动模式和五种软件可选的低功耗运行模式。一个中断事件可以将芯片从五种低功耗模式中的任何一种唤醒为请求服务并在从中断程序返回时恢复低功耗模式。下列六种运行模式由软件配置:a.活动模式am 所有时钟活动b.低功耗模式0(lpm0) cpu关闭 aclk和smclk保持活动,mclk关闭c.低功耗模式1(lpm1) cpu关闭 aclk和smclk保持活动,mclk关闭 如果dco在活动模式中没有使用,dco的直流发生器将关闭d.低功耗模式2(lpm2) cpu关闭;aclk保持活动 mclk、fll+,dcoclk关闭 dco的直流发生器保持活动e.低功耗模式3(lpm3) cpu关闭;aclk保持活动 mclk、fll+,dcoclk关闭f.低功耗模式4(lpm4) cpu关闭;aclk关闭 mclk、fll+、dcoclk关闭 dco的直流发生器关闭;晶体振荡器停止3.5 msp430f149芯片i/o端口msp430f149有6个8位的i/o端口p1p6,端口p1和p2用7个控制寄存器,端口p3、p4、p5、p6仅使用4个寄存器,为应用提供数字输入/输出的最大灵活性:a.所有单个i/o口可独立编程;b.任何输入输出和中断条件的组合都是可能的;c.端口p1和p2的所有8位对外部事件的中断处理完全实现。端口p1和p2具有输入/输出、中断和外部模块功能,端口p3、p4、p5和p6没有中断能力,其余功能和p1、p2相同。以px代表端口,介绍所有的7个寄存器。a. pxdir (输入/输出方向寄存器)相互独立的8位分别定义了8个引脚的输入/输出方向。使用输入/输出功能时,应该先定义端口的方向,输入/输出才能满足设计者的要求。作为输入时,只能读;作为输出时,可读可写。0 :输入模式;1 :输出模式。b. pxin (输入寄存器)输入寄存器是只读寄存器,用户不能对它写入,只能通过读取该寄存器内容知道i/o端口的输入信号,此时引脚的方向必须选定为输入。c. pxout (输出寄存器)该寄存器为i/o端口的输出缓冲寄存器,在读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。d. pxifg (中断标志寄存器)该寄存器有8个标志位,标志相应引脚是否有待处理中断的信息,即相应引脚是否有中断请求。0 :没有中断请求;1 :有中断请求。e. pxies (中断触发沿选择寄存器)如果允许px口的某个引脚中断,还需要定义该引脚的中断触发方式。该寄存器的8位分别对应px口的8个引脚。0 :上升沿使相应标志置位;1 :下降沿使相应标志置位。f. pxie (中断使能寄存器)px口的每一个引脚都有一位用以控制该引脚是否允许中断。0 :禁止中断;1 :允许中断。 g. pxsel (功能选择寄存器)各端口具有其他片内外设功能,为了减少引脚,将这些功能与芯片外的联系通过复用px引脚的方式来实现。pxsel用来选择引脚的i/o端口功能与外围模块功能。p3、p4、p5和p6端口只有输入/输出方向寄存器(pxdir)、输入寄存器(pxin)、输出寄存器(pxout)和功能选择寄存器(pxsel)。0 :选择引脚为i/o端口;1 :选择引脚为外围模块功能。3.6 msp430f149芯片时钟系统msp430f149芯片内基础时钟模块有3个时钟输入源:a.lfxt1clk 低频时钟源b.xt2clk 高频时钟源c.dcoclk 数字控制rc振荡器lfxt1振荡器默认工作在低频模式,即32768hz,xt2振荡器为标准的8mhz晶体振荡器。基础时钟模块可提供3种时钟信号:主系统时钟(mclk)、子系统时钟(smclk)和辅助时钟(aclk)。主系统时钟(mclk):mclk可由软件选择来自lfxt1clk、xt2clk、dcoclk三者之一,然后经1、2、4、8分频得到。mclk主要用于cpu和系统。子系统时钟(smclk):可由软件选择来自lfxt1clk和dcoclk,或者xt2clk和dcoclk(由具体器件决定),然后经1、2、4、8分频得到。smclk主要用于高速外围模块。辅助时钟(aclk):aclk是lfxt1clk信号经1、2、4、8分频后得到的。aclk可由软件选作各个外围模块的时钟信号,一般用于低速外设。系统使用不同的时钟信号,用户通过程序可以选择低频或高频,这样可以根据实际需要来选择合适的系统时钟频率,这3种不同频率的时钟输出给不同的模块,从而更合理地利用系统的电源,实现整个系统的超低功耗,这一点对于电池供电的系统来讲至关重要。3.7 msp430f149芯片存储器结构和地址空间msp430系列单片机存储器采用的是统一结构、物理上完全分离的存储区域如rom/flash、ram、外围模块、特殊功能寄存器sfr等,被安排在同一地址空间,这样就可以使用一组地址、数据总线、相同的指令对它们进行字节或字形式访问。msp430系列单片机存储器的这种组织方式和cpu采用精简指令相互协调,对外围模块的访问不需要单独的指令,该结构为软件的开发和调试提供便利。现以64kb的存储空间为例说明msp430的存储器使用情况,如图3-1所示。中断向量表程序存储器跳转控制表数据表等引导存储器(rom)数据存储器16位外围模块8位外围模块特殊功能寄存器0ffffh0ffe0h0ffdfh0200h01ffh0100h0ffh0fh010h00h图3-1 msp430存储空间分配msp430不同系列器件的存储空间分布有很多相同之处:a)中断向量被安排在相同的空间:offeooffffh。b)8位、16位外围模块占用相同范围的存储器地址。c)特殊功能寄存器占用相同范围的存储器地址。d)数据存储器都从0200h处开始。e)程序存储器的最高地址都是0ffffh。但是由于器件所属型号的不同,存储空间的分布也存在一些差异:程序存储器容量不一样,所以起始地址也不一样;仅flash型有信息存储器和引导存储器,而且不同器件它们的地址不同;数据存储器的末地址不一样,中断向量和8位、16位外围模块的内容不同等。msp430的数据存储器是最灵活的地址空间,位于存储器地址空间的0200h单元以上,这些存储器一般用于堆栈和变量,如存放经常变化的数据。堆栈是具有先进后出特殊操作的一段数据存储单元,可以在子程序调用、中断处理或者函数调用过程中保存程序指针、参数、寄存器等。程序存储器flash是0ffffh以下的一定数量的存储空间,可存放系统程序或者应用程序及常数,可以避免断电等意外情况而造成存储的信息丢失。程序代码必须有地址寻址。程序代码包括:中断向量区、用户程序代码和系统引导程序。msp430系列单片机内所有外围模块都可以用软件访问和控制,外围模块相关的控制寄存器和状态寄存器都被安排在0000h01ffh范围的ram中,msp430可以像访问普通ram单元一样对这些寄存器进行操作。4 系统硬件电路设计4.1 系统方案论证与选择方案一:采用eda设计,整个数字钟电路由振荡脉冲发生器、计数电路、显示译码/ 驱动器和七段显示器组成,如图4-1所示:七段显示器显示译码驱动电路计数电路振荡脉冲发生器图4-1 数字时钟系统框图振荡脉冲发生器用来产生秒脉冲。计数电路由秒个位计数器、秒十位计数器、分个位计数器、分十位计数器、时个位计数器、时十位计数器组成。计数器的功能是每来一个脉冲计一个数。显示译码/ 驱动器采用74ls47 共阳极显示译码器。显示器采用共阳极七段显示器。方案二:采用数字电路进行设计。如图4-2所示,整个系统是由主体电路、扩展电路、振荡器、分频器等几部分组成,主体电路完成时间的显示和调时的功能,扩展电路中留有接口供扩展电路使用。该系统的工作原理是:振荡器产生的稳定的高频脉冲信号,作为数字钟的时间基准,再经分频器输出标准秒脉冲。秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按“12翻1”规律计数。计数器的输出经译码器送显示器。计时出现误差时可以用校时电路进行校时、校分、校秒。扩展电路必须在主体电路正常运行的情况下才能进行功能扩展。计数器部分采用74ls90进行计数,而译码部分采用74ls48七段译码驱动器驱动数码显示器。用数字电路设计的电路的特点是软件部分比较简单,但是其硬件电路比较复杂。时显示器分显示器秒显示器时译码器分译码器秒译码器时计数器分计数器秒计数器校时电路触摸整点报时报整点时数仿电台报时定时功能分频器振荡器主体电路扩展电路图4-2 数字时钟系统框图方案三:利用单片机设计。采用msp430f149作为整个电路的核心部件,应用4*4的矩阵键盘作为输入,外接lcd或led进行显示,同时还连接一些扩展电路以便增加时钟功能。用单片机为核心的系统其硬件电路非常简单,计数、调时、译码显示等全部都由软件控制实现,准确性较高。经过比较选择决定采用方案三,msp430系列单片机具有强大的处理功能,而且其超低功耗的特点非常适合电池供电的仪表仪器。以单片机为核心的系统处理能力强、误差小,而且采用键盘输入更为方便,容易操作。4.2系统总体设计如图4-3所示,整个时钟电路由msp430f149单片机、4*4矩阵键盘、显示电路、扩展功能电路、电源和晶振等几部分组成。其中msp430f149单片机是整个系统的核心部件。4*4的矩阵键盘作为系统的输入,有调时、复位等功能;显示电路部分采用lcd液晶显示器和led数码管显示器同时进行显示;扩展电路是为系统预留的部分,在这部分可以进行一些功能的添加,如闹铃、温度显示等功能。单片机外接两个晶体振荡器:低速晶体振荡器lfxt1和高速晶体振荡器xt2。低速晶体振荡器为32khz,晶振只需经过xin和xout两个引脚相连,不需要其他外部器件,所有保证系统工作稳定的元件和移向电容都集成在芯片中。lfxt1振荡器在发生有效puc信号后开始工作,依次有效puc信号可以将sr寄存器中的oscoff位复位,即允许xt1工作。如果lfxt1clk信号没有用作smclk或mclk信号,可以用软件将oscoff位置位以禁止lfxt1工作。高速晶体振荡器为8mhz的标准晶体振荡器,经过xt2in和xt2out两个引脚相连。它产生时钟信号xt2clk,它的工作特性与lfxt1振荡器工作在高频模式时相似。如果xt2clk信号没有用做mclk和smclk时钟信号,可以用控制位xt2off关闭xt2。msp430f149芯片显示电路扩展功能电路4*4矩阵键盘电源电路晶振图4-3 系统整体框图4.3 电源稳压电路电源通过稳压器接入单片机,稳压器选用spx1117低压差稳压器。spx1117低压差稳压器为一个低功耗正向电压调节器,具有0.8a的稳定输出电流,可以用在一些高效率,小封装的低功耗设计中。这款器件非常适合便携式电脑及电池供电的应用。spx1117有很低的静态电流,在满负载时其低压差仅为1.1v。当输出电流减少时,静态电流随负载变化,并提高效率。spx1117可调节,可以选择1.5v、1.8v、2.5v、2.85v、3.0v、3.3v及5v的输出电压。spx1117提供多种3引脚封装:sot-223,to-252,to-220及to-263。一个10f的输出电容可有效地保证稳定性,然而在大多数应用中,仅需要一个更小的2.2f的电容。spx1117具有以下一些特性:a.0.8a稳定输出电流b.1a稳定峰值电流c.3端可调节(电压可选:1.5v、1.8v、2.5v、2.85v、3.0v、3.3v及5v)d.低静态电流e.0.8a时低压差为1.1vf.0.1%线性调整率/0.2%负载调整率g.2.2f陶瓷电容即可以保持稳定h.过流及温度保护i.多封装因为msp430f149的工作电压范围为1.83.6v。所以在此次设计中,spx1117的作用是将5v的电源转化为3.3v的电压输给单片机。为了滤除电压转换时的内部及外部干扰,在输入和输出电压的接口处都通过一个极性电容连接电源地。4.4 led数码显示电路4.4.1 led数码管的结构与工作原理在单片机应用系统中,显示器可以反映系统的工作状态和运行结果。比较常用的显示器是由8只发光二极管led构成的八位数码显示器。如图4-4所示。其中,ag用于构成7笔字形,h用于构成小数点。这种显示器有共阴极和共阳极两种。共阴极led显示器的发光二极管的阴极连接在一起,通常将公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极led显示器的发光二极管的阳极连接在一起,通常将公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段位被显示。图4-4 led数码管4.4.2 led显示器的显示方式及驱动方式在单片机应用系统中,常使用n个led数码管构成的led显示器。n位led显示器有n根位选线和8n根字选线。根据显示方式的不同,位选线和字选线的连接方式不同,字选线控制字符的选择,位选线控制显示字符的亮、暗。led显示器有静态显示和动态显示两种方式。a. led静态显示方式在静态显示方式下,每位的字选线(ah)与一个8位端口相连。只要在该位的字选线上出现字形码,就显示出相应的字符。由于每一位数码管由一个单独的8位端口控制字选码,故在同一时间里每一位所显示的字符可以各不相同。使用静态显示方式的优点在于软件处理比较容易,缺点是占用i/o口线太多,在实际应用中不是经常使用这种显示方式。b. led动态显示方式在一组显示器中所含数码管个数较多时,为了简化电路,降低成本,一般采用动态显示方式。这种显示方式是将所有数码管的各字段电极对应地并联在一起,由一个8位端口控制,这个端口送出的信号用来控制显示的字形,称为段或字选码。而每个数码管的共阴极或共阳极极点分别由另一个端口的相位i/o口线控制,这个端口送出的信号用来选择第几位数码管工作,称为位码。本次设计的显示器需要8个数码管,由于所有位的字选码均由同一个端口送出,因此在每一个瞬间,8位led只可能显示相同的字形,要想显示不同的字形,必须采用动态扫描方式。动态显示只需要2个8位端口,其中p4通过74hc244连接到显示器控制位选,p5连接ah控制字选。动态扫描的工作过程为:由p4向各个位轮流输出扫描信号,使每一瞬间只有一个数码管被选通(共阴极低电平选通,共阳极高电平选通),然后由p5送入该位所要显示的字形码,点亮该位字形段显示的字形。这样,在p5送出的码段和p4送出的位段的配合控制下,就可以使各个数码管轮流点亮显示各自的字形。虽然数码管显示器的几位是被依次被点亮的,但只要每位点亮时间超过1ms,隔一段时间使之再显示一遍,如此重复扫描,只要扫描时间足够快,由于人的视觉惰性,人眼看不出闪烁。led不同位显示的时间间隔可以通过定时中断完成。如对8位led显示器,扫描显示频率为50hz,假若显示一位保持1ms时间,则显示完成所有8位之后,只需8ms,于是另外12mscpu可以处理其他工作。上述保持1ms的时间应根据实际情况而定,不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清;但也不能太大,因为毕竟要受限制于临界闪烁频率,而且次时间越长,占用cpu时间也越多。另外,显示位增多,也将占用大量的cpu时间,因此动态显示实质是以牺牲cpu时间换取元件和能耗的减少。前面只是对显示器进行原理上的阐述,没有涉及led的驱动问题,其实这是一个非常重要的问题。如果驱动器的驱动能力差,显示器亮度就低,而驱动器长期在超负荷下运行则很容易损坏,因此,对led的驱动就显得非常重要。显示分为静态显示和动态显示两种方式,由于这两种显示方式有本质的不同,因此在选择led驱动器时,一定要分清显示方式。如果是静态显示,则led驱动器的选择较为简单,只要驱动器的驱动能力与显示器工作电流相匹配即可。而且只需要考虑段的驱动,因为共阳极接+5v,而共阴极接地,所以位的驱动无需考虑。动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,必须同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。段的驱动能力是由显示器的亮度决定的,通过发光二极管的电流越大,其亮度也越高。对于静态显示器,当某位点亮时,此位中点亮的段通过恒定的电流,而对于动态显示器,此电流却是以一定脉冲方式出现的,其峰值电流不能真实地反映二极管的发光亮度,而必须以与脉冲占空比有关的平均值电流来考虑。理论分析表明,同样的驱动器,当驱动静态显示器时,其亮度为驱动动态显示器的n倍,n近似为显示位数。所以要使动态显示器达到静态显示器的亮度,必须将驱动器的驱动能力提高n倍。段的驱动能力确定之后,位的驱动能力也随之确定。当然必须考虑极端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境在恶化中750字15篇范文
- 红红火火正月十五闹元宵的作文400字11篇
- 时间是一种力量课件
- 医疗器械进销存软件服务合同
- 时间位移高中物理课件
- 早餐防疫知识培训简报课件
- 早餐培训面点师课件
- 业务外包服务合同集萃
- 换个角度看问题议论文350字10篇范文
- 蓝黄图形商务班会教育培训
- 机关食堂从业人员培训
- 高中英语考纲3500词之核心词汇讲与练
- 2024光伏并网柜技术规范
- 品质异常检讨
- 《应用光伏学》课程教学大纲(新能源材料与器件专业)
- 劳动仲裁申请书模板2
- GB/T 24633.1-2024产品几何技术规范(GPS)圆柱度第1部分:词汇和参数
- 护理工作中的人文关怀
- (完整版)八年级上物理思维导图
- 北京市《配电室安全管理规范》(DB11T 527-2021)地方标准
- 【开学第一课】七年级新生主题班会:踏上青春路 启航正当时 课件
评论
0/150
提交评论