微机课程设计--简易电子广告牌设计.doc_第1页
微机课程设计--简易电子广告牌设计.doc_第2页
微机课程设计--简易电子广告牌设计.doc_第3页
微机课程设计--简易电子广告牌设计.doc_第4页
微机课程设计--简易电子广告牌设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告微机原理与应用 学 院 电信学院 专 业 信息工程2班 学生姓名 蔡月冰 学 号 200830240052 指导教师 梁亚玲 提交日期 2009.3.8 目 录1.1概述11.1.1课程设计题目11.1.2课程设计目的11.1.3设计实现功能11.2硬件设计11.2.1硬件电路11.2.2器件介绍21.3软件设计21.3.1软件实现功能概述21.3.2程序流程图31.4系统调试和测试结果41.5心得体会41.6课程建议41.7附录 程序清单4ii华南理工大学 电子与信息学院 课程设计简易电子广告牌设计1.1 概述1.1.1 课程设计题目 简易电子广告牌设计1.1.2 课程设计目的进行一次综合的小型微机应用系统的软硬件设计。通过课程设计,进一步巩固所学的知识,并将所学的内容加以综合运用。将所学的理论与实际问题或应用相结合,进一步培养自主学习的能力,综合运用知识的能力,以及创新实践的能力。1.1.3 设计实现功能基本功能在8*8双色点阵上显示红黄交替广告标语,按键盘键退出,创新实现功能有滚动闪动切换,滚动速度可通过旋钮调节,两段字符串切换,键盘输入数字显示1.2 硬件设计1.2.1 硬件电路图1. 1开关输入锁存74LS244 其中K0连接到8253图1. 2 8253时钟分频计时图1. 3 ADC0809模数转换电路另外还有点阵连接,行片选信号 CS1 接 280H;红列片选信号 CS2 接 288H;黄列片选信号 CS3 接 290H1.2.2 器件介绍82538253内部有三个计数器,分别成为计数器0、计数器1和计数器2,每个计数器,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值。74LS24474HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。当1/OE和2/OE都为低电平时,输出端Y和输入端A状态相同;当1/OE和2/OE都为高电平时,输出呈高阻态。ADC0809ADC0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。LED双色点阵点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。1.3 软件设计1.3.1 软件实现功能概述程序输出提示信息,完成ADC0809和8253初始化,0853两个计时器工作在方式2和3,完成分频输出,通过查表得出字符的点阵取模量依次显示,读取74ls244输入的量,进行滚动闪动切换,滚动速度可通过旋钮调节(通过ADC采样值控制循环次数),两段字符串切换,键盘输入数字显示,每次显示完成读取键盘值有键按下则退出。程序主要分成显示,8253初始化,开关输入程序。1.3.2 程序流程图输出提示信息主程序:初始化8253 0809逐列显示每一个8*8点阵读取开关值字符串切换进入输入数字字符子程序滚动 闪动切换无是否有按键按下有退出开始输入数字字符部分: N有键按下读取键盘值并处理Y有键按下结束1.4 系统调试和测试结果这个课程设计的调式我们先是运行自带的演示实验,用于确认硬件运行正常。之后我们主要采用的是分模块调试,再综合起来。实际调试中出现最多的问题是JNZ等跳转很容易由于代码过长而超出跳转范围,可以采取的就是先跳到一个短的标号,然后在这里用一句JMP。其次还有就是亮度显示不足,经过反复实验得出一个比较合适的列延时。另外就是0809控制速度的时候,输出值为0-255,导致速度过快甚至死机,所以我们对这个数据进行简单处理解决了这一问题,最后还有显示出现不稳定闪动,后发现是8253分频后翻转后稳定在另一个电平,我们通过添加初始化字程序解决这一问题。设计结果达到设计要求,显示稳定,并且有教多的扩展,当然由于时间关系,还有些东西有待完善,比如程序的人机界面和操作简易有待提高,程序模块化做得不太完善,代码还有进一步优化的空间。不过总的来说,这次课程设计调试结果还是比较满意的。1.5 心得体会这次微机的课程设计进一步巩固了所学的知识,以前由于实验次数少,而且平时编程主要用的是C语言,这次的课程设计就很好的弥补了这部分缺少的知识,而且由于是团队合作,有利于培养协作精神。这次课程设计还使所学理论知识和动手实践相结合,软件硬件设计结合,还培养了我们创新精神,比如我们实现的滚动调速功能,其实就是很简单的几句,不过做出的效果却让同学觉得很不错。这次课程设计总的说,在老师细心的指导下,收获比较多,也为以后的课程,比如单片机,ARM等打下基础。 1.6 课程建议微机原理与应用这门课程觉得收获还是很多,不过感觉这个课程由于大家是先学C语言,使得大家对汇编学起来兴趣比较少,觉得C简单的几句汇编却是相当复杂,而汇编的底层操作优势也不是太明显,硬件部分实验由于课时等缘故上的时间比较少,觉得这个课程应该可以优先在大一时开设汇编部分,学完数电开设硬件部分,硬件部分甚至可以和单片机课程一起学。1.7 附录 程序清单;*2008级微机原理与应用课程设计*;设计内容:简易电子广告牌设计;实现功能:双色自动切换,滚动闪动切换,滚动速度可通过旋钮调节; 两段字符串切换,键盘输入数字显示;硬件电路:双色点阵 74ls273 8253 74ls244 ADC0809;创建时间:2009年3月1日-2009年3月3日;创建者:08级信息工程2班 蔡月冰 曹永豪;课程报告提交者:蔡月冰 200830240052;*;地址声明,依次为点阵 74ls244 ADC0809 8253 ioport equ 0e400h-0280hproth equ ioport+280hprotlr equ ioport+288hprotly equ ioport+290hls244equ ioport+2a0hio0809aequ ioport+2B8hio8253aequ ioport+29ahio8253bequ ioport+299hio8253cequ ioport+29bh;数据端定义DATA SEGMENTMESS DB Strike any key,return to DOS!,0AH,0DH,$;提示信息Addwei DB 00h,01h,02h,03h,04h,05h,06h,07h;一个字查表偏移量count dw 0 ;用于字符滚动或切换的查表偏移量mflag dw 0 ;两段不同字符串切换的标志addcolor dw 0 ;更改颜色的标志CHARSAVE DB 18h,20h,28h,30h,38h,40h,48h,50h,58h,60h;1-9在BUFF中点阵偏移量COUNTTMP DW 0 ;键盘输入数字变量BUFF DB 8H,18H,3H,41H,0C1H,3FH,0H,3CH,0H,78H,48H,48H,0FFH,48H,48H,78H,0H,0H,3CH,42H,42H,7EH,0H,0H,0h,0h,3ch,42h,42h,3ch,0h,0h,0H,0H,0H,0feh,40h,0h,0h,0h,0H,22h,52h,4ah,46h,22h,0h,0h,0h,0h,6ch,92h,82h,44h,0h,0h,0h,4h,4h,7fh,24h,14h,0ch,0h,0h,0h,5ch,52h,52h,76h,0h,0h,0h,0h,4ch,92h,92h,7ch,0h,0h,0h,0h,60h,50h,4eh,40h,0h,0h,0h,0h,6ch,92h,92h,6ch,0h,0h,0h,0h,7ch,92h,92h,64h,0h,0h ;点阵的取模量timebuf db 0H,0FEH,92H,92H,92H,92H,0FEH,0H,0H,0FFH,0A9H,0A8H,0A8H,0F8H,7H,1H,8H,18H,3H,41H,0C1H,3FH,0H,3CH ;点阵取模量2DATA ENDS;*CODE SEGMENTASSUME CS:CODE,DS:DATA;*代码段*;在屏幕上显示提示信息START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 INT 21H ;显示提示信息 MOV addcolor,protly ;先显示红色 CALL Int8253 ;调用8253初始化字程序agn: mov dx,io0809a ;启动A/D转换器, A/D中的数据转化成滚动显示速度 out dx,al in al,dx ;从A/D转换器输入数据 mov ah,0 shl ax,1 add ax,30h mov cx,ax ;进行数据处理,防止滚动速度过快或者过慢d2: mov ah,01h push cx mov cx,0008h ;点阵一次显示8列 mov si,offset Addweinext: mov al,si test mflag,01h ;判断是显示哪段文字 jnz flagdan mov bx,offset buff jmp ghflagdan:mov bx,offset timebuf gh: add bx,count xlat ;得到第一列的取模码 mov dx,proth out dx,al mov al,ah mov dx,addcolor out dx,al ;显示第一列 shl ah,01 inc si call delaylong ;列延时,时间长则字符每列不连续,短则亮度低loop next pop cx loop d2 mov al,00 ;关闭显示,消隐 mov dx,addcolor out dx,al mov ah,01 ;判断是否有键按下,有则返回DOS int 16h jz nbrk MOV AH,4CH INT 21Hnbrk: inc count ;判断是否到了最后一个字符 cmp count,18h ;显示字符数=源操作数/8 JGE bigger jmp nextchbigger:mov count,0h ;重新定位到第一个字符 cmp addcolor,protly ;更换显示颜色 jz change mov addcolor,protly jmp nextchchange: mov addcolor,protlrnextch: ;扫描74ls244,74ls244开关的1-7位,最底连接到8253 CALL ReadKey ;调用ReadKey子程序,在DL中返回244值 TEST DL,20H ;第6位开关转到显示第一段字符 JNZ danshu TEST DL,10H ;第5位开关转到显示第二段字符 JNZ sishu TEST DL,08h ;第4位开关转到显示键盘输入的数字 JNZ showch;XX TEST DL,04h ;第3位开关转到键盘输入数字子程序 JNZ shuru TEST DL,02H ;第2位开关为滚动,闪动切换模式 jnz agn11 TEST DL,01H ;闪动时,通过查询8253方式进行时间延时 JNZ changech add count,8 CALL Int8253 ;必须重新对8253初始化,否则电平使字符不停切换 changech: dec count agn11: jmp agn showch: mov cx,0f0hd22: mov ah,01h push cx mov cx,0008h ;点阵一次显示8列 mov si,offset Addwei next1: mov al,si mov bx,offset buff PUSH SI push ax MOV SI,OFFSET CHARSAVE ADD SI,COUNTTMP ;通过键盘程序得到偏移量 mov AX,SI mov ah,00h add bx,ax pop ax pop si xlat ; ;得到第一列的取模码 mov dx,proth out dx,al mov al,ah mov dx,protly out dx,al shl ah,01 inc si call delaylong ;列延时,时间长则字符每列不连续,短则亮度低 loop next1 pop cx loop d22 mov al,00 ;关闭显示,消隐 mov dx,addcolor out dx,al mov ah,01 ;判断是否有键按下,有则返回DOS int 16h jz nextch MOV AH,4CH ;返回 INT 21Hsishu:mov mflag,01h jmp nextch danshu:mov mflag,00h jmp nextch shuru: ;实现对按键单次检测 MOV AH,01H INT 16H jz shuru ;判断有键按下才扫描键值 MOV ah,00h int 16h mov ah,0 SUB AL,30H mov COUNTTMP,ax ;对ASCII码处理为0-9 MOV AH,01H ;检测是否有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论