《自-微机原理课程设计报告简易电子广告牌设计》由会员分享,可在线阅读,更多相关《自-微机原理课程设计报告简易电子广告牌设计(20页珍藏版)》请在金锄头文库上搜索。
1、本科实验报告 微机原理课程设计报告 学 院 电子与信息学院 专 业 信息工程1班 学生姓名 李土荣 指导教师 提交日期 0年 0月 18日 学 号2 座位号 1 一课程设计题目介绍题目:简易电子广告牌设计功能:“实验箱上设有一个共阳极88点阵的红黄两色LED显示器。编程使LED显示器循环显示一条广告语,例如:北京你好。要求:广告语可以自己任意选择,但字数不少于3个;广告语的颜色红黄交替显示,例如:先显示红色广告语,再显示黄色广告语,如此交替循环;广告语中每个字符显示的时间由8253定时器控制,定时时间到显示下一个字符,设置每个字符显示的时间为数秒不等,可以自行设置;若键盘输入“”则返回OS,结
2、束程序。设计说明: 点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。实验箱上是一个共阳极8点阵的红黄两色LD显示器,其点阵结构参考教师实验指导书实验4。该点阵对外引出2条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LE发光,只要将与其相连的行线加高电平,列线加低电平即可。例如欲显示汉字“年”,采用逐列循环发光。首先由“年”的点阵轮廓,确定点阵代码(如图所示)根据“年”的点阵代
3、码,确定逐列循环发光的顺序如下: 行代码输出 44; 红色列代码输 01;第一列个红色LED发光。 行代码输出4H; 红色列代码输2;第二列3个红色LED发光。 行代码输出 4H; 红色列代码输 04;第三列3个红色LD发光。 行代码输出 7;红色列代码输 8;第四列个红色LED发光。 行代码输出 54H;红色列代码输 0H;第五列3个红色LED发光。 行代码输出 DCH;红色列代码输 20 H;第六列5个红色LED发光。 行代码输出 ; 红色列代码输 40H;第七列2个红色LD发光。 行代码输出 24H; 红色列代码输80 H;第八列2个红色LD发光。 在步骤之间可插入几ms的延时,重复进行
4、即可在LED上稳定的显示出红色“年”字。若想显示黄色“年”,只需把红色列码改为黄色列码即可。实验仪上的点阵LED及驱动电路参考教师实验指导书实验24,行代码、红色列代码、黄色列代码各用一片74S2锁存。行代码输出的数据通过行驱动器407加至点阵的8条行线上,红和黄列代码的输出数据通过驱动器S75452反相后分别加至红和黄的列线上。行锁存器片选信号为CS1,红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。接线方法:行片选信号 CS1 接 80;红列片选信号 CS2 接 88H;黄列片选信号 接 20H。 电路图:二 课程设计的目的 进行一次综合的小型微机应用系统的软硬件设计。通过课程
5、设计,进一步巩固所学的知识,并将所学的内容加以综合运用。将所学的理论与实际问题或应用相结合,进一步培养自主学习的能力,综合运用知识的能力,以及创新实践的能力。并且了解双色点阵E显示器的基本原理 ,掌握C机控制双色点阵D显示程序的设计方法 。三 硬件设计:825的基本工作原理和编程方法:按图1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N0),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察电平变化(当输入N1个脉冲后UT0变高电平)。 图1按图连接电路,将计数器0、计数器分别设置为方式3,计数初值设为100,用逻辑笔观察OUT1输出电平的变化(频率1Z)。 图2可编
6、程定时器/计数器(23)参考流程图:2 5方式0的工作原理:(1)三个数据端口A、C,每个端口均为8位,可选择输入或输出操作;(2)A组控制和B组控制:端口A和端口的高4位构成组端口B和断口C的低4位构成组,分别又组和B组控制电路控制。两组控制电路内各有一个控制寄存器,接受CP输出的控制字,决定各端口的工作方式;(3)数据总线缓冲器:这是个三态双向的位缓冲器,起着8255与CPU数据总线接口的作用,用来传送输入/输出的数据、CPU发出的控制字及状态信息;(4)读/写控制逻辑接收CPU发出的地址A1、A及控制(RD、WR、RESET)和片选(CS)信号,产生给A组、B组的控制信号,以完成对数据、
7、状态及控制信息的传送。实验电路:参考流程图:3 实验系统原理图及硬件原理说明:1、用253的计数器0和计数器1作为Hz时间的的分频,使间脉冲变成H,由计数器的OUT口输出,并把OUT口接到8255的P0端口,目的是让25去读这个端口的值,为程序中的定时,当时间到时就变换字。2、53的两个计数器用工作方式2(分频器)和工作方式3(方波发生器),825采用工作方式0,输出口为口的第一个口PA0。、显示块的三个片选端口分别接的是实验板上I/口地址的29h(行显示),288h(红色列显示线),29h(黄色列显示线)4、接通电源,运行测试程序,由85计时,8255检测825OUT口的电平值,直到低电平就
8、显示下一个字,并且中间有一定的器件延时。五 软件设计流程图:主程序开始定义控制端口地址显示提示信息是否按下R是执行显示8个字返回WINDOWS否8255 A0口电平为1是继续顺序执行否结束子程序:开始是否一秒初始化得到行码得到列码输出列码输出行码行码加1列码左移1位是否8次显示下一个字是否R是否按下否退出是是六 讨论和感想:七源程序的清单:;=oport qu 040h028h ;实验箱的端口地址roh equport+20h ;行片选信号S1端口地址protlr equoor+28h ;红列片选信号 CS2端口地址protly equ iopor+20 ;黄列片选信号 CS端口地址io823
9、a equ iopo+29bh ;85控制字端口地址io8253b euiopor28h ;计数器0端口地址i825cqu iort+99h ;计数器1端口地址io85 eq iopot+23h ;8255控制字端口地址i855 equioort+2a0 ;8250口地址;-A SGEMESSDB Sike th r e ,eturn toDS!,0AH,DH,$ ;运行界面信息提示in1 DB0h,0h,02,03h,0h,05h,0h,07hcount2 d? ;定义计字变量BU dw ? ;定义行码地址变量BUFF DB 4h,21,1H,0ffh,00h,ff,4,22 ;“北”字BU
10、FF2 DB 00H,4,07AH,68H,EFH,69H,7AH,1H ;“京”字UF3 DB 0C2H,84H,FF,85,2H,80H,7FH,20H ;“你”字BFF DB 48H,68,5FH,49,3H,0E2H,3DH,2H ;“好” 字DATA NDS;-COD SEGMETASSUMEC:COE,:DATA;-AT: MOV AX,DTAMOS,AMO D,OFS MSSOV H,9INT 21 ;显示提示信息;-;-mo dx,io8255a ;设825口输入v al,9bhut dx,al moval,16 ;设置8253通道为工作方式3,二进制计数ov dx,i253ao x,almoa,70 ;设置82通道1为工作方式0,先低后高,二进制计数mvdx,i253out dx,al mov dx,io8253b ;计数器0的端口地址 v a,fh ;写低8位计数值utd,al gn: mov cout2,04h ;赋值给计字变量 mo b,offsebuf1 movbuf,bx ;给行赋初值c: mov d,253c ;计数器的端口地址mo al,0ffh ;先写低8位计数值out dx,a mov a,0ff ;再写高位计数值 outdx,2:mvah,01h ;列初值mov cx,8 ;列循环次数mv si,ofset min1next: m