




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理工大学课程设计目 录1 方案选择及总体设计11.1 方案确定11.1.1 功能要求11.2.2 方案确定11.2 器件选择12 控制系统设计22.1 控制系统硬件设计22.1.1整体模块设计22.2 晶振电路设计22.3 复位电路设计32.4 驱动电路设计42.5 led点阵显示设计53 控制系统软件设计63.1 软件设计思想63.2 主程序流程图64 系统仿真及性能分析84.1 系统仿真84.2调试结果84.3 性能分析9总 结10参考文献11附 录12附录a 硬件结构图12附录b 主程序清单121 方案选择及总体设计1.1 方案确定 1.1.1 功能要求 1、采用stc-52单片机作为微处理器。 2、设计一个57点阵led数码字符显示器。 3、在目测条件下led显示屏各点亮度均匀、充足、稳定、清晰无串扰。 4、动态显示“ac”几个字符。 1.2.2 方案确定 采用st89c52单片机作为微处理器,将共阳极二极管用共阴型接法连接成57点阵led数码字符阵列,通过程序控制,采用动态显示,建立字符库“09”。1.2 器件选择微处理器采用st89c52系列单片机,st89c52单片机是这几年在我国非常流行的单片机,是一种带4k字节闪烁可编程可擦除只读存储器(fperomflash programmable and erasable read only memory)高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点。 2 控制系统设计2.1 控制系统硬件设计2.1.1整体模块设计本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图2.1所示。图2.1 硬件系统框图此次需要实现的功能是利用一个st89c52,一个57led点阵,动态显示“ac”10个字,采用pc上位机驱动显示电路。st89c52单片机最小系统电路由复位电路、晶振电路两部分组成。2.2 晶振电路设计st89c52单片机芯片内部设有一个由反向放大器构成的振荡器,xtal1和xtal2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在xtal1和xtal2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率采用12mhz,c1、c2的电容值取30pf,电容的大小起频率微调的作用。晶振电路图如图所示。图2.2 晶振电路图2.3 复位电路设计st89c52单片机在启动运行时或者出现死机时需要复位,使cpu以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图3所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由rst引脚送入到内部的复位电路,对st89c52单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使st89c52单片机可靠复位。当上电时,c1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。 st89c52单片机复位电路如下图所示: 图2.3 上电复位电路图 图2.4 按键电平复位电路图复位电路工作原理: 上电瞬间rst引脚的电位与vcc等电位,rst引脚为高电平,随着电容c5充电电流的减少,rst引脚的电位不断下降,可以保持rst引脚在为高电平的时间内完成复位操作。当单片机已在运行当中时,按下复位键s5后再松开,也能使rst引脚为一段时间的高电平,从而实现st89c52单片机复位。2.4 驱动电路设计正向点亮一颗led,至少也要1020ma,若电流不够大,则led不够大。而不管是st89c52的i/o口,还是ttl、cmos的输出端,其高态输出电流都不是很高,不过12ma而已。因此很难直接高态驱动led,这时候就需要额外的驱动电路,通常有共阳型与共阴型led阵列驱动电路,本设计才用共阴型高态扫描信号驱动电路。共阴型led阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,st89c52本身内置一个反向驱动器,本设计将st89c52作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。单片机的串口与行驱动器相连,用来发送显示数据信息。p0口与led阵列的行引脚相连,送出数据、地址以及系统控制信号。输出低态时,最大可吸取0.5a,即500ma,若每个led取30ma,7个led同时点亮,需要210ma,完全满足led点亮的基本条件。图2.5 驱动电路图所要显示的信号送入74hc573芯片,然后连接到led阵列的列阵脚。对于高态的显示信号,将可提供其所连接led的驱动电流,而这个驱动电流经过led到输出端,形成正向回路,即可点亮该led。其中每个晶体管任何时间只需负责驱动一个led,所以选择30ma射极电流的晶体管。驱动电路如图5所示。2.5 led点阵显示设计 本设计采用atmel公司的at89c51作矩阵显示控制系统控制核心,12mhz晶振,57点阵共阳led显示器。其中,p1口作为字符数据输出口,p3口为字符显示扫描输出口,第31脚(ea)接电源,改变电阻(270*8)的大小可改变显示字符的亮度,驱动用74hc573芯片。本设计led矩阵显示器电路选用57点阵模块,系统由单片机控制。 led显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。本文就是使用1块57点阵,采用按列扫描按行控制控制方式,扫描顺序自左向右,以满足汉字显示的要求。图2.8 57点阵led等效电路一个57点阵是由35个发光二极管按规律组成的,如图2.8所示。图中,行接低电平,列接高电平,发光二极管导通发光。3 控制系统软件设计3.1 软件设计思想 主程序先进行设置中断,并启动,再进行键盘扫描载入“09”字型,然后判断一组字型是否扫描完,按不同情况进行循环调用子程序。进入子程序后,首先设置相应的程序,反复调用显示子程序,并在显示过程中反复调用键盘扫描子程序进行延时,判断是否退出相应的方式显示子程序。设计过程中,能很好得提高按键响应速度。如图3.1所示为软件系统框图。图3.1 软件系统框图字符编码:57点阵可以看成是从上至下8个字节,每个字节8位,因为该点阵为共阴型点阵,因此若该灯亮,则该位为“1”;该灯不亮,则该位为“0”。3.2 主程序流程图主程序首先设置并启动t0中断,然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元,然后载入“ac”字型,进行扫描。图3.2为主程序流程图,详细主程序清单及子程序设计见附录b。开 始初 始 化读取显示数据依次选通列,行74ls164的clock端置低,锁存器禁止输出对应行数组元素与0x01相与,相与结果写入单片机端口输出数组元素右移一位,对应74ls164 clock端置高n右移次数是否为7?y锁存器允许输出图3.2 主程序流程图4 系统仿真及性能分析4.1 系统仿真本设计是以wave与proteus.isis相结合方式来实现本led点矩阵显示器的仿真实现过程。电路的核心是单片机st89c52。单片机的p0口八个引脚通过总线连接到led矩阵显示器的段选码和位选码(a、b、c、d、e、f、g和1、2、3、4、5、6、7、8)的引脚上,来作为控制信号的来源。如图11、12所示。图 4.1 动态显示程序调试结果图 4.2 延时程序调试结果4.2调试结果经软件调试-仿真器proteus调试通过,得到所要求的设计结果 图4.3 调试结果4.3 性能分析此次系统设计结果较好,led显示屏能很好的显示信息。led显示屏由1块88的led小模块组成,整个显示屏可以动态显示88的“09”字型。这个方案设计的88的点阵led图文显示屏,电路简单,成本较低,且较易扩展;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰。总 结本次课程设计到现在有一个多星期,回顾这些天我感到学到了很多东西,在写这个心得的时候,我想就这些天的收获,说一说自己内心的想法。本设计是一个8x8的点阵led数码显示器,能够在目测条件下led显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。 总结本文的研究工作,主要做了下面几点工作: 一、通过查阅大量的相关资料,详细了解了led的发光原理和led显示屏的原理,了解了led的现状,清楚地了解了led显示屏与其它显示屏相比较有那些优点,明确了研究目标。并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。并证实了自己的思路:“查资料思考总结运用找出差错,再查资料和向别人询问再次运用”的正确性。二,本文设计的led显示屏能够实现在目测条件下led显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。三,本文列出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。四,在这次课程设计的过程中学会了 proteus 的基本使用,感到proteus对电子专业的同学来说是一个很有用的软件。在运用proteus时可以运用一些快捷的标号,总线的方法画图,这样既能使电路图清晰,简单,更能大大提高画图速度五,通过这次课程设计,重新复习并进一步增强了动手的能力,学以致用,把只是运用到实际生活中才是根本目的。总体来说这次的科研实践很成功,达到了预想的目的:学到了知识,提高了能力,完成了任务。有点缺憾是时间有限,不能进一步深入和扩散学习和研究。希望有时间可以对程序和电路图作更进一步的改进,譬如实现点阵的上下移动,对角线移动,多色显示等。参考文献1 张靖武,周灵彬 单片机系统的proteus设计与仿真北京 电子工业出版社2 吴金戌,沈庆阳,郭庭吉 8051单片机实践与应用北京 清华大学出版社3 李群芳,肖看 单片机原理、接口及应用北京 清华大学出版社4 张毅刚,彭喜元等 新编mcs-51单片机应用设计 黑龙江 哈尔滨工业大学出版社 5 张义和,陈敌北编著 例说8051北京 人民邮电出版社 附 录附录a 硬件结构图附录b 主程序清单org 0000h ljmp start org 0003hljmp interupt org 0100hstart: /*初始化寄存器*/setb eaclr it0setb ex0mov a,#00h mov r0,#20hmov r1,#6eh ;调入数据到内存的数据长度 (tab数据量决定)mov r2,#00hmov r3,#20h ;a显示时长mov r4,#20h ;b显示时长mov r5,#20h ;c显示时长mov dptr,#tabacall initljmp maininit:mov a,r2 ;将数据调入内存(使用r0数据储存器储存数据)movc a,a+dptrmov r0,ainc r0inc r2djnz r1,initret org 0200hinterupt:/*中断函数:移位操作*/ ;由于寄存器使用数量较大,用循环地 址加5需加寄存器数据储存读取 clr ea ;已无法达到简化效果,故使用固定地址mov r5,#02h work_1: mov r0,#2fh ;移位循环 1lcall boot_inmov r0,#34hlcall boot_inmov r0,#39hlcall boot_inmov r0,#3ehlcall boot_inmov r0,#43hlcall boot_indjnz r5,work_1mov r5,#02h work_2:mov r0,#48h ;移位循环 2 右移 ;lcall boot_inmov r0,#4dhlcall boot_inmov r0,#52hlcall boot_in mov r0,#57hlcall boot_in mov r0,#5chlcall boot_indjnz r5,work_2mov r5,#02h work_3:mov r0,#61h ;移位循环 3右移 lcall boot_inmov r0,#66hlcall boot_inmov r0,#6bh lcall boot_inmov r0,#70h lcall boot_inmov r0,#75hlcall boot_indjnz r5,work_3work_2:mov r0,#48h ;移位循环 2上移lcall boot_inmov r0,#4dhlcall boot_inmov r0,#52hlcall boot_inmov r0,#57hlcall boot_inmov r0,#5chlcall boot_inmov r0,#61hlcall boot_inmov r0,#66hlcall boot_indjnz r5,work_2mov r5,#02hwork_3:mov r0,#6bh ;移位循环 3 下移lcall boot_inmov r0,#70hlcall boot_inmov r0,#75hlcall boot_inmov r0,#7ahlcall boot_inmov r0,#7fhlcall boot_inmov r0,#84hlcall boot_inmov r0,#89hlcall boot_indjnz r5,work_3mov r3,#20h ;中断返回重新初始化mov r4,#20hmov r5,#20hsetb ea retiboot_in:mov a,r0 ;显示输出初始化 mov r3,amov r4,#10h loop_in:mov a,r3 ;输出循环使字符“稳定”mov r0,amov r1,#01h mov r2,#05hpio_in:mov a,r0 ;输出一个完整字符mov p0,amov a,r1mov p2,alcall delaymov p0,#0ffh ;p0口清零消除显示误差rl amov r1,aclr ainc r0djnz r2,pio_indjnz r4,loop_inret org 0300hmain:/*a,b,c循环显示*/led_a:mov r0,#20h;r0地址为20h24h时r0内储存的数据为a的显示数据ajmp bootled_b: mov r0,#25h;r0地址为25h29h时r0内储存的数据为b的显示数据ajmp bootled_c: mov r0,#2ah;r0地址为2ah2eh时r0内储存的数据为c的显示数据boot:mov r1,#01h ;显示输出初始化 mov r2,#05h ;输出循环使字符“稳定”pio:mov a,r0 ;输出一个完整字符mov p0,amov a,r1mov p2,alcall delaymov p0,#0ffh ;p0口清零消除显示误差rl amov r1,aclr ainc r0djnz r2,pioajmp workwork:djnz r3,led_a ;显示数据切换函数mov r3,#01hdjnz r4,led_bmov r4,#01hdjnz r5,led_cmov r3,#20hmov r4,#20hmov r5,#20hljmp led_adelay:mov r7,#01fhdel: mov r6,#05ah djnz r6,$ djnz r7,del rettab:db 03h, 61h, 64h, 61h, 03h ;adb 00h, 36h, 36h, 36h, 49h ;bdb 41h, 3eh, 3eh, 3eh, 5dh ;cdb 0ffh, 5dh, 40h, 5fh, 0ffh ;1 右移db 0ffh, 0ffh, 5dh, 40h, 5fhdb 5fh, 0ffh, 0ffh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中英语口语教学策略优化与实践研究论文
- 花桥镇干部管理制度
- 茶叶分公司管理制度
- 防聚集工作管理制度
- 财务会计岗位综合实训(一)
- 论坛营销 - 网络营销系列之三
- 财务会计业务题
- 设备主管工作职责
- 山东省滨州市博兴县2024-2025学年九年级下学期4月期中考试数学试题(含部分答案)
- 红白色创意笔刷西藏旅游介绍
- 2023年江苏省盐城市大丰区部分事业单位招聘专职安监人员8人(共500题)笔试必备质量检测、历年高频考点模拟试题含答案解析
- EXCEL常用函数的教程课件
- 湖北省武汉市江汉区2022-2023学年三年级下学期期末数学试卷
- 井下变电所检修高爆开关施工安全技术措施
- 广东省广州市白云区2022-2023学年数学六年级第二学期期末质量检测试题含解析
- 医疗设备、医用耗材管理制度培训讲座
- 导游基础知识(中职)全套PPT教学课件
- 魅力台州优质获奖课件
- ZZ028 中职法律实务赛项赛题-2023年全国职业院校技能大赛拟设赛项赛题完整版(10套)
- 电动剪刀式升降车作业风险辨识及控制措施清单
- 巨力索具(河南)有限公司年生产10万吨钢丝及5万吨钢丝绳项目环境影响报告
评论
0/150
提交评论