欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2886|回復: 2
收起左側

使用了不連續的引腳對LCD的8位數據口進行驅動

[復制鏈接]
ID:108558 發表于 2017-2-21 16:42 | 顯示全部樓層 |閱讀模式

如果硬件上使用了不連續的引腳對LCD的8位數據口進行驅動,
例如:液晶數據口DB0--DB1對應的是 P1_6  P1_7  數據口DB2--DB7對應的是P3_2 - P3_7
STC 89C52 ,請問有朋友遇到過類似問題么,使用了怎樣的編程手法?
PS.問題出在了對LCD_data的寫入方式上,因為是不連續的引腳
原來就是 #define LCD_data P0. 現在不連續了怎么搞呢.?
可以位操作來彌補嗎?
比如:
P3 = P3 & 0x3F;
P1 = P1<<6;
P3 = P1 & P3;
這樣 P3 就算整合完畢了用于 LCD_data = P3; 可以嗎?
多謝大家幫助!不勝感激。

回復

使用道具 舉報

ID:85726 發表于 2017-2-21 16:52 | 顯示全部樓層
/********************************************************
* 函數名:write_com
* 說明:1602命令寫入函數
* 輸入:com
* 輸出:無
* 返回:無
* 備注:無
*********************************************************/
void write_com(uchar com)
{
  lcdrs=0;
  delay(5);
  lcdrw=0;
  delay(5);
  P0=com>>4;
  P2=com&0x0f;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
}
/********************************************************
* 函數名:write_data
* 說明:1602數據寫入函數
* 輸入:date
* 輸出:無
* 返回:無
* 備注:無
*********************************************************/
void write_data(uchar date)
{
  lcdrs=1;
  delay(5);
  lcdrw=0;
  delay(5);
  bt0=date&0x01;
  bt1=date&0x02;
  bt2=date&0x04;
  bt3=date&0x08;
  bt4=date&0x10;
  bt5=date&0x20;
  bt6=date&0x40;
  bt7=date&0x80;
//  P0=date>>4;
//  P2=date&0x0f;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
}
/********************************************************
回復

使用道具 舉報

ID:108558 發表于 2017-2-22 09:35 | 顯示全部樓層
ning 發表于 2017-2-21 16:52
/********************************************************
* 函數名:write_com
* 說明:1602命令寫入 ...

多謝!
之前沒繞過來。lcd采用的是并行數據只要每位一一對應就完了...
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表