單片機LCD12864

發(fā)布時(shí)間:2011-8-20 18:10    發(fā)布者:kswork
關(guān)鍵詞: LCD12864 , 單片機
/*******************************************************************************
*  描述:                                                                       *
*      12864標準字庫液晶演示 數據p0,控制p2
*  普中科技開(kāi)發(fā)板                                           *
********************************************************************************/
//2011年8月20日 下午   并行操作
#include
#include
#include
#define uchar unsigned char
#define unit unsigned int
//端口定義
#define LCD_data P0  //數據口
sbit LCD_RS=P2^6;  //寄存器選擇輸入
sbit LCD_RW=P2^5;  //LCD讀寫(xiě)控制
sbit LCD_EN=P2^7;  //LCD使能控制
sbit LCD_PSB=P3^2;  //串并行方式控制
sbit LCD_RST =  P3^7;      //液晶復位端口
uchar code dis1[]={"制作人:錦程"};
uchar code dis2[]={"2011.8.20"};
uchar code dis3[]={"星期六"};
uchar code dis4[]={"調試LCD12864"};
void delay_1ms(unit z)
{
unit x,y;
for(x=z;x>0;x--)
  for(y=125;y>0;y--);
}
//寫(xiě)指令數據到LCD
//RS=L,RW=L,E=高脈沖,D0-d7=指令碼
void write_cmd(uchar cmd)
{
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
P0=cmd;
delay_1ms(5);
LCD_EN=1;
delay_1ms(5);
LCD_EN=0;   
}
//寫(xiě)顯示數據到LCD
//RS=H,RW=L,E=高脈沖,D0-d7=數據
void write_data(uchar date)
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=date;
delay_1ms(5);
LCD_EN=1;
delay_1ms(5);
LCD_EN=0;
}
//設置顯示位置
void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if(X==0)
  {X=0x80;}
else if(X==1)
  {X=0x90;}
else if(X==2)
  {X=0x88;}
else if(X==3)
  {X=0x98;}
pos=X+Y;
write_cmd(pos);//顯示地址
}

//LCD初始化設定
void lcd_init()
{
LCD_PSB=1; //并口方式
write_cmd(0x30); //基本指令操作
// delay_1ms(5);
write_cmd(0x0c); //顯示開(kāi),關(guān)光標
// delay_1ms(5);
write_cmd(0x01); //清除LCD的顯示內容
// delay_1ms(5);
}
main()
{
unit k;
LCD_RST=0;
delay_1ms(40);
LCD_RST=1;
delay_1ms(10);
lcd_init();
lcd_pos(0,0); //設置顯示位置為第1行的第1個(gè)字符
k=0;
while(dis1[k]!='\0')
{
  write_data(dis1[k]);//顯示字符
      k=k+1;
}
lcd_pos(1,0);  //設置顯示位置為第2行的第1個(gè)字符
k=0;
while(dis2[k]!='\0')
{
  write_data(dis2[k]);//顯示字符
   k++;
}
lcd_pos(2,0);  //設置顯示位置為第3行的第1個(gè)字符
k=0;
while(dis3[k]!='\0')
{
  write_data(dis3[k]);//顯示字符
   k++;
}

lcd_pos(3,0);  //設置顯示位置為第4行的第1個(gè)字符
k=0;
while(dis4[k]!='\0')
{
  write_data(dis4[k]);//顯示字符
   k++;
}
while(1)
{}
}
本文地址:http://selenalain.com/thread-73776-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
Vanko 發(fā)表于 2011-10-2 23:39:14
這是有字庫的LCD12864,感謝發(fā)布者為我們提供了一個(gè)參考。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页