微机原理课程设计报告(电子秒表).doc_第1页
微机原理课程设计报告(电子秒表).doc_第2页
微机原理课程设计报告(电子秒表).doc_第3页
微机原理课程设计报告(电子秒表).doc_第4页
微机原理课程设计报告(电子秒表).doc_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

皖西学院微机原理课程设计报告信 息 工 程 学 院 课 程 设 计 报 告设计题目: 电子秒表 名 称: 微机原理与接口课程设计 班 级: 通信1001班 姓 名 学 号: 2010013473 2010012539 设计时间: 2012.12.10 至 2012.12.18 指导教师: 评 语: 评阅成绩: 评阅教师: 一、课程设计的性质和目的3二、课程设计的要求4三、主要仪器设备及软件4四、课题分析及设计思路41、整体设计思想42、使用各芯片的作用及工作原理43. 锁存器27374. 数据收发器24585、译码器74ls1549五、程序流程图10六、程序代码12七、程序及硬件系统调试情况3八、设计心得2九、参考文献3一、课程设计的性质和目的通过课程设计,进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关软件程序设计的基本知识和基本方法,硬件电路的设计等,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,掌握软硬结合的控制程序设计,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。掌握8253等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微处理器完成了电子秒表系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。二、课程设计的要求1、遵循模块化、结构化的程序设计方法。2、要求程序必须正确。3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。4、要求程序结构合理,语句使用得当。5、适当追求编程技巧和程序运行效率。三、主要仪器设备及软件PC机、MASM汇编软件、绘图软件及仿真等。四、课程设计题目及要求题目:电子秒表 要求:(1)设计可以显示160秒的无存储功能的秒表,最小单位为毫秒。 (2)通过按键控制秒表清零,暂停,继续,退出等。其中数字0控制清零,数字1控制继续和退出。 四、课题分析及设计思路1、整体设计思想 使用8253工作在方式0计数,对 1/100S计数,并讲计数值写入bl中并与100比较若不相等,则将计数值装换为10进制后送8255控制端显示,如相等则1S计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则1min计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则计数程序加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调用INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位) 8253的引脚图及硬件连接图如下图示: 硬件连接图当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连。计数器(0 2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间 = 时钟脉冲周期X预置的计数初值。 控制功能表CSRDWRA1A0功 能0100 0写计数器00100 1写计数器10101 0写计数器20101 1写控制字寄存器0010 0读计数器00010 1读计数器10011 0读计数器20011 1 无操作1XXX X禁止使用011X X无操作每个通道: CLK计数脉冲或标准脉冲输入端GATE允许端,当GATE=1时允许计数UT计数值为0时输出一个脉冲 由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定3种工作方式之一种;8253由以下几个部分组成:(1) 数据总线缓冲器(8位、三态、双向);(2) 读/写控制逻辑;CS:片选信号,低电平有效; RD:读信号,低电平有效; WR:写信号,低电平有效 A1A0:端口选择信号 (3) 三个通道( 0 2),由A0,A1控制选择; (4) 一个控制寄存器;内部结构及引脚图: 2)用可编程并行接口芯片8255的PA口以及PB口实现数码管输出,PC口实现按键实现数据显示输出 8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255 工作方式控制字和C口按位置位/ 复位控制字格式如图所示:3. 锁存器273 74LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下面介绍一下他的管脚图功能表等资料。(1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚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、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.74ls273管脚功能: 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。 4. 数据收发器245 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)*DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态 5、译码器74ls154 74ls154为416线制译码器其引脚图如下图所示 6. 7段数码管 数码管要正常显示,就要来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。五、程序流程图 开 始 清 空 产 生 溢 出 BVD 处 理 24h计数 60min计数 60S计数 1S计数等于1S不等等于59不等等于59BCD码调整指令10进制显示不等等于23 六、程序代码2 a1 equ 0000h b1 equ 0002h c1 equ 0004h ctr1 equ 0006h ;8255各端口地址 a2 equ 0200h ;8253计数器0端口地址 ctr2 equ 0206h ;8253控制端口地址 a3 equ 0100h data segment ; keynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H tab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H buf db 0,0,0,0 buf1 db 0,0,0,0,0,0,0,0 buf2 db 0,0;前为第一开关次数 buf3 db 80 dup(?) data ends code segment code assume ds:data,cs:code start: mov ax,data mov ds,ax ;设中断入口地址设置mov ax,0mov es,axmov di,08mov ax,offset intr_keycldstoswmov ax,seg intr_keystosw mov ax,data mov es,ax;8255写入控制字 mov al,10001001b ;A口B口输出显示,C口高四位低四位输入 mov dx,ctr1 out dx,al n3: call jishu jmp n3n2: lea si,buf2 mov bh,00h mov bl,1hsilea di,buf3add di,bxadd bl,8mov 1hsi,bl lea si,buf1 cldmov cx,8rep movsb n4:call dis jmp n4 n5: lea si,buf2 mov bh,00h mov bl,1hsicmp bl,0jz n1 lea di,buf1 sub bl,8 mov 1hsi,bl lea si,buf3 add si,bx cld mov cx,8 rep movsbn6: call dis jmp n6n1: call qinlin jmp n1 ;jmp startjishu proc near ;计数子程序 lea si,buf mov bl,si cmp bl,100 jnz s6 s1: mov bl,0 mov si,bl mov ah,1hsi cmp ah,59jz s2inc ahmov 1hsi,ahjmp s6s2: mov ah,0 mov 1hsi,ah mov ah,2hsi inc ah mov 2hsi,ah jmp s6 s6:call chu mov cx,3 s5:call dis loop s5call delay1s inc byte ptrsiret jishu endp chu proc ;rukou al ;数处理子程序 push si push bx mov bl,4 lea di,buf1 lea si,buf next:lodsb mov ah,00 mov cl,10 div cl xchg ah,al stosb mov al,ah stosb dec bl jnz next pop bx pop si ret chu endp dis proc near ;显示buf1中的值push bxpush cx lea bx,tablea di,buf1 mov cx,8 mov ah,7Fh loop1: mov al,di xlat ;换码 mov dx,a1 out dx,al mov dx,b1 mov al,ah out dx,almov bh,1 call delaycall qplea bx,tab ror ah,1 inc di loop loop1pop cxpop bxretdis endpdelay1s proc near ;8253延时子程序 push dx push ax mov dx,ctr2 ;8253 控制 mov al,00110000b out dx,al ;8253计数器0控制字 方式0 out端作为中断请求信号 mov dx,a2 mov al,01h out dx,al mov al,00h out dx,al mov dx,a3 M1: in al,dx test al,01h jz M1 pop ax pop dx ret delay1s endp qp proc near ;清频子程序 mov al,0ffhmov dx,b1out dx,alret qp endp delay PROC NEAR ;内部延时之程序 PUSH bx PUSH CXwait0: MOV CX,06h wait1: LOOP wait1 DEC bh JNZ wait0 POP CX POP bx RETdelay ENDP intr_key proc near ;中断服务子程序 call key test al,2h jz n1 test al,4h jz n5 lea di,buf2 mov bh,di inc bh mov di,bh test bh,1h jnz n2 jmp n3 iretintr_key endp qinlin proc ;键盘清零子程序 mov ax,0 lea di,buf mov cx,14 cld rep stosb call disqinlin endp key proc ;读取键盘程序 mov dx,c1 in al,dx ret key endp code endsend start 七、程序及硬件系统调试情况 按下暂停键实现暂停功能继续计数后按下清零键实现清零功能八、设计心得经过这次课程设计,我觉得我有了很大的收获,:1.我大大地锻炼了自己搞科研的能力,作为我们大学生,尤其是工科的大学生,对于科研能力,能够自主开发课题,项目有着很高的要求,而我们很多大学生动手研发的能力还不是很强。而通过这次课程设计,使自己的研发能力有了很大堤提高。2.我对于工科设计的严谨性,仔细性有了更深地体会

温馨提示

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

评论

0/150

提交评论