⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p299_s1.c

📁 msp430开发版程序
💻 C
字号:
/*
将4位的数码管电路板接到J11接插件上,注意插针引脚顺序
*/

//数码管为共阳数码管
//要在1个数码管显示“1”的语句是:P299
//书本上的代码修改后适应本电路板的代码如下:

#include  <msp430x14x.h>
//一般显示程序并不直接将断码赋值给对应端口,而是建立一张段码表(通常是断码数组),显示时以所要显示的数字为索引查询
//这张表格:P299
//共阳数码管的表格为:
//本表格通过LEDSET软件可以快速得到
const unsigned char Seg[]=
{
0X84,  // 0
0XBD,  // 1
0XE0,  // 2
0XB0,  // 3
0X99,  // 4
0X92,  // 5
0X82,  // 6
0XBC,  // 7
0X80,  // 8
0X90,  // 9
0X88,  // A
0X83,  // b
0XC6,  // C 
0XA1,  // d
0XC2,  // E
0XCA  // F
};

main()
{
  	unsigned char ledval=0;
	unsigned int i,j;
	
	WDTCTL = WDTPW + WDTHOLD; //停止看门狗
	
//初始化端口
  	P4DIR = 0XFF;	//P4作为段输出
	P5DIR = 0X0F;	//P5作为位输出
	P4OUT = 0XFF;	//熄灭所有数码管
	P5OUT = BIT3;	//点亮第1个数码管
	
	ledval = 0xfe;
	for(i=0;i<8;i++)	//测试8个段
	{
	  	P4OUT =ledval;	//共阳,需要取反
		ledval <<= 1;	//左移1位
		ledval += 1;	//由于是共阳,所以需要再加1
		for(j=0;j<50000;j++);
	}
	
	while(1)
	{		
	  	if(ledval<15) ledval++;
		else ledval=0;
	
		P4OUT = Seg[ledval];	//发送显示的数

		for(i=0;i<100;i++)	//延时
		  	for(j=0;j<1000;j++);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -