找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2251|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

LCD顯示字符串

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:215568 發(fā)表于 2017-6-28 18:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "reg51.h"
#include"absacc.h"  
typedef unsigned char BYTE;
typedef unsigned int  WORD;

#define  wr_com  XBYTE[0xC000]   
#define  wr_data  XBYTE[0xC100]   
#define  rd_com  XBYTE[0xC200]     
#define  rd_data  XBYTE[0xC300]   

void lcd_init(void);                                    // lcd???
void write_cmd(BYTE cmd);
void write_data(BYTE dat) ;                    // ???  
void set_display_place(BYTE line,column);
void write_string_lcd(BYTE line,column,unsigned char *string);
void Delay(WORD n)
{     WORD x;
         while(n--)  
{      x=500;   while(x--);  }
}
void write_cmd(BYTE cmd)
                 {     BYTE dl;
                         do {  
                         dl=rd_com;   }
                         while((dl&0x80)!=0); //??   
                         wr_com= cmd;   
                 Delay(1); }
                 
                 void write_data(BYTE dat)
{  BYTE dl;  
         do {   dl=rd_com;   }
         while((dl&0x80)!=0); //??   
         wr_data= dat;      
                Delay(1); }

                void write_string(BYTE *s)            
                        {     while(*s != '\0')            //'\0'????????     
                                {         write_data(*s);      
                        s++;     } }
                       
                        void set_display_place(BYTE line,column) {   
                                BYTE address;   
                                if(line == 1)     {        
                                        address = 0x80 + column;
                                         }     
                        else if(line == 2)   
                        {         address = 0xc0 + column;     }   
                        write_cmd(address);          }
                       
                        void write_string_lcd(BYTE line,column,unsigned char *string) {   
                        set_display_place(line,column);   
                        write_string(string);   
                        Delay(1); }
                        void lcd_init(void)       {  
                                write_cmd(0x38);//   
                                write_cmd(0x38);//   
                                write_cmd(0x06);//  
                                write_cmd(0x0c);//
                                write_cmd(0x01);//
                                }  
void main() {
         lcd_init();      
while(1)         
        {
        write_string_lcd(1,1,"   0123456789   ");
write_string_lcd(2,1,"   ABCDEDGHIJ   ");      } }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表