单片机课程设计报告LED点阵动态显示屏设计.docx

上传人:1390****791 文档编号:96668717 上传时间:2024-02-25 格式:DOCX 页数:11 大小:1.37MB
返回 下载 相关 举报
单片机课程设计报告LED点阵动态显示屏设计.docx_第1页
第1页 / 共11页
单片机课程设计报告LED点阵动态显示屏设计.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《单片机课程设计报告LED点阵动态显示屏设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告LED点阵动态显示屏设计.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、LED 点阵动态显示屏一、课程设计题目:LED 点阵动态显示屏设计;用试验箱 16*16 的 LED 显示屏多态转动显示汉字或字符;二、课程设计目的:为了进一步稳固学习的理论学问,增加学生对所学学问的实际应用力量和运用所学问解决实际问题的力量,开头为期一周的单片机课程设计。通过实训使学生在稳固所学学问的根底上具有初步的单片机系统设计与应用力量。单片机课程设计的目的是培育学生综合设计的力量,训练学生敏捷运用所学学问,独立完成问题分析、整体设计和编程实现等软件开发进程的综合实践力量,稳固深化学生的理论学问,提高编程水平,并在此进程中培育他们严谨的科学态度和良好的学习作风。为此后其他运算机课程打下根

2、底。在学习单片机原理及应用 A课程的根底上,进一步深切明白得 MCS-51 单片机的构造、工作原理和应用技术,提高单片机操纵系统设计、研发的力量;依照教学打算的要求, 利用一周时刻,综合应用所学学问,设计具有必定功能的小型单片机操纵系统,培育学生必 然的自学力量和独立分析问题、解决问题的力量,要求学生能通过独立摸索、查阅工具书、参考文献,提出自己的设计方案,找出设计中遇到问题的解决途径。三、课程设计要求及任务:1. 整个课程设计的各个环节都要自己动手。2. 完成 16X16LED 点阵动态显示屏设计,实现汉字“欢送您”的动态显示;3. 承受C 语言编程实现;4. 其他要求参见“nKDE-51

3、单片机试验教学系统试验指导书”;5. 大体任务为必做工程,附加任务为选做工程;6. 对课程设计进展总结,撰写课程设计说明书。设计任务:1. 大体任务:利用 nKDE-51 单片机试验教学系统上的硬件资源,实现LED 点阵显示屏的动态显示功能。2. 附加任务:通过键盘1操纵显示屏的显示/熄灭;2通过PC 机输入显示内容。工作量要求: 1设计的硬件电路图与程序流程图;2. 源程序代码;3. 系统运行结果符合课程设计要求。4. 要紧参考文献.nKDE51 单片机试验教学系统试验指导书南京邮电大学,2023 年.单片机原理与应用及 C51 程序设计第 2 版,谢维成等编著,清华大学出版社.单片机原理及

4、应用第 2 版,李建忠,西安电子科技大学出版社,2023 年.C 程序设计第三版,谭浩强,清华大学出版社,2023 年四、课程设计内容:功能说明:可在 16*16LED 屏上左右转动显示“奇特南工”、“欢送您” 可在实现字符活着汉字在显示进程中操纵LED 屏的亮与灭可在实现字符活着汉字在显示进程中操纵“奇特南工”与“欢送您”两段汉字的切换第一介绍硬件电路的链接情形:电路图取模情形烧写程序五、课程设计源程序: #include#define uchar unsigned char bit n;sbit sw2=P27; sbit sw1=P00;uchar code code1=/定义按键key

5、/定义按键sw1/字模0x00,0x80,0x84,0x80,0x84,0x44,0x94,0x44,0x95,0x24,0x96,0x14,0x94,0x0C,0xFC,0x07,0x94,0x0C,0x96,0x14,0x95,0x24,0x94,0x64,0x94,0xC4,0x84,0x44,0x80,0x00,0x00,0x00,/*“美“,0*/0x10,0x80,0x10,0x43,0xF0,0x22,0x1F,0x14,0x10,0x0C,0xF0,0x73,0x80,0x20,0x82,0x00,0x82,0x40,0x82,0x80,0xF2,0x7F,0x8A,0x00,

6、0x86,0x00,0x82,0x00,0x80,0x00,0x00,0x00,/*“好“,1*/0x04,0x00,0x04,0x00,0xE4,0x7F,0x24,0x04,0x24,0x05,0x64,0x05,0xB4,0x05,0x2F,0x7F,0x24,0x05,0xA4,0x05,0x64,0x05,0x24,0x25,0x24,0x44,0xE6,0x3F,0x04,0x00,0x00,0x00,/*“南“,2*/0x00,0x20,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0xFE,0x3F,0x

7、02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x20,0x00,0x00/*“工“,0*/;uchar code code2=0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,0x20,0x18,0x10,0x0F,0x0C,0xE8,0x03,0x08,0x06,0x08,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,/*“欢“,0*/0x40,0x40,0x41,0x20,0xCE,0x

