新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用MSP430的32768Hz晶振寫的時鐘

用MSP430的32768Hz晶振寫的時鐘

作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
#include

typedef unsigned char uchar;
typedef unsigned int uint;
//typedef也是一種宏定義類型,其書寫方式和#define相反

本文引用地址:http://butianyuan.cn/article/201612/324675.htm

/*******液晶端口初始化*******/
#define out P3DIR|=BIT0+BIT1+BIT2//把P3_012三個口設(shè)為輸出
#define lcd_enset P3OUT|=BIT2
#define lcd_enclear P3OUT&=~BIT2
#define lcd_rw1 P3OUT|=BIT1
#define lcd_rw0 P3OUT&=~BIT1
#define lcd_rs1 P3OUT|=BIT0
#definelcd_rs0 P3OUT&=~BIT0
#define keyin (P1IN & 0x0f)
uchar temp,keynum=0;
int shi=23,fen=59,miao=55;//此處用char型會在按鍵調(diào)整減數(shù)到0時出錯
/**********/
/*延時子程序*/
//調(diào)用8個時鐘周期,返回6個,循環(huán)4個
//總周期個數(shù)為: 8+6+4*n=14+4*n 個時鐘周期
//默認800k時鐘,所以周期為1.25us 公式修正:17.5+5*n=定時時間
void delay(unsigned int x)//延時
{
unsigned int i;
i=x;
for(;i>0;i--) ;
}
/******LCD寫指令程序***********/
void write_com(unsigned char com)
{ out;
P4DIR=0XFF;
P4OUT=com;
lcd_rw0;
lcd_rs0;
_NOP();
lcd_enclear;
delay(10);
lcd_enset;
delay(10);
lcd_enclear;
}
/***********LCD寫數(shù)據(jù)**************/
void write_data(unsigned char dat)
{ out;
P4DIR=0XFF;
P4OUT=dat;
lcd_rw0;
lcd_rs1;
_NOP();
_NOP();
lcd_enclear;
delay(10);
lcd_enset;
delay(10);
lcd_enclear;
}
/*****寫時分秒********/
void write_sfm(uchar add,uchar dat)
{
uchar a,b;
a=dat/10;
b=dat%10;
write_com(0x80+0x40+add);
write_data(a+0x30);
write_data(b+0x30);

}

/*********lcd初始化,寫lcd功能與方式控制********/
voidlcd_init()
{ out;
write_com(0x38);
delay(20);
write_com(0x0f);
delay(20);
write_com(0x06);
delay(20);
write_com(0x0c);
delay(20);
write_com(0x01);
delay(20);



上一頁 1 2 下一頁

關(guān)鍵詞: MSP430晶振時

評論


技術(shù)專區(qū)

關(guān)閉