脉冲计数器 微机原理课程设计.doc_第1页
脉冲计数器 微机原理课程设计.doc_第2页
脉冲计数器 微机原理课程设计.doc_第3页
脉冲计数器 微机原理课程设计.doc_第4页
脉冲计数器 微机原理课程设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

二一一二一二学年第 一 学期信息科学与工程学院自动化系课程设计报告书课程名称: 微机原理及应用课程设计 班 级: 自动化0901 姓 名: 学 号: 指导教师: 二一一 年 12 月 8日一、课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。二、课程设计题目: 脉冲计数器用555集成电路实现周期可调的多谐振荡器。用8088设计一个能实现对脉冲个数记录的电路。脉冲个数用4位LED数码显示。具体要求:1.画出连接线路图或功能模块引脚连接图。2.采用8088CPU作主控制器,8259作为外扩中断的管理。3.采用4个共阴极型LED。三、需求分析1.用555定时器设计一个多谐振荡器,可以调整其脉冲周期和占空比。2.用8529管理中断,8088控制地址的选择和数据的输出。3.记录脉冲的个数,并在四位LED上显示。脉冲个数从0到9999,当超过9999时LED清零,重新计数。4.LED接口采用动态显示接口,阳极用VCC拉高,提高LED数码管的亮度。四、硬件部分设计1.555多谐振荡器多谐振荡器的设计电路图,如图:上图中主要利用可变电阻R1和R2调节脉冲周期用作粗调和占空比,因为T=0.7(R1+R2)C1,=R1/(R1+R2),其中的R2阻值范围小用作细调,R1的阻值范围大作为粗调。这里要注意的是R1和R2都不能为0,否则输出的不是脉冲,而是稳定电平。2.主电路的工作流程图振荡器发出脉冲触发脉冲送入8529中8529请求中断,8088响应调用中断程序,计数并为LED寻址和分配数据LED显示脉冲个数当脉冲发出后,送入8529,8088响应中断后,调用中断程序,记录数据在LED 数码管上显示。流程图,如图:3.主电路中主要器件分析1.多谐振荡器发出脉冲,从8259中的IRQ2上进入8259,并进行优先级选择,74LS138(U1)为8259编译地址,8259的地址为20H或21H 。如图:图中的14号引脚上的端口信号接到8259的片选信号上。在初始化命令字和操作命令字时,需要对8259寻址。2.8259将中断请求从INT送入8088,8088与8259的连接方式如图:3.AD0AD7采用分时复用,先将地址送入74LS373保存,然后用74LS30和74LS138(U2)分配端口地址,74LS273是数据输出寄存器,保存8088输出的数据。其中8088与74LS373的连接如图:74LS373将地址先保存起来,以免在传输数据时,发生冲突。74LS30和74LS138配合使用,产生端口选择信号PS0,PS1,PS2,PS3,PS4分别74LS273的CLK上。如图:74LS30的2号引脚接AEN,12号引脚接8088的读信号和写信号相与非后的信号。在写数据的时候就会寻址端口。4.LED数码管采用动态显示接口,用VCC拉高电压。四个数码管分别显示个位数,十位数,百位数,千位数。74LS273是数据输出寄存器,有四个(A1,A2,A3,A4)作为段选寄存器和一个(A5)做为位选寄存器。如图:上图是显示个位的数码管的连接方法,其他位显示管类似。数码管是共阴极连接的,当位信号(高电平有效)从A5发出,高电平经非门后变为低电平选接在数码管的com端,使得数码管可以点亮;A3发出段选信号,为低电平有效,电流从对应引脚流入,从芯片的接地端流出,那么对应的二极管就不会点亮,剩余的二极管就会显示出个位数数字。4.电路原理设计图经上述分析后,作出完整电路原理图,如图(附录在原理图中):注:AEN是地址允许信号由DMA控制器产生 。通常情况,总线仲裁逻辑使AEN为低电平,由于AEN信号的产生并不是这次设计的关键部分,电路原理图中并未给出生成AEN的电路结构。5.元件清单表元件名称个数元件名称个数5551825918088174LS30174LS373174LS1382定值电阻2874LS2735可调电阻2LED数码管4与非门2非门7二极管2电容2五、程序设计程序设计包括主程序和中断程序两个部分,现分别阐述这两部分的设计思路。1. 中断程序中断程序主要完成脉冲的计数,其流程图,如图:累加器CX加1判断是否大于将清零一般中断结束返回地址主程序部分主程序用来设置初始化命令字和操作命令字,将中断程序送入中断向量表,等待中断,为LED数码管分配数据和寻找地址,完成计数后可以退出程序。具体流程图,如图:将AX转换为十进制数,并存在变量OBUF中,准备输出采用查表法,在变量OBUF中提取段选信号,从对应端口输出每个数码管的段选信号从对应端口输出位选信号将为选信号DX赋给AH保存当数码管点亮后,检查键盘是否有输入恢复中断屏蔽字设置8259的初始化命令字将中断程序送入中断向量表修改OCW2允许IRW2屏蔽等待脉冲中断,调用中断程序将累加脉冲数CX赋给确定AX十进制数的位数,设置LED数码管点亮数DX程序代码stack segment stack stack dw 32 dup(0)stack endsdata segmentOBUF DB 4 DUP(0) SEGPT DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67Hdata endscode segmentmain proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV AL,13H;边沿触发,单片,设置IC4 OUT 20H,AL MOV AL,0AH;中断向量码为0AH OUT 21H,AL MOV AL,0DH;全嵌套,缓冲,非自动结束中断方式 OUT 21H,AL MOV AX,SEG IRQ2IS;中断程序送入中断向量码 MOV DS,AX MOV DX,OFFSET IRQ2IS MOV AX,250AH INT 21H IN AL,21H;读屏蔽字 AND AL,0FBH;改变屏蔽字,允许IRQ2中断 OUT 21H,AL MOV CX,0INTRUPT: JMP $;等待中断NEXT: MOV AX,CX CMP AX,0AH;确定确定数码管点亮的个数 JAE L1 MOV DX,01H;当脉冲小于10,亮一个L1: CMP AX,64H JAE L2 MOV DX,03H;当脉冲个数小于100,亮两个L2: CMP AX,3EBH JAE L3 MOV DX,07H;当脉冲个数小于1000,亮三个L3: MOV DX,0FH;当脉冲个数大于等于1000,亮四个灯PUSH CX MOV BX,OFFSET OBUF+3;将脉冲数转换为十进制数,从右向左存在OBUF中 MOV CX,10 PUSH DXAGAIN: MOV DX,0 DIV CX MOV BX,DL DEC BX OR AX,AX JNZ AGAIN POP DX POP CX MOV BX,0DISPLAY: MOV AH,DL;将数码管点亮数输给AH,以便最后输出 MOV BP,OFFSET OBUF+3;输出个位数段码 MOV BL,BP MOV AL,SEGPTBX MOV DX,380H OUT DX,AL DEC BP MOV BL,BP MOV AL,SEGPTBX;输出十位数段码 MOV DX,384H OUT DX,AL DEC BP MOV BL,BP;输出百位数段码 MOV AL,SEGPTBX MOV DX,388H OUT DX,AL DEC BP MOV BL,BP MOV AL,SEGPTBX;输出千位数段码 MOV DX,38CH OUT DX,ALA1: MOV AL,AH;选定数码管点亮个数 MOV DX,390H OUT DX,AL MOV AH,11;检查键盘是否有输入,选择是否继续计数 INT 21H CMP AL,0 JE INTRUPT;无输入,则等待下一中断 IN AL,21H;恢复屏蔽字,禁止IRQ2中断 OR AL,04H OUT 21H,AL RetIRQ2IS: INC CX;检查到中断,脉冲个数加一 CMP CX,270FH;判断个数是否超过9999,如超过清零 JBE OVER MOV CX,0OVER: MOV AL,20H;一般中断结束指令 OUT 20H,AL POP AX;修改返回地址 INC AX INC AX PUSH AX IRETmain endpcode ends end main六、课程设计总结通过这次脉冲计数器的设计,实际解决了设计中出现的问题,增强了寻找问题,解决问题的能力。此次设计

温馨提示

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

评论

0/150

提交评论