8、1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,0x02,0x40,0xFC,0x5F,0x04,0x40,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,/*“迎“,1*/0x80,0x00,0x40,0x20,0x30,0x38,0xFC,0x03,0x03,0x38,0x90,0x40,0x68,0x40,0x06,0x49,0x04,0x52,0xF4,0x41,0x04,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,0x04,0x30,0x00,0x0

9、0/*“您“,2*/;void delay(int m)int i;while(m-)for(i=0;i40;i+);void XIANSHI(uchar *Buffer,uchar N,uchar Time) /流淌显示 N 个汉字,三个参数:字符串字模首地址、字数、显示流淌速度uchar Num,i,j,row,pos; 16 列扫描for(Num=0;NumN-1;Num+)for(i=0;i16;i+)for(j=0;jTime;j+)for(row=0;row16;row+)if(pos=0)pos=0x01;P0 =*(Buffer+Num*32+(i+row)*2);/循环变量:

10、字数计数、16 次流淌、/字到字流淌 16 次左移才能完成/显示延迟,打算流淌速度/显示 16*16 屏幕一次/猎取显示数据 循环显示关键算法P3 =*(Buffer+Num*32+(i+row)*2+1); /以移动偏移为根底猎取数据if(row8)P1=pos; P2=0x00;elseP1=0x00;P2=pos; pos=1; delay(3);/上半屏显示,即显示一个字的上半部/下半屏显示,即显示一个字的下半部void mainn=1;while(1)if(sw1=1)if(sw2=0)while(sw2=0); n=n;while(n=0) XIANSHI(code2,3,5);d

11、elay(100);if(sw2=0)while(sw2=0); n=n;/第一次按下KEY 键/流淌显示N 个汉字/再次按下KEY 键XIANSHI(code1,4,5);/流淌显示N 个汉字delay(100);if (sw1=0) 六、具体实现步骤:.翻开桌面上的KEIL 软件.建一个工程文件,完成其命名并保存.为工程选一个目标器件如AT-89C51.创立源程序文件并输入程序代码并保存后缀名为.C.把源文件添加到工程中即添加源代码组.为工程工程设置软硬件环境.编译工程文件生成.HEX 文件.软件的相关调试.连接好硬件电路.翻开桌面的下载软件STC-ISC烧写程序,添加生成的.HEX 文件

12、,点击下载按钮确保下载前关闭试验箱的电源经提示后再完成上电操作,如此即可观看到滚屏的成效。实际成效: 拍照成效不行请见谅七、课程设计心得:这次的实训尽管只有短短的一周时刻,可咱们学到的却远远超过咱们寻常一周所学到的学问,这次的课程设计以实此刻 16*16 的 LED 屏上转动显示汉字或字符为主线,融入了各类根底的学问和实践体会。再拓展到个很多运算机学问,中编程的工作量是最大的,最 铺张精力的,也是最重要的。这次课程设计的进程编程给我留下了深刻的印象,记得刚开头时大伙儿听教师讲仿佛很简洁,可当教师让咱们自己动手编时大伙儿才觉察了大量的问题,不通过教师的讲解和示范咱们很难完成。此刻咱们每一个人都能

13、编写相应的程序了。通过这一周的课程设计我深刻体会到了单片机应用技术时一门实践性很强的课程, 既要把握概念,又要动手实践,通太短短一周的时刻我对单片机应用技术有了更为具体地了解,解决我以前的很多困惑,我以我最大的力量和端正的态度完成了这门课程设计。因此我将会尽我最大的尽力将所学到的学问运用到其他更多的地址进展实践和更好的把握。补充:如需实现上下转动的话源代码如下:#include#define uchar unsigned char uchar code Code1=0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,

14、0x20,0x18,0x10,0x0F,0x0C,0xE8,0x03,0x08,0x06,0x08,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,/*“欢“,0*/0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,0x02,0x40,0xFC,0x5F,0x04,0x40,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,/*“迎“,1*/0x80,0x00,0x40,0x20,0x30,0x

15、38,0xFC,0x03,0x03,0x38,0x90,0x40,0x68,0x40,0x06,0x49,0x04,0x52,0xF4,0x41,0x04,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,0x04,0x30,0x00,0x00/*“ 您“,2*/;void delay(int ms)int i; while(ms-)for(i=0;i40;i+);/ 调整for 循环掌握变量大小可转变延时时长void main(void)int i,j,k;unsigned char pos; j = 0;pos = 0x01; while(1)pos = 0x01;/ 初始状态,显示第一行for(k=0;k96;k=k+2)j=k;for(i=0;i95)j=j-96;P1 = Code1j+;/ 读取一行汉字点阵数据2 字节,16 位P2 = Code1j+;if(i8)/ 显示上半局部P0 = pos; delay(1); P3 = 0xff;elseP0 = 0xff; P3 = pos; delay(1);/ 显示下半局部pos = 1; delay(2);/LEDDelay(20);/LEDDelay(1000);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