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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 834|回復: 2
收起左側

求JYD-16080ASLCB驅動代碼

[復制鏈接]
ID:1051633 發表于 2025-2-2 15:24 | 顯示全部樓層 |閱讀模式
請教高手指點,給個驅動代碼
之前有個某個論壇上 看到這款屏幕的驅動,當時沒有及時收藏起來,現在回來去找,已很難找到
最近過年,也找了很多資料,還是沒有能用起來
無控制器 ,驅動IC 可能位ST8016、NT7701類似的
觀察引腳 是4bit驅動的
有LP、CP、FLM、DISPOFF等 配合 D0、D1、D2、D3實現驅動
奈何能力優先,轉悠了很久也未能點亮

忘有收藏此屏驅動的壇友,回復我一個

液晶引腳圖片

液晶引腳圖片

NT7701.PDF

470.69 KB, 下載次數: 0, 下載積分: 黑幣 -5

NT7701

LM2068AFW.PDF

1.3 MB, 下載次數: 0, 下載積分: 黑幣 -5

看著引腳相識的拓普微

回復

使用道具 舉報

ID:1051633 發表于 2025-3-3 19:57 | 顯示全部樓層
問了deepseek,給了參考代碼,現在能顯示,但是還是不正常
用的pico,micropython
還需要繼續摸索

from machine import Pin
import time

# 初始化控制引腳和數據引腳(根據實際連接調整引腳編號)
flm = Pin(9, Pin.OUT)      # 幀開始信號
cp = Pin(6, Pin.OUT)       # 時鐘脈沖
lp = Pin(7, Pin.OUT)       # 行脈沖
dispoff = Pin(10, Pin.OUT)  # 顯示開關(假設低電平啟用顯示)
fr= Pin(8, Pin.OUT)

d0 = Pin(2, Pin.OUT)       # 數據位0
d1 = Pin(3, Pin.OUT)       # 數據位1
d2 = Pin(4, Pin.OUT)       # 數據位2
d3 = Pin(5, Pin.OUT)       # 數據位3

dispoff(0)
fr(0)
time.sleep(1)
# 生成棋盤格數據 (160x80)
def generate_chess_pattern():
    pattern = []
    for y in range(80):
        row = []
        for x in range(20):  # 每行20字節 (160像素)
            byte = 0
            for bit in range(8):
                px = x * 8 + bit
                if (px + y) % 2 == 0:  # 棋盤格條件
                    byte |= (1 << (7 - bit))  # 高位在前
            row.append(byte)
        pattern.append(row)
    return pattern

# 設置數據引腳輸出的函數
def set_data(nibble):
    d0.value((nibble >> 0) & 0x01)
    d1.value((nibble >> 1) & 0x01)
    d2.value((nibble >> 2) & 0x01)
    d3.value((nibble >> 3) & 0x01)

# 發送一個字節(分兩次傳輸高4位和低4位)
def send_byte(byte):
    # 高4位
    set_data((byte >> 4) & 0x0F)
    cp.value(1)  # 產生時鐘上升沿

    cp.value(0)

    # 低4位
    set_data(byte & 0x0F)
    cp.value(1)

    cp.value(0)


# 初始化顯示
dispoff(1)  # 開啟顯示
p=generate_chess_pattern()
def draw_checkerboard():
    while True:
        # 開始新幀
        fr(0)
        flm.value(0)
        flm.value(1)
        fr(1)
        dat=0xf
        for y in range(80):  # 遍歷每一行
            # 行開始信號
            lp.value(1)
            lp.value(0)
            if y%9==1:
                dat=~dat
            for x in range(20):  # 遍歷每行中的像素
                # 根據棋盤格模式生成像素值
                send_byte(dat)
            # 行結束信號(根據需求調整)

            #lp.value(1)
            time.sleep_ms(100)
        flm(0)   
        #time.sleep_ms(16)  # 控制刷新率

# 運行棋盤格繪制
draw_checkerboard()



cadc5e5863d564332d8a95fa5dff21f.jpg
回復

使用道具 舉報

ID:1051633 發表于 2025-3-3 19:59 | 顯示全部樓層
問了Deepseek
給了參考代碼,可以點亮了。。。
但是還是顯示不正常

from machine import Pin
import time

# 初始化控制引腳和數據引腳(根據實際連接調整引腳編號)
flm = Pin(9, Pin.OUT)      # 幀開始信號
cp = Pin(6, Pin.OUT)       # 時鐘脈沖
lp = Pin(7, Pin.OUT)       # 行脈沖
dispoff = Pin(10, Pin.OUT)  # 顯示開關(假設低電平啟用顯示)
fr= Pin(8, Pin.OUT)

d0 = Pin(2, Pin.OUT)       # 數據位0
d1 = Pin(3, Pin.OUT)       # 數據位1
d2 = Pin(4, Pin.OUT)       # 數據位2
d3 = Pin(5, Pin.OUT)       # 數據位3

dispoff(0)
fr(0)
time.sleep(1)
# 生成棋盤格數據 (160x80)
def generate_chess_pattern():
    pattern = []
    for y in range(80):
        row = []
        for x in range(20):  # 每行20字節 (160像素)
            byte = 0
            for bit in range(8):
                px = x * 8 + bit
                if (px + y) % 2 == 0:  # 棋盤格條件
                    byte |= (1 << (7 - bit))  # 高位在前
            row.append(byte)
        pattern.append(row)
    return pattern

# 設置數據引腳輸出的函數
def set_data(nibble):
    d0.value((nibble >> 0) & 0x01)
    d1.value((nibble >> 1) & 0x01)
    d2.value((nibble >> 2) & 0x01)
    d3.value((nibble >> 3) & 0x01)

# 發送一個字節(分兩次傳輸高4位和低4位)
def send_byte(byte):
    # 高4位
    set_data((byte >> 4) & 0x0F)
    cp.value(1)  # 產生時鐘上升沿

    cp.value(0)

    # 低4位
    set_data(byte & 0x0F)
    cp.value(1)

    cp.value(0)


# 初始化顯示
dispoff(1)  # 開啟顯示
p=generate_chess_pattern()
def draw_checkerboard():
    while True:
        # 開始新幀
        fr(0)
        flm.value(0)
        flm.value(1)
        fr(1)
        dat=0xf
        for y in range(80):  # 遍歷每一行
            # 行開始信號
            lp.value(1)
            lp.value(0)
            if y%9==1:
                dat=~dat
            for x in range(20):  # 遍歷每行中的像素
                # 根據棋盤格模式生成像素值
                send_byte(dat)
            # 行結束信號(根據需求調整)

            #lp.value(1)
            time.sleep_ms(100)
        flm(0)   
        #time.sleep_ms(16)  # 控制刷新率

# 運行棋盤格繪制
draw_checkerboard()



點亮圖

點亮圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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