新建
上传
首页
助手
最?/div>
资料?/div>
工具

MSP430

程序?/p>

<

?/p>

>

数码管显?/p>

 

数码管也是单片机系统最常用的输出设备之一

(

还有液晶、发光二极管?/p>

)

。七?/p>

(

这里用的

?/p>

8

段,有小数点

)

数码管可以完成显?/p>

0-9

数字和一部分的英文字符如?/p>

A

?/p>

b

。本文实

现的程序完成显示数字和可显示的英文字符;同时完成数码管显示的

printf

函数的移植,

以支?/p>

printf

的格式化字符等好用的特点(我用的数码?/p>

8

个排为一排,方便数字等的?/p>

示)?/p>

 

?/p>

 

硬件介绍?/p>

 

 

这里所用到的硬件资源包?/p>

8

个数码管、和

msp430

单片机的两个

8

?/p>

IO

?/p>

(

这里?/p>

的是

P3

?/p>

P5

口,如有改变,可以通过宏定义更?/p>

)

?/p>

 

数码管是

8

个共阴的数码管,

a-h 

8

段通过一?/p>

200Ω

的电阻接?/p>

430

单片机的

P5

口?/p>

共阴端是由单片机?/p>

P3

口控制,

单片机的一?/p>

IO

通过一个三极管接到数码管的共阴端,

以完成位选?/p>

 

单片机的

P3

口时数码管的位选口,某位为高则选中?/p>

P5

口时段选口;要数码管显示时?/p>

通过

P3

位选,选中某个数码管亮?/p>

P5

段选选择

8

段(

a-h

)中的那些亮,从而控制某

一位显示数字或字符?/p>

 

要同时显示多个数码管,就要动态扫描;动态扫描时,本程序选用的是由看门狗的中?/p>

扫描显示:每

1.9ms

显示其中的一位,动态扫描显示每一位,从而让数码管看起来是同

时亮的?/p>

 

?/p>

 

程序实现?/p>

 

 

数码管显示首先要有一个数码管显示的断码表(完成数字和字符到数码管段值的表)?/p>

程序中采用了?/p>

MSP430

系列单片机系统工程设计与实践》这本书推荐的方式实现的?/p>

个数码表:先用宏定义定义每段对应的单片机要输出的段值,然后再实现是个表,当?/p>

件改变时,只需更改前面的每段的段值定义即可,改动的地方少了很多,代码如下?/p>

 

/*

宏定义,数码?/p>

a-h

各段对应的比特,更换硬件只用改动以下

8

?/p>

*/ 

#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 

 

 

 

 

 

 

 

//

小数?/p>

 

 

/*

用宏定义自动生成段码表,很好的写法,值得学习

*/ 

/*

更换硬件无需重写段码?/p>

*/ 

const 

char 

Tab[] 

= 

