- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- GDER2032技术说明书出版要点.docx
- GIS实习报告要点.docx
- GPS全球卫星导航考试复习资料.docx
- GPS定位导航系统要点.docx
- GW4―126型隔离开关机构信号不上传原因分析及控制方法.docx
- G块土方回填要点.docx
- H150滑阀泵说明书要点.docx
- H3C配置命令要点.docx
- HFSS实例讲义要点.docx
- HGOGNSS数据处理软件要点.docx
- 隐形变异作风问题的检视与整改培训讲座PPT课件.pptx
- 内蒙古自治区赤峰第四中学2023-2024学年高二下学期5月期中物理试题 含解析.docx
- 内蒙古自治区巴彦淖尔市第一中学2024-2025学年高一下学期4月期中考试 物理 含答案.docx
- 内蒙古自治区赤峰市第四中学2024-2025学年高二下学期4月月考试题 物理 含答案.docx
- 内蒙古自治区鄂尔多斯市达拉特旗达拉特旗第一中学2023-2024学年高一下学期7月期末考试物理试题 含解析.docx
- 新修订《代表法》五大亮点解读.pptx
- 幼儿园夏季防暑降温安全课主题活动PPT课件.pptx
- 2025年宜明昂科分析报告:CD47融合蛋白安全性及疗效优秀,市场空间广阔.pdf
- 2-数学_数学答案.pdf
- 幼儿园小学端午节习俗文化教育教学主题班会PPT课件.pptx
文档评论(0)