當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]用ADS1.2編輯的,注意添加target.c,IRQ.s,Startuo.s和mem.scf文件。主程序:/**************************************************************************** * File: main.c * 功能:向LCD輸出字符 *********

用ADS1.2編輯的,注意添加target.c,IRQ.s,Startuo.s和mem.scf文件。

主程序:

/****************************************************************************
* File: main.c
* 功能:向LCD輸出字符
****************************************************************************/
#include "config.h"

#define rs (1<<8)
#define rw (1<<9)
#define en (1<<10)
#define busy (1<<7)

uint8 txt0[]={"An ARM7 example"};
uint8 txt1[]={"By IMU"};
uint8 txt2[]={" 2008-09-13"};
/****************************************************************************
* 名稱:ChkBusy()
* 功能:檢查總線是否忙
****************************************************************************/
void ChkBusy()
{
IO0DIR=0x700;
while(1)
{
IO0CLR=rs;
IO0SET=rw;
IO0SET=en;
if(!(IO0PIN & busy))break;
IO0CLR=en;
}
IO0DIR=0x7ff;
}
/****************************************************************************
* 名稱:WrOp()
* 功能:寫函數(shù)
****************************************************************************/
void WrOp(uint8 dat)
{
ChkBusy();
IO0CLR=rs;//全部清零
IO0CLR=rw;
IO0CLR=0xff;//先清零
IO0SET=dat;//再送數(shù)
IO0SET=en;
IO0CLR=en;
}
/****************************************************************************
* 名稱:WrDat()
* 功能:寫數(shù)據(jù)函數(shù)
****************************************************************************/
void WrDat(uint8 dat)
{
ChkBusy();
IO0SET=rs;
IO0CLR=rw;
IO0CLR=0xff;//先清零
IO0SET=dat;//再送數(shù)
IO0SET=en;
IO0CLR=en;
}
/****************************************************************************
* 名稱:lcd_init()
* 功能:lcd初始化函數(shù)
****************************************************************************/
void lcd_init(void)
{
WrOp(0x38);
WrOp(0x06);//光標(biāo)加1
WrOp(0x0c);//開顯示
}
/****************************************************************************
* 名稱:DisText()
* 功能:顯示文本函數(shù)
****************************************************************************/
void DisText(uint8 addr,uint8 *p)
{
WrOp(addr);
while(*p !='