标题:
MSP430f5529的端口模拟IIC程序
[打印本页]
作者:
woaidezhu
时间:
2018-10-18 14:48
标题:
MSP430f5529的端口模拟IIC程序
因为官方给的硬件IIC程序弄起来有点麻烦,索性不如用端口模拟一个IIC程序出来
0.png
(10.76 KB, 下载次数: 81)
下载附件
2018-10-18 16:35 上传
单片机源程序如下:
/*
* LCD12864.C
*
* Created on: 2018年7月17日
* Author: PC100
*/
#include "LCD12864.h"
#include "msp430.h"
//写显示数据
void LCD_data(unsigned char data_data)
{unsigned int i;
P1DIR=0x7c;
P3DIR=0xff;
P1OUT=0xff;
P1OUT=(P1OUT^BIT3);//RW=0
P1OUT=(P1OUT|BIT2);//RS=1
// delay50us(1);
for(i=0;i<4;i++)
P3OUT=data_data;
delay_10us();
P1OUT=(P1OUT|BIT4);//E=1
// delay50us(10);
for(i=0;i<40;i++)
delay_10us();
P1OUT=(P1OUT^BIT4);//E=0
// delay50us(2);
delay_100us();
}
//写指令
void LCD_command(unsigned int com_data)
{unsigned int i;
P1DIR=0x7c;
P3DIR=0xff;
P1OUT=0xff;
P1OUT=(P1OUT^BIT3);//RW=0
P1OUT=(P1OUT^BIT2);//RS=0
// delay50us(1);
for(i=0;i<4;i++)
delay_10us();
P3OUT=com_data;
P1OUT=(P1OUT|BIT4);//E=1
// delay50us(10);
for(i=0;i<40;i++)
delay_10us();
P1OUT=(P1OUT^BIT4);//E=0
// delay50us(2);
delay_100us();
}
//初始化
void LCD_Init(void)
{ unsigned int i;
// delay1ms(100);
for(i=0;i<100;i++)
delay_ms();
LCD_command(0x30);
// delay50us(4);
for(i=0;i<16;i++)
delay_10us();
LCD_command(0x30);
// delay50us(4);
for(i=0;i<16;i++)
delay_10us();
LCD_command(0x0c);//开显示屏
// delay50us(4);
for(i=0;i<16;i++)
delay_10us();
LCD_command(0x01); //清屏指令
// delay50us(240);
for(i=0;i<12;i++)
delay_ms();
LCD_command(0x06);
// delay50us(10);
for(i=0;i<40;i++)
delay_10us();
}
复制代码
所有资料51hei提供下载:
IIC.zip
(78.68 KB, 下载次数: 45)
2018-10-18 14:47 上传
点击文件名下载附件
MSP430F5529
下载积分: 黑币 -5
作者:
windy.2018
时间:
2018-10-18 18:37
很给力
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1