电子秒表课程设计_第1页
电子秒表课程设计_第2页
电子秒表课程设计_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机硬件技术课程设计斤匀TyI磴力1951学院:自动化工程学院班级:姓名:学号:设计题目:9、电子秒表设计2015年1月一、设计题目:电子秒表设计设计一个可任意启动/停止的电子秒表,要求用6位LED数码显示,计时 单位为 1/100 秒。利用功能键进行启 /停控制。其功能为:上电后计时器清 0, 当第一次(或奇数次)按下启 /停键时开始计数。第 2次(或偶数次)按下该 键时停止计时,再一次按启 /停键时清零后重新开始计时。可用开关控制,也 可用按键控制。二、设计目的 通过本项课程设计,对微机原理课程中涉及的芯片结构、控制原理、硬件编程等方面有一定的感性认识和实践操作能力, 更好的理解微机原理

2、课程中讲 述的基本原理和概念。进行微机原理课程设计前,应学习并掌握了 8086/8088 汇编语言编程方 法,掌握了 8255、8253 存储器等芯片的基本结构和工作原理,掌握了芯片编 程控制的方法。三、设计方案以及论证1、整体设计思想使用 8253工作在方式 0计数,对 1/100S 计数,并讲计数值写入 bl 中并 与 100 比较若不相等,则将计数值装换为 10 进制后送 8255控制端显示,如相 等则1S计数程序加1之后并与59比较若不相等则将计数值装换为10进制后 送8255控制端显示,如相等则1min计数程序加1之后并与59比较若不相等 则将计数值装换为 10进制后送 8255控制

3、端显示, 如相等则计数程序加 1 之后 产生溢出,跳转清零程序将计数清零,同时数码管清零。2、使用各芯片的作用及工作原理1)定时器 /计数器 8253用系统8253定时器提供的55ms定时单位,设计秒表定时程序。有关系统定时方法:PC机系统中的8253定时器0工作于方式3,外部提 供一个时钟作为 CLK信号, 频率:f=1.1931816MHz。定时器 0输出方波的频率 :fout=1.1931816/65536=18.2Hz 。输出方波的周期Tout=1/18.2=54.945ms °8253A每隔55ms引起一次中断,作为定时信号。可用55945ms作基本计时单位。用BIOS调用

4、INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位)8253的引脚图及硬件连接图如下图示:D7DCD5D4D302D1DOCLU)OUTO&AT012 3 4-5 6 7 8 910Qu52Qu242322212D10怕17彷彷1413Vcc 丽药A1AOCLK20U126A7E2CLW0UT10ATE1AD; 75P oiVP O22ORDO;i.Kn?lGAT印02OJTQD3"JCLK1D5GATE1DE0UT1D7CLK2RDM=2WRounC5U1l出J If丄l-lhiaF 一硬件连接图8253引脚图当A1A0分别为00 01 10 11时分别选中三

5、个通道和控制字寄存器在 8088系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将 8253 的8位数据线与8086的低8位相连,即使用偶地址,所以 8086的A2A1分别与8253的A1A0相连。计数器(0 2)即三个计数器/定时器通道。每个通道包 括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作 定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间二时钟脉冲周期X预置的计数初值。控制功能表CSRDWF*A1A0功能0100 0写计

6、数器00100 1写计数器10101 0写计数器20101 1写控制字寄存器0010 0读计数器00010 1读计数器10011 0读计数器20011 1无操作1XXX X禁止使用011X X无操作每个通道:CLK计数脉冲或标准脉冲输入端GATE允许端,当GATE二时允许计 数UT计数值为0时输出一个脉冲由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用 与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频 器、实时时钟、事件计数器和单脉冲发生器等。电子秒表课程设计8253 是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定

7、3种工作方式之一种;8253由以下几个部分组成:(1)数据总线缓冲器(8位、三态、双向);取向救据总蛭DQ4gKDWRAlAOKEElr*B忖勺门t捽制A汕1. -I.-. 帆仰B' r "L'J 部杵AU<8P )CU r4-.-cn10PA*PA010FCFC4k L07 PC3-PC0PB7-PB03I酣)1O 403953S437536635734S3S932108255 31U301229132S14215261625241S姑1P202221= -1 o D s -J- 1 o 6 5 4 Q 1 7- 3 o 1 PAPCPC'PC'

