当前位置:文档之家› 单片机课程设计——LED8×8点阵实验

单片机课程设计——LED8×8点阵实验

单片机原理及应用课程设计——LED 8×8点阵的设计作者:王雨轩指导老师:张金花摘要:本设计主要是利用可编程并行I/O接口芯片8255。

8×8点阵共需要64个发光二极管组成,当接高电平的时候则相应的二极管就亮。

字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。

这样,一个8×8点阵的汉字总共需要8×8/8=8个字节表示。

Abstract:This design mainly is to use programmable parallel I/O interface chip 8255.8×8 dot matrix of total need 64 light-emitting diodes.When meet high level has corresponding diode is bright.Type in every Point of the use of a binary (Bit).If it is 1, then here is a little point.If it is 0, then here is no point.In this way, an 8×8 dot matrix Chinese characters, it will be altogether 8×8/8=8 bytes.关键字:单片机 8255 发光二极管点阵目录说明书总页数:13页LED 8×8点阵的设计 (3)一、课题要求与内容 (3)(一)课题要求 (3)(二)课题内容 (3)(三)使用设备 (3)二、系统总体方案设计 (4)(一)系统流程图 (4)三、系统硬件设计 (5)(一)设计原理图 (5)(二)主机连线说明 (5)(三)硬件调试 (5)四、系统软件设计 (6)(一)程序清单 (6)(二)软件调试 (8)(三)字码表 (9)五、结束语 (12)六、参考文献 (13)LED 8×8点阵的设计随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作。

LDE显示器件种类繁多,从简单的耽搁LED到LED光柱显示,字符显示再到大面积的平板显示,应有尽有。

LED之所以收到广泛重视与迅速发展,是与它具有的有点分不开的,这些优点概括起来是:工作电压低,功耗小,小型化,易与集成电路匹配,驱动简单,寿命长,耐冲击,性能稳定。

通过课程设计使学生更进一步掌握单片机原理及应用课程的有关知识,提高应用单片机解决问题的能力,加深对单片机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用单片机解决问题的步骤及方法。

为以后学生结合专业从事单片机应用设计奠定基础。

一、课题要求与内容(一)课题要求1、熟悉8255的功能,了解点阵显示的原理及控制方法;2、学会使用LED点阵,通过编程显示不同字符;3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。

(二)课题内容1、编写程序,用8255的PA控制8X8点阵的行;8255的PC口控制8X8点阵的列;显示字符。

2、按图连接线路;运行程序,观察实验结果,学会编程控制LED点阵显示字符。

(三)使用设备1、STAR系列实验仪一套;2、PC机一台。

二、系统总体方案设计(一)系统流程图(一)设计原理图(二)主机连线说明(三)硬件调试确保硬件电路正常,在无异常情况(断路或短路)的状态下方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确。

