- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LED显示模块毕业论文顺序
附录2
整个设计全部源程序:
/*以下是32x64点阵LED电子显示屏的源程序,采用C语言编写,在Keil μVisionV2.38a(C51.Exe V7.06)以及MedWin3.0版环境下均测试通过。*/
#include AT89x51.H
unsigned int zimo,xx=0; //zimo是字模计数器,xx为分屏显示的时候的字数。
unsigned char yid,h; //yid为移动计数器,h为行段计数器
unsigned char code hanzi[]; //汉字字模
unsigned char BUFF[18],BUFF2[18]; //左移显示的缓存
void qing(void); void xianshi(void);
void fen(void); void zuo(void);
void in_data(void); //调整数据
void rxd_data(void); //左移发送数据
void out_rxd(unsigned char *d); //分屏、上移发送数据
char code sw[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x00}; /*8行段码*/
/***********主程序******************/
void main(void)
{ unsigned char ee;
SCON=0;P1=0;yid=0;zimo=0;
while(1)
{ fen(); //分屏显示
for(ee=30;ee0;ee--)//清屏幕3秒
{qing();}
zuo(); //左移显示
for(ee=30;ee0;ee--)
{qing();}
}
}
/**********清屏幕*******************/
void qing (void)
{ unsigned char zz,xx=0x0ff;
for (zz=33;zz0;zz--)
{out_rxd(xx);}
P1=0xff; P1=0; //锁存为高,74HC595锁存信号
P2=0; //清74LS138的使能端
}
/**********分屏显示***********/
void fen(void)
{ do{ xianshi(); }while(xx++=5); //调用单屏显示
xx=0;
}
/************单屏显示*************/
void xianshi(void)
{ unsigned char ii,jj; unsigned int kk,aa;
for (kk=500;kk0;kk--) //每屏显示500次
{for(ii=1;ii16;ii+=2) //每个汉字分8行扫描
{for (jj=0;jj8;jj++) //每次要发送8个汉字的2个字节,发送8次
{ aa=(xx*8+jj)*32+ii;
out_rxd(hanzi[aa]); //从串口输出第1个字的第1字节。
out_rxd(hanzi[aa-1]); //从串口输出第1个字的第1字节。
}
for (jj=0;jj8;jj++) //每次要发送8个汉字的2个字节,发送8次
{ aa=(xx*8+jj)*32+ii;
out_rxd(hanzi[aa+16]); //从串口输出第1个字的第17字节。
out_rxd(hanzi[aa+15]); //从串口输出第1个字的第18字节
}
P2=0x0ff;
P1=0xff; P1=0; //锁存为高,74HC595锁存信号
P2=sw[h]; //输出行信号
h++; //行加一
if(h==8)h=0;
}
}
}
/***************左移显示************/
void zuo(void)
{ unsigned char i,d=5; //d为移动的时候一个汉字的扫描显示次数
xianshi(); //调用单屏显示
while(zimo=1450)
{while(yid16) //数据移位。
{for(i=0;id;i++) //移动速度
{for(h=0;h8;h++) //8行扫描
{ in_data(); //调整数据
rxd_data(); //串口发送数据
P2=sw[h]; //送段码
P1=0xff; //
您可能关注的文档
- java根基试题.doc
- Java根底上机题 分类整理版1.doc
- java底子面试题.doc
- Java根底上机题.doc
- Java根底习题0.doc
- java根底习题.doc
- java根底习题及答案.doc
- java根底试题 看看你的java基本功.doc
- java根底试题.doc
- Java根底试题及答案.doc
- 三一重工:2024年可持续发展(ESG)报告.pdf
- 绿色保险(十九)聚焦铅酸蓄电池行业上市公司环责险信息披露的破与立.pdf
- 3种公私联动打法撬动新流量机会.pdf
- 【戴德梁行】2025年全球物流与工业地产市场动态报告.docx
- 房地产市场报告 -2025年5月全国租赁市场月报.pdf
- 宏全基因组测序结题报告.pdf
- 【1628东察创新】McKinsey未来竞争的主战场解读报告.docx
- 【工业互联网产业联盟】2025年电力行业5G工厂建设实施参考指南.docx
- 半导体量检测设备二手翻新修复改造产业投融资深度分析与风险警示报告.pdf
- 中国公募基金的投资者回报差研究 202505-当幻想撞上现实.pdf
文档评论(0)