1河北科技大学课程设计报告学生姓名:王海遵(21)许岩岩(22)刘春晖(23)秦天骥(24)张胜(25)专业班级:电子信息工程学年学期:2012-2013学年第一学期指导教师:于国庆2013年1月2课程设计成绩评定表学生姓名王海遵学号090701121成绩学生姓名许岩岩学号090701122成绩学生姓名刘春晖学号090701123成绩学生姓名秦天骥学号090701124成绩学生姓名张胜学号090701125成绩专业班级电信091班起止时间2013/1/07—2013/1/11设计题目1熟悉系统,输入:“KD2000型LED智能显示系统”并存储显示。2汇编、输入、运行示例程序,了解系统硬件电路及软件编程特点。汉字的旋转与扩缩1在屏上显示2个汉字,然后每个字左旋90度显示3秒,然后右旋90度显示3秒,然后倒置3秒,最后恢复正常。2逐行显示2个汉字,2秒后横向放大两倍,3秒后恢复正常。3显示“回”字并放大缩小5次,恢复正常。指导教师评语指导教师:年月日3目录一、设计题目及要求..............................................4二、硬件电路设计.................................................41.主控制电路基本工作原理..............................42.扫描板基本工作原理..................................53.共享RAM电路的工作原理..............................54.汉卡电路工作原理....................................55.地址分配............................................66.键盘................................................7三、系统的熟悉使用..............................................81.BAS功能...........................................82.PRG功能..........................................113.屏幕与缓冲区地址对应关系...........................12四、程序设计与调试............................................12五、程序分工...................................................15六、心得体会...................................................174一、设计题目及要求在掌握LED智能显示系统工作原理的基础上,能根据小组必做题目和自选题目,熟练的编写并调试各种程序,完成课题设计任务,提高学生的独立设计水平和实际动手能力,培养学生的创新精神。(一)全班必做题目1.熟悉系统,输入:“KD2000型LED智能显示系统”并存储显示。2.汇编、输入、运行示例程序,了解系统硬件电路及软件编程特点。(二)小组必做题目第五组:汉字的旋转与扩缩1、在屏上显示2个汉字,然后每个字左旋90度显示3秒,然后右旋90度显示3秒,然后倒置3秒,最后恢复正常。2、逐行显示2个汉字,2秒后横向放大两倍,3秒后恢复正常。3、显示“回”字并放大缩小5次,恢复正常。二、硬件电路设计KD-2000型LED智能显示屏的设计原理:系统框图如图1所示。主要包括四部分:主控制电路(主CPU、汉卡等),显示控制电路(辅CPU等),列驱动显示电路,开关电源。1.主控制电路基本工作原理主控制电路首先从遥控器或键盘接收数据和指令,然后根据显示内容和显示指令的要求在软件控制下完成下述工作:如果要显示汉字,就从扩展卡27020中提取汉字点阵信息,然后存放在共享RAM6264中。如果要显示的是8×8点阵的ASCII码或数字,以及16×8点阵的控制字符,就从程序存储器27256的高端提取有关的点阵信息,然后存放于共享RAM中。最后,主CPU通过地址切换电路①与②及时序控制电路,与辅CPU以应答方式进行联络,对共享RAM进行分时操作,完成显示。图1系统框图由专用的日历时钟芯片MC146818,可产生年、月、日、时、分、秒、星期5共7个时标信号。我们可通过软件来获得和修改这些时标,并使之在屏幕上显示出来。2.扫描板基本工作原理首先由辅CPU将欲显示的数据由串行口送出,然后经并行/串行转换芯片CD4094转换成并行数据,输出的数据经过MC1413驱动产生列信号;由P1口输出的行数据经CD4515译码生成行信号,再经达林顿管BD682产生行驱动信号。最后输出行、列选通信号,点亮某一行。如此循环往复,完成扫描过程。3.共享RAM电路的工作原理为了大大减轻主CPU的负担,合理地分配资源,以及便于实现显示电路的高速扫描,该系统设计成双CPU结构,共享一片RAM。电路如图2所示。共享RAM电路主要是通过六片74LS245来完成的,74LS245是三态八总线双向收发器。其中G是控制端,低电平时有效,允许传输;高电平时禁止。DIR是方向控制端,为低电平时数据由B传到A,呈高电平时,数据由A传到B。由原理图可以看到:IC1~IC3的G端不仅接主CPU的T0端,还接74LS74的Q端。IC4~IC6的G端不仅接显示CPU的INT0端,还接74LS74的Q端;这样当主CPU控制公共RAM时,Q端为低,IC1~IC3开启,IC4~IC6关闭。主CPU对RAM可进行读写操作,而辅CPU则不能。当主CPU放弃对共享RAM的操作时,通过GAL对74LS74置位,因而Q变低,Q变高。封锁IC1~IC3,从而辅CPU取得控制权,对共享RAM进行操作;当辅CPU放弃对共享RAM的操作时,通过74LS00发出清零信号,使得74LS74的Q端输出低电平,当主CPU检测到T0为低时,可恢复对共享RAM的控制权。这样就通过数据、地址切换的反复动作,完成了对共享RAM的分时操作。图2共享RAM电路4.汉卡电路工作原理汉卡电路工作原理图见图3。在扩展电路中,用了373、374、27020和6264各一片。373和374的区别是:373为八D锁存器,当控制端G为低电平时锁存;374则是八D触发器,在系统时钟下降沿时可以对数据锁存。本系统所用的字库芯片是27020,它是256Kbit的CMOS超大规模集成电路6只读存储器,共有18根地址线,而8031只有16根地址线。为读取27020内的数据,使用一片374,利用其下降沿锁存的特点来对27020进行分页处理,因为374的时钟端接片选信号CS1,而CS1平时为高电平,有效时为低电平,所以其有效的过程对374来说相当于是一个下降沿,当向4000H单元送数(即片选信号CS1有效)时,由GAL地址分配所决定的写入4000H单元中的数据的高5位,同时被锁入374中,形成27020的页面地址。因而从27020中读数时只需加片选信号CS2即可。需要指出,6264和27020的OE端选通信号不同,前者接PSEN信号,后者接读信号。因此把27020作为一个数据存储器,而把6264当作一个程序存储器,充当本系统的仿真RAM。这样可避免27020和6264的地址发生冲突。5.地址分配地址分配实际上是由GAL来完成的。它是一种电擦写、可反复编程、随时修改并且能加密的可编程逻辑器件(PLD)。它既不同于PAL,也不同于EPROM。目前常用的有GAL16V8和GAL20V8。它们具有以下特点:(1)由于GAL采用的是一种高速的电可擦写(E2CMOS)工艺制造,因而比TTL构造的PAL功耗低,速度快;(2)GAL有8个逻辑宏单元(OLMC),使输出任意变化,又很强的带负载能力,驱动电流可达24mA;(3)采用高速编程算法,按行进行编程,整个芯片的写入可在1秒钟内完成。此外,还采取了加密措施。图3汉卡电路各芯片的地址分配详见附表。附表名称IC型号片选信号地址备注7程序存储器27256CE=A15=00000H-7FFFH数据存储器62256CE=A15=08000H-FFFFH共享RAM6264CS=A15+A14+A13=00000H-1FFFH主CPU读RAMCS=A15+PSEN8000H-9FFFH辅CPU读RAM辅CPU2764CE=A15=00000H-1FFFH数据存储器6264A15=1,A14=08000H-9FFFH汉卡ROM27020CS2=A15+A14+A13+RD2000H-3FFFH仿真RAM6264CS2=A15+A14+A13+PSEN8000H-9FFFH读操作CS2=A15+A14+A13+WR2000H-3FFFH写操作对于主CPU,其程序存储器27256的片选信号为CE=A15,仅当A15=0时选通,其地址分配为0000H~7FFFH。数据存储器62256采用A15做片选信号,CE=A15,仅当A15=1时选通,其地址分配为8000H~FFFFH。对于公共RAM6264而言,当CPU取得控制权时用A15+A14+A13做片选信号,其地址分配为0000H~1FFFH。对于辅CPU,其程序存储器2764的片选信号为CE=A15,仅当A15=0时选通,其地址分配为0000H~1FFFH,数据存储器6264采用A15和A14做片选信号,仅当A15=1且A14=0时选通,其地址分配为8000H~9FFFH。对于共享RAM的选通比较复杂,它取决于数据传输转换器IC9的允许端G,而G=(Y1.A15)=PSEN+A15所以仅当辅CPU的PSEN为低,且A15为高时,选通共享RAM,这表明共享RAM对辅CPU而言,相当于是一个程序存储器,其地址分配为8000H~9FFFH。汉卡上的27020先由CS1选通页面地址,再由片选信号CS2决定页内地址。而CS2=A15+A14+A13+RD,因而其地址分配为2000H到3FFFH。6264在读、写操作时,地址分配是不同的。当进行读操作时,用CS2做片选信号,而CS2=A15+A14+A13+PSEN,因而地址分配为8000H~9FFFH。进行写操作时,CS2=A15+A14+A13+WR,因而地址分配为2000H~3FFFH。6.键盘键盘布置如图4所示,共有30个键。其中,9个双功能键被定义为:在BAS状态下为上挡键,在PRG状态下为下挡键。数字键(0~F)。0区表示前128个ASCII码;1区表示后128个ASCII码。HOM/连续:光标移到文件头/连续执行程序。END/单步:光标移图4键盘布置图8到文件尾/单步执行程序。ASC/调出:当前输入状态切换为ASCII码输入/将程序从备份RAM调到仿真RAM中。汉字/存入:将当前输入状态切换为汉字输入/将程序从仿真RAM中存储到备份RAM。PUP/XRA:向上翻页/检查或修改外部数据存储器。PDN/MEM:向下翻页/检查或修改程序存储器内容。DEL/REG:删除/检查或修改寄存器的内容。HLP/SCR:提示帮助信息/用户屏幕。ESC:退出。INS/回车:输入状态(插入和替换)的切换/回车。↑:向上移动光标。↓:向下移动光标。三、系统的熟悉使用程序流程图如图5所示。上电后,屏上出现主菜单光标在B上闪烁,按↑、↓键移动光标,可选择不同的菜单项。图5程序流程图BASPRGSETOTH例如:当光标在S上闪烁时,按回车键便会进入系统设置(SET)菜单项。1.BAS功能进入BAS功能后,屏上出现BAS菜单:RUNNEWEDIESC光标在R上闪动,用↑、↓键移动光标,按回车键进入该菜单功能。此部分包括四个功能:运行BAS文件(RUN)、清除BAS文件(NEW)、编辑BAS文件(EDI)和退出BAS功能(ESC)。在内存可存储16个BAS文件,文件号分别为0~F,BAS文件就是将要显示的文