msp430数码管显示程序,是一个时钟计时,程序简单易懂,是数码管的子程序。
2024-04-26 15:01:30 25KB msp430数码管
1
MSP430数码管动态显示程序 //数码管显示 1234 2011,7,21 #include /************************** P4.0----data P5.0----data_qian P5.1----data_bai P5.2----data_shi P5.3----data_ge ****************************/ #define DATADIR P4DIR //方向控制寄存器 #define DATAOUT P4OUT //输出控制寄存器 #define WEIDIR P5DIR //方向控制寄存器 #define WEIOUT P5OUT //输出控制寄存器 #define uchar unsigned char #define uint unsigned int uchar segment[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67}; uint data=6789; //送给显示函数的要显示的变量 void delay() //延时。 { unsigned char m,n; for(m=0;m<30;m++) for(n=0;n<20;n++); } display(data) //数码管控制 { WEIOUT=0xFE; //控制显示段位,千 DATAOUT=segment[data/1000]; delay(); //延时,利用人眼的视觉延时达到显示 DATAOUT=0; //清屏 WEIOUT=0xff; //恢复原始状态 WEIOUT=0xFD;//百 DATAOUT=segment[data%1000/100]; delay(); DATAOUT=0; WEIOUT=0xff; WEIOUT=0xFB;//十 DATAOUT=segment[data%100/10]; delay(); DATAOUT=0; WEIOUT=0xff; WEIOUT=0xF7;//个 DATAOUT=segment[data%10]; delay(); DATAOUT=0; WEIOUT=0xff; } void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 WEIDIR=0XFF; //设置寄存器方向,1为输出,0为输入。 WEIOUT=0X00; //段位初值为0 DATADIR=0xff; DATAOUT=0x00; while(1) //循环 display(data); //显示 }
2022-01-03 23:50:49 2KB MSP430 数码管 动态显示
1
基于msp430f149的数码管显示程序,可移植性强
2019-12-21 21:03:47 2KB msp430 数码管
1