8、;PC'PC'PC'FC器詣PA4PA5PA6PB4PB3(2)读/写控制逻辑;CS片选信号,低电平有效;RD:读信号,低电平有效;WR:与信号,低电平有效;A1A0:端口选择信号(3)三个通道(0 2),由A0, A1控制选择;(4)一个控制寄存器;内部结构及引脚图2)用可编程并行接口芯片8255的PA口以及PB口实现数码管输出,PC口实现 按键实现数据显示输出8255可编程外围接口芯片是In tel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设 备或被控制对象之间传递信息。CPU和接口之间 的数据传送总是并行的

9、,即 可以同时传递8位、16位、32位等。用+5V单电源供电,能在以下三种方式 下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向 选通工作方式。8255工作方式控制字和C口按位置位/复位控制字格式如图所示:nJD?D2IH1辦人Aai 口応i匚 4 HH.JrVa醫出i圳人(»i 丁儒力式控制宇n 1 o 1 o 1 o 1 D&DltDDll-.n- rL IL IL I 3. 锁存器27374LS273 是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下 面介绍一下他的管脚图功能表等资料。(1) .1脚是复位CLR低电平有效,当1脚是低电平

10、时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出 0,即全部复位;(2) .当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、& 13、14、17、18的电平状态,并且立即呈现在在输出脚 2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.CONNECTION DIAGRAM DIP (TOPVfEW)虹 55%05 Q5 E E Q 斗可而师 而 而而nr岡n?¥ | P | 3|

11、丨斗11 5| G |T 丨| E| g | 亦MR Q> GoD, Q, Q2Qz D3 生 GNDLOADEMG Note 期PIN NAMESHIGHLOWCPClock (Active HIGH Going Edge In putO.&U.L0.25 <J.Ld0-dtDab InpubQ.SUL.0.25 U,LMaster missel (Actwe LOWI Input0.5 Ul.075 U.LGa-Q?Register Outputs10U 丄.5 LI.NOTTS:a)1 TTL Unit Load IULJ =40 屈 MIGmXnA LOW.TRUT

12、H TABLE¥RCPoKQxLHHX_rXHLL HLh = HIGH Logic Level L-LCM Logic LevtsX = Immaterial74IS273管脚功能:1D8D为数据输入端,1QH 8Q为数据输出端,正脉冲触发,低电平清除,ICpQ aId 1 -M _ -IQ3 -IkZjjJ - |QS -106 -常用作8位地址锁存器4、译码器74IS15474IS154 为416线制译码器其引脚图如下图所示|iQB I厂t 存I Uj l 勻IO 1 Ni i 曰IQ 1-4 I Q 1 s5、7段数码管数码管要正常显示,就要来驱动数码管的各个段码,从而显示出

13、我们要 的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如 BCD码二-十进制译码器译码进行 驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O端口多,如 驱动5个数码管静态显示则需要5X 8=40根I/O端口来驱动,实际应用时必须 增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"A,B,C,D,E,F,G,DP"的同名端

14、连在一起,另外为每个数码管的公共极 COM!加位选通控制电路,位选通由各自独立 的I/O线控制。6、硬件原理图-bibtijome192n .jo!K严2JOiX【833卜.JO2'19Ajcid.jgJ3UJJS1 raU!rnu Ca% ev1ujj GA*nZ2W3c畫蟹二盂盂g鑒ss照FfXrtCJL iiRmH«Wl-ajicm Hr_ fle*OT pnfcTT0 iw-Z' 0IH-u £jon R2FUJAP- J0*3if- OtilTaCOI口"EK£k68SaEF四、程序流程图五、程序代码 a1 equ 0000h

15、b1 equ 0002hc1 equ 0004hctr1 equ 0006h;8255各端口地址a2 equ 0200h;8253计数器 0 端口地址ctr2 equ 0206h;8253控制端口地址a3 equ 0100hdata segmentkeynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77Htab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71Hbuf db 0,0,0,0buf1 db

16、 0,0,0,0,0,0,0,0buf2 db 0,0; 前为第一开关次数buf3 db 80 dup(?)data ends code segment 'code'assume ds:data,cs:codestart: mov ax,datamov ds,ax ;设中断入口地址设置mov ax,0mov es,axmov di,08mov ax,offset intr_keycldstoswmov ax,seg intr_key stoswmov es,ax;8255 写入控制字mov al,10001001b ;A 口 B 口输出显示, C 口高四位低四位输入mov dx

17、,ctr1out dx,aln3: call jishujmp n3n2: lea si,buf2mov bh,00hmov bl,1hsilea di,buf3add di,bxadd bl,8mov 1hsi,bllea si,buf1cldmov cx,8rep movsbn4: call disjmp n4n5: lea si,buf2mov bh,00hmov bl,1hsicmp bl,0jz n1lea di,buf1sub bl,8mov 1hsi,bllea si,buf3add si,bxcldmov cx,8rep movsbn6: call disjmp n6n1: c

18、all qinlinjmp n1;jmp startjishu proc near ; 计数子程序 lea si,bufmov bl,sicmp bl,100jnz s6s1: mov bl,0mov si,blmov ah,1hsicmp ah,59jz s2inc ahmov 1hsi,ahjmp s6s2: mov ah,0mov 1hsi,ahmov ah,2hsiinc ahmov 2hsi,ahjmp s6s6:call chumov cx,3s5:call disloop s5call delay1sinc byte ptrsiretjishu endpchu proc ;ruk

19、ou al ; 数处理子程序push sipush bxmov bl,4lea di,buf1lea si,bufnext:lodsbmov ah,00mov cl,10div clxchg ah,alstosbmov al,ahstosbdec bljnz nextpop bxpop siretchu endpdis proc near ; 显示 buf1 中的值push bxpush cxlea bx,tablea di,buf1mov cx,8mov ah,7Fhloop1: mov al,di xlat ; mov dx,a1 out dx,al mov dx,b1 mov al,ah

20、 out dx,al mov bh,1 call delay call qp lea bx,tab ror ah,1 inc di loop loop1 pop cx pop bx ret dis endp delay1s proc near ;8253 push dx push ax mov dx,ctr2 ;8253 mov al,00110000b out dx,al ;8253换码延时子程序控制计数器 0 控制字 方式 0 out 端作为中断请求信号mov dx,a2mov al,01hout dx,almov al,00hout dx,almov dx,a3M1: in al,dxt

21、est al,01hjz M1pop axpop dxretdelay1s endpqp proc near ; 清频子程序mov al,0ffhmov dx,b1out dx,alretqp endpdelay PROC NEAR ; 内部延时子程序PUSH bxPUSH CXwait0: MOVCX,06hwait1: LOOP wait1DECbhJNZwait0POPCXPOPbxRETdelay ENDPintr_key proc near ;中断服务子程序call keytest al,2hjz n1test al,4hjz n5 lea di,buf2mov bh,diinc b

22、hmov di,bhtest bh,1hjnz n2jmp n3iretintr_key endpqinlin proc ; 键盘清零子程序mov ax,0lea di,bufmov cx,14cldrep stosbcall disqinlin endpkey proc ; 读取键盘程序mov dx,c1in al,dxretkey endpcode endsend start程序编译图:dial -an*nt:髭010Oileic- ate i -« s dL>-5«d丁.瀏:bu¥*S -db SO duip C I dat 4 i?nd uod寸 崎

23、号 asfun<e ds- dla st Art -W希1 L -3 匚!£ : ccd e m i>dat4CTIT14U1 n石旨V14Wnownov qncfevd >M i 0. -3M d; :0<8 *minF骨i nt r-k#v cidft 0沪阵鼻乂se-gIE3Ql!ilEI±J opi ntr Jke-'yfflV <KISOV $£ 雯星V1Q蓄flV4411丄.iDomooib qx «ct rl dxJi i sn LIH IAM 斥|亦| BK |fi& M | EK ps"|Hn 呼 |on |wDT13IDE710Fff&SJr-jle 血piD弋|"白J07- 3 GIG-Z77777777777

温馨提示

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

评论

0/150

提交评论