教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

MSP430x14x系列单片机程序实例(6)

来源:网络收集 时间:2026-09-04
导读: } } 8、DISPLAY-LED-数码管显示测试程序 /******************************************************************** //DM430-A型开发板数码管显示程序,依次显示0~7 //数码管控制采用74HC573锁存器控制,采用动态显

} }

8、DISPLAY-LED-数码管显示测试程序

/******************************************************************** //DM430-A型开发板数码管显示程序,依次显示0~7

//数码管控制采用74HC573锁存器控制,采用动态显示机制

//数码管为4位共阴型,对应的位低电平有效,可以控制位信号选择哪一位显示 ********************************************************************/

#include

#include \ //开发板配置头文件,主要配置IO端口信息

//*********************************************************************** // MSP430IO口初始化

//*********************************************************************** void Port_Init() {

LED8SEL = 0x00; //设置IO口为普通I/O模式,此句可省 LED8DIR = 0xFF; //设置IO口方向为输出 LED8PORT = 0xFF; //P2口初始设置为FF

DATASEL = 0x00; //设置IO口为普通I/O模式,此句可省 DATADIR = 0xFF; //设置IO口方向为输出 DATAPORT = 0xFF; //P4口初始设置为FF

CTRSEL = 0x00; //设置IO口为普通I/O模式,此句可省 CTRDIR |= BIT3 + BIT4; //设置IO口方向为输出,控制口在P63,P64 CTRPORT = 0xFF; //P6口初始设置为FF }

//*********************************************************************** // 74HC573控制数码管动态扫描并显示数据

//***********************************************************************

void Display() {

uchar i,j;

j=0x01; //此数据用来控制位选 for(i=0;i<8;i++) {

DCTR1; //控制数码管段数据的74HC573的LE管脚置高 WCTR1; //控制数码管位的74HC573的LE管脚置高

DATAPORT=~j; //设置要显示的位,也就是哪一个数码管亮 WCTR0; //锁存位数据,下面送上段数据以后,就显示出来了

DATAPORT=table[i]; //送要显示的数据,就是段数据,如显示0送的是0x3f

DCTR0; //锁存段数据,数码管亮一个时间片刻 j=j<<1; //移位,准备进行下一位的显示

delay_ms(200); //显示一个时间片刻,会影响亮度和闪烁性 } }

//*********************************************************************** // 主程序

//*********************************************************************** void main(void) {

WDT_Init(); //看门狗初始化 Clock_Init(); //时钟初始化

Port_Init(); //端口初始化,用于控制IO口输入或输出 while(1) {

Display(); //调用显示函数,依次显示1~7 } }

9、DS18B20-DS18B20采集温度测试程序

/******************************************************************** //DM430-A型开发板温度传感器DS18B20控制程序,显示环境温度,未校准

//DS18b20的C语言驱动程序,三位数码管显示,读取当前环境温度,显示精度达0.1度,温度范围0-99度

//DS18B20 详细引脚功能描述1、GND 地信号;2、DQ数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下

//也可以向器件提供电源;3、VDD可选择的VDD 引脚。当工作于寄生电源时,此引脚必须接地。

//DS18B20 的使用方法。DS18B20 采用的是1-Wire 总线协议方式 //即在一根数据线实现数据的双向传输,数据脚接在P53上

********************************************************************/ #include #include \

//************************************************************************* // 初始化IO口子程序

//************************************************************************* void Port_Init() {

LED8SEL = 0x00; //设置IO口为普通I/O模式,此句可省 LED8DIR = 0xFF; //设置IO口方向为输出 LED8PORT = 0xFF; //P2口初始设置为FF

DATASEL = 0x00; //设置IO口为普通I/O模式,此句可省 DATADIR = 0xFF; //设置IO口方向为输出 DATAPORT = 0xFF; //P4口初始设置为FF

CTRSEL = 0x00; //设置IO口为普通I/O模式,此句可省 CTRDIR |= BIT3 + BIT4; //设置IO口方向为输出,控制口在P63,P64 CTRPORT = 0xFF; //P6口初始设置为FF }

//************************************************************************* // 74HC573控制数码管动态扫描显示函数,显示采集到的温度

//*************************************************************************

void Display_DS18B20(uint data_b,uint data_s,uint data_g) {

uchar i,j;

j=0x01; //此数据用来控制位选 for(i=0;i<5;i++) //用后3位数码管来显示 {

DCTR1; WCTR1; DATAPORT=~j; WCTR0; j=(j<<1);

DATAPORT=0x00; //前5位都不显示,送数据00即可 DCTR0; delay_ms(2); }

DCTR1; //开始显示10位 WCTR1; DATAPORT=~j; WCTR0; j=(j<<1);

DATAPORT=table[A1]; DCTR0; delay_ms(1);

DCTR1; //开始显示个位 WCTR1; DATAPORT=~j; WCTR0; j=(j<<1);

DATAPORT=table[A2]|0x80; //显示小数点 DCTR0; delay_ms(1);

DCTR1; //开始显示小数点后面的数据 WCTR1; DATAPORT=~j; WCTR0; j=(j<<1);

DATAPORT=table[A3]; DCTR0; delay_ms(1);

DCTR1; …… 此处隐藏:2573字,全部文档内容请下载后查看。喜欢就下载吧 ……

MSP430x14x系列单片机程序实例(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/436083.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)