网站大量收购独家精品文档,联系QQ:2885784924

MSP430程序库九数码管显示要点.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数码管也是单片机系统最常用的输出设备之一 ( 还有液晶、发光二极管等 ) 。七段 ( 这里用的是 8 段,有小数点 ) 数码管可以完成显示 0-9 数字和一部分的英文字符如: A、b。本文实现的程序完成显示数字和可显示的英文字符;同时完 成数码管显示的 printf 函数的移植,以支持 printf 的格式化字符等好用的特点(我用的数码管 8 个排为一排,方便数字等的显示)。 硬件介绍: 这里所用到的硬件资源包括 8 个数码管、和 msp430 单片机的两个 8 位 IO 口 ( 这里用的是 P3 和 P5 口,如有改变,可以通过宏定义更改 ) 。 1. 数码管是 8 个共阴的数码管, a-h 8 段通过一个 200Ω 的电阻接到 430 单片机的 P5 口。共阴端是由单片机的 P3 口控制,单片机的一位 IO 通过一个三极管接到数码管的共阴端,以完成位选。 2. 单片机的 P3 口时数码管的位选口,某位为高则选中; P5 口时段选口;要数码管显示时, 通过 P3 位选,选中某个数码管亮, P5 段选选择 8 段( a-h )中的那些亮,从而控制某一位显示数字或字符。 3. 要同时显示多个数码管, 就要动态扫描; 动态扫描时, 本程序选用的是由看门狗的中断扫描显示:每 1.9ms 显示其中的一位, 动态扫描显示每一位, 从而让数码管看起来是同时亮的。 4. 5.  程序实现: 数码管显示首先要有一个数码管显示的断码表 (完成数字和字符到数码管段值的表) ,程序 中采用了《 MSP430 系列单片机系统工程设计与实践》这本书推荐的方式实现的这个数码表:先用宏定义定义每段对应的单片机要输出的段值,然后再实现是个表,当硬件改变时,只需更改前面的每段的段值定义即可,改动的地方少了很多,代码如下: 6. /* 宏定义,数码管 a-h 各段对应的比特,更换硬件只用改动以下 8 行 */ #define a 0x01 // AAAA #define b 0x02 // F B#define c 0x04 // F B#define d 0x08 // GGGG #define e 0x10 // E C#define f 0x20 // E C#define g 0x40 // DDDD HH #define h 0x80 // 小数点 /* 用宏定义自动生成段码表,很好的写法,值得学习 */ /* 更换硬件无需重写段码表 */ const char a + b + c + d + e + f, b + c, a + b + d + e + g, a + b + c + d + g, b + c + f + g, a + c + d + f +g, a + c + d + e + f + g, a + b + c, a + b + c + d + e + f + g, a + b + c + d + f + g, a + b + c + e + f + g, c + d + e + f + g, a + d + e + f, b + c + d + e + g, a + d + e + f + g, a + e + f + g, a + c + d + e + f,  Tab[] = { Displays 0 Displays 1 Displays 2 Displays 3 Displays 4 Displays 5 Displays 6 Displays 7 Displays 8 Displays 9 Displays A Displays B Displays C Displays D Displays E Displays F Displays G b + c + e + f + g, e + f, b + c + d + e, b + d + e + f + g, d + e + f, a + c + e + g, a + b + c + e + f, c + e + g, c + d + e + g, a + b + c + d + e + f, a + b + e + f + g, a + b + c + f + g, e + g, a + c + d + f +g, d + e + f + g, a + e + f , b + c + d + e + f, c + d + e, b + d + f + g, b + c + d + f + g, a + b + d + e + g, g,  Displays H Displays I Displays J Displays K Displays L Displays M Displays N Displays n Displays o Displays O Di

文档评论(0)

150****5607 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档