標(biāo)題: 帶中文字庫LCD12864按鍵菜單設(shè)置反白單片機實驗程序 [打印本頁]

作者: 1860774xxxx    時間: 2020-2-7 23:38
標(biāo)題: 帶中文字庫LCD12864按鍵菜單設(shè)置反白單片機實驗程序
帶中文字庫LCD12864 按鍵菜單設(shè)置反白實驗分享

制作出來的實物圖如下:



用的是普中的開發(fā)板 如果你的也是同型號的普中開發(fā)板 直接下載也不能顯示 因為我的開發(fā)板改電路了
你需要改
#include"lcd12864.h"里面的

sbit LCD12864_RS=P2^6;   //寄存器選擇輸入
sbit LCD12864_RW=P2^5;   //寄存器選擇輸入
sbit LCD12864_E=P2^7;    //液晶使能控制
sbit LCD12864_PSB=P3^0;  //串/并方式控制
sbit LCD12864_RES=P3^2;  //數(shù)據(jù)復(fù)位
即可




部分程序(還有些程序在#include"lcd12864.h"里面

#include<reg52.h>           //此文件中定義了單片機的一些特殊功能寄存器
#include"lcd12864.h"         //lcd12864液晶屏驅(qū)動
#define uchar unsigned char  //宏定義無符號字符形數(shù)據(jù)類型進(jìn)行聲明定義 定義名稱uchar 所占位數(shù)8位 范圍0~255
#define uint unsigned int    //宏定義無符號整形數(shù)據(jù)類型進(jìn)行聲明定義 定義名稱uint 所占位數(shù)16位 范圍0~65535

/*按鍵IO引腳定義*/
sbit k1=P3^0;  //菜單選擇按鍵
uchar cdsz=0;  //菜單設(shè)置標(biāo)志
/*延時函數(shù) delay_ms(1)時大約1ms*/
void delay_ms(uint ms)
{
uchar t;
while(ms--)
{
for(t=120;t>0;t--);
}
}
/*按鍵函數(shù)*/
void an_jian()
{
if(k1==0)
{
  delay_ms(10); //消抖延時大約10ms
  if(k1==0)
  {
   if(cdsz<2)cdsz=cdsz+1;else(cdsz=0);
  }
  while(!k1); //確認(rèn)按鍵是否松開
}
}
/*菜單設(shè)置函數(shù)*/
void caidan_shezhi()
{
if(cdsz==0)Lcd12864_SetAscWhite(2,2,10,0);  //如果cdsz==0 第2行 第2列 范圍10個字符 0為反白
else(Lcd12864_SetAscWhite(2,2,10,1));       //如果cdsz!=0 第2行 第2列 范圍10個字符 1為關(guān)閉反白
if(cdsz==1)Lcd12864_SetAscWhite(3,2,10,0);  //如果cdsz==1 第3行 第2列 范圍10個字符 0為反白
else(Lcd12864_SetAscWhite(3,2,10,1));       //如果cdsz!=1 第3行 第2列 范圍10個字符 1為關(guān)閉反白

if(cdsz==2)Lcd12864_SetAscWhite(4,2,10,0);  //如果cdsz==2 第4行 第2列 范圍10個字符 0為反白
else(Lcd12864_SetAscWhite(4,2,10,1));       //如果cdsz!=2 第4行 第2列 范圍10個字符 1為關(guān)閉反白
}
void main()
{
lcd12864init();   //lcd12864起初化
LCD12864_cluck(); //全面清屏 必須的 否則花屏
while(1)
{
  an_jian();                        //讀取按鍵函數(shù)
  caidan_shezhi();                  //讀取菜單設(shè)置函數(shù)*
  LCD_PutString(1,3,"設(shè)置");        //第1行位置3列開始 顯示 設(shè)置
  LCD_PutString(2,1,"1.顯示設(shè)置");  //第2行位置1列開始 顯示 1.顯示設(shè)置
   LCD_PutString(3,1,"2.應(yīng)用設(shè)置");  //第3行位置1列開始 顯示 2.應(yīng)用設(shè)置
  LCD_PutString(4,1,"3.系統(tǒng)設(shè)置");  //第4行位置1列開始 顯示 3.系統(tǒng)設(shè)置
}
}


全部資料51hei下載地址:
帶中文字庫LCD12864 按鍵菜單設(shè)置反白實驗.zip (35.04 KB, 下載次數(shù): 486)


作者: jifengjianwu    時間: 2020-2-8 14:43
謝謝樓主,下載學(xué)習(xí)下
作者: hulilanyua    時間: 2020-2-9 23:13
用過不帶中文字庫LCD12864,剛開始研究160*128的屏,感覺難多了
作者: 葉北玄    時間: 2020-5-19 21:35
謝謝樓主,下載學(xué)習(xí)下
作者: frankpyq    時間: 2020-7-22 23:03
非常不錯的資料,謝謝分享
作者: 杰瑤電子    時間: 2020-11-9 16:43
用不了
作者: 1860774xxxx    時間: 2020-11-10 14:38
杰瑤電子 發(fā)表于 2020-11-9 16:43
用不了

屏不對 屏型號不一樣 屏驅(qū)動也不一樣
作者: xlz21    時間: 2021-3-5 18:13
好用,樓主大的好人
作者: waerdeng    時間: 2021-3-14 15:28

最近正在為這個菜單煩惱
作者: paladina    時間: 2021-7-15 14:23
好東東,正在找這個功能的程序
作者: dhbt2021    時間: 2022-2-3 22:13
學(xué)習(xí)了,正需要這個東西。。。。。。。!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1