版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宁夏大学微型计算机原理与接口技术课程设计(2012级本科)题 目:计数器系院:物理电气信息学院专业:网络工程专业作者姓名:白金晶学号:指导教师:庄红完成日期: 2014年月_日计数器是一种基础测量仪器,到目前为止已有30多年的发展史。早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量电子计算器的技术水平,决定电子计数器价格高低的主要依据。目 前这些基本技术臻完善,成熟。应用现代技术可以轻松地将电子计数器的测频上 限扩展到微波频段。利用8253定时/计数器和8255接口电路,设计一个十进制 计数器,对外部事件进行计数,计满100即清0,并在八个发光二极管或
2、七段led. 显示器上显示计数值。按下开关K0开始对外部事件计数,按下开关K1停止计数, 按下开关K2显示器清零。关键词8253定时/计数器、8255接口电路、八个发光二极管、控制 LED显示器.前言 31.1设计背景 31.2系统设计目的 31.3设计任务与要求 3总体方案设计分析、讨论 2.1总体方案设计分析.问题描述分析.333错误!未定义书签。2.2系统的主要功能 错误!未定义书签2.1.2 问题的解决方案分析错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签致谢错误!未定义书签三. 详细设计 错误!未定义书签3.1硬件设计
3、 错误!未定义书签3.1.1 芯片选择 错误!未定义书签3.1.2 系统电路图 错误!未定义书签3.1.3 电路图说明分析 错误!未定义书签3.2软件设计 错误!未定义书签3.2.1 程序流程图 错误!未定义书签3.2.2 程序设计源代码与注释 错误!未定义书签四. 系统调试与实现 4.1 实验步骤4.2调试结果与分析 4.3、设计模拟电路仿真 五. 总结5.1课程设计小结5.2课程设计体会16参考文献一、前言1.1设计背景计数器是一种基础测量仪器,到目前为止已有30多年的发展史。早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量电 子计算器的技术水平,
4、决定电子计数器价格高低的主要依据。目前这些基本技术臻完善, 成熟。应用现代技术可以轻松地将电子计数器的测频上限扩展到微波频段。1.2设计目的进一步撑握8255可编程并行接口芯片的工作原理及控制LED显示电路的编程方法。进一步撑握8253定时器 计数器的工作原理和编程方法。1.3设计任务与要求利用8253定时/计数器和8255接口电路,设计一个十进制计数器,对外部事件进行 计数,计满100即清0,并在八个发光二极管或七段led.显示器上显示计数值。按下开 关K0开始对外部事件计数,按下开关K1停止计数,按下开关K2显示器清零。二、总体方案设计、讨论2. 1总体方案设计课程设计是计算机应用、电子类
5、专业较重要的一个实践性环节。其目的和作用是使学生能将已学过的模拟电路、数字电路、微机原理与接口技术、EDA等知识综合运用于电子系统的设计中,从而培养学生对电子系统的设计能力,这是在所有实践性课程 中最具活力,最能培养学生的自主学习、实践能力,最能培养学生创新思维的实践课程 之一。同时课程设计是对学生的一种基本素质训练较好方式。通过课程设计,使学生能运 用已学过的计算机软件硬件知识来进行微机接口应用系统开发和调试。了解微机接口应用开发的全过程:分析需求,设计原理图,选用元器件,布线,编程,调试,撰写报告 等。培养学生的动手能力和解决实际问题的能力,为今后从事微机接口应用和开发方面 的工作打下坚实
6、的基础三、详细设计硬件设计3.1设计方案系统框图及其描述(1) 系统框图如图1所示系统框图(2) 系统框图描述8086通过地址译码器选中 8253、8255芯片,通过数据总线 D0D7对8253及8255进行数据的读写。8253的定时器0工作在方式3, CLK1接外部事件(单脉冲),GATE0接开关K0,控制计数器的开始和暂停。 OUTO接PB0。8255的PA、PB、PC三个端口均工作于方式 0, PA、PC作为输出口,PB作为输入口。PC 口通过3-8译码器选中对应的数码管,PB0接OUT0的输出,检测电平的跳变从而实行计数,PB1接开关K1,对清零信号进行检测。PA0PA7接数码管的LE
7、D-ALED-DP,控制数码管数字的显示。方案实现原理设定计时器0工作在方式3,计数器初值设定为2,外部事件脉冲通过计数器 0CLK0输入,将OUT0接到PB0,外部事件每触发一次,则在 OUTO上发生一 次电平的跳变,8086通过检测PB0 口累计电平的跳变的次数,将值存放在寄存 器CL中,每当CL中的值等于10,将CH中的值加1,实现十进制的进位,最 后通过查表,将CL和CH的值显示到对应的数码管中。开关 K0通过GATE0控 制计数器的工作状态,实现开始和暂停的功能,开关K1通过控制PB1端口的电平实现清零的功能。3.2硬件原理硬件原理图g izciS"EjEY点i彰 xBs-
8、X51;A.A1ETSriifi摯CLF諜sunUil 1nsrrAlHlG15TTV3 J - M 鼻=* 耳 Q J J® - "1 ml. y * 2al、e 仏砂忒仏汕沁筋瑟E?需SEm弓=疋=!11亠(T:亠亠-硬件原理图图 2322硬件原理图描述(1)外部连线8086通过地址总线A3A7接地址译码器输入端,Y1(F210H)接8253片选,Y3(F218H)接8255片选。8253计数器OCLKO接单脉冲触发器(外部事件),OUTO接 8255PB0, PB1 接开关 K1,GATE0 接开关 KO,8255PC3PC5 分别接LED-SALED-SC,8255
9、PA0PA7 分别接 LED-ALED-DP。(2)原理图描述8086的地址线低位接在地址译码器 74LS138 上, 8253、8255的片选端都接在地 址译码器的输出上,从而决定了 8253、8255的各端口地址。从图上可以看出 8253的片选地址是F210H, 8255的片选地址 是F218H。8086的数据总线与8255、8253的数据 端接起来,对8253及8255进行数据读写。8086将运算结果送到PA端口上,实现计数 器的功能。3.3模块电路的介绍及分析3.3.1 8253 芯片(1)8253的引脚及其功能8253是双列直插式24脚芯片,标准封装为DIP24,引脚如图(2)825
10、3的内部结构In tel 8253芯片由数据总线缓冲器(8位)、读/写控制逻辑电路、控制字寄存器和 3 个结构完全相同的计数器组成。数据总线缓冲器用于将8253与系统数据总线相连,CPU读写8253的所有数据都经 过这个缓冲器,包括CPU写入方式控制字、CPU写入计数值和CPU读出计数值。读/ 写控制逻辑电路接收来自系统总线的输入信号,将其转换成8253内部的操作和控制信号,选择读写操作对象,决定内部总线上数据的传送方向。控制字寄存器接收来自CPU的方式控制字,控制相应计数器的工作方式。三个独立的计数器通道计数器0、计数器1和计数器2都是16位减1计数器,减1操作由每个计数器/定时器的时钟输入
11、脉冲下 降沿触发启动。与16位减1计数器对应的还有一个16位预置寄存器和输出锁存器。预 置寄存器存放计数初值,输出锁存器用于写入锁存命令时锁定当前计数值。每个计数器在CLK输入频率一定的情况下,可编程GATE的控制方式和OUT的输 出方式生成6种信号发生器: 基本计数器, 可重复触发的单稳态触发器, 分频器, 方波发生器, 软件触发的选通信号发生器, 硬件触发的选通信号发生器。D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND1242233224215206825319718817916101511141213VccWRRDCSA1A0CLK2OUT2GATE2CLK1GATE1
12、OUT18253引脚图引朋體铭助陆览I?】VCC24Power+列屯源GND12Puwyr1-8r/b数据总线CI-KO9i兰时豁汁数制时ma入KI0疋时斟/讣独罄0加山GATEDii1定时器门F散器0门盘输入CLKI1宦时敵讣ftSl时秆输人OUTIM0业蚩 1 输IUGATEI13I定吋稱/计数黑H按辂人CLK2IN1宜时闇虫卜数曙2 im+ift人oun170罡时器f计救器兰掘出(SATE21応时门淬埔入AKAO14201地址规输人CS21片蘆1酬号o231写偿号8253引脚功能图图4(3)8253方式控制字8253的控制字包括4项不同的编程信息:D7 D6 D5 D4 D3 D2 D1
13、DOSC1SC0RW1RW0M2M1M0BCD1Vr计数器选择读写格式工作方式选择 数制计数器选择:00为计数器0,01为计数器1, 10为计数器2,11为非法。读写格式:00为计数器锁存命令,01为只读写低字节,10为只读写高字节,11为 先读写低字节,再读写高字节。工作方式选择:由3位确定6种工作方式。000为方式0, 001为方式1, x10为方 式2,x11为方式3,100为方式4,101为方式5。数制:0为二进制计数,1为BCD计数。3.3.2 8255 芯片(1)8255的引脚及其功能8255是双列直插式40脚芯片,标准封装为DIP40,引脚如图(2)8255的内部结构8255A由
14、数据总线缓冲器、读/写控制逻辑电路、A组和B组控制电路以及数据端 口 A、B和C组成。数据总线缓冲器是8255A与系统数据总线的接口, CPU输入输出 的数据、CPU输出的控制字和外设的状态信息都是通过这个缓冲器传送的。读/写控制逻辑电路把CPU的控制命令或输出数据送至相应的端口,把外设的状态信息或 输入数据通过相应的端口送至 CPU。数据端口 PA和PB都包含一个8位输出锁存器/缓冲器和一个8位输入锁存器,PC 口包含一个8位输出锁存器/缓冲器和一个8位输入缓冲器(不锁存输入信号)。在工作 方式1或方式2下,PC 口分成高4位和低4位两个输入口作为PA和PB的控制信号输 出或状态信号输入。P
15、A5PAePAT wRESET血BlCS、a,、a0、RD和WR决定端口的地址。PA3 卩上 Rl剋 AO PCTPGi PChIC4 KDPtlPC2 PCn PRii 咖 PH:8255引脚图图5功能说明VCC26P£j*f?rGND7PrtWi 1'电源地PA5-PAO1-41 /0PA7-PA437-44)1/018-21I/O瑞1珈4位PB7-PH22-24T/0瑞丨IR4仃Kfr-PCJ14-171/0揣1吃低4何PC7 PC10-lSI/O鋼【啲姬RD51就i弓WR36<s61片选AI-AO地址战D7-D027-341/0RESET35i叟位们号8255引
16、脚功能图图6(3) 8255方式控制字方式控制字方式控制字决定端口 A、B和C的工作方式D7D6D5D4D3D2D1D01A组方式A 口 I/OC 口高4 位I/OB组方式B 口 I/OC 口低4 位I/O 一 /_丄*V7VV*V00=方式 00= OUT0= OUT0=方式 00= OUT0= OUT01=方式 11X=方式 21= IN1= IN仁方式11= IN1= IN按位操作控制字端口 C的任一位可用这个控制字来置位或复位D7D6D5D4 D3 D2 D1DOD7D6X5D4D3 口 位选择 D1位置位D0 /复0XXXC 口位选择000=PC 0位位置位/复位,仁选中位置1
17、9;000=PC 00=选中位置011仁PC 71=选中位置10=选中位置011仁PC 73.3.3 74LS138 译码器74LS138是38译码器,本设计中利用它来做地址译码以及数码管的位选。通过 它选中8253和8255的片选端以及应该显示字符的数码管8086 芯片8086通过数据总线、地址总线、控制总线完成对8253和8255的读写工作,与接口部件实现数据传送,让接口部件实现预计的功能。软件设计3.1程序流程图主程序流程图如图7脉冲累计模块如图8显示模块如图93.2框图描述主程序框图描述(1) 8253及8255的初始化,将00010110B写入8253控制字,设置定时器 0工作在方
18、式3,将10000010B写入8288控制字,设置PA、PC 口为输出口,PB 口为输入口。(2) 判断清零开关K0是否为高电平,若是,则清零;若否,则继续。(3) 判断暂停开关K1是否为低电平,若是,则暂停;若否,则继续。(4) 累积外部事件触发的次数,将个位值存储在CL中,将十位值存储在CH中。(5) 通过查表,将CL和CH中的值显示到数码管中。脉冲累计模块程序框图描述检测PB.0端口是否有电平跳变,如有,将 CL中的值加1,然后判断CH中的值 是否为10,若是,将CL中的值清零,同时将CH中的值加1,再判断CH中的值是否 为10,若是,将CH中的值清零,最后通过查表,将CL和CH中的值显
19、示到数码管中。显示模块程序框图描述通过PC.3PC.5选择数码管1,通过查表将CL中的值显示到数码管1中,调用延 时程序,再选择数码管你2,通过查表将CH中的值显示到数码管2中。主程序流程图显示模块流程图图93.3源程序程序代码;FOR EAT598;8253 8255电子计数器(099) P53_CTL EQU 213HTIMER0 EQU 210HMODE03 EQU 00010110BP55_CTLEQU 21BHP8255AEQU 218HP8255BEQU 219HP8255CEQU 21AHDATA SEGMENTSAVE DB 01HDATA ENDSCODE SEGMENTAS
20、SUME CS:CODE,DS:DATASTART:;8253的控制端口地址;8253的计数器0端口地址;8253的计数器0工作方式3;8255的控制端口地址;8255的A 口地址;8255的B 口地址;8255的C 口地址;定时器0工作于方式3;设定8255的工作方式0, B 口输入,A,C 口输出;读取PB.1端口,判定是否清零MOVMOVMOVMOVCLIMOVMOVOUTMOVMOVOUTMOVMOVOUTKS:MOVINANDCMPJNZMOVCALLAX,0CX,0FFH AX,DATA DS,AXDX, P53_CTLAL,MODE03 DX,AL DX,TIMER0 AL,02
21、H DX,ALDX, P55_CTLAL,82HDX,ALDX,P8255BAL,DXAL,02HAL,02HTJCX,0DISPJMPTJ:MOVINANDCMPMOVJEINCCMPJNZMOVINCCMPJNZMOVDISPLAY :CALLJMPDISP PROCPUSHPOPMOVMOVOUTMOVLEAXLATMOVOUTCALLMOVMOVOUTMOVLEAXLATKSDX,P8255BAL,DXAL,01HSAVE,ALSAVE,ALDISPLAYCLCL,10DISPLAYCL,0CHCH,10DISPLAYCH,0DISPKSCSDSAL,00HDX , P8255CDX,
22、 ALAL, CLBX, LEDDX, P8255ADX ,ALDELAYAL,08HDX, P8255CDX, ALAL, CHBX, LED;检测是否有脉冲是否有跳变;脉冲下降沿,CL加1;到十回零,同时向高位进位;选择第一个数码管;选择第二个数码管MOV DX ,P8255AOUT DX, ALCALL DELAYRETDISP ENDPDELAY PROCPUSH CXMOV CX,1000HLOOP $POP CXRETDELAY ENDPLED : DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管显示所要查的表CODE ENDSEND S
23、TART子程序入口参数和出口参数说明(1) 显示子程序中,个位数和十位数的入口参数分别是CL和CH(2) 延时子程序中,循环的次数的入口参数CX四、系统调试与实现4.1硬件调试4.11 8253的调试将 CLK0 接 150HZ 的频率源,OUTO 接 CLK1,OUT1 接 CLK2。CLK0,OUTO, OUT1,OUT2分别接L1,L2,L3,L4,观测这四个LED灯亮灭情况,如果8253运行 正常的话,L2灯亮灭的频率是1HZ,每当L1亮灭10后,L3灯灭一次,每当L1亮灭 100次后(L2灯亮灭10次)。4.12 8255的调试通过初始化8255控制字,设定C 口高4位为输入口,C
24、口低4位为输出口,将C 口低4位接到开关K0K3,C 口高四位接到二极管L1L3,运行后观察L1L4灯的情 况。4.13数码管的调试将数码管的七个输入接口 LED-ALED-DP接到开关K0K7,LED-SALED-SB接 地,选择第一个数码管,将 K0K7分别置为00111111,观察数码管的显示情况。4.2软件调试在ADEK88平台上调试已经编好的程序,检查语法错误,再通过单步调试检查程序 的逻辑错误。5.3运行结果及分析检查好通讯口后,运行程序。将 K1置为高电平,开始累积外部事件,计数器从0开始计数,当将K1置为低电平后,外部事件触发无效,暂停计数。当将K0置为高电平后,数码管置零。将
25、 K0置为低电平后,清零无效,计数器继续计数。数码管运行正 常,从0开始计数到99后,计数器自动清零。4.4故障原因分析查表错误(1)程序通过查表给数码管赋值,在没有写 PUSH CS ,POP DS之前,试用XLAT查 表时,经常出现错误。(2) 在使用存储单元暂存脉冲个数时,当需要查表时,使用MOV AL,SAVE时,值会 改变,造成查表错误。数码管显示有余辉由于是通过3-8译码器选择数码管,每次只能显示一个数码管,没有加延时程序时, 数码管会显示会出现余辉,看不清楚。进位错误(1) 由于方案一采用定时器1和定时器2来计数,初始化设定定时器1和2工作在方 式0,每当定时器1的计数值减到0时,OUT1产生一个脉冲,定时器2的计数值减一, 当个位数码管显示9时,十位数码管进位加1,造成错误。比如当数码管为08时,当下 一个外部事件触发时,数码管为19,再一个外部事件时,数码管为10。(2) 由于定时器工作在方式0,每次计数器从初值9减为0时,需要从新装入初值,需 要两个脉冲,所以每次当个位数码管为 0时,都需要两次外部事件触发,计数器才能计 数。五、总结5.1课程设计小结微机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论