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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

RTX51 3個IO口+74HC595驅動LCD1602液晶版本 單片機程序+仿真

[復制鏈接]
跳轉到指定樓層
樓主
參考完全使用單片機3個IO口+74HC595驅動LCD1602液晶的源程序http://www.zg4o1577.cn/bbs/dpj-114268-1.html
使用RTX51 改進了一個版本。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



主要區別的核心代碼:
#include "HS595.h"

unsigned char HS595_data;        //HS595的輸出數據
/*
0位 RS
1位 RW
2位 E

3位 D4
4位 D5
5位 D6
6位 D7
*/

//向HC595發送串行數據
void HC595SendData(unsigned char SendVal)
{
    unsigned char i;

    HS595_ST_CP=0;         //停止輸出

    for(i=0; i<8; i++)
    {
        if((SendVal<<i)&0x80)         //0X80  最高位與SendVal左移的最高位 進行邏輯運算
            HS595_DS=1;                                         //如果為真 HS595_DS= 1
        else
            HS595_DS=0;           //如果為假 HS595_DS= 0

        //產生數據移位信號
        HS595_SH_CP=0;
        _nop_();   //短暫延時產生一定寬度的脈沖信號
        _nop_();   //短暫延時
        HS595_SH_CP=1;

    }

    //產生數據輸出信號
    _nop_();          //短暫延時
    _nop_();          //短暫延時
    _nop_();
    HS595_ST_CP=1;         //總體輸出
}

void SetRS(bit state)
{
    if(state)
    {
        HS595_data|=0x01;        //置1
    } else
    {
        HS595_data&=0xFE;        //置0
    }               
}

void SetRW(bit state)
{
    if(state)
    {
        HS595_data|=0x02;        //置1
    } else
    {
        HS595_data&=0xFD;        //置0
    }
}

void SetE(bit state)
{
    if(state)
    {
        HS595_data|=0x04;        //置1
    } else
    {
        HS595_data&=0xFB;        //置0
    }
}

//發送低四位
void SetDataL(unsigned char in_data)
{
                volatile unsigned char r3;
                r3=(in_data<<3);                                //左移3位
                HS595_data&= 0x07;                        //清除其他位,保留0~2位
                HS595_data|=r3&0x78;    //寫入數據到3~6位
}

//發送高四位
void SetDataH(unsigned char in_data)
{
                volatile unsigned char l4;
                l4=(in_data>>4);                                //右移4位
                l4=l4<<3;                                                                //左移3位
                HS595_data&= 0x07;                        //清除其他位,保留0~2位
                HS595_data|=l4&0x78;    //寫入數據到3~6位
}

void SendData(void)
{
        HC595SendData(HS595_data);
}

全部資料51hei下載地址:
RTX51 LCD1602 74HC595 V1.0.rar (133.96 KB, 下載次數: 33)

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲www.| 国产在线精品区 | 欧美区精品 | 欧美激情综合 | 99精品99| 国产精品区二区三区日本 | 日日干日日 | 国产一区二区观看 | 欧洲亚洲精品久久久久 | 少妇特黄a一区二区三区88av | 欧美高清视频一区 | 日本高清视频网站 | 91丨九色丨国产在线 | 精品视频在线观看 | 久久免费视频1 | 午夜影院 | 国产精品久久久久久久久久久久冷 | 国产精品毛片在线 | 国产欧美久久精品 | 精品伊人 | 亚洲视频在线看 | 午夜国产羞羞视频免费网站 | 黄色毛片视频 | 蜜桃视频在线观看免费视频网站www | 国产精品国产三级国产aⅴ无密码 | 精品久久久久久久久久久久 | 国产高清精品一区 | 亚洲一区二区日韩 | 黄色一级在线播放 | 国产精品乱码一区二区三区 | 欧美日韩国产在线 | 亚洲三级av | 久久久久久久av | 天天拍天天操 | 电影91久久久 | 成人午夜视频在线观看 | 午夜影院在线观看 | 国产成人免费视频网站高清观看视频 | 久久精品久久久 | 免费人成激情视频在线观看冫 | 欧美一区二区三区在线视频 |