微型计算机技术课程设计报告.docx
- 文档编号:10513456
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:15
- 大小:528.71KB
微型计算机技术课程设计报告.docx
《微型计算机技术课程设计报告.docx》由会员分享,可在线阅读,更多相关《微型计算机技术课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
微型计算机技术课程设计报告
微型计算机技术
课程设计
指导教师:
葛方振
学生班级:
11非
学生姓名:
孟健立
学号:
20101202030
一、课设目的
1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。
2.主要掌握接口芯片8253、8255A等可编程器件的使用,掌握译码器74LS138的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程:
分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
二、课设内容
1、课设题目
课程设计题目:
定时查询式走马灯电路及程序设计。
利用《微型计算机技术》课程中所学的主要可编程接口芯片8253、8255A设计一个定时查询式走马灯电路及程序。
2、功能要求
采用8253设计一个1s定时电路,将定时信号接到8255的PC口的某一位,编程查询该位的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。
按下Esc键结束程序。
3、设计所需器材与工具
①一块实验面包板(内含时钟信号1MHz或2MHz)。
②可编程芯片8253、8255A、74LS138、74LS245各一片。
74LS06两片,发光二极管8个。
排电阻一个。
③导线若干。
④示波器、万用表、常用工具等共用(从实验室现借现还)。
三、设计思路
1.利用74LS138设计地址译码电路,8255A端口地址:
300H~303H,8253的端口地址:
304H~307H。
2.74LS245用于总线和8253、8255A之间的双向传输和隔离。
3.利用面包板上时钟(1MHz或2MHz)和8253设计一个1s定时电路,将定时信号接到8255的PC4,编程查询PC4的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。
按下Esc键结束程序。
4.每个74LS06中包含了6个非门,它的输入来自PA口的某一位,输出接到发光二极管的负极。
5.每个发光二极管的正极接排电阻的从2到9的一个引脚,排电阻的1脚接VCC(+5V)。
四、电路设计
1、设计电路图
根据设计思路,利用PROTEUS绘图软件绘制出电路原理图,见图4.1。
图4.1电路原理图
2、功能说明
A:
接口芯片8255的A端口作输出端口,与8个发光二极管相接,编程查询8255的PC口的某一位(本程序使用PC4)的状态,若为低电平,则从PA口的输出不同的值使与PA口相连的发光二极管依次变化。
B:
定时器8253的CLK1接面包板的1MHz时钟引脚,8253为接口芯片8255的PC4口提供一个1s的定时信号。
C:
译码电路由三八译码器74LS138提供,在总线和接口芯片8255之间还必须加入数据总线缓冲器74LS245,起到数据缓冲、隔离总线的作用。
D:
74LS06提供6个非门,其输入来自接口芯片8255的PA口的输出,其输出接发光二极管的负极,其作用是将接口芯片8255的PA口输出反相。
发光二极管的正极接排电阻的2至9号引脚,排电阻的1号引脚接VCC(+5V)。
3、芯片结构简介
74LS245数据总路线缓冲器
74LS245在整个电路中起到桥梁的作用。
表4.174LS245功能表
图4.274LS245引脚图
图4.374LS245内部结构图
74LS06反相器
图4.474LS06内部结构图
三八译码器74LS138
图4.574LS138引脚图
表4.2译码电路
接口芯片8255
图4.68255A引脚图
定时器/计数器8253
图4.78253内部结构图与引脚图
4、编程初始化8255和8253
初始化8255
8255有四个寄存器,地址为300h-303h,分别为A口,B口,C口,和控制口,首先要写入控制字,控制字格式如下:
表4.38255方式控制字
D7D6D5D4D3D2D1D0
特征位
1
A组方式选择
端口A输入/输出
C口高四位输入/输出
B组方式选择
端口B输入/输出
端口C低四位输入/输出
表4.4C端口位控制字
D7D6D5D4D3D2D1D0
特征位0
任意
位选择
置位/复位0为复位,1为置位
可用如下代码初始化8255:
movdx,303h
moval,10100001b
outdx,al;初始化8255
movdx,300h
moval,00h
outdx,al;关显示
初始化8253
8253没有复位信号,加电后工作方式不确定。
为使8253正常工作,必须对其初始化编程,写入控制字和计数初值。
表4.58253方式控制字
D7D6D5D4D3D2D1D0
计数器选择
读写格式
工作方式
计数方式
8253初始化代码如下:
MOVDX,307H;初始化8253定时1s
MOVAL,01110110b
OUTDX,AL
MOVDX,305H
MOVax,1000
OUTDX,AL
MOVAL,ah
OUTDX,AL
MOVDX,307H
MOVAL,10110100B
OUTDX,AL
MOVDX,306H;306
MOVax,1000
OUTDX,AL
MOVAL,ah
OUTDX,AL
五、程序设计
1、程序流程图
本课设主程序流程如图5.1所示。
图4.8主程序流程图
2、算法分析
程序开始首先初始化接口芯片8255与计数器/定时器8253,接着启动8253产生1s定时信号,然后程序进入循环:
检测是否有键按下,若没有,转
;
检测PC4的状态,若为低电平,转
,否则转
;
控制8255的PA口输出并令计数值(count)加1;
比较计数值与8的大小,若计数值等于8,置计数值为初值0;
重复上诉过程,直至有键按下结束程序。
为了使程序执行结果利于观察比较,还需在第
步与第
步中加入适当的延时。
3、程序清单
根据以上分析,设计出如下汇编程序清单:
ASSUMECS:
CODE,DS:
DATA
DATASEGMENT
messegedb'ExitwithEsc',0ah,0dh,'$'
Leddatadb01h,02h,04h,08h,10h,20h,40h,80h,81h
countdb0
DATAENDS
CODESEGMENT
DelayPROC;延时过程
PUSHCX
PUSHBX
MOVBX,5FFFH
LOOP2:
MOVCX,0FFFFH
LOOP1:
LOOPLOOP1
DECBX
JNZLOOP2
POPBX
POPCX
RET
DELAYENDP
START:
MOVAX,DATA
MOVDS,AX
LEADX,MESSEGE
MOVAH,9
INT21H;显示提示信息
MOVDX,303H;初始化8255
MOVAL,10100001B
OUTDX,AL
MOVDX,300H
MOVAL,00H
OUTDX,AL;关显示
MOVDX,307H;8253定时1S
MOVAL,01110110b
OUTDX,AL
MOVDX,305H
MOVAX,1000
OUTDX,AL
MOVAL,ah
OUTDX,AL
MOVDX,307H
MOVAL,10110100B
OUTDX,AL
MOVDX,306H
MOVAX,1000
OUTDX,AL
MOVAL,ah
OUTDX,AL
LEASI,Leddata
next0:
;循环检测
CALLDelay;调用延时过程
MOVDX,60H
INAL,DX
CMPAL,1H;检测是否有键按下
JZEXITP
MOVDX,302H;
INAL,DX
ANDAL,00010000B;检测PC4状态
CMPAL,0
JNZNEXT0
MOVAL,DS:
[SI]
MOVDX,300H
OUTDX,AL;控制PA口输出
MOVCX,03FFFH
s1:
NOP;延时
LOOPs1
INCSI
INCCOUNT
CMPCOUNT,8;计数值比较
JNZNEXT0
MOVAL,0;
MOVCOUNT,AL
LEASI,LEDDATA
JMPNEXT0
EXITP:
MOVAH,4CH;退出
INT21H
CODEENDS
ENDSTART
六、调试
1、调试分析
在调试的过程中,有很多技巧,刚开始的时候,我把所有的电路都连接好调试,结果那样带来了很多的麻烦,而且也不容易找出错误的所在,最后我一个器件一个器件的调试,先从8255开始,发现8255能正确输出数据,接下来测试的是8253,一开始,分频率总是不对,计数初值没有问题,经过仔细检查才发现8253的芯片出了问题,电源引脚没插紧,导致接触不良,插紧后就没有问题了。
这些故障调试通过后,整个设计就完成了。
总的来说,整个过程还是蛮顺利的。
七、收获与体会
通过本次课程设计,让我学到了很多的东西,对汇编语言程序设计也加深了理解和更加深入的掌握,我们这次设计的主要目的是熟悉微型计算机技术中所学到的几种芯片的使用,掌握它们的初始化编程,并学会他们的基本应用,这是一个比较全面的设计,和以前的数字电路实验、软件实验、物理实验等相比要复杂很多,一方面要求我们设计硬件电路,另一方面需要对设计的硬件电路进行编程,这就需要软件和硬件相结合,具体的电路具体分析。
在此次设计中还用到了DOS功能调用,子程序调用,输入输出接口编程等知识内容。
在此设计遇到了一些困难,一开始的时候,程序没有设置好适当的延时导致硬件电路测试都没成功,后来慢慢摸索才找到了这个适当的延时时间,这也是查询式控制的一个弊端。
通过这次课程设计,我对学习微型计算机技术有了一定的体会,它要求我们认真仔细的做好每个环节,对所有的问题要考虑周全,它和软件不同,对具体的电路要编写适合该电路的程序,电路一改,程序也要跟着改,从中我也学会了很多实际应用的知识。
最后,还要感谢各位指导老师在百忙之中抽出时间来对我们的帮助和辅导,他们给我们讲授了一些编程的经验,这对于我以后做事帮助很大,由于他们的热情帮助和支持我们才能顺利的完成这次课程设计的任务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 技术 课程设计 报告