1、四、设计所需器材与工具2五、设计思路3六、设计步骤(含流程图和代码)3七、课程设计小结36一、课程设计题目:点阵显示系统电路及程序设计利用汇编语言与微型计算机技术课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。二、设计目的1通过本设计,使学生综合运用汇编语言与微型计算机技术、数字电子技术等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。2掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。3学会用汇编语言编写一个较完整的实用程序。4掌握微型计算机技术应用
2、开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。三、设计内容1点阵显示系统启动后的初始状态在计算机显示器上出现菜单:dot matrix display system1.left shift display2.up shift display3.s stop4.Esc Exit2点阵显示系统运行状态按计算机光标键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11303班,侯未杰,黎傲” 。按计算机光标键,点阵逐行向上移动并显示:按计算机光标s键,点阵停止移动并显示当前字符。3结束程序运行状态按计算机Esc键,结束点阵显示系统运行状态
3、并显示“停”。四设计所需器材与工具1一块实验面包板(内含时钟信号1MHz或2MHz)。 2可编程芯片8253、8255、74LS245、74LS138各一片,1616点阵显示器件一片。3导线若干。4示波器、万用表、常用工具等共用(从实验室现借现还)。五、设计思路 1利用74LS138设计地址译码电路,8255端口地址:300H303H,8253端口地址:304H307H。274LS245用于总线和8253、8255之间的双向传输和隔离。3利用面包板上时钟(1MHz或2MHz)和8253设计一个1毫秒定时电路,将定时信号(1毫秒方波)接到总线的IRQ2或IRQ10送给8259控制点阵左移或上移。
4、4选择8255的PA0、PA4、PA5和PB4、PB5、PB6、PB7,7个位控制点阵显示器件行和列的数据串行输入、输入脉冲、锁存脉冲(并行输出脉冲)。六、设计步骤1.电路原件介绍(1)74LS245数据总路线缓冲器 74LS245的功能表(2)74LS138标准地址译码电路8255CS对应的地址为300H303H, 8253CS对应的地址为304H307H。简化后的非标准地址译码电路(3).8253定时/计数器(4).8255A(5).点阵显示器件 附4、课程设计所用器件附5、点阵生成开始2.流程图初始化8253、8255A及8259芯片,选择计数器1、2,输出端口A、B,工作方式0显示主界
5、面信息,点阵显示出字模,停止不移动中断服务程序,不断扫描键盘,等待有键按下(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控制点阵显示屛;PA
6、0R1、PA4SCK、PA5LATCH、PB4A、PB5B、PB6C、PB7D。GND和EN/OE接地,+5V接电源正极。4. 正确运用所给器件布线,搭接硬件电路 图一 测试中发现8259无法正常工作,检查得知是因为自己74L138的几根线路有问题,经过几次的检测并调试成功,最后得到线路图如下。最终接线及测试显示图二5.详细汇编代码DATA SEGMENT微db 12H, 10H, 12H, 10H, 2AH, 90H, 4AH, 0A4H, 8AH, 0BEH, 1FH, 0C4H,20H, 24H, 7FH, 0A8H, 0A0H, 28H, 2FH, 28H, 29H, 10H, 29H
7、, 50H, 29H, 0A8H, 29H, 28H, 30H, 46H, 20H, 84H型 db 01H, 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计 db 00H, 40H, 20H, 40H, 10H, 40H, 10H, 40H, 00H, 40H, 00H, 44H, 0F7H, 0FEH, 10H, 40H,
8、10H, 40H, 10H, 40H, 10H, 40H, 12H, 40H, 14H, 40H, 18H, 40H, 10H, 40H, 00H, 40H算 db 20H, 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机 db 10H, 00H, 10H, 10H, 11H, 0F8H, 11H, 10H, 0FDH,
9、10H, 11H, 10H, 31H, 10H, 39H, 10H, 55H, 10H, 51H, 10H, 91H, 10H, 11H, 10H, 11H, 12H, 12H, 12H, 14H, 0EH, 18H, 00H技 db 10H, 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术 db 01H, 00H, 01H
10、, 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课 db 00H, 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, 0
11、8H, 44H, 00H, 40H程 db 08H, 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设 db 01H, 0F0H, 21H, 10H, 11H, 10H, 11H, 10H, 01H, 10H, 02H, 0EH, 0F4H, 00H, 13H, 0F8H, 11H, 08H, 11H, 10H, 10H, 9
12、0H, 10H, 0A0H, 14H, 40H, 18H, 0B0H, 13H, 0EH, 0CH, 04H计 Db 00H, 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, 40HDou0 db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
13、, 00H, 00H, 00H, 00H, 00H, 18H, 00H, 18H, 00H, 10H, 00H, 20H, 00H, 00H, 00H, 00H, 00H点 db 02H, 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阵 db 00H, 80H, 78H, 84H, 4FH, 0FEH, 50H, 80H, 50
14、H, 0A0H, 61H, 20H, 51H, 28H, 4BH, 0FCH, 48H, 20H, 48H, 20H, 68H, 24H, 57H, 0FEH, 40H, 20H, 40H, 20H, 40H, 20H, 40H, 20H显 db 00H, 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示 db 00H, 10H
15、, 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系 db 00H, 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,
16、 25H, 08H, 02H, 00H统 db 10H, 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, 00HDou2 db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 18H,
17、00H, 18H, 00H, 10H, 00H, 20H, 00H, 00H, 00H, 00H, 00H计 db 00H, 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科 db 04H, 10H, 0EH, 10H, 0F8H, 90H, 08H, 50H, 08H, 10H, 0FEH, 90H, 08H, 50H, 1CH,
18、14H, 1AH, 1EH, 29H, 0F0H, 28H, 10H, 48H, 10H, 88H, 10H, 08H, 10H, 08H, 10H, 08H, 10H一 db 00H, 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一 Db 00H, 00H, 00H, 00H, 00H, 80H, 03H, 80H, 01H, 80
19、H, 01H, 80H, 01H, 80H, 01H, 80H, 01H, 80H, 01H, 80H, 01H, 80H, 01H, 80H, 01H, 80H, 03H, 0C0H, 00H, 00H, 00H, 00H三 Db 00H, 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零 Db 00H, 00H, 00H, 00
20、H, 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班 Db 01H, 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
21、, 08H, 00HDou3 Db 00H, 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侯 Db 09H, 00H, 0FDH, 08H, 09H, 08H, 09H, 10H, 09H, 20H, 79H, 40H,41H, 04H, 47H, 0FEH, 41H, 40H, 79H, 40H, 09H, 20H, 09H, 20H
22、, 09H, 10H, 09H, 4EH, 51H, 84H, 21H, 00H 未Db 00H, 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, 10HDou4 Db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00
23、H, 00H, 00H, 18H, 00H, 18H, 00H, 10H, 00H, 20H, 00H, 00H, 00H, 00H, 00H杰 Db 20H, 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黎 Db 00H, 08H, 7FH, 0FCH, 04H, 40H, 04H, 40H, 04H, 40H, 04H, 40H
24、, 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 strmenu DB dot matrix display
25、system,0AH,0DH,1.,L left shift display2.U up shift display3.S stop4.Esc Exit,0AH,0DH,0AH,0DH,$OUTSET DW 0000H;用于存放字符首地址,增加程序可移植性。COUNT DB 35;用于指示汉字的个数StopFlag DB 00H;暂停标志位:用于辅助实现暂停功能。(1)如果为0收到中断后,可以MoveStep;(2)否则不行。Status DB 00H;辅助实现第一种中断。;为了实现“利用中断来刷屏”,需要用到两个变量。IndexOfLine DW 0006H;行标,用来指示当前刷屏从第几行开
26、始。用于辅助实现ShowUpward范围是0count*16-1。当超过的时候,应该使其等于00IndexOfWord DB 00H;汉字的指针(只能放256个汉字喽),辅助实现ShowLeftward的MoveStep DB 00H;以每个汉字为中心,的位移量,用于Left。:出于我们点阵的数据格式,其范围在016之间。用于恢复原中断向量INT0A_OFF DW(?)INT0A_SEG DW(?) Test:用于辅助做测试的变量。Times DB 00hDATA ENDSCODE SEGMENT CODEASSUME DS:DATA,CS:CODE-StartSTART:MOV DX,DATAMOV DS,DXLEA DX,wEI ;设置字符的开始位置MO