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

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

来源:网络收集 时间:2026-09-04
导读: delay_ms(5); LCD_write_com(0x01); delay_ms(5); LCD_write_com(0x06); delay_ms(5); //显示清屏 //显示光标移动设置 LCD_write_com(0x0C); //显示开及光标设置 delay_ms(5); } //*******************************

delay_ms(5); LCD_write_com(0x01); delay_ms(5);

LCD_write_com(0x06); delay_ms(5);

//显示清屏 //显示光标移动设置

LCD_write_com(0x0C); //显示开及光标设置 delay_ms(5); }

//*********************************************************************** // 主函数

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

unsigned char temp;

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

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

Close_LED(); //关闭LED数码管,避免显示乱码 delay_ms(200);

LCD_init(); //1602液晶初始化 DS1302_init(); //DS1302初始化 delay_ms(10);

DS1302_write_time(); //向DS1302写初始数据,如年月和时间等

while (1) {

delay_ms(200);

DS1302_read_time(); //读DS1302数据 temp = (time_buf[0] >> 4) + '0'; //在LCD上写要显示的数据 LCD_write_char(0, 0, temp);/*年*/ temp = (time_buf[0] & 0x0F) + '0'; LCD_write_char(1, 0, temp); temp = (time_buf[1] >> 4) + '0'; LCD_write_char(2, 0, temp); temp = (time_buf[1] & 0x0F) + '0'; LCD_write_char(3, 0, temp); LCD_write_char(4, 0, '-');

temp = (time_buf[2] >> 4) + '0';

LCD_write_char(5, 0, temp);/*月*/ temp = (time_buf[2] & 0x0F) + '0'; LCD_write_char(6, 0, temp);

LCD_write_char(7, 0, '-');

temp = (time_buf[3] >> 4) + '0';

LCD_write_char(8, 0, temp);/*日*/ temp = (time_buf[3] & 0x0F) + '0'; LCD_write_char(9, 0, temp);

temp = (time_buf[4] >> 4) + '0'; LCD_write_char(8, 1, temp);/*时*/ temp = (time_buf[4] & 0x0F) + '0'; LCD_write_char(9, 1, temp); LCD_write_char(10, 1, ':');

temp = (time_buf[5] >> 4) + '0';

LCD_write_char(11, 1, temp);/*分*/ temp = (time_buf[5] & 0x0F) + '0'; LCD_write_char(12, 1, temp); LCD_write_char(13, 1, ':');

temp = (time_buf[6] >> 4) + '0';

LCD_write_char(14, 1, temp);/*秒*/ temp = (time_buf[6] & 0x0F) + '0'; LCD_write_char(15, 1, temp); } }

12、INFRARED-遥控器红外一体化解码测试程序

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

//DM430-A型开发板红外遥控器解码程序,对遥控器按键进行识别,然后将键值显示到数码管上

//红外遥控器为NEC编码格式,38K调制,解码时直接读取键值,用户码00FF

//由于采取的是IO电平直接判断方式读取,会有不稳定的现象,按键时频率不要过快 ********************************************************************/

#include

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

//*********************************************************************** // 遥控器键码

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

#define KEY_0 0x16 //键0 #define KEY_1 0x0C //键1

#define KEY_2 0x18 //键2 #define KEY_3 0x5E //键3 #define KEY_4 0x08 //键4 #define KEY_5 0x1C //键5 #define KEY_6 0x5A //键6 #define KEY_7 0x42 //键7 #define KEY_8 0x52 //键8 #define KEY_9 0x4A //键9 #define KEY_POWER 0x45 //电源 #define KEY_MODE 0x46 //模式 #define KEY_SOUND 0x47 //静音

#define RED_IN P1DIR &= ~BIT3 //设置输入,红外接收头接单片机PE3口 #define RED_OUT P1DIR |= BIT3 //设置输出 #define RED_L P1OUT &= ~BIT3 //置低电平 #define RED_H P1OUT |= BIT3 //置高电平 #define RED_R (P1IN & BIT3) //读电平

uchar KEY_VAL=0; uchar code_value=0; uchar key_code[4];

//*********************************************************************** // 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

P6SEL = 0x00; //设置IO口为普通I/O模式,此句可省 P6DIR |= BIT2; //设置P62方向为输出 P6OUT = 0xFF; //P6口初始设置为FF

RED_L; RED_IN; }

//************************************************************************* // 遥控器键值赋功能值子程序

//************************************************************************* void Key_Icode(void) {

switch(key_code[2]) //第3个字节是数据,第4个字节是反码 { //为了更稳定,可以加上第4个字节数据的判断

case KEY_0:KEY_VAL=0;break; case KEY_1:KEY_VAL=1;break; case KEY_2:KEY_VAL=2;break; case KEY_3:KEY_VAL=3;break; case KEY_4:KEY_VAL=4;break; case KEY_5:KEY_VAL=5;break; case KEY_6:KEY_VAL=6;break; case KEY_7:KEY_VAL=7;break; case KEY_8:KEY_VAL=8;break; case KEY_9:KEY_VAL=9;break; default:KEY_VAL=10;break; } }

//************************************************************************* // 74HC573控制数码管动态扫描键值显示 …… 此处隐藏:2982字,全部文档内容请下载后查看。喜欢就下载吧 ……

MSP430x14x系列单片机程序实例(10).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)