找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1079|回复: 4
收起左侧

TA6932的51单片机驱动点阵的程序

[复制链接]
ID:764638 发表于 2026-6-13 10:22 | 显示全部楼层 |阅读模式
大神们 谁有51单片机通过两片TA6932 一起驱动 16*16点阵的程序啊!有没有会的 大家一起探讨一下!
回复

使用道具 举报

ID:764638 发表于 2026-6-13 10:23 | 显示全部楼层
恳请大神们回复一下
回复

使用道具 举报

ID:1109793 发表于 2026-6-13 17:42 | 显示全部楼层
回复

使用道具 举报

ID:1168827 发表于 2026-6-13 20:21 | 显示全部楼层
#include <reg51.h> #include <intrins.h>  // 定义74HC595控制引脚 sbit DS = P1^0;    // 串行数据输入 sbit SH_CP = P1^1; // 移位寄存器时钟 sbit ST_CP = P1^2; // 锁存器时钟  // 示例字模数据(以显示一个16x16汉字为例,共32字节) unsigned char code Hanzi[] = {      // 此处填入通过PCtoLCD等软件提取的16x16字模数组 };  // 发送一字节到74HC595 void SendByte(unsigned char dat) {     unsigned char i;     for(i = 0; i < 8; i++) {         DS = dat & 0x80;     // 从高位开始发送         SH_CP = 0;           // 产生上升沿,数据移入移位寄存器         _nop_();         SH_CP = 1;         _nop_();         dat <<= 1;     } }  // 锁存并输出数据到点阵 void LatchData() {     ST_CP = 0;     _nop_();     ST_CP = 1;               // 产生上升沿,数据并行输出     _nop_(); }  // 动态扫描显示函数 void DisplayScan() {     unsigned char i;     for(i = 0; i < 16; i++) {         // 1. 先送列数据(高8位和低8位分两次发送)         SendByte(Hanzi[i * 2]);      // 列高8位         SendByte(Hanzi[i * 2 + 1]);  // 列低8位                  // 2. 再送行选通数据(假设共阴点阵,低电平选中某一行)         SendByte(0xFF);              // 上半部分8行全灭         SendByte(~(1 << i));         // 下半部分选中对应行(根据实际接线调整高低字节顺序)                  // 3. 锁存输出         LatchData();                  // 4. 延时保持(视觉暂留效应)         DelayUs(500);                // 需自行实现微秒级延时函数                  // 5. 消隐(防止拖影)         SendByte(0xFF);          SendByte(0xFF);         SendByte(0xFF);         SendByte(0xFF);         LatchData();     } }
回复

使用道具 举报

ID:584814 发表于 2026-6-22 13:00 | 显示全部楼层
不需要TA6932,STC的多引脚版单片机可以直驱16*16点阵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表