音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)幫我看看這段HT1621c程序.

作者:liushaolin 欄目:單片機(jī)
請(qǐng)幫我看看這段HT1621c程序.
#include <Intrins.h>
#include <AT89X51.H>
#include <ABSACC.H>
#define TRUE           1
#define FALSE          0
#define BIAS           0x52 //LCD 1/3bias
#define XTAL           0x30 //LCD 時(shí)鐘源32K
#define WDTDIS         0x0A //LCD 看門狗禁止
#define TMDIS          0x08 //LCD 禁止時(shí)基輸出
#define SYSEN          0x02 //LCD 打開系統(tǒng)振蕩
#define LCDON          0x06 //打開LCD偏置發(fā)生器
#define LCDOFF         0X04 //關(guān)閉LCD偏置發(fā)生器
#define SYSDIS         0x00 //關(guān)閉LCD系統(tǒng)振蕩
#define SOMENOP        _nop_();_nop_();_nop_();_nop_();
sbit LIGHT        = P0^0 ;//LCD的背景燈
sbit CS           = P0^1 ;//LCD的CS線
sbit READ        = P0^2 ;//LCD的READ線
sbit WRITE       = P0^3 ;//LCD的WRITE線
sbit SDATA       = P0^4 ;//LCD的DATA線

typedef unsigned CHAR BYTE ;

void send1621com(unsigned CHAR command)
{
  CHAR i,com;
  com = 0x80;
  CS  = 0;
  for(i=0; i<4; i++)//發(fā)送1000
  {
    SDATA = (bit)(com & 0x80);
    WRITE = 0;
    SOMENOP
    WRITE = 1;
    SOMENOP
    com<<=1;
  }
  for(i=0; i<8; i++) //發(fā)送命令
  {
    SDATA = (bit)(command & 0x80);
    WRITE = 0;
    SOMENOP
    WRITE = 1;
    SOMENOP
    command<<=1;
  }
  WRITE = 1;
  CS = 1;
  SDATA = 1;
}

void send1621data(unsigned CHAR address,unsigned CHAR bytedata)
{
   CHAR i; //先發(fā)送1
   CS = 0;
   SDATA = 1;
   WRITE = 0;
   SOMENOP
   WRITE = 1;
   SOMENOP
   address = address | 0x40; //合并字符01+地址
   for(i=0; i<8; i++) //發(fā)送兩個(gè)位的命令和六位的地址
   {
     SDATA = (bit)(address & 0x80);
     WRITE = 0;
     SOMENOP
     WRITE = 1;
     SOMENOP
     address<<=1;
   }
   for(i=0; i<8; i++) //寫入八位數(shù)據(jù)
   {
      SDATA = (bit)(bytedata & 0X01);
      WRITE = 0;
      SOMENOP
      WRITE = 1;
      SOMENOP
      bytedata>>=1;
   }
  WRITE = 1;
  CS = 1;
  SDATA = 1;
}
void initlcd()
{
   send1621com(BIAS);
   send1621com(XTAL);
   send1621com(WDTDIS);
   send1621com(TMDIS);
   send1621com(SYSEN);
   send1621com(LCDON);
}
void clearlcd()
{
unsigned CHAR i;
for(i=0; i<32; i++)
{
    send1621data(i,0);
    i++;
  }
}
main()
{
  P0=0xff;
  //LIGHT = 0;//打開背景燈
  initlcd();
  clearlcd();
  send1621data(0,0x08);//這處按LCD廠商給我的真值表應(yīng)該是顯示一個(gè)筆劃的,可調(diào)試時(shí)卻顯示了兩個(gè)筆劃.我的程序錯(cuò)了嗎?
  while(1);
}
請(qǐng)哪位大俠幫我看看這段程序吧.


2樓: >>參與討論
liushaolin
ding
up

3樓: >>參與討論
cxd731
你應(yīng)該先向大家介紹一下你的硬件架構(gòu)
 你應(yīng)該先向大家介紹一下你的硬件架構(gòu),光看程序沒有意義

4樓: >>參與討論
xc_cz
我覺的應(yīng)該顯示一個(gè)點(diǎn)啊。
 
5樓: >>參與討論
liushaolin
ding
LCD和89S51硬件接線:

CS: P0^1 ;//LCD的CS線
RD: P0^2 ;//LCD的READ線
WR: P0^3 ;//LCD的WRITE線
DATA: P0^4 ;//LCD的DATA線
IRQ沒用
send1621data(0,0x08);//這處按LCD廠商給我的真值表應(yīng)該是顯示一個(gè)點(diǎn)的,可調(diào)試時(shí)卻顯示了兩個(gè)點(diǎn)


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
8051在無線SoC的大潮中煥發(fā)青春
89c51和89S51
請(qǐng)大俠推薦一款51單片機(jī)實(shí)驗(yàn)板!
用單片機(jī)同時(shí)實(shí)現(xiàn)計(jì)分的計(jì)時(shí)兩個(gè)功能
求助各位大哥!有誰(shuí)做過51單片機(jī)和SJA1000的通信嗎?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)