您现在的位置: 主页 > MCU > 单片机技术应用 > MSP430单片机1602液晶60秒计时程序 -
本文所属标签:
为本文创立个标签吧:

MSP430单片机1602液晶60秒计时程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
MSP430单片机1602液晶60秒计时程序//**************************************************************//P3BIT5接RS)--(BIT7接NE)--(BIT6接RW)//P4口送数据////08-6-27//*****************************

MSP430单片机1602液晶60秒计时程序

本文引用地址: http://www.21ic.com/app/mcu/201806/761597.htm

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

//P3BIT5接RS)--(BIT7接NE)--(BIT6接RW)

//P4口送数据
//
//08-6-27
//*****************************************************
#include"msp430x22x4.h"
unsignedchartable[]="0123456789";
unsignedchara=0,b=0,c=0,d=0,e=0,f=0;
charnum,count=0;
//***********************读写数据延时******************
voiddelay(intz)
{
intx,y;
for(x=z;x>0;x--)
for(y=510;y>0;y--);
}
//***********************写命令************************
voidwrite_com(charcom)
{
P3OUT&=~BIT5;//控制LCD的R/S口此时为命令为-0
P4OUT=com;
delay(5);
P3OUT|=BIT7;//控制LCD的EN口-1
delay(5);
P3OUT&=~BIT7;//控制LCD的EN口-0

}
//**********************写数据*************************
voidwrite_data(chardate)
{
P3OUT|=BIT5;//R/S口此时为数据为-1
P4OUT=date;
delay(5);
P3OUT|=BIT7;//EN口为-1
delay(5);
P3OUT&=~BIT7;//EN口为-0

}
//*********************液晶显初始化***********************
voidinit()
{
WDTCTL=WDTPW+WDTHOLD;//关看门狗
BCSCTL1=CALBC1_1MHz;//设定DCO为1MHZ
DCOCTL=CALBC1_1MHZ;

TACTL=TASSEL1+TACLR+ID_3;//定时器A时钟源为MCLK,式
CCR0=65500;//计数值为65535个ACLK周期
CCTL0|=CCIE;
TACTL|=MC_1;
P3SEL=0X00;
P3DIR=0XFF;
P3OUT=0X00;
P4DIR=0XFF;
P4SEL=0X00;
P4OUT=0X00;

P3OUT&=~BIT6;//RW口为-0
P3OUT&=~BIT7;//EN口为-0

write_com(0x38);//显示模式设置
write_com(0x0c);//显示开及光标设置
write_com(0x04);
write_com(0x01);//显示清屏
//_EINT();
//_BIS_SR(GIE);
}


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

voidmain()
{
init();
for(;;)
{
//write_com(0x01);//清屏
write_com(0x80+0x05);
write_data(table[b]);
//delay(5);
write_com(0x80+0x06);
write_data(table[a]);

}}


//*****************************定时中断函数************************

#pragmavector=TIMERA0_VECTOR//ccr0中断服务
__interruptvoidta1_isr(void)
{
count++;
CCTL0&=~CCIFG;
if(count!=2)return;
count=0;
a++;
if(a>9)
{
a=0;b++;
if(b>5)
{
a=0;b=0;
}
}
CCR0=65535;
}




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > MSP430单片机1602液晶60秒计时程序 -
 

"MSP430单片机1602液晶60秒计时程序 -"的相关文章

网站地图

围观()