//MSP430写的1602液晶显示程序2011/8/26//硬件连接
//P4 数据口 P3.7---E P3.6---RW P3.5----RS
#include"msp430x14x.h"
#define uint unsigned int
#define rw(x) P3OUT=(P3OUT&(~BIT6))|(x?BIT6:0);
unsigned char table0[]="hankouxueyuan";
unsigned char table1[]="dianzisheji";
//**************延时***********************************
void delay(uint z)
{
uint t,y;
for(t=z;t>0;t--)
for(y=110;y>0;y--);
}
//*******写命令*****************************************
void write_com(unsigned char com)
{
P3OUT&=~BIT5;//作为RS选择端低电平有效
rw(0);
P3OUT|=BIT7;
delay(10);
P4OUT=com;
//P4OUT=com;
//P3OUT|=BIT7;
delay(15);
P3OUT&=~BIT7;
}
//*******写数据***************************************************
void write_data(unsigned char date)
{
P3OUT|=BIT5;//作为RS选择端高电平有效劳
rw(0);
P3OUT|=BIT7;
delay(10);
P4OUT=date;
//delay(15);
//P4OUT=date;
//P3OUT|=BIT7;作为E选择端=1;
delay(15);
P3OUT&=~BIT7;
}
//********初始化******************************************
void init()
{
P3DIR=0xff;//P3输出 作控制口
P3SEL=0;
P3OUT=0x00;
P3OUT&=~BIT7;//E
P3OUT&=~BIT5;//RS
P4DIR=0XFF;//P4输出 作数据口
P4SEL=0;
P4OUT=0X00;
write_com(0x38);//显示模式设置
write_com(0x0c);//开显示,不显光标
write_com(0x06);//数据地址指针
write_com(0x01);//清屏
//_BIS_SR(GIE);//两个开总中断的方法随便用哪一个
// _EINT();
}
//************显示函数2********************
display2(unsigned char x,unsigned char *p)
{
unsigned char y=0; //y要给其初值0否则出乱码
write_com(x);
while(p[y]!=0x00)
{
write_data(p[y]);
y++;
delay(15);
}
}
//***************主函数****************************************************
void main()
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
init();
while(1)
{
display2(0x80+0x01,table0);
display2(0x80+0x40+0x01,table1);
}
}
关键字:msp430 cd1602
引用地址:
msp430单片机控制lcd1602显示C程序
推荐阅读最新更新时间:2024-03-16 14:42
基于MSP430F249的ADC7864触摸程序函数
这个例子是我参照51单片机的例子写的,测试过,能正常读取数据,没转换为坐标 使用的是中断法,下降沿促发 //文件名:tourch_screen.h //基于ADS7846的触摸屏程序 //宏定义:对管脚的定义 // #ifndef _touch_screen_h_ #define _touch_screen_h_ extern unsigned int x_zb,y_zb; //测的x,y坐标 //函数:Touch_Port_Ini() //描述:初始化触摸控制端口 //返回值:无 void Touch_Port_Ini(); //初始化端口 #endif //描述:管脚的宏定义 //
[单片机]
MSP430F2616开发笔记题外话之LM358做电压跟随器的输出电压
由于DAC的输出可能会经过电阻分压、经过加减法器运算之类的,所以很多时候在它的后级会加上电压跟随器,以增加输入阻抗、减小输出阻抗;使用ADC时,也同样经常会使用它来处理信号。 在使用LM358搭建电压跟随器时,我遇到过输入电压接近零点而输出电压保持在0.6V以上的情况,从网上了解到这并不是个别现象,而是经常出现,有人给出的解决方法是使用正负电源供电,或者加下拉电阻。但是LM358的技术手册描述,它的输出电压摆幅在0V附近时并没有问题(技术手册上提供的最低输出电压典型值为5mV),同样有人做过实验,确实表现非常好。那这个0.6V到底从哪里来呢?难道买到的LM358是假货吗? 为了找出问题所在,首先根据下面的原理图,使用实验板
[单片机]
msp430f5529简单uart源程序(用串口助手 发什么 回复什么)
单片机源程序如下: /*****用串口助手 发什么 回复什么****/ #include msp430f5529.h // ACLK = REFO = 32768Hz, MCLK = SMCLK = default DCO/2 = 1048576Hz // P3.4,5——USCI_A0 TXD/RXD;P9.4,5——USCI_A2 TXD/RXD;P10.4,5——USCI_A3 TXD/RXD; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P4SEL |=BIT4+BIT5 ; // P5.6,7
[单片机]
MSP430单片机指令周期小谈
MSP430的时钟周期(振荡周期)、机器周期、指令周期之间的关系 时钟周期也称为振荡周期:定义为时钟脉冲的倒数(时钟周期便是直接供内部CPU 使用 的晶振的倒数 , 例如12M的晶振 , 它的时钟周期便是1/12us) , 是 电脑 中的最基本的、最小的时间单位 。 在一个时钟周期内 , CPU仅完成一个最基本的动作 。 时钟脉冲是电脑的基本工作脉冲 , 控制着电脑的工作节奏 。 时钟频率越高 , 工作速度就越快 。 机器周期:在电脑中 , 常把一条指令的执行过程划分为若干个阶段 , 每一个阶段完成一项工作 。 每一项工作称为一个基本操作 , 完成一个基本操作所需要的时间称为机器周期 。 8051系列单片机的一个机器周期由6个
[单片机]
半年之殇:困扰半年的MSP430的I2C总线问题在今天解决
搞过嵌入式开发的程序员一定知道有I2C总线,手机和电视中的主要串行技术,通过两条线SDA,SCL解决总线传输,地址区分和热插拔问题的技术。 可是就是这么一个简单的东西,让我这个自认为有些经验的单片机开发者浪费了整整五个月!这还是我有比较充分的经验,在一年半前就已经非常了解I2C协议的情况下!这段时间我花了无数的时间在调试,思考,解决问题而没有一丝进展。反复的检查问题,想要的结果死活不出来!昨晚的反思让我今天早上我一大早起来第一件事就是调代码,结果正确出来的时候,眼泪都快出来了。这篇文章,总结下这五个月来的问题,这五个月给我好好的上了一课。 五个月前,初步规划方案阶段: 我做的体感项目发展到了第四代,为了尽可能的减少尺寸
[单片机]
MSP430F5529波特率的设定,
1、用两个例子解释UART中波特率的设定,以及UART的基本使用,具体的内容都在注释里面。 2、UART有两种设定波特率的方式,分别为低频模式和oversampling模式,分别用一个程序解释。 3、与波特率相关的寄存器有 (1)UCAxCTLn (2)UCAxBRx UCA1BR0 为N的0-7位 UCA1BR1 为N的8-15位 3、UCA1MCTL 其中包括UCBRSx :第二阶段调制 UCBRFx :第一阶段调制,在选择oversampling模式时用 UCOS16 :是否选择oversamlpling模式 4、计算公式为 N = f BRCLK /Baudrate UCBRx = INT(N) U
[单片机]
uC/OS-II在MSP430单片机芯片上实现RTOS的问题
单片机作为嵌入式信息产品的一个重要应用方面,其使用、设计面临着全新的挑战。一方面,人们对嵌入式产品的要求越来越高,稳定可靠、功能丰富、物美价廉的信息产品将成为人们的首选。另一方面,随着微电子工艺水平的发展,单片机处理器的能力不断提高,从最初的8位单片机到16位,进而32位单片机,功能越来越强大,执行速度越来越快,集成度、精确度也越来越高,应用领域进一步拓宽。可以说,单片机芯片的性能已经能够满足现代人们对嵌入式信息产品的更高要求。为了能将二者有效地结合起来,嵌入式RTOS的软件设计方法也取代了以前的前后台(超循环)设计方法,越来越受到重视和应用。 正如分时操作系统中Linux的出现打破了Windows一统天下的局面一样,
[单片机]
基于MSP430单片机的便携式PID参数整定仪的实现
摘要:PID控制器是工业中应用最为广泛的控制器,实际工程中PID参数整定问题一直是困扰技术人员的问题之一,也一直是人们研究的热点。本文应用RGA失调因子法对基于MSP430单片机的便携式PID参数整定仪进行整定。并对便携式PID参数整定仪进行了功能分析,以MSP430 F169为核心控制单元完成了系统的软硬件设计。 关键词:PID控制;参数整定;MSP430单片机 0 引言 PID控制是最常的控制策略,在工业过程控制中90%以上的控制回路具有PID结构。PID控制之所以被广泛应用主要是因为它算法简单,在实际中容易被理解和实现,而且许多高级控制都以PID控制为基础。但是由于环境的变化,使被控对象具有时变性,参数经过一段时间以
[工业控制]