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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1828|回復: 0
打印 上一主題 下一主題
收起左側

基于51單片機的12864液晶顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:526216 發表于 2019-5-3 08:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#include"yejin.h"
#define uchar unsigned char
#define uint   unsigned int

sbit CS=P0^0;
sbit SID=P0^1;
sbit SCLK=P0^2;
sbit PSB=P0^3;
                                
uchar code disp1[]={"液晶顯示"};
uchar code disp2[]={"好的天氣"};
uchar code disp3[]={"開心過好每一天"};
uchar code disp4[]={"天氣挺好"};


void delay_1ms(uint x)   //延時
{
        uint i,j;
        for(j=0;j<x;j++)                                   
                for(i=0;i<110;i++);
}

void send_command(uchar command_data)
{
        uchar i;
        uchar i_data;
        i_data=0xf8;//寫指令                        
        CS=1;
        SCLK=0;
        for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);//取字節最高位,(1)高到低依次送給SID,從而發給液晶
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;//(1)
        }
        i_data=command_data;
        i_data&=0xf0; //
        for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;
        }
        i_data=command_data;//高4位取出,低4位補0
        i_data<<=4;                        //+上;低4位移到高4位,原來的低4位自動補0
        for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;
        }
        CS=0;
        delay_1ms(10);
}

void send_data(uchar command_data)
{
        uchar i;
        uchar i_data;
        i_data=0xfa;
        CS=1;
    for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;
        }
        i_data=command_data;
        i_data&=0xf0;
        for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;
        }
        i_data=command_data;
        i_data<<=4;
        for(i=0;i<8;i++)
        {
                SID=(bit)(i_data&0x80);
                SCLK=0;
                SCLK=1;
                i_data=i_data<<1;
        }
        CS=0;
        delay_1ms(10);        
}

void lcd_init()  //初始化
{
     PSB=0;
        delay_1ms(100);
        send_command(0x30);
        send_command(0x02);
        send_command(0x06);
        send_command(0x0c);
        send_command(0x01);
        send_command(0x80);
}

void display_1()
{
        uchar a;
        send_command(0x80);        //第一行                                 
        for(a=0;a<12;a++)
        {
                send_data(disp1[a]);
        }
}
void display_2()
{
        uchar a;
        send_command(0x90);        //第二行
        for(a=0;a<12;a++)
        {
                send_data(disp2[a]);
        }
}
void display_3()
{
        uchar a;
        send_command(0x88);         //第三行
        for(a=0;a<12;a++)
        {
                send_data(disp3[a]);
        }
}
void display_4()
{

        uchar a;
          send_command(0x98);         //第四行
        for(a=0;a<12;a++)
        {
                send_data(disp4[a]);
        }
}
再寫一個 yejin.h 就可以了。               

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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