(1)、用静态显示的方法,循环送0àF的段码(用到循环语句) (2)、利用动态显示方法,数码管是一个一个的显示,但由于人眼具有视觉暂留效应,只要循环的周期足够快所有数码管看起来是一起显示的。要设缓冲区函数 (3)、(4)、还是动态显示,确定需要的段码、位码即可,小数点的实现在所在为的最高位加个“1”即可。
6、程序代码:
(1)#include <MSP430f249.h>
#define uchar unsigned char
#define uint unsigned int
char const table[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e }; /* 共阳数码管段选码表,无小数点 */
void delayms( int t )
{
int i;
while ( t-- )
for ( i = 1330; i > 0; i-- );
}
void main( void )
{
char i;
WDTCTL = WDTPW + WDTHOLD; /* 关闭看门狗 */
P4DIR = 0xFF; /* 设置方向 */
P4SEL = 0; /* 设置为普通I/O 口 */
P4OUT = 0x00;
while ( 1 ) {
for ( i = 0; i < 16; i++ )
{
P4OUT = table[i];
delayms( 100 );
}}}
(2)#include "msp430f249.h"
#include "stdlib.h"
#include "string.h"
/*****************************************软件延时,主频1M*************