久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何用LCD12864顯示單片機程序中的變量數字?

[復制鏈接]
跳轉到指定樓層
樓主
ID:213280 發表于 2018-12-3 21:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 藍琪 于 2018-12-4 15:56 編輯

定義兩個變量X,Y,初始值都為0,用串口發送1,X的值就+1,發送2,Y的值就+1,并在12864上顯示,下面是12864的串行顯示程序,求教什么改

/********************************************************************
* 文件名  : 串行12864顯示.c
* 描述    :  該程序實現了12864以串行的方式進行通信。
* 創建人  :
* 版本號  :
***********************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int

sbit CS=P3^4;            //RS片選信號
sbit SID=P3^3;                //RW數據信號
sbit SCLK=P3^2;                //E時鐘信號
sbit RST=P2^6;                //復位信號
sbit CH = P2^7;                //PSB并行、串行選擇信號

/********************************************************************
* 名稱 : delay()
* 功能 : 延時,延時時間為 100us * t。這是通過軟件延時,有一定誤差。
* 輸入 : t
* 輸出 : 無
***********************************************************************/
void delay(unsigned int t)
{
        unsigned int i,j;
        for(i=0; i<t;  i++)
    for(j=0; j<10; j++);
}

/********************************************************************
* 名稱 : sendbyte()
* 功能 : 按照液晶的串口通信協議,發送數據
* 輸入 : zdata
* 輸出 : 無
***********************************************************************/
void sendbyte(unsigned char zdata)
{
        unsigned int i;
        for(i=0; i<8; i++)
        {
                if((zdata << i) & 0x80)
                {
                        SID = 1;
                }
                else
                {
                        SID = 0;
                }
                SCLK = 0;
                SCLK = 1;
        }
}

/********************************************************************
* 名稱 : write_com()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_com(unsigned char cmdcode)
{
        CS = 1;
        sendbyte(0xf8);
        sendbyte(cmdcode & 0xf0);
        sendbyte((cmdcode << 4) & 0xf0);
        delay(2);
}

/********************************************************************
* 名稱 : write_data()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_data(unsigned char Dispdata)
{
        CS = 1;
        sendbyte(0xfa);
        sendbyte(Dispdata & 0xf0);
        sendbyte((Dispdata << 4) & 0xf0);
        delay(2);
}

/********************************************************************
* 名稱 : lcdinit()
* 功能 : 初始化函數
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void lcdinit()
{  
        RST = 0;
        delay(100);
        RST = 1;
        delay(20000);
        write_com(0x30);
        delay(50);
        write_com(0x0c);
        delay(50);
}

/********************************************************************
* 名稱 : hzkdis()
* 功能 : 顯示字符串
* 輸入 : *s
* 輸出 : 無
***********************************************************************/
void hzkdis(unsigned char code *s)
{  
        while(*s > 0)
    {
                write_data(*s);
                s++;
                delay(50);
    }
}
/********************************************************************
* 名稱 : Display()
* 功能 : 顯示子函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Display()
{  
        //write_com(0x01);
    //delay(50);   
        write_com(0x80);
        hzkdis("X:");
        write_com(0x90);
        hzkdis("Y:");
        }
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Main()
{
        CH = 0;
        delay(1);
        lcdinit();
        delay(10);
        while(1)
        {
                Display();
                delay(50);
        }
}


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

使用道具 舉報

沙發
ID:438905 發表于 2018-12-4 08:15 | 只看該作者
樓上正解!!!
回復

使用道具 舉報

板凳
ID:213280 發表于 2018-12-4 10:18 | 只看該作者
zhc123 發表于 2018-12-4 08:15
樓上正解!!!

兄弟你是沙發還樓上正解,為了一黑幣,你也太水了吧,一點建議也沒有
回復

使用道具 舉報

地板
ID:396960 發表于 2018-12-4 13:07 | 只看該作者
write_com(0x80); //顯示的位置?
write_data();       //顯示內容
比如你要顯示X   那就write_data(X);
程序都是調出來的,別人只能告訴你哪里是關鍵,東西都在你手里,當然是自己負責調試了。

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一二三区精品 | 91久久精品一区二区二区 | 色婷婷综合成人av | 久久99精品久久久久久青青日本 | av免费看片 | 日韩在线免费 | 午夜一区二区三区 | 一区二区三区在线免费观看 | 特a毛片| 黄视频免费在线 | 精品视频一区二区三区在线观看 | 男女av| 谁有毛片| 亚洲精品视频一区二区三区 | 国产精品色一区二区三区 | 亚洲高清在线 | 性做久久久久久免费观看欧美 | 四虎av电影| 久久精品久久久久久 | 看片天堂| 精品一区二区三区在线观看国产 | 亚洲激情在线观看 | 久久精品久久久久久 | 能看的av网站 | h视频免费观看 | 狠狠干综合视频 | 久久精品中文 | 色五月激情五月 | 亚洲欧美日韩精品久久亚洲区 | 成人av一区 | 超碰国产在线 | 国产精品一区在线观看 | caoporn视频| 91视频国产一区 | 亚洲精品综合 | 国产亚洲黄色片 | 人人干人人艹 | 亚洲成人二区 | 国产成人精品一区 | 国产欧美精品 | 成人一区在线观看 |