基于msp430单片机的数字时钟.wps_第1页
基于msp430单片机的数字时钟.wps_第2页
基于msp430单片机的数字时钟.wps_第3页
基于msp430单片机的数字时钟.wps_第4页
基于msp430单片机的数字时钟.wps_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

工程设计 日期时间显示器 班级: 学号: 姓名: 摘要摘要:日期时间显示器可以说是各种各样,随处可见,这里我们着重设计一款 超低功耗的,显示内容较为丰富的日期时间显示器。该日期时间显示器是基于 msp430 单片机和lcd1602 液晶显示器。msp430 单片机最显著的特点是能够超 低功耗运行,正是由于这一特点,用msp430 来做日期时间显示器,可以很有 效地降低功耗,节约电能。同时lcd1602 是微功耗的液晶显示器,显示内容丰 富。 2 目录 摘要1 一、 msp430 单片机最小系统.3 二、 lcd1602 液晶显示器.3 三、 按键和闹铃6 四、 主程序框图7 五、 msp430 单片机的内部设置.8 1、 时钟系统与低功耗模式.8 2、 i/o 口.9 3、 basic timer 基础定时器.10 六、 总结与体会11 参考文献13 3 1、msp430 单片机最小系统 在传统的微处理器系统中,要让系统运行,至少要提供电源、时钟和复位信 号,而在msp430 单片机中,内部就带有复位电路(bor)、片内数控时钟源 (dco),因此只需外加电源即可构成可运行的最小系统。由于内部 dco 误差 很大(20%),且受温度影响严重。只适合为cpu 运算提供时钟,或在对时间 误 4 图1 差要求极其宽松的场合。 但是在这里我们要做日期时间显示器,就必须通过外部 晶体作为时钟源。 msp430 单片机通常使用32.768khz 的手表晶振作为外部时钟 。 msp430 最小系统设计如图1 所示。 2、lcd1602 液晶显示器 lcd1602 是工业字符型液晶,能够同时显示1602 即32个字符。市面上字 符液晶绝大多数是基于hd44780 液晶芯片的,控制原理是完全相同的,因此 5 表 1 hd44780 写的控制程序可以很方便地应用于市场上大部分的字符型液晶。字符 型 lcd 通常有 14个引脚线或 16个引脚线,多出来的两条线是背光电源线 vcc(15脚)和地线 gnd(16脚),其控制原理与14脚的 lcd 完全相同。管 脚具体定义如表1所示。 hd44780 内置了 ddram、cgrom 和 cgram。ddram 就显示数据 ram,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如 表 2 所示。 但是,在 lcd1602 中我们只用到每行的前 16个,即如表3所示。 也就 是说我们想在lcd1602 第一行第一列显示一个“a”字,就要向ddram 的00h 地址写入“a”字的代码就行了。 6 hd44780 内置了 192个常 用字符的字模,存于字模产生 器 cgrom(character generator rom),另外还有 8 个允许用户自定义的字符产 生 ram,称为 cgram(character generator ram)。 hd44780 一共有 11 条指 令,通过这些指令来对ddram 的内容和地址进行具体的操作,实现丰富的显 示功能。这11条指令这里就不作说明了。 7 表 2 表 3 lcd1602 与msp430 的连接如图 2所示。 3、按键和闹铃 按键和闹铃与msp430 连接如图3 所示。其中,闹钟时刻到时,p2.0 输出低 电平,蜂鸣器开始工作,发出蜂鸣声。 8 图 2 图3 4、主程序框图 9 与闹铃时间相 等 否 发送闹 铃音乐 定时中断 秒钟计数器计数 是 5、msp430 单片机的内部设置 1、时钟系统与低功耗模式 时钟系统是msp430 单片机中最为关键的部件。通过时钟系统可以在功耗和 性能之间寻求最佳的平衡点,为单芯片系统与超低功耗系统设计提供灵活的实 现手段。在msp430 单片机中,通过时钟系统的配置最终产生3 种时钟: mclk:主时钟(master clock)。mclk 是专为 cpu 运行提供的时钟 。 mclk 配置得越高,cpu 执行速度就越快。mclk 一般都设在1mhz 以上一发 挥 cpu 性能;一旦关闭mclk,cpu 也随之停止工作。cpu 是系统中耗电较大 的部件之一,但大部分应用中都只有少数时间需要cpu 运算。因此在超低功耗 系统中都通过间歇开启mclk(唤醒cpu)的方式来降低功耗。 smclk:子系统时钟(subsystem master clock),也称辅助时钟。单片机 内部某些设备需要高速时钟(如定时器、 adc 等),smclk 为这些需要高速工 作的设备提供时钟源,并且smclk 是独立于 mclk 的:当关闭主时钟mclk 让 cpu 停止工作时,子系统时钟 smclk 仍然可以开启,从而让外设继续工作。 aclk:活动时钟(active clock)。aclk 一般是由32.768khz 晶体直接产 生的低频时钟,在单片机运行过程中一般不关闭,用于产生节拍时基,或和定 时器配合间歇唤醒cpu。 时钟系统中对3种时钟不同程度的关闭,实际上就是不 同的休眠模式。关闭的时钟越多,休眠越深。当全部的时钟,包括活动时钟 aclk 也被关闭的时候,功耗降到最低(0.1ua)。 超低功耗是msp430 单片机的一大特色。msp430 系列单片机具有 5种不同 深度的低功耗休眠模式。 在空闲时,通过不同程度的休眠,将内部各个模块尽可 10 刷新显示 退出 图 4:主程序框图 能地被关闭,从而降低功耗。 关闭模块最简单的途径是关闭时钟,因此低功耗模 式的管理是通过时钟系统来完成的。共有4个控制位参与: cpupff、 scg0、 scg1、 oscoff。 通过这4个位的不同组合,构成了5种低功耗 休眠模式(见表4)。 从表中可以看出规律:随着休眠深度依次加深,时钟系统中被关闭的部件 数目依次增加,而功耗也依次降低。 当系统暂时空闲时,应尽可能进入低功耗模式。而且要根据系统中可以被关 闭的模块和时钟决定低进入何种功耗模式,使休眠最深且仍能被唤醒(见表 5) 表5:msp430 单片机低功耗模式与时钟的关系 11 表 4:msp430 单片机低功耗模式 2、i/o 口 i/o 口是处理器系统对外沟通的最基本部件,在这里我们着重讨论i/o 口中 断,因为在这个设计中所有的键盘输入都是通过中断来实现的,这样可以使系 统尽可能地工作在低功耗模式,实现msp430 的低功耗运用。 在 msp430 所有的单片机中,p1 口、 p2 口总共16个 i/o 口均能作引发中断。 在 msp430x42x 系列中,14 个i/o 都属于p1 或p2 口,因此每个i/o 都能作为中 断源使用。通过下列两个寄存器配置i/o 口作为中断使用: pxie寄存器用于设置每一位i/o 的中断允许: 0=不允许 1=允许 pxies 寄存器用于选择每一位i/o 的中断触发沿:0=上升沿 1=下降沿 在使用i/o 中断之前,需要先将i/o 设为输入状态,并允许该位i/o 的中断, 再通过 pxies 寄存器选择触发方式为上升沿触发或者下降沿触发。 pxifg 寄存器是i/o 中断标志寄存器: 0=不成立 1=成立 无论中断是否被允许,也不论是否正在执行中断服务程序,只要对应i/o 满 足了中断条件,pxifg 中的相应位都会立即置1并保持,只能通过软件人工清 除。这种机制的目的在于最大可能的保证不会漏掉每一次中断。不过注意,在退 出中断前一定要人工清除中断标志,否则该中断会不停被执行。 3、basic timer 基础定时器 msp430f4xx 单片机内部专门提供了一个产生周期节拍的定时器,叫做基础 2 n 1 2 n 12 定时器(basic timer)。它能在无需cpu 干预的情况下产生个时钟周期的定时 中断,供间歇唤醒系统用。 当basic timer 时钟选择32.768khz时,定时周期恰好 s,可以为秒表等计时程序提供精确时基。 与此同时,basic timer 定时器还为lcd 的刷新提供时钟。通过basic timer 的设置可以改变lcd 的刷新频率。 basic timer 结构与原理如结构图(图5)所示。 从结构图上看,basic timer 基础定时器更像是一个二进制分频器。 该分频器由两 级分频器级联而成,每级256分频。第一级分频器(btcnt1)的时钟只能是 aclk,它的输出为lcd 刷新提供时钟。而第二级分频器的时钟源可以是 aclk、 smclk 或是 aclk 经过第一级 256分频后的输出(级联)。 从第二级分 16 2 13 图 5:basic timer 机构图 频过程中可以选择输出抽头作为中断源,从而通过改变分频系数来改变中断间 隔时间。两级分频器级联后最多构成65536分频(分频)采用32.768khz时钟时, 最长定时周期为2s。 basic timer 基础定时器总共有5 个控制位: btdiv、 bthold、 btssel、 btfreqx、 btipx。 都位于 btctl 寄存器。 特别注意, 该寄存器在复位后保持不变,没有默认值,因此上电后一定要对该寄存器进行 设置。 在 basic timer 第二级分频器的 8个输出抽头中,被选中的抽头每次由0到1 的跳变(计数进位)会产生中断标志。若basic timer 中断被允许,则会引发中 断。相关标志位有: btie:basic timer 中断允许位 0=禁止 1=允许(位于ie2 寄存器) 该控制位决定是否允许basic timer 中断。当不需要使用 basic timer 中断时, 关闭该控制位。 但注意关闭basic timer 中断并不停止 basic timer 的运行。 若不使 用 basic timer 应该将bthold 位置1,以节省电能。 btifg:basic timer 中断标志位 0=无中断发生 1=中断发生(位于 ifg2 寄存器) 每次计数器溢出,都会将btifg 自动置1.。此时若总中断和btie 被允许, 则会引发中断。 basic timer 独占一个中断源,在中断内无需再判断标志位。 因此 发生中断后btifg 会被硬件自动清除。 6、总结与体会 课程设计是一个把所学知识应用于实践的过程,它对我们的独立思考和对 知识的更深入的掌握有着不言而喻的提高。 尤其是对我们工科学生来说,课本知 识是要应用于工程上的,而这次工程设计给了我们一次能够独立思考和实现的 机会。 在这次工程设计中,我通过时间日期显示器的设计,了解了一个小型工程 的设计过程。 同时,对单片机系统有了更深的了解,可以独立设计出较为简单的 单片机应用系统。 再者,在这次工程中,我学会了一种新的单片机msp430 单片 机。 msp430 不仅具有16位高效的微处理器系统,还具有丰富的、 功能强大的外 围电路资源。msp430 除具备很好的数字模拟信号处理能力外,还具备以极低功 / 14 耗运行的特点,可被广泛应用于要求低功耗、 高性能、 便携式的设备上。 最后,这 次设计的电路图,我是通过altium designer10 绘制的。altium designer 是比 protel更为强大的一款原理图和pcb 绘制软件,其操作简单,容易掌握,而且

温馨提示

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

评论

0/150

提交评论