中南大学微机原理课程设计_第1页
中南大学微机原理课程设计_第2页
中南大学微机原理课程设计_第3页
中南大学微机原理课程设计_第4页
中南大学微机原理课程设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

中南大学微机原理课程设计实验报告题 目 设计电子万年历学生姓名 学 号 指导教师 学 院 信息科学与工程学院 专业班级 通信工程 1一、设计目的及要求(1)设计任务: 通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。(1)通过设计电子万年历,掌握中断的使用方法。 (2)掌握基本的显存读写技术。 (3)学会在屏幕上以七段数码管的形式显示本机时间的方法。 (4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。 (5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。汇编语言是计算机能够提供给用户使用的最快而又最有效的语言, 也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制 硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技 能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识, 通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及 创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知 识,在同学门的帮助下,花费大量时间,完成了关于电子万年历的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。关键词:汇编语言 微机原理 接口技术 时钟显示 键盘输入 一次性初始化六位2(二)设计功能:1.电子万年历,具有年、月、日、时、分、秒 24 小时制的运行,并可以在8 位数码管上显示;2.电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、时、分、秒。(三) 课程设计方式与基本要求:【1】 实验方式:微机原理与接口技术课程设计共 2 周,要求学生做出设计方案(硬件线路图、程序框图)并提交指导教师检查确认。然后进行硬件连接、软件调试、得出结果,由指导教师检查是否达到设计要求,最后撰写报告。根据通信工程专业学生的实际情况,课程设计的指导思想是:对于学习成绩好、动手能力强的学生,让他们有充分发挥的余地;对于大多数学生务必完成设计要求;对于少数学习稍差的学生只需完成基本要求。基于这一原则给出了 35 个题目,每一个题目的大小、难易可以伸缩,由学生自选。【2】基本要求:电子万年历(三星)设计任务:1正常计时并显示,默认状态下用 8 个 7 段 LED 数码管作为显示设备,显示:时分秒,每秒刷新显示;2通过按键,可以切换显示:年(后两位)月日;3通过按键,可以调整时间;4实习整点定时闹铃功能,整点定时输出为音乐信号或语音信号。扩展:可通过串口通讯来获取电子万年历的时间。其他功能(创新部分)。(四)设计所用元件设备是武汉恒科电子教学仪器有限公司的超想3000TB 综合实验/仿真系统。配合 PC 机构成实验环境。8253 定时器:用于产生秒脉冲,计数器 2 的输出信号作为中断请示信号送 IRQ3 。以及计数器 0 作为蜂鸣器的输入脉冲使用。38279 接口芯片:实现键盘输入和显示输出。 8259 中断控制器:用于产生中断。8255 并行控制器:触发蜂鸣器扬声。数码管:八个 LED 用于显示年、月、日,时、分、秒。以格式 00-00-00输出值。蜂鸣器:扬声报时。二、 设计题目及思想(一) 设计原理:计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握 RAM 扩充、8253 计数器/定时器、8255 并行口、8251 串行口、8259 中断控制器、D/A 数模转换、A/D 模数转换、DMA、LED 显示等各个器件的性能和使用方法。课程设计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解决方案并付诸实施,以培养解决实际问题的能力。本程序的主要设计原理是用主程序完成键盘按键的扫描,实现计时结果的数码管显示,实现时分秒与年月日之间的转换。通过判断键盘按键调用相应功能程序段以实现相应功能,即实现了初始化年月日、初始化时分秒、显示年月日、显示时分秒等功能。通过实验板上的键盘实现一次性对年月日的六位数字或者时分秒的六位数字同时进行初始化的手动设置功能,在本次实验的所有班级中只有我们一组是通过这种方式进行的初始化,这也是我们组的特色所在。利用 8253 的定时器功能。8253 的四个端口地址为 48H,49H,4AH,4BH, 本实验采用 8253 的计数器 2,工作在方式 3(方波发生器方式)输入 CLK2 为1MHZ。先给 8253 的初始值 0C350H,循环记数。即一次记数完后,自动装入初始值。输出 OUT2 作为 8259 的输入脉冲。8259 有两个口地址,本实验为 20H 和21H,其中 20H 用来写 ICW1,21H 用来写 ICW2、ICW4,本实验中 8259 为单片,边沿触发,采用 3 号中断源,即 IR3 和 8253 输出口 OUT2 相连,每过 1/20 秒接收到一个中断,向 8259 发出中断请求信号,如果电平信号不符合要求,则自动转到 7 号中断,显示“ERR“,CPU 响应后,在中断处理程序中,对中断次数进行记数,记满 20 次,把时间缓冲区中的时间加 1,并将其输入到显示缓冲区,这4样便实现了产生一秒钟长短的时间间隔,以作为程序的主要时钟。计数初值的计算:X=1M/2=50000D=0C350H(用 1MHZ 信号产生 1/20 秒方波) 。(二)主要模块: 【1】系统总体设计 :本系统设计的电子钟以 8088 微处理器作为 CPU, 8253 做定时计数器产生一秒钟的时间间隔用作程序的主要时钟频率,8279 做可编程并行接口显示时钟和键盘电路,8259 做中断控制器产生中断。在此系统中,8253 的功能是定时,接入 8253 的 CLK 信号为周期性时钟信号。 8253 采用计数器 0 和计数器 2。计数器 2:工作于方式 3,使 8253 的 OUT0 端输出周期性的负脉冲信号,即每隔 20ms,8253 的 OUT0 端就会输出一个负脉冲的信号, 此信号接 8259 的 IR2,当中断到 50 次数后,CPU 即处理,使液晶显示器上的时间发生变化。计数器 0 :工作于方式 3,使 8253 的 OUT2 作为蜂鸣器的输入信号,使蜂鸣器产生闹铃。 8255 的 PB0 口与8253 的 GATE0 相连,8255 的 PB0 受程序里面的函数控制,当需要闹铃的时候置 1,否则置 0。程序由以下模块组成:系统共有 6 个功能模块,分别为,主控模块,显示模块,定时模块,闹钟模块,中断模块,初始化模块。5【2】主控模块 :主控模块是系的核心模块,对 8253、8255、8279 进行初始化,设置中断向量,主要由软件实现。再由主控模块进入程序菜单,程序菜单的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,每当进入菜单就会先调用显示模块 SHOW1,显示 58-58-58,表示成功进入了菜单。接下来读键值选择相应的功能,如果键值为 F 则初始化年月日并置入相应的内存,成功后返回主控模块。如果键值为 D 则初始化时分秒并置入相应的内存,成功后返回主控模块。如果键值为 B 则显示年月日内存中的值,成功后等待下次有键输入后返回主控程序。如果健值为 9 则显示时分秒内存中的值,成功后等待下次有键输入后返回主控程序。 并调用显示模块显示。【3】定时模块 :定时模块是为 8259 提供中断请求信号的。由一片 8253 实现,选用定时器 0#, 工作在方式 3,由于时钟应该 1 秒走动一次,所以输出值应为 1S,其输出信号可作 为 8259 的中断请求信号。 6【4】 中断处理模块 :中断模块实现动态显示的,硬件为一片 8259,由于中断请求信号为每秒一次, 中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一 秒,从而达到动态显示的效果。【5】 并行模块:并行模块是 8255 是数据在多根传输线上一次以 8 位为单位进行传输。8255由数据总线缓冲器,读/写控制逻辑、A 组和 B 组控制电路以及 3 个数据端口(A 口、B 口和 C 口)等组成。7【6】显示模块:显示模块是将显示缓冲区的数值送到 LED 显示的功能模块,显示缓冲区是由六 个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。 硬件上由六个 LED 构成,软件上由扫描显示的方法实现。(三)芯片初始化:【1】8253A 定时/计数:8253 A 既可作定时器又可作计数器:(1) 计数: 计数器装入初值后,当 GATE 为高电平时,可用外部事件作为CLK 脉冲对计数值进行减 1 计数,每来一个脉冲减 1,当计数值减至 0 时,由OUT 端输出一个标志信号。(2) 定时: 计数器装入初值后,当 GATE 为高电平时,由 CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。8除上述典型应用外,8253A 还可作频率发生器、分频器、实时钟、单脉冲发生器等。8253A 控制字(3)以上为 8253 计数器 2 的初始化过程,计数器 0 的初始化过程类似,只是计数初值不再为 053C 而改为 02,表示把输入的时钟频率二分频,以达到可以使蜂鸣器报警的效果。【2】8259 单级中断控制:8259A 编程及初始化写初始化命令字写初始化命令字 ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。中断优先级排队和确定系统用单片还是多片。00 选计数器 0 数制控制:0 = 二进制,1= BCD01 选计数器 1 10 选计数器 2 工作方式选择:000 方式 011 非法 001 方式 110 方式 200 计数器锁存命令 11 方式 301 只读/写低 8 位,高 8 位自动置 0 100 方式 410 只读/写高 8 位,低 8 位自动置 0 101 方式 511 先写低 8 位,后写高 8 位 7 6 5 4 3 2 1 0A7 A6 A5 17 6 5 4 3 2 1 0 0=不需写 ICW4;1=需要写 ICW40=多片 8259 级连;1=只一片 82590=中断向量地址间距 8;1=地址间距 4(8088 模式下为 0)0=上升沿触发;1=高电平触发为 1,ICW1 标志位中断向量 A7,A6,A5 位(8088 模式下为 000

温馨提示

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

评论

0/150

提交评论