历史上的今天
今天是:2025年04月06日(星期日)
2021年04月06日 | MSP430单片机控制lcd1602显示C程序
2021-04-06 来源:eefocus
//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);
}
}
史海拾趣
|
5.1半导体三极管的基本结构 5.1.1 三极管内部结构 半导体二极管内部只有一个PN结,若在半导体二极管P型半导体的旁边,再加上一块N型半导体如图5-1(a)所示。由图5-1(a)可见,这种结构的器件内部有两个PN结,且N型半导体和P型半导体交错排列 ...… 查看全部问答> |
|
#include #include #include #include #include #include class MyWidget:public QWidget { public: MyWidget(); protected: void paintEvent(QPaintEvent *event); QTimer *timer; }; MyWidget::MyWidget() { timer=new QTi ...… 查看全部问答> |
|
大家好,我仿照北京奥尔斯的pxa270开发板做了一个板子。按照他们的开发板,电源没有用任何电源管理芯片,全都是LDO直接恒定输出各个电压(不用PWR_EN和SYS_EN控制),他的开发板能跑,按道理来说这种设计应该没有问题。 现在我的板子能JTAG烧写boo ...… 查看全部问答> |
|
我用PIC18F248做CPU想与PC机实现RS232通讯,现在PIC18F248发出去的数据是对的, 但是收不到PC机发过来的数据! 我用了MAX232A做PC机与PIC18F248的接口,现在MAX232A不管是否接收PC机RS232的数据 都只发给PIC18F248一个连续的5V电平,我也用示波器看了 ...… 查看全部问答> |
|
#include<LPC21xx.h> #define uint8 unsigned char#define uint32 unsigned intvoid Timer0_ISR(void) __attribute__ ((interrupt));uint8 num; void DelayNs(uint32 dly){ uint32 i; for(;dly>0;dly--) &nbs ...… 查看全部问答> |
|
你好,我使用的是stm32,外围带mcp2551,做为节点的时候,通讯一般都是没有问题的,可以接收和发送。接收是采用中断方式。 但是目前遇到一个问题,整个总线有5个节点,一个是监听的,方便pc得到信息。 我使用STM32的can来代替一个节点进行数 ...… 查看全部问答> |
|
因为9B96有Port J,可是Startup.s里的中断向量表里没有Port J的“IntDefaultHandler”,所以进不去中断。如果谁有麻烦给我一份啊。谢谢先。 zzgezi@126.com. … 查看全部问答> |
|
第1篇-玩转Thinker Board之Hello MacroBlaze Thinker Board 第一篇之 Hello MacroBlaze [ 本帖最后由 sblpp 于 2013-3-4 21:51 编辑 ]… 查看全部问答> |