{ 

 

 

 

 

a 

+ 

b 

+ 

c 

+ 

d 

+ 

e 

+ 

f, 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// 

Displays 

"0

" 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MSP430

程序?/p>

<

?/p>

>

数码管显?/p>

 

数码管也是单片机系统最常用的输出设备之一

(

还有液晶、发光二极管?/p>

)

。七?/p>

(

这里用的

?/p>

8

段,有小数点

)

数码管可以完成显?/p>

0-9

数字和一部分的英文字符如?/p>

A

?/p>

b

。本文实

现的程序完成显示数字和可显示的英文字符;同时完成数码管显示的

printf

函数的移植,

以支?/p>

printf

的格式化字符等好用的特点(我用的数码?/p>

8

个排为一排,方便数字等的?/p>

示)?/p>

 

?/p>

 

硬件介绍?/p>

 

 

这里所用到的硬件资源包?/p>

8

个数码管、和

msp430

单片机的两个

8

?/p>

IO

?/p>

(

这里?/p>

的是

P3

?/p>

P5

口,如有改变,可以通过宏定义更?/p>

)

?/p>

 

数码管是

8

个共阴的数码管,

a-h 

8

段通过一?/p>

200Ω

的电阻接?/p>

430

单片机的

P5

口?/p>

共阴端是由单片机?/p>

P3

口控制,

单片机的一?/p>

IO

通过一个三极管接到数码管的共阴端,

以完成位选?/p>

 

单片机的

P3

口时数码管的位选口,某位为高则选中?/p>

P5

口时段选口;要数码管显示时?/p>

通过

P3

位选,选中某个数码管亮?/p>

P5

段选选择

8

段(

a-h

)中的那些亮,从而控制某

一位显示数字或字符?/p>

 

要同时显示多个数码管,就要动态扫描;动态扫描时,本程序选用的是由看门狗的中?/p>

扫描显示:每

1.9ms

显示其中的一位,动态扫描显示每一位,从而让数码管看起来是同

时亮的?/p>

 

?/p>

 

程序实现?/p>

 

 

数码管显示首先要有一个数码管显示的断码表(完成数字和字符到数码管段值的表)?/p>

程序中采用了?/p>

MSP430

系列单片机系统工程设计与实践》这本书推荐的方式实现的?/p>

个数码表:先用宏定义定义每段对应的单片机要输出的段值,然后再实现是个表,当?/p>

件改变时,只需更改前面的每段的段值定义即可,改动的地方少了很多,代码如下?/p>

 

/*

宏定义,数码?/p>

a-h

各段对应的比特,更换硬件只用改动以下

8

?/p>

*/ 

#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 

 

 

 

 

 

 

 

//

小数?/p>

 

 

/*

用宏定义自动生成段码表,很好的写法,值得学习

*/ 

/*

更换硬件无需重写段码?/p>

*/ 

const 

char 

Tab[] 

= 

{ 

 

 

 

 

a 

+ 

b 

+ 

c 

+ 

d 

+ 

e 

+ 

f, 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// 

Displays 

"0

" 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MSP430

程序?/p>

<

?/p>

>

数码管显?/p>

 

数码管也是单片机系统最常用的输出设备之一

(

还有液晶、发光二极管?/p>

)

。七?/p>

(

这里用的

?/p>

8

段,有小数点

)

数码管可以完成显?/p>

0-9

数字和一部分的英文字符如?/p>

A

?/p>

b

。本文实

现的程序完成显示数字和可显示的英文字符;同时完成数码管显示的

printf

函数的移植,

以支?/p>

printf

的格式化字符等好用的特点(我用的数码?/p>

8

个排为一排,方便数字等的?/p>

示)?/p>

 

?/p>

 

硬件介绍?/p>

 

 

这里所用到的硬件资源包?/p>

8

个数码管、和

msp430

单片机的两个

8

?/p>

IO

?/p>

(

这里?/p>

的是

P3

?/p>

P5

口,如有改变,可以通过宏定义更?/p>

)

?/p>

 

数码管是

8

个共阴的数码管,

a-h 

8

段通过一?/p>

200Ω

的电阻接?/p>

430

单片机的

P5

口?/p>

共阴端是由单片机?/p>

P3

口控制,

单片机的一?/p>

IO

通过一个三极管接到数码管的共阴端,

以完成位选?/p>

 

单片机的

P3

口时数码管的位选口,某位为高则选中?/p>

P5

口时段选口;要数码管显示时?/p>

通过

P3

位选,选中某个数码管亮?/p>

P5

段选选择

8

段(

a-h

)中的那些亮,从而控制某

一位显示数字或字符?/p>

 

要同时显示多个数码管,就要动态扫描;动态扫描时,本程序选用的是由看门狗的中?/p>

扫描显示:每

1.9ms

显示其中的一位,动态扫描显示每一位,从而让数码管看起来是同

时亮的?/p>

 

?/p>

 

程序实现?/p>

 

 

数码管显示首先要有一个数码管显示的断码表(完成数字和字符到数码管段值的表)?/p>

程序中采用了?/p>

MSP430

系列单片机系统工程设计与实践》这本书推荐的方式实现的?/p>

个数码表:先用宏定义定义每段对应的单片机要输出的段值,然后再实现是个表,当?/p>

件改变时,只需更改前面的每段的段值定义即可,改动的地方少了很多,代码如下?/p>

 

/*

宏定义,数码?/p>

a-h

各段对应的比特,更换硬件只用改动以下

8

?/p>

*/ 

#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 

 

 

 

 

 

 

 

//

小数?/p>

 

 

/*

用宏定义自动生成段码表,很好的写法,值得学习

*/ 

/*

更换硬件无需重写段码?/p>

*/ 

const 

char 

Tab[] 

= 

{ 

 

 

 

 

a 

+ 

b 

+ 

c 

+ 

d 

+ 

e 

+ 

f, 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// 

Displays 

"0

" 

Ͼλ">
Ͼλ
Ŀ

MSP430程序库九数码管显?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MSP430

程序?/p>

<

?/p>

>

数码管显?/p>

 

数码管也是单片机系统最常用的输出设备之一

(

还有液晶、发光二极管?/p>

)

。七?/p>

(

这里用的

?/p>

8

段,有小数点

)

数码管可以完成显?/p>

0-9

数字和一部分的英文字符如?/p>

A

?/p>

b

。本文实

现的程序完成显示数字和可显示的英文字符;同时完成数码管显示的

printf

函数的移植,

以支?/p>

printf

的格式化字符等好用的特点(我用的数码?/p>

8

个排为一排,方便数字等的?/p>

示)?/p>

 

?/p>

 

硬件介绍?/p>

 

 

这里所用到的硬件资源包?/p>

8

个数码管、和

msp430

单片机的两个

8

?/p>

IO

?/p>

(

这里?/p>

的是

P3

?/p>

P5

口,如有改变,可以通过宏定义更?/p>

)

?/p>

 

数码管是

8

个共阴的数码管,

a-h 

8

段通过一?/p>

200Ω

的电阻接?/p>

430

单片机的

P5

口?/p>

共阴端是由单片机?/p>

P3

口控制,

单片机的一?/p>

IO

通过一个三极管接到数码管的共阴端,

以完成位选?/p>

 

单片机的

P3

口时数码管的位选口,某位为高则选中?/p>

P5

口时段选口;要数码管显示时?/p>

通过

P3

位选,选中某个数码管亮?/p>

P5

段选选择

8

段(

a-h

)中的那些亮,从而控制某

一位显示数字或字符?/p>

 

要同时显示多个数码管,就要动态扫描;动态扫描时,本程序选用的是由看门狗的中?/p>

扫描显示:每

1.9ms

显示其中的一位,动态扫描显示每一位,从而让数码管看起来是同

时亮的?/p>

 

?/p>

 

程序实现?/p>

 

 

数码管显示首先要有一个数码管显示的断码表(完成数字和字符到数码管段值的表)?/p>

程序中采用了?/p>

MSP430

系列单片机系统工程设计与实践》这本书推荐的方式实现的?/p>

个数码表:先用宏定义定义每段对应的单片机要输出的段值,然后再实现是个表,当?/p>

件改变时,只需更改前面的每段的段值定义即可,改动的地方少了很多,代码如下?/p>

 

/*

宏定义,数码?/p>

a-h

各段对应的比特,更换硬件只用改动以下

8

?/p>

*/ 

#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 

 

 

 

 

 

 

 

//

小数?/p>

 

 

/*

用宏定义自动生成段码表,很好的写法,值得学习

*/ 

/*

更换硬件无需重写段码?/p>

*/ 

const 

char 

Tab[] 

= 

{ 

 

 

 

 

a 

+ 

b 

+ 

c 

+ 

d 

+ 

e 

+ 

f, 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// 

Displays 

"0

" 



ļ׺.doc޸Ϊ.docĶ

  • 2020꼶ϲ 4 2 ķ̰ (°)˽̰
  • ȫεڵ⼰Ĵʩ
  • Σշ¹ʷʩӦԤ
  • еѧϰ龳ϰ
  • ҵAPP..
  • ֲγ̽ѧ
  • Ϸ-ݹ㲥ӴѧУ
  • ѹ˻˵
  • ±һڣ - ͼ
  • ʷ빤

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)