logo资料库

汇编点阵课程设计.doc

第1页 / 共83页
第2页 / 共83页
第3页 / 共83页
第4页 / 共83页
第5页 / 共83页
第6页 / 共83页
第7页 / 共83页
第8页 / 共83页
资料共83页,剩余部分请下载后查看
目 录 第一章 设计课题………………………………………………………………………………1 1.1 设计要求 .…………………………………………………………………………………………………………… 1 1.2 设计目的 .…………………………………………………………………………………………………………… 1 1.3 基本实验设备 …………………………………………………………………………………………………… 1 第二章 设计思想及实施方案 ………………………………………………………2 2.1 设计思想 .…………………………………………………………………………………………………………… 2 2.2 总体方案 ……………………………………………………………………………………………………………..3 第三章 程序模块及技巧分析 ………………………………………………………9 3.1 典型程序模块分析…………………………………………………………………………………………………..9 第四章 设计中的问题与技巧………………………………………………………11 4.1 本地部分………………………………………………………………………………………………………………..11 4.2 远程(串行)部分…………………………………………………………………………………………………13 第五章 程序清单·流程图…………………………………………………………14 5.1 本地部分程序流程图……………………………………………………………………………………………..14 5.2 远程(串行)部分程序流程图………………………………………………………………………………17 5.3 汇编语言编写的程序..……………………………………………………………………………………………18 C 语言编写的程序…………………………………………………………………………………………………..51 5.4 第六章 收获与体会 …………………………………………………………… 81 第七章 参考文献 ………………………………………………………………… 82
第一章 设计课题 本次实验所选择的设计课题为设计题 11:点阵 LED 显示功能设计 1.1 设计要求: 1.编程语言为汇编语言和 C 语言; 2.硬件电路基于 80x86 微机接口电路; 3.程序功能要求:小键盘给定、数码管显示、控制并显示“待机”,“欢迎你进入系统!”, “再见”(延时 10 秒); 4.具备本地及远程(串行方式)功能。 1.2 设计目的: 1. 学习 LED 点阵的基本使用方法以及编程方法 2. 学习基于 80x86 微机接口电路的 LED 点阵的设计 3. 掌握矩阵键盘的硬件电路原理以及其扫描程序 4. 掌握串行接口芯片 16550 的工作方式及应用 5. 学习 16550 实现远程通讯的基本编程方法 1.3 基本实验设备 1. 2. PC 微机两台 TD-PIT+实验系统 2 套
第二章 设计思想和实施方案 2.1 设计思想 8×8 点阵 LED 的工作原理 下图为 8×8 点阵 LED 外观及引脚图,只要其对应的 R、L 轴顺向偏压,即可 使 LED 发亮。例如如果想使左上角 LED 点亮,则 R1=1,L1=0 即可。应用时限流电阻可 以放在 R 轴或 L 轴。 对于 8X8 点阵 LED,只有当某点对应的行、列皆选通,该点才发光,所以,要使点阵显 示出一个汉字,则对应点皆要选通,但是,目前在实验室中点阵 LED 的适用扫描方法只有行 扫描或者是列扫描,无论采取哪一种扫描,都不可能一次性地显示出汉字,故此,只能通过 定义每个字在对应选通行(列)的对应选通列(行)的十六进制码,在行扫描(列扫描)的 方法下逐一显示。另外,由于扫描系统非常快,为使每个字都能清楚显示并停留一段时间, 对于扫描显示程序要作相应的延迟或重复,使扫描频率达到足以引起我们的视觉暂留效果, 对应的观看者就能观看到点阵上显示的汉字。 同时,为使显示汉字可控性,加入键盘控制,从而人为地操控字段显示。 对于本实验的远程(串行)功能,目标是在发送机上运行发送程序,按下相应的显示按 键,接收机上通过接受程序判断发送机的按键情况,操作点阵 LED 显示相应字段,即一机操 控,另一机执行。
2.2 总体方案 本实验按照要求可划分为两大部分: 1.本地实现部分 包含五大模块: ·8086CPU 中控模块 ·矩阵键盘及数码管显示模块 ·8X8 点阵 LED 显示模块 ·基本输入输出单元模块 ·8255 并口控制器模块 8086CPU 中控模块: 利用 8086CPU 作为本系统的中控模块,CPU 可以将寄存器中传来的数据做软件处理; 矩阵键盘及数码管显示模块: 矩阵键盘有按键按下时,通过程序的消除抖动、保存键值等步骤后,数码管即时显示 相应的数字; 8X8 点阵 LED 显示模块: 通过程序确定采用行扫描方式,当矩阵键盘及数码管显示模块有选定键按下时,读取 每一行相应的列选通码,通过程序中一系列的延时子程序及重复子程序使每个字清楚显示 一段适当的时间,并通过程序实现字移动显示等效果; 基本输入输出单元模块: 基本输入输出单元是由 74LS245 以及 74LS374 组成,本模块是用于连接 8X8 点阵 LED 显示模块,将相应的设定码输出到 8X8 点阵 LED 使之显示出相应的汉字; 8255 并口控制器模块: 本模块连接矩阵键盘及数码管显示模块,通过 A 口、C 口实现矩阵键盘扫描程序的执 行,通过 B 口实现数码管显示功能。 本地部分各模块硬件接线图如下:
系 统 总 线 8X8 点阵 LED 单元接线图 8255 单元及矩阵键盘数码管显示单元接线图 方案流程如下: 基本输入输出单元 0A 端及 OB 端分别接 8X8 点阵 LED 单元的 R 端及 L 端,OA、OB 端皆 作输出端,基本输入输出单元的 CS_A 端接系统总线 IOY2,CS_B 端接系统总线的 IOY3;8255 单元的 B 口输出,接数码管单元的 A—DP,A 口输出,低四位接矩阵键盘及数码管显示单元 的 X1—X4 端,C 口输入,低四位接矩阵键盘及数码管显示单元的 Y1—Y4 端,8255 单元的 CS 端接系统总线的 IOY1。 当矩阵键盘有键按下时,判断该键的列行信息,通过程序根据 8255 单元的 C 口低四 位、A 口低四位信息(即矩阵键盘的 X 端及 Y 端信息)检测出相应键值,并将对应的数码管 显示码通过 B 口输出到数码管端口 A—DP,从而显示出相应的按键号码;再判断该按键是否 属于指定按键,若不是,继续执行扫描键盘程序直至有指定键按下或满足返回 DOS 条件而 返回 DOS,若是,则程序执行按键键值比较步骤,跳到相应显示汉字的子程序,选出该汉字 对应的字模,通过基本输入输出单元输出到 8X8 点阵 LED 单元,通过行扫描方式显示该段
汉字,显示完毕,则扫描程序自动将存储键值归零,使显示只执行一次,再进入新一轮的键 扫描。 2.远程(串行)功能部分 需要两台计算机及两台实验仪器 包含六大模块: ·8086CPU 中控模块 ·矩阵键盘及数码管显示模块 ·8X8 点阵 LED 显示模块 ·基本输入输出单元模块 ·8255 并口控制器模块 ·16550 串口控制器 8086CPU 中控模块: 利用 8086CPU 作为本系统的中控模块,CPU 可以将寄存器中传来的数据做软件处理; 矩阵键盘及数码管显示模块: 矩阵键盘有按键按下时,通过程序的消除抖动、保存键值等步骤后,数码管即时显示 相应的数字; 8X8 点阵 LED 显示模块: 通过程序确定采用行扫描方式,当矩阵键盘及数码管显示模块有选定键按下时,读取 每一行相应的列选通码,通过程序中一系列的延时子程序及重复子程序使每个字清楚显示 一段适当的时间,并通过程序实现字移动显示等效果; 基本输入输出单元模块: 基本输入输出单元是由 74LS245 以及 74LS374 组成,本模块是用于连接 8X8 点阵 LED 显示模块,将相应的设定码输出到 8X8 点阵 LED 使之显示出相应的汉字; 8255 并口控制器模块: 本模块连接矩阵键盘及数码管显示模块,通过 A 口、C 口实现矩阵键盘扫描程序的执 行,通过 B 口实现数码管显示功能; 16550 串口控制器 将发送端计算机的按键信息发送到接收端计算机的 16550 串口控制器,再通过程序判 断按键类型,选取相应的汉字字模,再输出到 8X8 点阵 LED 单元显示对应汉字。 两台计算机(连带实验仪器),一台作发送端,一台作接收端; 发送端接线如下:
8255 单元及矩阵键盘数码管显示单元接线图 接收端接线如下: 系 统 总 线 8X8 点阵 LED 单元接线图
两机各 16550 串口控制器连线及两机互联接线图 接收端中,基本输入输出单元 0A 端及 OB 端分别接 8X8 点阵 LED 单元的 R 端及 L 端, OA、OB 端皆作输出端,基本输入输出单元的 CS_A 端接系统总线 IOY1,CS_B 端接系统总线 的 IOY2; 发送端中,8255 单元的 B 口输出,接数码管单元的 A—DP,A 口输出,低四位接矩阵 键盘及数码管显示单元的 X1—X4 端,C 口输入,低四位接矩阵键盘及数码管显示单元的 Y1 —Y4 端,8255 单元的 CS 端接系统总线的 IOY1。 接收端中的 16550 的 INTR 端需接系统总线的 INTR 引脚。 方案流程如下: 当发送端的矩阵键盘有键按下时,判断该键的列行信息,通过程序根据 8255 单元的 C 口低四位、A 口低四位信息(即矩阵键盘的 X 端及 Y 端信息)检测出相应键值,并将对应的 数码管显示码通过 B 口输出到数码管端口 A—DP,从而显示出相应的按键号码,并且将该码 输出到 16550 串口控制器的除数寄存器 MY16550_0; 接收端不断检测 16550 串口控制器的除数寄存器 MY16550_0 是否有信息输入,有则判 断该信息是否指定按键信息,若不是,继续执行检测程序直至有指定键信息输入或满足返回 DOS 条件而返回 DOS,若是,则程序执行按键键值信息比较步骤,跳到相应显示汉字的子程 序,选出该汉字对应的字模,通过基本输入输出单元输出到 8X8 点阵 LED 单元,通过行扫 描方式显示该段汉字,显示完毕,则程序自动清屏,使显示只执行一次,再进入新一轮的端 口信息扫描。
分享到:
收藏