云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (完整版)LED显示屏控制器的设计与实现毕业设计40设计41

(完整版)LED显示屏控制器的设计与实现毕业设计40设计41

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 8:55:14

TR1=1; 启动定时器1

PS=1; 串口中断优先 R1=0; 数据初始化 R2=0;

while(1) {

循环16次,点亮并移动

一个汉字,步进是一位

for(col=0;col<32;col++)循环32次,点亮并移动一个汉字,步进是一位, {

coll=col%8;

for(i=0;i

for(disrow=0;disrow<16;disrow++)扫描16行 {

Load_one_line();装载上下两屏各一线点阵数据

Send_one_line();发送一线点阵数据 STB=0;

STB=1; 输出锁存 A=disrow&0x01;

BB=disrow&0x02;

C=disrow&0x04;

D=disrow&0x08; PWM_LIGHT(LIGHT); } } }

word=word+1; 一个汉字移动后,指向下一个汉字

if(word>=NUMBER) {

word=0;移动完NUMBER个汉字后

重新开始 } } }

E2: 下位机接收程序

#include

{

if(flag==1)

{

for (t=0;t<16;t++)

{

HC138_OE=0; HC595_STB=0;

HC595_CLK=0;

for (k=0;k<4;k++)

{

r_data[2*k]=0xff-read_date(k*32+t*2+1

);

r_data[2*k+1]=0xff-read_date(k*32+t*2

);

g_data[2*k]=0xff-read_date(k*32+t*2+1

);

g_data[2*k+1]=0xff-read_date(k*32+t*2

); }

HC138_OE=0; HC595_STB=1; HC595_STB=0; HC595_CLK=0; delay_ms(4); HC138_OE=1; HC138_A=t&0x01;

HC138_B=t&0x02; HC138_C=t&0x04; HC138_D=t&0x08; for (k=0;k<8;k++)

{

write595(r_data[k],g_data[k]); } }

} } }

void c64_init() { scl=1;

sda=1;

}

void start() { sda=1; delay(); scl=1; delay(); sda=0; delay(); }

void stop() { sda=0; delay(); scl=1; delay(); sda=1; delay(); } void ack() { uchar i; scl=1; delay();

while((sda==1)&&i<200) i++; scl=0; delay(); }

void noack() { sda=1; delay(); scl=1; delay();

scl=0; delay(); }

void write(uchar date) { uchar i; scl=0; for(i=0;i<8;i++) {

if(date&0x80) { sda=1; } else { sda=0; }

date<<=1; delay(); scl=1; delay(); scl=0; delay(); } sda=1;

delay(); }

uchar read() {

uchar i,temp; scl=0; delay(); sda=1; delay(); for(i=0;i<8;i++) { scl=1; delay(); temp<<=1; if(sda) {temp|=0x01;} scl=0; delay(); }

return temp; }

void write_date(uchar add,uchar date) {

c64_init(); start();

write(0xa0); ack(); write(add256); ack();

write(add%6); ack(); write(date); ack(); stop(); delay_ms(5); }

uchar read_date(uchar add) {

uchar temp; c64_init(); start(); write(0xa0); ack(); write(add256);

ack();

write(add%6); 取出低位ack(); start();

write(0xa1); ack();

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

TR1=1; 启动定时器1 PS=1; 串口中断优先 R1=0; 数据初始化 R2=0; while(1) { 循环16次,点亮并移动一个汉字,步进是一位 for(col=0;col<32;col++)循环32次,点亮并移动一个汉字,步进是一位, { coll=col%8; for(i=0;i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com