课程设计_点阵显示系统电路及程序设计+Word格式.doc
《课程设计_点阵显示系统电路及程序设计+Word格式.doc》由会员分享,可在线阅读,更多相关《课程设计_点阵显示系统电路及程序设计+Word格式.doc(36页珍藏版)》请在冰点文库上搜索。
![课程设计_点阵显示系统电路及程序设计+Word格式.doc](https://file1.bingdoc.com/fileroot1/2023-4/29/16bc10ee-5774-4201-8339-e600b59f8b93/16bc10ee-5774-4201-8339-e600b59f8b931.gif)
四、设计所需器材与工具 2
五、设计思路 3
六、设计步骤(含流程图和代码) 3
七、课程设计小结 36
一、课程设计题目:
点阵显示系统电路及程序设计
利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。
二、设计目的
1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。
2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。
三、设计内容
1.点阵显示系统启动后的初始状态
在计算机显示器上出现菜单:
dotmatrixdisplaysystem
1.←leftshiftdisplay
2.↑upshiftdisplay
3.sstop
4.EscExit
2.点阵显示系统运行状态
按计算机光标←键,点阵逐列向左移动并显示:
“微型计算机技术课程设计,点阵显示系统,计科11303班,侯未杰,黎傲”。
按计算机光标↑键,点阵逐行向上移动并显示:
按计算机光标s键,点阵停止移动并显示当前字符。
3.结束程序运行状态
按计算机Esc键,结束点阵显示系统运行状态并显示“停”。
四.设计所需器材与工具
1.一块实验面包板(内含时钟信号1MHz或2MHz)。
2.可编程芯片8253、8255、74LS245、74LS138各一片,16×
16点阵显示器件一片。
3.导线若干。
4.示波器、万用表、常用工具等共用(从实验室现借现还)。
五、设计思路
1.利用74LS138设计地址译码电路,8255端口地址:
300H~303H,8253端口地址:
304H~307H。
2.74LS245用于总线和8253、8255之间的双向传输和隔离。
3.利用面包板上时钟(1MHz或2MHz)和8253设计一个1毫秒定时电路,将定时信号(1毫秒方波)接到总线的IRQ2或IRQ10送给8259控制点阵左移或上移。
4.选择8255的PA0、PA4、PA5和PB4、PB5、PB6、PB7,7个位控制点阵显示器件行和列的数据串行输入、输入脉冲、锁存脉冲(并行输出脉冲)。
六、设计步骤
1.电路原件介绍
(1)74LS245数据总路线缓冲器
74LS245的功能表
(2)74LS138
标准地址译码电路
8255CS对应的地址为300H~303H,8253CS对应的地址为304H~307H。
简化后的非标准地址译码电路
(3).8253定时/计数器
(4).8255A
(5).点阵显示器件
附4、课程设计所用器件
附5、点阵生成
开始
2.流程图
初始化8253、8255A及8259芯片,选择计数器1、2,输出端口A、B,工作方式0
显示主界面信息,点阵显示出字模,停止不移动
中断服务程序,不断扫描键盘,等待有键按下(1.2.3.4)并执行相应服务程序
按键4
启动Esc功能,调用退出程序,点阵显示“停”,并结束显示。
按键3
启动StopDisplay功能,调用停止程序,点阵停止移动并显示当前字符
按键2
启动UpShift功能,调用上移程序,并显示在点阵上
按键1
启动LeftShift功能,调用左移程序,并显示在点阵上
3.电路原理图
注:
(1)电路箱总芯片上已集成8259芯片,实际连接时8253的OUT2直接接到总芯片的IRQ10处;
(2)实际连接时,是由8255A芯片的PA0、PA4、PA5、PB4、PB5、PB6、PB7控制点阵显示屛;
PA0→R1、PA4→SCK、PA5→LATCH、PB4→A、PB5→B、PB6→C、PB7→D。
GND和EN/OE接地,+5V接电源正极。
4.正确运用所给器件布线,搭接硬件电路
图一
测试中发现8259无法正常工作,检查得知是因为自己74L138的几根线路有问题,经过几次的检测并调试成功,最后得到线路图如下。
最终接线及测试显示
图二
5.详细汇编代码
DATASEGMENT
微db12H,10H,12H,10H,2AH,90H,4AH,0A4H,8AH,0BEH,1FH,0C4H,20H,24H,7FH,0A8H,0A0H,28H,2FH,28H,29H,10H,29H,50H,29H,0A8H,29H,28H,30H,46H,20H,84H
型db01H,04H,7FH,84H,12H,24H,12H,24H,12H,24H,0FFH,0A4H,12H,24H,12H,24H,12H,04H,23H,14H,41H,08H,7FH,0FCH,01H,00H,01H,04H,0FFH,0FEH,00H,00H
计db00H,40H,20H,40H,10H,40H,10H,40H,00H,40H,00H,44H,0F7H,0FEH,10H,40H,10H,40H,10H,40H,10H,40H,12H,40H,14H,40H,18H,40H,10H,40H,00H,40H
算db20H,80H,3EH,0FCH,49H,20H,9FH,0F0H,10H,10H,1FH,0F0H,10H,10H,1FH,0F0H,10H,10H,1FH,0F0H,08H,24H,0FFH,0FEH,08H,20H,08H,20H,10H,20H,20H,20H
机db10H,00H,10H,10H,11H,0F8H,11H,10H,0FDH,10H,11H,10H,31H,10H,39H,10H,55H,10H,51H,10H,91H,10H,11H,10H,11H,12H,12H,12H,14H,0EH,18H,00H
技db10H,40H,10H,40H,10H,48H,13H,0FCH,0FCH,40H,10H,40H,10H,40H,13H,0F8H,1AH,08H,31H,10H,0D1H,10H,10H,0A0H,10H,40H,10H,0B0H,51H,0EH,26H,04H
术db01H,00H,01H,40H,01H,30H,01H,10H,01H,04H,0FFH,0FEH,01H,00H,03H,80H,05H,40H,09H,20H,11H,10H,21H,0EH,0C1H,04H,01H,00H,01H,00H,01H,00H
课db00H,08H,43H,0FCH,22H,48H,22H,48H,03H,0F8H,02H,48H,0E2H,48H,23H,0F8H,20H,40H,2FH,0FEH,20H,0E0H,29H,50H,32H,48H,24H,4EH,08H,44H,00H,40H
程db08H,04H,1DH,0FEH,0F1H,04H,11H,04H,11H,04H,0FFH,04H,11H,0FCH,38H,00H,37H,0FEH,54H,20H,50H,28H,91H,0FCH,10H,20H,10H,24H,17H,0FEH,10H,00H
设db01H,0F0H,21H,10H,11H,10H,11H,10H,01H,10H,02H,0EH,0F4H,00H,13H,0F8H,11H,08H,11H,10H,10H,90H,10H,0A0H,14H,40H,18H,0B0H,13H,0EH,0CH,04H
计Db00H,40H,20H,40H,10H,40H,10H,40H,00H,40H,00H,44H,0F7H,0FEH,10H,40H,10H,40H,10H,40H,10H,40H,12H,40H,14H,40H,18H,40H,10H,40H,00H,40H
Dou0db00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,18H,00H,18H,00H,10H,00H,20H,00H,00H,00H,00H,00H
点db02H,00H,02H,00H,02H,08H,03H,0FCH,02H,00H,02H,10H,3FH,0F8H,20H,10H,20H,10H,20H,10H,3FH,0F0H,00H,00H,29H,10H,24H,0C8H,44H,44H,80H,04H
阵db00H,80H,78H,84H,4FH,0FEH,50H,80H,50H,0A0H,61H,20H,51H,28H,4BH,0FCH,48H,20H,48H,20H,68H,24H,57H,0FEH,40H,20H,40H,20H,40H,20H,40H,20H
显db00H,10H,1FH,0F8H,10H,10H,10H,10H,1FH,0F0H,10H,10H,10H,10H,1FH,0F0H,14H,50H,44H,44H,34H,4CH,14H,50H,04H,40H,04H,44H,0FFH,0FEH,00H,00H
示db00H,10H,3FH,0F8H,00H,00H,00H,00H,00H,00H,00H,04H,0FFH,0FEH,01H,00H,01H,00H,09H,20H,19H,18H,21H,0CH,41H,04H,01H,00H,05H,00H,02H,00H
系db00H,38H,7FH,0C0H,04H,00H,04H,10H,08H,20H,3FH,0C0H,01H,00H,02H,20H,04H,10H,3FH,0F8H,01H,08H,09H,20H,09H,10H,11H,08H,25H,08H,02H,00H
统db10H,80H,10H,40H,20H,48H,27H,0FCH,48H,80H,0F9H,10H,12H,08H,27H,0FCH,41H,24H,0F9H,20H,41H,20H,01H,20H,1AH,22H,0E2H,22H,44H,1EH,08H,00H
Dou2db00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,18H,00H,18H,00H,10H,00H,20H,00H,00H,00H,00H,00H
计db00H,40H,20H,40H,10H,40H,10H,40H,00H,40H,00H,44H,0F7H,0FEH,10H,40H,10H,40H,10H,40H,10H,40H,12H,40H,14H,40H,18H,40H,10H,40H,00H,40H
科db04H,10H,0EH,10H,0F8H,90H,08H,50H,08H,10H,0FEH,90H,08H,50H,1CH,14H,1AH,1EH,29H,0F0H,28H,10H,48H,10H,88H,10H,08H,10H,08H,10H,08H,10H
一db00H,00H,00H,00H,00H,80H,03H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,03H,0C0H,00H,00H,00H,00H
一Db00H,00H,00H,00H,00H,80H,03H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,03H,0C0H,00H,00H,00H,00H
三Db00H,00H,00H,00H,03H,0C0H,06H,60H,0CH,30H,00H,30H,00H,60H,01H,0C0H,00H,60H,00H,30H,00H,30H,0CH,30H,06H,60H,03H,0C0H,00H,00H,00H,00H
零Db00H,00H,00H,00H,03H,0E0H,06H,30H,0CH,18H,0CH,18H,0CH,18H,0CH,18H,0CH,18H,0CH,18H,0CH,18H,0CH,18H,06H,30H,03H,0E0H,00H,00H,00H,00H
班Db01H,00H,09H,04H,0FDH,7EH,21H,10H,25H,10H,25H,10H,25H,10H,0F5H,7CH,25H,10H,29H,10H,21H,10H,22H,10H,3AH,10H,0E2H,14H,44H,0FEH,08H,00H
Dou3Db00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,18H,00H,18H,00H,10H,00H,20H,00H,00H,00H,00H,00H
侯Db09H,00H,0FDH,08H,09H,08H,09H,10H,09H,20H,79H,40H,41H,04H,47H,0FEH,41H,40H,79H,40H,09H,20H,09H,20H,09H,10H,09H,4EH,51H,84H,21H,00H
未Db00H,08H,04H,1CH,7FH,0E0H,45H,00H,45H,00H,45H,04H,45H,0FEH,7DH,10H,45H,10H,45H,10H,45H,10H,45H,10H,7DH,10H,41H,10H,02H,10H,04H,10H
Dou4Db00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,18H,00H,18H,00H,10H,00H,20H,00H,00H,00H,00H,00H
杰Db20H,04H,18H,04H,09H,24H,0FFH,0A4H,02H,24H,42H,24H,22H,24H,14H,24H,14H,24H,08H,24H,08H,24H,14H,24H,22H,04H,43H,04H,81H,14H,00H,08H
黎Db00H,08H,7FH,0FCH,04H,40H,04H,40H,04H,40H,04H,40H,44H,48H,24H,4CH,24H,50H,14H,50H,14H,60H,04H,40H,04H,40H,04H,44H,0FFH,0FEH,00H,00H,
傲00H,00H,7FH,0FEH,42H,02H,82H,14H,3FH,0F8H,04H,00H,09H,00H,11H,10H,3FH,0F8H,01H,00H,01H,04H,0FFH,0FEH,01H,00H,01H,00H,01H,00H,01H,00H
strmenuDB'
dotmatrixdisplaysystem'
0AH,0DH,'
1.'
'
L'
leftshiftdisplay'
2.'
U'
upshiftdisplay'
3.Sstop'
4.EscExit'
0AH,0DH,0AH,0DH,'
$'
OUTSETDW0000H;
用于存放字符首地址,增加程序可移植性。
COUNTDB35;
用于指示汉字的个数----------------------------------------------------------------------------------
StopFlagDB00H;
暂停标志位:
用于辅助实现暂停功能。
(1)如果为0收到中断后,可以MoveStep;
(2)否则不行。
StatusDB00H;
辅助实现第一种中断。
;
为了实现“利用中断来刷屏”,需要用到两个变量。
IndexOfLineDW0006H;
行标,用来指示当前刷屏从第几行开始。
用于辅助实现ShowUpward范围是0~count*16-1。
当超过的时候,应该使其等于00
IndexOfWordDB00H;
汉字的指针(只能放256个汉字喽),辅助实现ShowLeftward的
MoveStepDB00H;
以每个汉字为中心,的位移量,用于Left。
@:
出于我们点阵的数据格式,其范围在0~16之间。
用于恢复原中断向量
INT0A_OFFDW(?
)
INT0A_SEGDW(?
)
Test:
用于辅助做测试的变量。
TimesDB00h
DATAENDS
CODESEGMENT'
CODE'
ASSUMEDS:
DATA,CS:
CODE
------------------------------------------------------------Start
START:
MOVDX,DATA
MOVDS,DX
LEADX,wEI;
设置字符的开始位置----------------------------------------------------------------------------------------
MO