微机原理与接口技术电子表设计.docx
- 文档编号:26543613
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:35
- 大小:3.88MB
微机原理与接口技术电子表设计.docx
《微机原理与接口技术电子表设计.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术电子表设计.docx(35页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术电子表设计
…
微机原理与接口技术
课程设计报告
、
设计名称:
电子表设计
专业:
计算机原理与接口技术
班级:
姓名:
学号:
指导教师:
|
2014年11月27日
摘要................................................................2
一、设计目的及要求.................................................3
设计任务......................................................3
设计功能.....................................................3
课程设计方式及基本要求........................................3
实验方式..................................................3
*
基本要求..................................................3
设计所用元件..................................................4
二、设计题目及思想.................................................4
设计原理......................................................4
主要模块.......................................................5
芯片初始化....................................................7
程序流程图....................................................9
硬件接线图...................................................11
|
三、调试结果.....................................................13
四、课程设计总结...................................................16
遇到问题及解决方案............................................16
课程设计心得体会.............................................16
参考文献
附录
`
摘要
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。
至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。
随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。
通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。
这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。
很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。
关键词:
汇编语言微机原理接口技术时钟显示
一、设计目的及要求
1.1设计任务:
随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。
通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:
汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。
(1)通过设计电子表,掌握中断的使用方法。
(2)掌握基本的显存读写技术。
(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。
(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。
(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。
1.2"
1.3设计功能:
1.电子表,具有时、分、秒24小时制的运行,并可以在8位数码管上显示。
2电子表具有启动键、停止键、初始化、蜂鸣、按点报时、暂停跳转CSU--CSU。
课程设计方式与基本要求
实验方式:
微机原理与接口技术课程设计共2周,要求学生做出设计方案(硬件线路图、程序框图)并提交指导教师检查确认。
然后进行硬件连接、软件调试、得出结果,由指导教师检查是否达到设计要求,最后撰写报告。
根据通信工程专业学生的实际情况,课程设计的指导思想是:
对于学习成绩好、动手能力强的学生,让他们有充分发挥的余地;对于大多数学生务必完成设计要求;对于少数学习稍差的学生只需完成基本要求。
基于这一原则给出了3~5个题目,每一个题目的大小、难易可以伸缩,由学生自选。
!
基本要求:
电子表以时、分、秒的形式实时显示当前时间。
掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
1.熟练掌握汇编语言的程序设计;
2.熟练掌握各种编程接口芯片的编程应用
3.通过实验方法掌握各种电路综合分析与设计方法。
设计所用元件
设备是武汉恒科电子教学仪器有限公司的超想—3000TB综合实验/仿真系统。
配合PC机构成实验环境。
…
8253定时器:
用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。
8279接口芯片:
实现键盘输入和显示输出。
8259中断控制器:
用于产生中断。
8255并行控制器:
触发LED灯闪烁和蜂鸣器扬声。
数码管:
六个LED用于显示时:
分:
秒值。
发光二极管:
闪烁报时。
蜂鸣器:
扬声报时。
)
二、设计题目及思想
设计原理:
计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握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,并将其输入到显示缓冲区,以便显示器显示更新后的时间。
计数初值的计算:
1/1000000*X=1/20X=50000D=0C350H(用1MHZ信号产生1/20秒方波)。
、
主要模块
系统各个模块设计
1、系统总体设计
本系统设计的电子钟以8088微处理器作为CPU,8253做定时计数器产生时用钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。
在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。
8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。
即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。
8255接受CS片选信号,计时到点数产生输出。
程序由以下模块组成:
系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,并行接口模块,中断模块。
2、主控模块
主控模块是系的核心模块,对8253、8279进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。
主要由软件实现。
它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:
00:
00置入显示缓冲,并调用显示模块显示。
如果键值为G则开中断,(中断程序为秒最低位加一)。
如果键值为D则关中断,停止动态显示。
如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。
并调用显示模块显示。
如果健值为E,则终止程序,返回DOS。
}
3.定时模块
定时模块是为8259提供中断请求信号的。
由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。
4.中断处理模块
中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。
5.并行模块
并行模块是8255是数据在多根传输线上一次以8位为单位进行传输。
8255由数据总线缓冲器,读/写控制逻辑、A组和B组控制电路以及3个数据端口(A口、B口和C口)等组成。
:
6.显示模块
显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。
硬件上由六个LED构成,软件上由扫描显示的方法实现。
芯片初始化
定时/计数
8253A既可作定时器又可作计数器:
(1)计数:
计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号。
?
(2)定时:
计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。
8253A控制字
00选计数器0数制控制:
0=二进制,1=BCD
。
01选计数器1
10选计数器2工作方式选择:
000方式0
11非法001方式1
×10方式2
00计数器锁存命令×11方式3
01只读/写低8位,高8位自动置0100方式4
10只读/写高8位,低8位自动置0101方式5
11先写低8位,后写高8位
~
7
6
5
4
·
3
2
1
0
@
单级中断控制
8259A编程及初始化
写初始化命令字
写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。
@
中断优先级排队和确定系统用单片还是多片。
…
"
3.8279显示接口
8279A的控制命令
(1)键盘显示器方式设置命令
*RESET后,设定为该种方式。
(2)扫描频率控制命令
\
并行
8255A控制字
(1)方式选择控制字
:
程序流程图
1.主程序流程图
~
$
¥
【
!
~
…
2.电子表处理程序
)
(
。
(
;
硬件接线图
实验线路连接
芯片的CLK2引出插孔连分频输出插孔T1(1MHZ)。
2.8259A的IRQ3插孔和8253A的OUT2插孔相连。
3.将8279接口模块上的插座DU(JB51)(a-h)用8芯线连接至数码管模块插座DU(a-h),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个发光二极管保持常亮,然后时间开始往下运行,到01-00-00时,发光二极管同时闪烁并且蜂鸣器扬声,该状态持续一分钟后自动停止;此外,拨动K开关,会调出CSU—CSU,并且时间暂停,重新拨回去,则继续运行时间。
程序正确无误,实验效果良好,需要多次在不同的机子尝试。
四、课程设计总结
遇到问题及解决方案
在设计中遇到不少的难题:
!
在一开始按照指导书接线后没有得到相应的效果让我十分的疑惑,也认真检查了硬件的接线线路,后来得知是不一定每一个的仪器都能顺利与主机链接上,后来经过多次的多部机子调试后得到能成功运行代码的平台。
在改进设计方案中,考虑过加入数字键盘进行时间校对,但从仪器的内部接线方法上我暂时得不到可行的计划,或许键盘确实能实现时间的校对;此外,我发现8279有RESET的功能,不过从电路原理图上找不到接线,没法简单得实现时间重置。
为了解决时间暂停,我想到简单的硬件操作,就是直接给脉冲接上低电平,使8253A的计数功能无法继续进行,当脉冲接回高电平则继续计数。
当数码管暂停后,为了让效果更好,我加入了IRQ7中断,本来该中断是触发错误电平,数码管显示Err,然后我把中断屏蔽取消,并且给DATA1本是存储IRQ7的缓存数据改为新的代码,让其显示CSU—CSU。
>
在整点报时上,融入了8255,8255由DATA8的数值决定跳转哪种状态,当分钟大于等于1分钟,则是二极管常亮,当分钟小于等于0分钟,则是二极管闪烁和蜂鸣器扬声。
课程设计心得体会
在设计刚开始时,我们只是知道要用8253A完成计数,用8259与数码管单元完成显示功能,但是具体怎么实现的还不是很清楚。
在接下来的一小段时间里,我们觉得无从下手,但通过自己耐心搜集资料,向老师和同学请教,慢慢理出了头绪,也有了自己的设计思想和设计框架,并有了一定的实现方法。
对于设计题目来说,并非那么得复杂,但要设计者将所学转换成相应的实际应用却并非一件容易的事情。
本设计题目的设计思想是简单的,只需要使用8255A完成计数,用8259与8279A数码管单元完成显示功能,并通过自己的理解附加一些功能片段来完成电子表的人性化功能设计,如电子表的校准、电子表的开始、停止、清零等功能。
在课程设计过程中,我深刻地体会到:
《微机原理与接口技术》这门课程对于我们的要求不仅限于对书本知识的理解,更重要的是对书本知识的运用。
除此之外,我们应该在学习过程中充分发挥自己的想象力和创新意识,将对书本知识的理解与我们的创新意识相结合,设计出实用且功能良好的实物。
通过本次课程设计,也提高了我们的编程能力、协作能力和创新能力,为以后的学习打下了良好的基础。
参考文献
)
[1]梁健武,《微机原理与接口技术》中国水利水电出版社
[2]宋杰汪志宏江敏,《微机原理与接口技术课程设计》机械工业出版社
[3]范会敏李晋惠,《微型计算机原理及接口技术应用》科学出版社
附录:
电子表软件代码
CODESEGMENT
ASSUMECS:
CODE//指定代码段为CS
:
INTPORT1EQU0020H//8259端口地址,EQU符号常量
INTPORT2EQU0021H//把地址定义为符号名
INTQ3EQUINTERUPT3
INTQ7EQUINTERUPT7
CONTPORTEQU00DFH//8279端口地址
.
DATAPORTEQU00DEH
DATA1EQU0500H//数据段
DATA2EQU0508H
DATA3EQU0518H
DATA4EQU0520H
DATA5EQU0528H
DATA6EQU0529H
'
DATA7EQU052AH//时
DATA8EQU052BH//分
DATA9EQU052CH//秒
DATA10EQU052EH
IOCONPTEQU0073H//8255端口,控制寄存器端口地址
IOCPTEQU0072H//C口
IOBPTEQU0071H//B口
?
IOAPTEQU0070H//A口
ORG1000H//目标程序第一字节的入口地址,1000H为数据段划分区间
START:
CALLFORMAT//CALL调用子程序
CLD//方向标志位,DF复位,程序往下执行
MOVDX,CONTPORT//8279初始化
(
MOVAL,00H//000为标志位,键盘互锁
OUTDX,AL;KEYBORDDISPLYMODE
MOVAL,2AH//001为标志位,分频系数是10D
OUTDX,AL;8279CLOCK
MOVAL,0d0h//110为标志位,清除FIFO状态字
OUTDX,AL;8279CLEAR
MOVAL,90h//100为标志位,显示RAM,AI自增1
OUTDX,AL;READFIFORAMCOMMAND
:
MOVDX,004BH//8255初始化,是16位计数器,片选
MOVAL,0B6H//计数器2方式3先低后高二进制
OUTDX,AL
MOVDX,004AH//计数器2的端口地址
MOVAL,50H
OUTDX,AL
MOVAL,0C3H
:
OUTDX,AL//装载0C350H初值
MOVSI,DATA3//源操作数放到源变址寄存器
CALLLEDDISP
MOVAX,0H
MOVDS,AX
CALLWRINTVER
$
MOVAL,13H//8253初始化,边沿触发单片用ICW4
MOVDX,INTPORT1//命令寄存器地址
OUTDX,AL
MOVAL,08H//00001000B选中第3个,11为IRQ3
MOVDX,INTPORT2//IRQ3,写ICW2
OUTDX,AL
MOVAL,0BH//缓冲主片非自动处理器8086
@
OUTDX,AL//写基本工作方式ICW4
MOVAL,77H//操作命令字OCW1,中断屏蔽
OUTDX,AL//01110111B,0为中断1为屏蔽
MOVAL,80H//8255初始化,写控制字
MOVDX,IOCONPT
OUTDX,AL//A方式0,ABC口为输出
MOVDX,IOCPT//C口
】
MOVAL,0FFH//高电平,灯全亮
OUTDX,AL
WAITING:
STI//开中断,整点报时
IOLED0:
MOVAL,0FFH//方式2,ABC为输入
MOVDX,IOCPT
OUTDX,AL
CALLT1
]
MOVCX,2
MOVAL,0FFH
IOLED1:
MOVDX,IOCPT
OUTDX,AL
ANDAL,00H
PUSHCX
MOVCX,8FFFH
{
DELAY0:
LOOPDELAY0
POPCX
LOOPIOLED1
CALLT2
JMPIOLED0
T1:
CMPBYTEPTRDS:
[DATA8],1H//>=1min灯亮
JNBT1
T2:
CMPBYTEPTRDS:
[DATA8],0H//<=0min灯闪蜂鸣
;
JBT2
WRINTVER:
MOVAX,0H
MOVES,AX
MOVDI,002CH//002CH=44D=4*11,11为中断类型
$
LEAAX,INTQ3//取中断向量表IRQ3偏移地址到AX
STOSW//再把AX内容放到ES:
DI所指002CH
MOVAX,CS//取中断向量表IRQ3段地址
STOSW
MOVDI,003CH//003CH=60D=4*15,15为IRQ7中断
LEAAX,INTQ7//类型号
STOSW
MOVAX,CS
¥
STOSW
RET
INTERUPT3:
CLI//关中断,CPU开始执行
MOVAL,DS:
[DATA6]
INCAL//AL自增
MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 电子表 设计