




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告题目16*16LED点阵滚动字幕课程名称微机系统与接口课程设计院部名称信息技术学院专业08计算机科学与技术班级08计算机科学与技术单学生姓名于强,刘君琼,彭松华,马艮艮,黄海萍学号0805120302〔组长〕课程设计地点B406课程设计学时20指导教师陈宁金陵科技学院教务处制中文摘要本次课程设计主要是进行字幕的显示操作,需要掌握16X16LED点阵显示单元与系统总线的接法,以及点阵的用法。因为用的芯片很少,所以程序并不特别复杂,只要掌握微机原理根底知识,就能够做到一定水平的编程能力。16X16LED点阵显示单元与系统总线正确连接,对所编程序进行编译,链接并装入系统,运行实验程序。本次设计所使用的LED点阵是使每行LED的阴极连接在一起,每列LED的阳极连接在一起,再经过驱动电路分别引出16个行引角和16个列引角,假设要点亮其中的LED,那么列为低电平0,行为高电平1。LED点阵的显示采用扫描的方式,首先将所要显示的字按每行拆解成多组显示信号。计开始外循环次数为160,利用源变址指针存放器开始进如循环。通过调用子程序进行内部循环,把点阵显示单元分成四个模块。第一局部内循环是执行前两个模块的数字矩阵操作,从0行到7行的全部列的编写。需要考虑灯亮的条件,即行为0,列为1的条件,所以就给行赋0值,使行满足条件,因此紧接着需要列的条件,如果某列能够满足条件,那么此交点的灯亮。否那么,灯不亮。完成一个模块的一行后,开始让指针执行加一操作,从而进入下一个模块的行操作。同理,依次执行循环操作。课程设计的主要目的在于锻炼我们的思维分析能力,更进一步掌握与应用课程的有关知识,提高编程的能力,加深对微机原理的理解。关键词:16X16LED点阵显示单元,系统总线目录课程设计〔论文〕任务书………………I1设计任务描述……….……...….….…..…………….11.1设计题目.....................….…………….…………..……………11.2设计内容………………...……..1设计目的…………………...……………...1设计原始资料及依据…..….……………...1设计的主要内容和要求…………….……...……………..12设计思路………..….…………….…..……...……...2主要原理.………………………2程序调试及说明………………...……………..2程序调试…………………..2结果说明…………………..23设计原理流程图….……..….……………...……….44实际硬件接线图.............………..….……..….………...…………..55源程序清单及注释………..….….………….…..…...……………..66主要元器件介绍……………...………………..….116.1硬件介绍………………...…....116.1.116*16LED点阵……..…..……………..116.2软件介绍……………...……....13总结…………...…………….……...………...............16致谢…………………..17参考文献.……..….…..……………….……………...181设计任务描述简单字幕机设计目的通过课程设计使学生更进一步掌握微机原理与应用课程的有关知识,提高用汇编语言编程的能力,加深对汇编语言的理解。通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定得提高,同时也使学生通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。设计的原始资料及依据查阅可编程并行芯片8255或其他相关资料。文字显示是通过把该文字的图形信息输出到显示器件,配合软件不同的刷新方式即可实现文字的多种方式的移动。设计的主要内容及要求内容:利用微机原理试验箱的8255单元和16X16发光二极管矩阵,动态显示汉字及字符。要求:实现字幕的多种方式的移动。2设计思路简单字幕机动态显示字幕移动是LED四个端口来实现控制。并且通过系统总线与16X16LED点阵显示单元正确的接线,实现设计目的。首先,定义端口地址,堆栈段及一个256位的字型存储空间。重点是对数据段的处理,这源于我们本身的设计目的,对每一个要显示的汉字进行转换,成为数字矩阵。共由16行、16列组成,此数字矩阵可根据不同的数字而改变。对各端口进行初始化,及各行各列进行初始化,最初使行为“0〞,列为“1〞,满足灯亮的初始条件。其次,进入程序主体,开始进行编程。计开始外循环次数为160,利用源变址指针存放器开始进如循环。通过调用子程序进行内部循环,把点阵显示单元分成四个模块。第一局部内循环是执行前两个模块的数字矩阵操作,从0行到7行的全部列的编写。需要考虑灯亮的条件,即行为0,列为1的条件,所以就给行赋0值,使行满足条件,因此紧接着需要列的条件,如果某列能够满足条件,那么此交点的灯亮。否那么,灯不亮。完成一个模块的一行后,开始让指针执行加一操作,从而进入下一个模块的行操作。同理,依次执行循环操作,完成前两个模块的任务。调用子程序进行延时操作,使汉字显示的时间合理。接着进行内部外循环操作,再次进行上述语句命令完成字体在前两个模块的显示情况。然后就是执行后两个模块的语句操作。原理同前两个模块的操作命令,再此不在赘述。最后是结束程序。以上就是整个程序的原理解释。编写程序并非轻而易举,也需要不断的摸索与研究。该程序也是经过了数次的上机调试、运行才最终得以确定。2.2.1程序调试现象:局部汉字会出现规定地方的灯未亮,未规定地方的灯却亮。原因:数字矩阵计算错误,求反操作出现错误。解决:重新计算数字矩阵直到满足汉字要求。2.2.2结果说明结果显示证明此简单字幕机的程序还是比拟成功的,16X16LED点阵显示单元相对8X8来说能够更加清楚的显示汉字。合理控制汉字一定速度和持续时间,即改变内部外循环次数。结果显示汉字在显示单元是上下移动,循环操作。3设计原理流程图初始化工作局部工作局部内循环内循环内循环修内循环修该与控制外循环外循环外循环修改与控制外循环修改与控制显示结果显示结果4实际硬件接线图XD0XD0.系..统XD7总IOY0IOY1线IOY2IOY3IOW#D0点.阵.L.ED7D显CS1行示CS2行单CS3列元CS4列WR5源程序清单及注释externunsignedcharIN(unsignedintport);externvoidOUT(unsignedintport,unsignedcharv);#defineucharunsignedchar#defineuintunsignedint#defineRowLow0xb002 //行低八位地址#defineRowHigh0xb003 //行高八位地址#defineColLow0xb000 //列低八位地址#defineColHigh0xb001 //列高八位地址constucharFont[][32]={0x08,0x40,0x14,0x41,0x04,0x41,0x04,0x41,0xF4,0x5F,0x04,0x41,0x04,0x41,0xF4,0x5F,0x44,0x44,0x24,0x48,0xFE,0x7F,0x04,0x01,0x00,0x01,0xFE,0xFF,0x04,0x01,0x00,0x01,/南/0x00,0x02,0x08,0x25,0x18,0x11,0x30,0x09,0x40,0x09,0x00,0x01,0xF0,0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0xF8,0x1F,0x10,0x00,0xFE,0xFF,0x04,0x01,0x00,0x01,0x00,0x02,/京/0x40,0x10,0x40,0x10,0x48,0x10,0x54,0x10,0x44,0x10,0x44,0x10,0xFE,0x1F,0x44,0x10,0x40,0x90,0xFC,0x57,0x48,0x30,0x40,0x10,0xFE,0x17,0x44,0x08,0x40,0x08,0x40,0x08,/伟/0x04,0x14,0xFC,0x17,0x44,0x14,0x44,0x14,0xFC,0x17,0x44,0x14,0x44,0x94,0xFE,0x57,0x04,0x38,0xF8,0x13,0x08,0x0A,0x08,0xFA,0xF8,0x03,0x00,0x10,0xFC,0x17,0x08,0x20,/福/0x04,0x60,0x0C,0x18,0x10,0x04,0x20,0x02,0x40,0x01,0x00,0x01,0xFE,0xFF,0x84,0x04,0x80,0x0C,0x80,0x10,0x80,0x02,0x84,0x86,0x02,0x48,0xFE,0x7F,0x00,0x01,0x00,0x02,/实/0x00,0x00,0xFE,0xFF,0x44,0x04,0x40,0x04,0x40,0x04,0x60,0x14,0x50,0x14,0x50,0x14,0x48,0x14,0x48,0x24,0x44,0x24,0x44,0x44,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,/业/0x20,0x08,0x50,0x08,0x10,0x08,0x10,0x08,0xF0,0x0F,0x10,0x88,0x10,0x48,0xF0,0x2F,0x10,0x18,0x10,0x08,0xF8,0x0F,0x10,0x04,0x00,0x04,0xFE,0xFF,0x04,0x02,0x00,0x02,/有/0x00,0x41,0x84,0x41,0x4E,0x41,0x10,0x51,0x20,0x69,0x50,0x45,0x88,0x45,0x04,0x45,0xF8,0x49,0x08,0x49,0x08,0x51,0xF8,0x49,0x08,0x49,0x08,0x45,0xFC,0x7D,0x08,0x00,/限/0x00,0x00,0x10,0x00,0xF0,0x1F,0x20,0x10,0x40,0x08,0x00,0x04,0x00,0x02,0x04,0xC2,0x0E,0x21,0x10,0x11,0x20,0x08,0x40,0x08,0x40,0x04,0x80,0x04,0x80,0x00,0x00,0x00,/公/0x10,0x00,0x28,0x00,0x88,0x20,0x88,0x3F,0x88,0x20,0x88,0x20,0x88,0x20,0x88,0x20,0xC8,0x3F,0x88,0x00,0x08,0x00,0xE8,0xFF,0x48,0x00,0x08,0x00,0xFC,0x3F,0x08,0x00/司/};voiddelay(uchart){uchari,j;for(i=t;i>0;i--){for(j=0;j<10;j++);}}voidmain(){uchari,j,l;ucharcount;uintbitmask,bitmask1;OUT(ColLow,0xff); //行驱动低有效OUT(ColHigh,0xff);OUT(RowLow,0x00); //列驱动高有效OUT(RowHigh,0x00);while(1){for(j=0;j<10;j++){for(l=0;l<16;l++){for(count=0;count<10;count++){bitmask=0x01;for(i=l;i>0;i--){OUT(RowLow,0x00); //首先清屏OUT(RowHigh,0x00);OUT(ColLow,~Font[j][32-i*2]); //写出一行数据OUT(ColHigh,~Font[j][32-i*2+1]);OUT(RowLow,bitmask&0xff); //点亮此行OUT(RowHigh,bitmask>>8);bitmask<<=1; //移位,指向下一行delay(1);}}delay(50);} //字滚出屏幕bitmask=0x01; for(l=0;l<16;l++){for(count=0;count<10;count++){bitmask1=bitmask; //继承原来的8位行地址for(i=0;i<=16-l;i++){OUT(RowLow,0x00);OUT(RowHigh,0x00);OUT(ColLow,~Font[j][i*2]);OUT(ColHigh,~Font[j][i*2+1]);OUT(RowLow,bitmask1&0xff);OUT(RowHigh,bitmask1>>8);bitmask1<<=1;delay(1);}}bitmask<<=1;}OUT(ColLow,0xff);OUT(ColHigh,0xff);}}}6.1硬件介绍6.1.116X16LED点阵16X16LED点是将16行16列的LED以矩阵方式排列成为一个器件。本次设计所使用的LED点阵是使每行LED的阴极连接在一起,每列LED的阳极连接在一起,再经过驱动电路分别引出16个行引角和16个列引角,假设要点亮其中的LED,那么列为低电平0,行为高电平1。LED点阵的显示采用扫描的方式,首先将所要显示的字按每行拆解成多组显示信号。假设让LED点阵显示出所需要的汉字,需要计算出它们的显示编码,如下表:南0x08,0x40,0x14,0x41,0x04,0x41,0x04,0x41,0xF4,0x5F,0x04,0x41,0x04,0x41,0xF4,0x5F,0x44,0x44,0x24,0x48,0xFE,0x7F,0x04,0x01,0x00,0x01,0xFE,0xFF,0x04,0x01,0x00,0x01,京0x00,0x02,0x08,0x25,0x18,0x11,0x30,0x09,0x40,0x09,0x00,0x01,0xF0,0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0xF8,0x1F,0x10,0x00,0xFE,0xFF,0x04,0x01,0x00,0x01,0x00,0x02,行的显示要有一定时间,假设反复执行从第一行到最后一行的扫描,由于人类视觉瞬时现象,将会感觉到16行LED同时显示的样子。假设显示时间太短,那么亮度不够,假设显示时间太长,那么会感觉闪烁。在以上根底上,假设间隔一定时间,再使每次显示不同的字型,即可实现不同的动态显示效果。6.2软件介绍编写程序并非轻而易举,也需要不断的摸索与研究。首先要了解我们所设计的简单字幕机所要实现的功能和设计要求。其主要功能是:利用微机原理试验箱的系统总线单元和16X16LED点阵显示单元的正确接线,动态显示所设计的汉字,实现多种方式的字幕移动。第一局部是定义点阵的端口,数据段。重要的局部是数据段的数字代码,这是程序之间的区别。然后是端口初始化。第二局部是程序主体,循环显示字幕移动。while(1){for(j=0;j<10;j++){for(l=0;l<16;l++){for(count=0;count<10;count++){bitmask=0x01;for(i=l;i>0;i--){OUT(RowLow,0x00); //首先清屏OUT(RowHigh,0x00);OUT(ColLow,~Font[j][32-i*2]); //写出一行数据OUT(ColHigh,~Font[j][32-i*2+1]);OUT(RowLow,bitmask&0xff); //点亮此行OUT(RowHigh,bitmask>>8);bitmask<<=1; //移位,指向下一行delay(1);}}delay(50);} //字滚出屏幕bitmask=0x01; for(l=0;l<16;l++){for(count=0;count<10;count++){bitmask1=bitmask; //继承原来的8位行地址for(i=0;i<=16-l;i++){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北机电职业技术学院《数学文化选讲》2023-2024学年第二学期期末试卷
- 2025年江苏省建陵高级中学高三2月教学质量检测试题生物试题试卷含解析
- 中国人民大学《高级网站开发技术》2023-2024学年第二学期期末试卷
- 贵阳康养职业大学《城市给水排水管网工程及设计》2023-2024学年第一学期期末试卷
- 江苏省扬州市宝应县2024-2025学年初三下学期第二次质量检测试题化学试题试卷含解析
- 商丘职业技术学院《绿色能源利用技术》2023-2024学年第一学期期末试卷
- 重庆工贸职业技术学院《燃烧设备与能源转化》2023-2024学年第二学期期末试卷
- 大连艺术学院《文献检索与科技论文写作》2023-2024学年第一学期期末试卷
- 重庆工商职业学院《摄影摄像》2023-2024学年第一学期期末试卷
- 合肥共达职业技术学院《美国文学概论及作品选读》2023-2024学年第二学期期末试卷
- 医疗机构自杀风险评估与预防措施
- 全国自考《银行会计学》2024年7月《银行会计学》自学考试试题及答案
- 拔高卷-2021-2022学年七年级语文下学期期中考前必刷卷(福建专用)(考试版)
- CNAS-SC175:2024 基于ISO IEC 2000-1的服务管理体系认证机构认可方案
- 《汶川县全域旅游发展总体规划(2021-2030)》
- 《心肺复苏及电除颤》课件
- 世界精神卫生日班会课件
- 临床药物治疗学知到智慧树章节测试课后答案2024年秋湖南中医药大学
- 2024年新能源充电站租赁合同
- 9.2溶解度(第1课时饱和溶液不饱和溶液)+教学设计-2024-2025学年九年级化学人教版(2024)下册
- 中建塔吊基础设计与施工专项方案
评论
0/150
提交评论