(一)程序清单;用8255的PA、PC口做LED8*8点阵显示实验A8255_PA XDATA 0FF00H ;8255的A0、A1接总线的A0、A1A8255_PB XDATA 0FF01HA8255_PC XDATA0FF02HA8255_CTL XDATA 0FF03HROW XDATA A8255_PA ;列线LINE XDATA A8255_PC;行线ORG 0000HAJMP STARTORG 0100HSTART: MOV SP,#60HCALL INIT_IOCALL TEST_LED;调用测试子程序,测试LED是否全亮CALL CLEAR;滚动显示多个字符CHS_SHOW: MOV R7,#07H ;显示8个字符MOV DPTR,#CHAR_TABCHS_1: MOV R1,#8 ;移动16次CHS_2: ACALL DISP_CH ;显示一桢INC DPTRDJNZ R1,CHS_2DJNZ R7,CHS_1SJMP CHS_SHOW;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址,显示时间为20*R7MS DISP_CH: PUSH 07HMOV R7,#10H ;08HDISP_CH_1: ACALL DISP1DJNZ R7,DISP_CH_1POP 07HRET;显示一个8*8点阵字子程序,字型码放在显示缓冲区XBUFFDISP1: PUSH DPLPUSH DPHMOV R6,#8 ;计数器,8列依次被扫描MOV R2,#7FH;FEH ;列输出值REPEAT: MOV P2,#HIGH(LINE)MOV R0,#LOW(LINE)MOV A,R2MOVX @R0,A ;列输出CLR AMOVC A,@A+DPTRINC DPTRACALL ADJUST ;调整A,将A中二进制数旋转180度MOV R0,#LOW(ROW)MOVX @R0,A ;左边行输出ACALL DL10msACALL CLEARSETB C ;循环移位R2,行线扫描输出0MOV A,R2RLC A ;RRC AMOV R2,ADJNZ R6,REPEATPOP DPHPOP DPLRET;8155和8255初始化INIT_IO: MOV DPTR,#A8255_CTL ;8255控制字地址MOV A,#80H ;设置8255的PA、PB、PC口为输出口MOVX @DPTR,A ;写控制字RETCLEAR: MOV A,#0FFHMOV P2,#HIGH(LINE)MOV R0,#LOW(LINE)MOVX @R0,ACLR AMOV R0,#LOW(ROW)MOVX @R0,ARET;调整A中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位ADJUST: MOV R5,#8 ;循环移位8次实现ADJUST1: RLC AXCH A,BRRC AXCH A,BDJNZ R5,ADJUST1MOV A,BRET;测试LED子程序,点亮LED并延时1STEST_LED: MOV DPTR,#LINECLR AMOVX @DPTR,AMOV DPTR,#ROWMOV A,#0FFHMOVX @DPTR,ACALL DL500msCALL DL500msRET;延时10msDL10ms: MOV R4,#2DL10ms1: MOV R5,#230DJNZ R5,$DJNZ R4,DL10ms1RETDL500ms: MOV R5,#10DL500ms1: MOV R6,#200DL500ms2: MOV R7,#123DJNZ R7,$DJNZ R6,DL500ms2DJNZ R5,DL500ms1RETCHAR_TAB: DB 000H,082H,092H,092H,0AAH,0AAH,044H,044H ;W DB 000H,044H,044H,028H,028H,010H,010H,010H ;YDB 000H,044H,044H,028H,010H,028H,044H,044H ;XDB 000H,000H,000H,000H,000H,000H,000H,000H ;DB 000H,07CH,010H,010H,038H,010H,0FEH,000H ;王DB 07CH,010H,0FEH,092H,0DAH,0B6H,092H,096H ;雨DB 020H,0F0H,04FH,0A2H,0F7H,022H,072H,022H ;轩DB 000H,000H,000H,000H,000H,000H,000H,000H ;END(二)软件调试整个程序是一个主程序调用各个子程序实现功能的过程。

要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少。

因此,在软件调试时要确保各个子程序模块的准确性。

(三)字码表字母“W”字母“Y”字母“X”汉字“王”汉字“雨”汉字“轩”五、结束语二十一世纪,一个信息的时代。

至改革开放以来全国经历了几次全国性计算机普及高等学校的计算机教育发展十分迅速,所以学习单片机应用技术是一种必然的要求。

许多高校不仅在计算机专业开设了这门课,还在非计算机转业开设了这门课。

以前,我们只能在班级听老师讲,实践的机会很少,所以我们只能学到一些理论上的东西。

为了适应社会经济和科学技术迅速发展及教育教学改革的需要,根据“以市场需求为导向,以职业技能为本位,以培养应用型高技能人才为中心”的原则,注重增强认知结构与能力的有机结合。

学校在这周为我们安排了为期一周半的单片机应用技术的实训。

这次的实训虽然只有短短的一周半时间,可我们学到的却远超过我们平时一周半所学到的知识。

这次的实训以制做一个8×8点阵式汉字LED显示器作为主线,融入各种基础知识和实践经验。

再拓展到各种计算机知识。

与焊接相比较,连接编程的工作是更大量、更费时间和精力的,也是更重要的。

在这次的实训过程中单片机的编程给我留下了深刻的印象。

记得刚开始时大家听老师讲好像很简单,可当老师让我们每个人自己都动手编时,大家才发现这也是问题,那也是问题。

不过经过老师的多次讲解、示范我们很难完成。

现在我们每个人都能编写程序了。

通过这一周半的实训,我深刻体会到了单片机应用技术是一门实践性很强的课程。

既要掌握概念,又要动手实践。

通过短短一周半时间,我对单片机应用技术有了更为详细的了解。

解决了我以前的许多疑惑。

通过这一周半的实训,我以我最大的能力和端正的态度完成了这门课的实训。

因此我将会尽我最大的努力将所学到的知识运用到其它更多的地方进行实践和更好的掌握。

六、参考文献[1]韩志军.单片机系统设计与应用实例[M].北京:机械工业出版社,2012[2]单片机及应用课程实训指导书.宿迁学院数控教研室。

相关主题