微机原理与接口技术电子表设计_第1页
微机原理与接口技术电子表设计_第2页
微机原理与接口技术电子表设计_第3页
微机原理与接口技术电子表设计_第4页
微机原理与接口技术电子表设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上微机原理与接口技术课程设计报告设计名称: 电子表设计 专 业: 计算机原理与接口技术 班 级: 姓 名: 学 号: 指导教师: 2014年 11 月 27 日目 录摘要.2一、 设计目的及要求.3 1.1设计任务.3 1.2设计功能. 3 1.3课程设计方式及基本要求.3 1.3.1 实验方式.3 1.3.2 基本要求.3 1.4设计所用元件.4二、 设计题目及思想.4 2.1设计原理.4 2.2主要模块.5 2.3芯片初始化.7 2.4程序流程图.9 2.5硬件接线图.11三、 调试结果. 13四、 课程设计总结.16 4.1遇到问题及解决方案.16 4.2 课程设

2、计心得体会.16参考文献附录摘要汇编语言是计算机能够提供给用户使用的最快而又最有效的语言, 也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制 硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技 能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识, 通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及 创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实

3、验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知 识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。关键词:汇编语言微机原理接口技术时钟显示一、设计目的及要求11设计任务: 随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能

4、力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。(1)通过设计电子表,掌握中断的使用方法。 (2)掌握基本的显存读写技术。 (3)学会在屏幕上以七段数码管的形式显示本机时间的方法。 (4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。 (5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。1.2 设计功能:1.电子表,具有时、分、秒24小时制的运行,并可以在8位数码管上显示。2

5、电子表具有启动键、停止键、初始化、蜂鸣、按点报时、暂停跳转CSU-CSU。1.3 课程设计方式与基本要求 1.3.1 实验方式:微机原理与接口技术课程设计共2周,要求学生做出设计方案(硬件线路图、程序框图)并提交指导教师检查确认。然后进行硬件连接、软件调试、得出结果,由指导教师检查是否达到设计要求,最后撰写报告。根据通信工程专业学生的实际情况,课程设计的指导思想是:对于学习成绩好、动手能力强的学生,让他们有充分发挥的余地;对于大多数学生务必完成设计要求;对于少数学习稍差的学生只需完成基本要求。基于这一原则给出了35个题目,每一个题目的大小、难易可以伸缩,由学生自选。 1.3.2 基本要求:电子

6、表以时、分、秒的形式实时显示当前时间。掌握 8255、8259、8253 芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法 等,学会相关芯片实际应用及编程,系统中采用 8088 微处理器完成了电子钟的小 系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调 试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。1熟练掌握汇编语言的程序设计;2 熟练掌握各种编程接口芯片的编程应用3.通过实验方法掌握各种电路综合分析与设计方法。1.4 设计所用元件设备是武汉恒科电子教学仪器有限公司的超想3000TB综合实验/仿真系

7、统。配合PC机构成实验环境。8253 定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送 IRQ2。 8279 接口芯片:实现键盘输入和显示输出。 8259 中断控制器:用于产生中断。8255 并行控制器:触发LED灯闪烁和蜂鸣器扬声。数码管:六个 LED 用于显示时:分:秒值。发光二极管:闪烁报时。蜂鸣器:扬声报时。二、 设计题目及思想2.1 设计原理:计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握RAM扩充、8253计数器/定时器、8255并行口、8251串行口、8259中断控制器、D/A数模转换、A/D模数转换、DMA、LED显示等各个器件的性能和使用方法。课程设

8、计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解决方案并付诸实施,以培养解决实际问题的能力。本程序的主要设计原理是用主程序完成键盘按键的扫描,实现计时结果的数码管显示,实现秒与分之间的转换。通过判断键盘按键调用相应功能程序段以实现相应功能,即实现了启动、暂停、复位功能,以及通过键盘进行十分、分、十秒、秒时间的手动设置功能。利用8253的定时器功能。8253的四个端口地址为48H,49H,4AH,4BH,本实验采用8253的通道2,工作在方式3(方波发生器方式)输入CLK2为1MHZ。先给8253的初始值0C350H,循环记数。即一次记数完后,自动装入初始值。输出OUT2作为8259的

9、输入脉冲。8259有两个口地址,本实验为20H和21H,其中20H用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,采用3号中断源,即IR3和8253输出口OUT2相连,每过1/20秒接收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动转到7号中断,显示"ERR",CPU响应后,在中断处理程序中,对中断次数进行记数,记满20次,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。计数初值的计算:1/*X=1/20 X=50000D=0C350H(用1MHZ信号产生1/20秒方波)。2.2 主要模

10、块 系统各个模块设计 1、 系统总体设计 本系统设计的电子钟以 8088 微处理器作为 CPU, 8253 做定时计数器产生时 用 钟频率,8279 做可编程并行接口显示时钟和键盘电路,8259 做中断控制器产生中 断。在此系统中,8253 的功能是定时,接入 8253 的 CLK 信号为周期性时钟信号。 8253 采用计数器 0,工作于方式 2,使 8253 的 OUT0 端输出周期性的负脉冲信号。 即每隔 20ms, 8253 的 OUT0 端就会输出一个负脉冲的信号, 此信号接 8259 的 IR2, 当中断到 50 次数后,CPU 即处理,使液晶显示器上的时间发生变化。8255接受CS

11、片选信号,计时到点数产生输出。程序由以下模块组成:系统共有 5 个功能模块,分别为,主控模块,显示模块,定时模块,并行接口模块,中断模块。2、主控模块 主控模块是系的核心模块,对 8253、8279 进行初始化,设置中断向量,扫描 键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块 对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如 果键值为 C 则将显示初始值 00:00:00 置入显示缓冲,并调用显示模块显示。如 果键值为 G 则开中断, (中断程序为秒最低位加一) 。如果键值为 D 则关中断,停 止动态显示。如健值为 P 则连续六次调用小键盘模块,

12、将键值依次存入显示缓冲。 并调用显示模块显示。如果健值为 E,则终止程序,返回 DOS。3. 定时模块 定时模块是为 8259 提供中断请求信号的。由一片 8253 实现,选用定时器 0#, 工作在方式 3,由于时钟应该 1 秒走动一次,所以输出值应为 1S,其输出信号可作 为 8259 的中断请求信号。 4. 中断处理模块 中断模块实现动态显示的,硬件为一片 8259,由于中断请求信号为每秒一次, 中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一 秒,从而达到动态显示的效果。5 . 并行模块并行模块是8255是数据在多根传输线上一次以8位为单位进行传输。82

13、55由数据总线缓冲器,读/写控制逻辑、A组和B 组控制电路以及3个数据端口(A 口、B 口和C口)等组成。6. 显示模块 显示模块是将显示缓冲区的数值送到 LED 显示的功能模块,显示缓冲区是由六 个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。 硬件上由六个 LED 构成,软件上由扫描显示的方法实现。2.3 芯片初始化1.8253A定时/计数 8253 A既可作定时器又可作计数器: (1) 计数: 计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK 脉冲对计数值进行减1 计数,每来一个脉冲减1,当计数值减至0时,由OUT 端输出一个标志信号。 (2) 定

14、时: 计数器装入初值后,当GATE为高电平时,由CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。 除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。8253A控制字76543210 00 选计数器0 数制控制:0 = 二进制,1= BCD 01 选计数器1 10 选计数器2 工作方式选择:000 方式0 11 非法 001 方式1 ×10 方式2 00 计数器锁存命令 ×11 方式3 01 只读/写低8位,高8位自动置0 100 方式4 10 只读/写高8位,低8位自动置0 101 方式5 11 先写低8位,后写高8位 2.825

15、9单级中断控制8259A编程及初始化 写初始化命令字写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。 中断优先级排队和确定系统用单片还是多片。A7A6A51 7 6 5 4 3 2 1 0 0=不需写ICW4;1=需要写ICW4 0=多片8259级连;1=只一片8259 0=中断向量地址间距8;1=地址间距4(8088模式下为0) 0=上升沿触发;1=高电平触发 为1,ICW1标志位 中断向量A7,A6,A5位(8088模式下为000)3. 8279显示接口8279A的控制命令 (1) 键盘显示器方式设置命令 * RESE

16、T后,设定为该种方式。 (2) 扫描频率控制命令4.8255并行8255A控制字 (1) 方式选择控制字7 6 5 4 3 2 1 0 PC30:1=输入, 0=输出 PB口: 1=输入,0=输出 B组 方式选择:0=方式0,1=方式1 PC74:1=输入, 0=输出 PA口:1=输入,0=输出 方式选择:00=方式0 A组 01=方式1 01=方式1 01×=方式2 方式标志:1=有效 2.4 程序流程图1.主程序流程图开中断是否IRQ3关中断中断次数+1中断次数20?开中断,读中断把DATAPORT存放的数码管对应的状态显示到数码管是否=59秒秒数+1秒=00是否=59分分数+1

17、分=00是否=24时时数+1时=00在DATA2中,通过将DATA2起始地址加上当位数码管数字,找到对应的地址,取出对应的值放到05200527H地址中2.电子表处理程序数码管状态数据库初始化8279初始化8253初始化放初始值0C350H8259初始化允许IRQ3,IRQ7中断8255初始化延时59分钟灯全亮延时1分钟灯闪烁,蜂鸣器扬声2.5硬件接线图实验线路连接1.8253A芯片的CLK2引出插孔连分频输出插孔T1(1MHZ)。2. 8259A的IRQ3插孔和8253A的OUT2插孔相连。3.将8279接口模块上的插座DU(JB51)(a-h)用8芯线连接至数码管模块插座DU (a-h),

18、8279接口模块上插座BIT(JB53)连接至数码管模块插座BIT。4.8255 的片选CS插孔和8253A的Y2插孔相连,PC0-7和发光二极管相连,PC0和蜂鸣器相连。5.1MHz和开关K1 相连,开关K2 和8259A 的IR7相连。三、 调试结果打开汇编软件DVCC实验系统,设置正确的接口并且联机进入程序汇编界面。按照电子表设计的硬件把线路一一连接正确。8253计数器接线情况8255并行接口接线情况8259单级中断接线情况数码管位选与段选接线情况K开关接线情况按照正确接线之后,再把程序通过DVCC汇编写进去,编译再次链接,然后调试无误,点击运行。数码管会显示初始时间00-59-40,8

19、个发光二极管保持常亮,然后时间开始往下运行,到01-00-00时,发光二极管同时闪烁并且蜂鸣器扬声,该状态持续一分钟后自动停止;此外,拨动K 开关,会调出CSUCSU,并且时间暂停,重新拨回去,则继续运行时间。程序正确无误,实验效果良好,需要多次在不同的机子尝试。四、 课程设计总结4.1遇到问题及解决方案在设计中遇到不少的难题:在一开始按照指导书接线后没有得到相应的效果让我十分的疑惑,也认真检查了硬件的接线线路,后来得知是不一定每一个的仪器都能顺利与主机链接上,后来经过多次的多部机子调试后得到能成功运行代码的平台。在改进设计方案中,考虑过加入数字键盘进行时间校对,但从仪器的内部接线方法上我暂时

20、得不到可行的计划,或许键盘确实能实现时间的校对;此外,我发现8279有RESET的功能,不过从电路原理图上找不到接线,没法简单得实现时间重置。为了解决时间暂停,我想到简单的硬件操作,就是直接给脉冲接上低电平,使8253A的计数功能无法继续进行,当脉冲接回高电平则继续计数。当数码管暂停后,为了让效果更好,我加入了IRQ7中断,本来该中断是触发错误电平,数码管显示Err,然后我把中断屏蔽取消,并且给DATA1本是存储IRQ7的缓存数据改为新的代码,让其显示CSUCSU。在整点报时上,融入了8255,8255由DATA8的数值决定跳转哪种状态,当分钟大于等于1分钟,则是二极管常亮,当分钟小于等于0分

21、钟,则是二极管闪烁和蜂鸣器扬声。4.2 课程设计心得体会在设计刚开始时,我们只是知道要用8253A完成计数,用8259与数码管单元完成显示功能,但是具体怎么实现的还不是很清楚。在接下来的一小段时间里,我们觉得无从下手,但通过自己耐心搜集资料,向老师和同学请教,慢慢理出了头绪,也有了自己的设计思想和设计框架,并有了一定的实现方法。对于设计题目来说,并非那么得复杂,但要设计者将所学转换成相应的实际应用却并非一件容易的事情。本设计题目的设计思想是简单的,只需要使用8255A完成计数,用8259与8279A数码管单元完成显示功能,并通过自己的理解附加一些功能片段来完成电子表的人性化功能设计,如电子表的

22、校准、电子表的开始、停止、清零等功能。在课程设计过程中,我深刻地体会到:微机原理与接口技术这门课程对于我们的要求不仅限于对书本知识的理解,更重要的是对书本知识的运用。除此之外,我们应该在学习过程中充分发挥自己的想象力和创新意识,将对书本知识的理解与我们的创新意识相结合,设计出实用且功能良好的实物。通过本次课程设计,也提高了我们的编程能力、协作能力和创新能力,为以后的学习打下了良好的基础。参考文献1梁健武 ,微机原理与接口技术 中国水利水电出版社2 宋杰 汪志宏 江敏,微机原理与接口技术课程设计机械工业出版社3范会敏 李晋惠,微型计算机原理及接口技术应用 科学出版社 附录:电子表软件代码 COD

23、E SEGMENTASSUME CS:CODE/指定代码段为CSINTPORT1 EQU 0020H/8259端口地址,EQU符号常量INTPORT2 EQU 0021H/把地址定义为符号名INTQ3 EQU INTERUPT3INTQ7 EQU INTERUPT7CONTPORT EQU 00DFH/8279端口地址DATAPORT EQU 00DEHDATA1 EQU 0500H/数据段DATA2 EQU 0508HDATA3 EQU 0518HDATA4 EQU 0520HDATA5 EQU 0528HDATA6 EQU 0529HDATA7 EQU 052AH/时DATA8 EQU 0

24、52BH/分DATA9 EQU 052CH/秒DATA10 EQU 052EHIOCONPT EQU 0073H/8255端口,控制寄存器端口地址IOCPT EQU 0072H/C口IOBPT EQU 0071H/B口IOAPT EQU 0070H/A口ORG 1000H/目标程序第一字节的入口地址,1000H为数据段划分区间START: CALL FORMAT/CALL调用子程序 CLD/方向标志位,DF复位,程序往下执行 MOV DX,CONTPORT /8279初始化MOV AL,00H/000为标志位,键盘互锁OUT DX,AL ;KEYBORD DISPLY MODEMOV AL,2

25、AH/001为标志位,分频系数是10DOUT DX,AL ;8279 CLOCKMOV AL,0d0h/110为标志位,清除FIFO状态字OUT DX,AL ;8279 CLEARMOV AL,90h/100为标志位,显示RAM,AI自增1OUT DX,AL ;READ FIFO RAM COMMAND MOV DX,004BH /8255初始化,是16位计数器,片选 MOV AL,0B6H/计数器2方式3先低后高二进制 OUT DX,AL MOV DX,004AH/计数器2的端口地址 MOV AL,50H OUT DX,AL MOV AL,0C3H OUT DX,AL/装载0C350H初值

26、MOV SI,DATA3/源操作数放到源变址寄存器 CALL LEDDISP MOV AX,0H MOV DS,AX CALL WRINTVER MOV AL,13H /8253初始化,边沿触发单片用ICW4 MOV DX,INTPORT1/命令寄存器地址 OUT DX,AL MOV AL,08H/B选中第3个,11为IRQ3 MOV DX,INTPORT2/IRQ3,写ICW2 OUT DX,AL MOV AL,0BH/缓冲主片非自动处理器8086 OUT DX,AL/写基本工作方式ICW4 MOV AL,77H/操作命令字OCW1,中断屏蔽 OUT DX,AL/B,0为中断1为屏蔽 MOV

27、 AL,80H /8255初始化,写控制字 MOV DX,IOCONPT OUT DX,AL/A方式0,ABC口为输出 MOV DX,IOCPT/C口 MOV AL,0FFH/高电平,灯全亮 OUT DX,ALWAITING: STI/开中断,整点报时IOLED0: MOV AL,0FFH/方式2,ABC为输入 MOV DX,IOCPT OUT DX,AL CALL T1 MOV CX,2 MOV AL,0FFHIOLED1: MOV DX,IOCPT OUT DX,AL AND AL,00H PUSH CX MOV CX,8FFFHDELAY0: LOOP DELAY0 POP CX LOO

28、P IOLED1 CALL T2 JMP IOLED0T1: CMP BYTE PTR DS:DATA8,1H/>=1min灯亮 JNB T1T2: CMP BYTE PTR DS:DATA8,0H/<=0min灯闪蜂鸣 JB T2 WRINTVER: MOV AX,0H MOV ES,AX MOV DI,002CH/002CH=44D=4*11,11为中断类型 LEA AX,INTQ3/取中断向量表IRQ3偏移地址到AX STOSW/再把AX内容放到ES:DI所指002CH MOV AX,CS/取中断向量表IRQ3段地址 STOSW MOV DI,003CH/003CH=60D=

29、4*15,15为IRQ7中断 LEA AX,INTQ7/类型号 STOSW MOV AX,CS STOSW RETINTERUPT3:CLI /关中断,CPU 开始执行 MOV AL,DS:DATA6 INC AL/AL自增 MOV DS:DATA6,AL/记录中断次数 CMP AL,14H/满20次,往下执行 JC PLAY/有借位跳PLAY MOV BYTE PTR DS:DATA6,00H MOV SI,DATA4/显示把DATA4地址给SI CALL LEDDISP CALL NEWTIME CALL CONVERSALLPLAY: MOV AL,20H/再读一次中断 MOV DX,I

30、NTPORT1/OCW2 OUT DX,AL STI IRETINTERUPT7: CLI/当电平不符,自动跳Err MOV SI,DATA1 CALL LEDDISP MOV AL,20H MOV DX,INTPORT1 OUT DX,AL IRETLEDDISP: MOV AL,90H/显示RAM MOV DX,CONTPORT OUT DX,AL MOV CX,08H /与LOOP共用,循环8次 MOV BYTE PTR DS:DATA5,07H/刷新数码管LED1: MOV BL,DS:DATA5 MOV BH,0H MOV AL,CS:BX+SI/051FH为段地址 MOV DX,D

31、ATAPORT OUT DX,AL SUB BYTE PTR DS:DATA5,01H/从051FH每次减1 LOOP LED1/直到0518H跳出循环LED2:RETFORMAT: MOV BX,0/DATA1,显示CSU-CSU MOV WORD PTR DS:BX+DATA1,6D3EH ADD BX,2 MOV WORD PTR DS:BX+DATA1,4039H ADD BX,2 MOV WORD PTR DS:BX+DATA1,3E40H ADD BX,2 MOV WORD PTR DS:BX+DATA1,396DH ADD BX,2 MOV WORD PTR DS:BX+DATA

32、1,063FH/DATA2 ADD BX,2 MOV WORD PTR DS:BX+DATA1,4F5BH ADD BX,2 MOV WORD PTR DS:BX+DATA1,6D66H ADD BX,2 MOV WORD PTR DS:BX+DATA1,077DH ADD BX,2 MOV WORD PTR DS:BX+DATA1,6F7FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,7C77H ADD BX,2 MOV WORD PTR DS:BX+DATA1,5E39H ADD BX,2 MOV WORD PTR DS:BX+DATA1,7179H ADD BX

33、,2 MOV WORD PTR DS:BX+DATA1,3F3FH/DATA3 ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F40H ADD BX,2 MOV WORD PTR DS:BX+DATA1,403FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH/DATA4 ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F40H ADD BX,2 MOV WORD PTR DS:BX+DATA1,403FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH MOV BYTE PTR DS:DATA6,00D/DATA6-10 MOV BYTE PTR DS:DATA7,11H MOV BYTE PTR DS:DATA8,59H MOV BYTE PTR DS:DATA9,40H MOV

温馨提示

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

评论

0/150

提交评论