数字化测量课设报告.docx
《数字化测量课设报告.docx》由会员分享,可在线阅读,更多相关《数字化测量课设报告.docx(22页珍藏版)》请在冰豆网上搜索。
![数字化测量课设报告.docx](https://file1.bdocx.com/fileroot1/2022-12/27/4ecbbcd9-cdfb-4b02-a10f-b3a2b4185bba/4ecbbcd9-cdfb-4b02-a10f-b3a2b4185bba1.gif)
数字化测量课设报告
数字化测量课设报告
河北科技大学
课程设计报告
学生姓名:
学号:
专业班级:
电子信息工程
学年学期:
2012—2013学年第一学期
指导教师:
2013年01月
课程设计成绩评定表
学生姓名
学号
成绩
专业班级
起止时间
2013.01.07—2013.01.11
设计题目
1.设计输入:
“KD2000型LED智能显示系统”并存储显示。
2.动画设计:
红日出东海。
指
导
教
师
评
语
指导教师:
______
年月日
1、课程设计的题目及要求.................................1
2、课程设计的任务.......................................1
3、课程设计的题目.......................................1
4、课程设计的内容及主要步骤.............................1
(一)硬件电路设计.......................................1
1系统工作原理...........................................1
2共享RAM电路的工作原理..................................2
3汉卡电路工作原理........................................3
4地址分配..............................................3
5显示控制电路的工作原理...................................5
6键盘.................................................5
(二)系统的熟悉使用.....................................5
(三)程序设计与调试....................................10
五、心得体会.............................................14
一课程设计的目的及要求
在掌握LED智能显示系统工作原理的基础上,能根据小组必做题目和自选题目,熟练的编写并调试各种程序,完成课题设计任务,提高学生的独立设计水平和实际动手能力,培养学生的创新精神。
二课程设计的任务
1.熟悉KD2000型LED智能显示系统。
2.掌握系统的硬件电路及软件编程特点。
3.根据本组设计题目和本人承担的具体设计任务,并通过指导教师的验收。
4.自拟选作题目,完成设计、调试工作,并通过指导教师的验收。
5.总结提高,按期完成课程设计报告。
三课程设计题目
(一)全班必做题目
1.熟悉系统,输入:
“KD2000型LED智能显示系统”并存储显示。
2.汇编、输入、运行示例程序,了解系统硬件电路及软件编程特点。
(二)小组必做题目
第四组:
动画设计(例如红日出东海、小孩跑步、小猴爬竿以及导弹打飞机等)
(三)小组选做题目
自定:
(例如动画显示、断点程序、显示程序、查询程序等)
要求:
可以协商,内容错开,不许重复,单独完成。
四课程设计的内容及主要步骤
(1)硬件电路设计
1系统工作原理
系统框图如图1所示。
主要包括四部分:
主控制电路(主CPU、汉卡等),显示控制电路(辅CPU等),列驱动显示电路,开关电源。
(1)主控制电路基本工作原理
主控制电路首先从遥控器或键盘接收数据和指令,然后根据显示内容和显示指令的要求在软件控制下完成下述工作:
如果要显示汉字,就从扩展卡27020中提取汉字点阵信息,然后存放在共享RAM6264中。
如果要显示的是8×8点阵的ASCII码或数字,以及16×8点阵的控制字符,就从程序存储器27256的高端提取有关的点阵信息,然后存放于共享RAM中。
最后,主CPU通过地址切换电路①与②及时序控制电路,与辅CPU以应答方式进行联络,对共享RAM进行分时操作,完成显示。
图1系统框图
由专用的日历时钟芯片MC146818,可产生年、月、日、时、分、秒、星期共7个时标信号。
我们可通过软件来获得和修改这些时标,并使之在屏幕上显示出来。
(2)扫描板基本工作原理
首先由辅CPU将欲显示的数据由串行口送出,然后经并行/串行转换芯片CD4094转换成并行数据,输出的数据经过MC1413驱动产生列信号;由P1口输出的行数据经CD4515译码生成行信号,再经达林顿管BD682产生行驱动信号。
最后输出行、列选通信号,点亮某一行。
如此循环往复,完成扫描过程。
2共享RAM电路的工作原理
为了大大减轻主CPU的负担,合理地分配资源,以及便于实现显示电路的高速扫描,该系统设计成双CPU结构,共享一片RAM。
电路如图2所示。
共享RAM电路主要是通过六片74LS245来完成的,74LS245是三态八总线双向收发器。
其中
是控制端,低电平时有效,允许传输;高电平时禁止。
DIR是方向控制端,为低电平时数据由B传到A,呈高电平时,数据由A传到B。
由原理图可以看到:
IC1~IC3的
端不仅接主CPU的T0端,还接74LS74的Q端。
IC4~IC6的
端不仅接显示CPU的INT0端,还接74LS74的
端;这样当主CPU控制公共RAM时,Q端为低,IC1~IC3开启,IC4~IC6关闭。
主CPU对RAM可进行读写操作,而辅CPU则不能。
当主CPU放弃对共享RAM的操作时,通过GAL对74LS74置位,因而
变低,Q变高。
封锁IC1~IC3,从而辅CPU取得控制权,对共享RAM进行操作;当辅CPU放弃对共享RAM的操作时,通过74LS00发出清零信号,使得74LS74的Q端输出低电平,当主CPU检测到T0为低时,可恢复对共享RAM的控制权。
这样就通过数据、地址切换的反复动作,完成了对共享RAM的分时操作。
图2共享RAM电路
3汉卡电路工作原理
汉卡电路工作原理图见图3。
在扩展电路中,用了373、374、27020和6264各一片。
373和374的区别是:
373为八D锁存器,当控制端G为低电平时锁存;374则是八D触发器,在系统时钟下降沿时可以对数据锁存。
本系统所用的字库芯片是27020,它是256Kbit的CMOS超大规模集成电路只读存储器,共有18根地址线,而8031只有16根地址线。
为读取27020内的数据,使用一片374,利用其下降沿锁存的特点来对27020进行分页处理,因为374的时钟端接片选信号CS1,而CS1平时为高电平,有效时为低电平,所以其有效的过程对374来说相当于是一个下降沿,当向4000H单元送数(即片选信号CS1有效)时,由GAL地址分配所决定的写入4000H单元中的数据的高5位,同时被锁入374中,形成27020的页面地址。
因而从27020中读数时只需加片选信号CS2即可。
需要指出,6264和27020的
端选通信号不同,前者接PSEN信号,后者接读信号。
因此把27020作为一个数据存储器,而把6264当作一个程序存储器,充当本系统的仿真RAM。
这样可避免27020和6264的地址发生冲突。
4地址分配
地址分配实际上是由GAL来完成的。
它是一种电擦写、可反复编程、随时修改并且能加密的可编程逻辑器件(PLD)。
它既不同于PAL,也不同于EPROM。
目前常用的有GAL16V8和GAL20V8。
它们具有以下特点:
(1)由于GAL采用的是一种高速的电可擦写(E2CMOS)工艺制造,因而比TTL构造的PAL功耗低,速度快;
(2)GAL有8个逻辑宏单元(OLMC),使输出任意变化,又很强的带负载能力,驱动电流可达24mA;(3)采用高速编程算法,按行进行编程,整个芯片的写入可在1秒钟内完成。
此外,还采取了加密措施。
图3汉卡电路
各芯片的地址分配详见附表。
附表
名称
IC型号
片选信号
地址
备注
程序存储器
27256
=A15=0
0000H-7FFFH
数据存储器
62256
=
=0
8000H-FFFFH
共享RAM
6264
=A15+A14+A13=0
0000H-1FFFH
主CPU读RAM
=
+PSEN
8000H-9FFFH
辅CPU读RAM
辅CPU
2764
=A15=0
0000H-1FFFH
数据存储器
6264
A15=1,A14=0
8000H-9FFFH
汉卡ROM
27020
CS2=A15+A14+
+RD
2000H-3FFFH
仿真RAM
6264
=
+A14+A13+PSEN
8000H-9FFFH
读操作
=
+A14+
+WR
2000H-3FFFH
写操作
对于主CPU,其程序存储器27256的片选信号为
=A15,仅当A15=0时选通,其地址分配为0000H~7FFFH。
数据存储器62256采用A15做片选信号,
=
,仅当A15=1时选通,其地址分配为8000H~FFFFH。
对于公共RAM6264而言,当CPU取得控制权时用A15+A14+A13做片选信号,其地址分配为0000H~1FFFH。
对于辅CPU,其程序存储器2764的片选信号为
=A15,仅当A15=0时选通,其地址分配为0000H~1FFFH,数据存储器6264采用A15和A14做片选信号,仅当A15=1且A14=0时选通,其地址分配为8000H~9FFFH。
对于共享RAM的选通比较复杂,它取决于数据传输转换器IC9的允许端
,而
=(
)=PSEN+
所以仅当辅CPU的PSEN为低,且A15为高时,选通共享RAM,这表明共享RAM对辅CPU而言,相当于是一个程序存储器,其地址分配为8000H~9FFFH。
汉卡上的27020先由CS1选通页面地址,再由片选信号CS2决定页内地址。
而CS2=A15+A14+
+RD,因而其地址分配为2000H到3FFFH。
6264在读、写操作时,地址分配是不同的。
当进行读操作时,用CS2做片选信号,而CS2=
+A14+A13+PSEN,因而地址分配为8000H~9FFFH。
进行写操作时,CS2=A15+A14+
+WR,因而地址分配为2000H~3FFFH。
5显示控制电路的工作原理
电路如图4所示。
显示控制电路主要完成扫描显示功能。
它采用逐行扫描、列驱动方式。
其主控制器为CPU2,简称辅CPU。
当主CPU接收到从遥控器或者从键盘传来的数据和指令后,就将显示内容从汉卡的汉字库中取出并转化成点阵信息,存放在共享RAM中。
主CPU根据显示指令,对共享RAM中的数据进行操作。
操作完毕后,即向辅CPU发出应答信号。
辅CPU接到应答信号后,就从共享RAM中取出显示数据,从串行口输出的数据经级联的八位串入/并出移位寄存器CD4094,转换成并行数据,再经过七达林顿驱动器MC1413获得列驱动信号。
行码则由P1口输出,经4线/16线译码器CD4515译码后,产生16路行输出信号。
通过达林顿功率管BD682,获得列驱动信号。
行信号送至显示行驱动端,经显示后消隐,然后输出下一行数据并显示下一行内容。
6键盘
键盘布置如图5所示,共有30个键。
其中,9个双功能键被定义为:
在BAS状态下为上挡键,在PRG状态下为下挡键。
数字键(0~F)。
0区表示前128个ASCII码;1区表示后128个ASCII码。
HOM/连续:
光标移到文件头/连续执行程序。
END/单步:
光标移到文件尾/单步执行程序。
ASC/调出:
当前输入状态切换为ASCII码输入/将程序从备份RAM调到仿真 RAM中。
汉字/存入:
将
当前输入状态切换为汉字输入/将程序从仿真 RAM中存储到备份RAM。
PUP/XRA:
向上翻页/检查或修改外部数据存储器。
PDN/MEM:
向下翻页/检查或修改程序存储器内容。
DEL/REG:
删除/检查或修改寄存器的内容。
HLP/SCR:
提示帮助信息/用户屏幕。
ESC:
退出。
INS/回车:
输入状态(插入和替换)的切换/回车。
↑:
向上移动光标。
↓:
向下移动光标。
图5键盘布置图
(二)系统的熟悉使用
程序流程图如图6所示。
上电后,屏上出现主菜单光标在B上闪烁,按↑、↓键移动光标,可选择不同的菜单项。
图6程序流程图
BASPRG
SETOTH
例如:
当光标在S上闪烁时,按回车键便会进入系统设置(SET)菜单项。
1.BAS功能
进入BAS功能后,屏上出现BAS菜单:
RUNNEW
EDIESC
光标在R上闪动,用↑、↓键移动光标,按回车键进入该菜单功能。
此部分包括四个功能:
运行BAS文件(RUN)、清除BAS文件(NEW)、编辑BAS文件(EDI)和退出BAS功能(ESC)。
在内存可存储16个BAS文件,文件号分别为0~F,BAS文件就是将要显示的文件,并以一定的格式存储起来。
在文件中,除了包含要显示的字符和汉字,还有一些控制信息(包括控制码和控制参数),它们动态的存储在内存中的A000H~CFFFH共12K的空间内。
当系统掉电后,改由备用电源供电,所以存储在内存中的文件不会丢失。
(1)清除(新建)BAS文件(NEW)
当光标在NEW上闪烁时,按回车键进入该功能,屏幕上提示:
文件号×。
该功能用来清除在内存中已有的文件。
假如内存中已有16个文件,如果要建立第17个文件,则需将原来文件中的某一个覆盖。
键入文件号,或键入回车使用缺省文件号。
屏上提示:
文件的所有数据要丢失!
屏上提示:
确信?
按回车键确认,按其他键退出。
另外,0号文件保留给系统使用,不能清除。
如清除0号文件,屏上会
提示:
0号文件为系统使用,不能清除。
(2)编辑BAS文件(EDI)
该功能用来编辑BAS文件。
当光标在EDI上闪烁时,键入回车键进入该功能。
屏上提示:
文件号×
键入文件号或回车使用缺省文件号。
此时分两种情况:
1如果是旧文件
屏上提示:
空间××××
ZI
然后进入编辑屏幕,此文件中的第一字显示在屏上。
0001I
如:
热
0440H
其中(如右图)12345678
161514131211109
1、2、3、4区为当前编辑汉字位置,它表明将来显示此汉字时所在的位置,亦即光标。
5区为插入开关状态I—插入开,否则覆盖
6区表示当前的ASCII码区0-0区
1-1区
7、8、9、10区用来显示调出的汉字或字符。
11区表示输入状态:
C控制码
H汉字
A字符
12区未用。
13、14、15、16区表示输入代码区。
即可进入编辑。
②如果是新文件
屏上提示:
新文件
屏上提示:
空间××××
ZI
然后进入如下初始化屏幕0001IO
end^H
即可接着编辑。
在编辑时各键的功能如下:
0~F键:
数字键,用来输入数据。
在输入汉字是用来输入汉字的区位码(如4040代表第40区、第40位的汉字,即“热”字)。
在输入字符时,用来输入十六进制的ASCII码,(如ASCII码值为41H的字符“A”)
↑、↓键:
用来寻找前一个或后一个汉字
HELP键:
按此键,在屏幕上出现有关编辑时的一些帮助信息。
DEL键:
如果已经开始输入,此键用来删除错误的数字,否则删除当前的汉字或字符。
ESC键:
用来退出编辑。
按此键后
屏上提示:
确信:
回车确认。
如果修改文件,就在
屏上提示:
存储吗?
回车确认。
然后
屏上提示:
正在存储
存储完毕后退回BAS菜单。
INS:
是INS和回车键的组合,此键用来进行插入开、关的转换(INS)。
或进行确认(回车)
0区、1区:
用来进行0区、1区的转换。
为0区时输入前128个(第1页)ASCII码字符;1区时输入后128个(第2页)ASCII码字符。
PUP、PDN:
PUP向上翻页。
PDN向下翻页。
ASC/汉字:
用来改变输入状态:
按下ASC键,屏幕上出现“A”,接收十六进制ASCII码;
按下汉字键,屏幕上出现“H”,接收汉字区位码。
HOM、END:
HOM键到文件头,END键到文件尾。
BAS文件使用仿WPS式文件格式。
可以在字符或汉字前边加上控制字符和参数,以达到预期效果,系统给出了以下几个控制字符以及它们所需带的参数(有待扩充):
控制码所需参数功能举例
①②③
80H移动光标把光标移动到参数要8002代表光标到
求处第二个汉字
81H显示时间在当前光标处固定显示8102固定显示汉字2秒
82H出屏方式显示时间清屏方式以参数要求的出屏方82000103以
式,显示时间及清屏方式正常方式出屏显示
固定显示1秒,然后,逐行清屏
83H出屏方式移动速度清屏方式以参数要求的出屏方82020104以
式,移动速度及清屏跳字方式出屏每次移
方式移动显示动一点后,逐列清屏
出屏方式清屏方式
参数方式参数方式
00正常出屏00正常清屏
01逐字出屏01从左向右逐字清屏
02跳字出屏02从右向左逐字清屏
03逐行出屏03逐行清屏
04逐列出屏04逐列清屏
05旋转出屏……
06外扩出屏……
…………
…………
例如:
要输入0号文件如下:
我是中国人,我爱中国
若要求用移动方式来显示,逐行出屏,逐列清屏,每次移动一点;
则在输入文件过程中键入的内容如下:
|83030104|46504239544829504043|0312|4650161454482590|
第一部分是控制码和参数,按ASC键后键入,第二部分是“我是中国人”的汉字区位码,第三部分是逗号的区位码,第四部分是“我爱中国”的汉字区位码。
后三部分是用汉字状态输入。
(3)运行BAS文件(RUN):
此功能用来运行已存储的BAS文件。
当光标在RUN上闪烁时,键入回车,进入RUN功能。
屏上提示:
文件号
键入文件号或键入回车,使用缺省值后,如果文件不存在
屏上提示:
文件不存在!
返回菜单,否则
屏上提示:
请输入运行次数
键入运行次数(0~F)(其中0代表无数次,1~F代表1~15次)后便开始运行。
运行指定次数后,返回BAS菜单,如运行中可按复位键退出。
(4)退出BAS功能(ESC)
此功能用来从BAS菜单返回主菜单。
2.PRG功能
在系统中有8K的仿真RAM,同学们可在RAM中运行自己的程序。
此功能主要是帮助同学们输入程序、运行程序和调试程序。
进入PRG功能后,系统进入仿真调试状态,此时它的作用就相当于功能齐全的51单片机开发系统。
屏上提示:
P.
此时数字键的功能不变,其他键的第二功能起作用,分别为:
↑:
上一单元
↓:
下一单元
USE:
用户屏幕,按此键可观察输出
REG:
用直接寻址方式,检查内部RAM的和寄存器的内容。
例如键入E0后,按REG即可查看、修改累加器A的内容。
回车:
返回监控,即P.状态
BRK:
设置断点,用断点运行方式执行程序。
EXE:
全速执行程序
XRA:
外部数据存储器检查修改处理
MEM:
程序存储器检查、修改键
STP:
单步执行程序
SAV:
将程序存入具有掉电保护功能的RAM中
LOD:
从掉电保护RAM中读出程序。
要注意:
仿真RAM的地址为8000H~9FFFH。
其他单元只能读出,不能修改。
即同学们自编的程序首地址都应在8000H~9FFFH之间。
例如:
在8000H开始的程序单元中存入10H,20H操作如下
P.
键入80008000
键入MEM800000
键入10800010
按键↓800100
键入20800120
键入回车P.
因此,此功能可以象开发系统一样,输入汇编目标程序及一些数据。
用ESC退出EDI功能返回PRG菜单。
例如在仿真RAM中有了51程序,便可运行它。
按EXE键
进入RUN后
屏上提示:
首地址
键入首地址,程序控制由系统内部转移到仿真RAM中,从首地址开始执行用户程序。
用户的程序一定要正确,而且要求在程序的最后加一条LJMPRETURN指令,以便于让控制转回到系统内部。
例如从8000H开始,以输入目标程序,在输入首地址8000后,系统便从8000H开始执行程序。
存储输入的目标程序,可按SAV键。
进入此功能后
屏上提示:
文件1/0?
用1键和0键选择1号或0号文件(系统只能存储两个PRG文件,代号为0或1。
例如键入0)
屏上提示:
首地址(即要存储文件的首地址例如键入8200)
屏上提示:
字节数(即要存储多少字节例如键入10)
屏上提示:
确信存入(回车确认,此例即为把从8200H开始的16个单元的内容存储到0号文件)
调出以存储的目标程序,可按LOD键,进入此功能后,
屏上提示:
文件1/0?
键入1或0(如键0)
屏上提示:
首地址(如键入8300)
屏上提示:
字节数(如输入20)
屏上提示:
确信调出(回车确认即把0号文件从内存中调到仿真RAM8300H开始的32个单元中)
对于其它各调试键的用法,同学们可在使用中自己摸索。
主菜单选择SET进入SET菜单TIMDAT
WEENUM
SET功能包括设置时间(TIM)设置日期(DAT)设置星期(WEE)设置机号(NUM)
(1)设置时间(TIM)
选择TIM进入设置时间功能,屏幕如右图Timeis
01:
时,02:
分,03:
秒。
01∶02∶03
如需要设定时间的话,用任意键激活光标,用P↑、P↓左右移动光标,选择时、分、
秒,用↑、↓键进行加1,减1修正,直到设定正确的时间,用回车键退出修改,用ESC
键退出TIM功能。
(2)设置日期(DAT)
选择DAT进入设置时间功能,屏幕如右图Datais
01:
年,02:
月,03:
日。
01:
02:
03
设置方法同TIM功能(略)。
(3)设置日期(WEE)
选择WEE进入设置时间功能,屏幕如右图Todayis
用↑↓键修改用ESC退出monday
(4)设置机号(NUM)
此功能用来设定本机的机址,一便将来与系统机通信时,系统机能区别对待。
在本
显示屏中,本机地址已由硬件装置,此功能只是显示机号而已。
按ESC退出。
4.OTH功能
主菜单选择OTH后,进入OTH菜单COMTEX
DEMRST
包括四个功能:
通信(COM)自检(TEX)演示(DEM)复位(RST)
(1)通信(COM)
此功能是进行系统基于本显示系统的通信。
目前主要用来由本系统机向显示系统传递汇编后的目标文件。
系统机执行COM.EXE后出现画面及提示输入机号,此时一定要保证显示系统已经进入COM功能,方可输入所联系的机号并加以确认。
否则会通信失败。
当连接正确后,系统机会提示输入目标文件,输入即可。
在整个过程中,不需要人为干预,传递过程中的有关信息会显示出来,这里不再赘述。
(2)自检(TEX)
进入此功能后系统会进行自