ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:431.50KB ,
资源ID:7851736      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7851736.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(西安科技大学微机接口课设电子闹钟.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

西安科技大学微机接口课设电子闹钟.doc

1、 西安科技大学 微机原理与接口技术 课程设计 题 目: 闹钟设计 学 院: 计算机科学与技术学院 专业班级: 计科1004班 组 员: 郭雅心1008030421 韦清松1008030422 2013年 7月 8日 目 录 1 闹钟设计要求与设计方案 1 1.1. 设计目的 1 1.2. 设计要求 1 1.3. 设计思路 1 2 闹钟设计的硬件设计 2 2.1 硬连线图: 2 2.2 四大模块: 2

2、2.2.1 8253定时、计数器模块 2 2.2.2 8255并行接口模块 3 2.2.3 8259中断控制模块 3 2.2.4 显示模块 3 3 闹钟设计的软件设计 4 3.1. 主程序设计 4 3.2. 按键处理程序设计 5 3.3. IRQ7中断设计 6 3.4. 七段数码管显示设计 7 4 闹钟设计的运行与调试 8 5 设计体会与小结 8 6 程序清单 9 7 参考文献 17 1 闹钟设计要求与设计方案 1.1. 设计目的 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和

3、锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 1.2. 设计要求 ² 设计一个钟表。在数码管上显示时间。 ² 定时时间到,屏幕显示“get up!”字符串。 ² 显示同时,流水灯闪烁,蜂鸣器响1秒钟。 1.3. 设计思路 本设计以唐都仪实验箱为载体,结合中断控制器8259A、并行接口8255、中断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编程实现了闹钟设计的实验。 闹钟的总体设计原理是:首先利用定时芯片8253的定时作用定时计数,每10ms开一

4、次中断即8253计数18432次调用时间显示程序,数码管加1,毫秒部分加到99后清0向前进1 秒部分到显示59S过后变为0,执行此程序后8255就会工作,把时间在四个数码管上显示时间。当数码管显示时间与拨动KK1开关设置的定时时间相同时。在程序里面设置了一个蜂鸣器标志变量和流水灯标志变量,当变量为0的时候,表明蜂鸣器没有响,当变量为1的时候,表明蜂鸣器正在发声。每次秒钟加一之前,检测蜂鸣器标志变量,当蜂鸣器变量为1时,就关闭蜂鸣器,并置蜂鸣器标志变量为0。当秒钟加一之后,若当前设定时间与实时时间相同,就开启蜂鸣器,并置蜂鸣器标志变量为1。流水灯相似,只是多了几个判断,分别显示四个流水灯亮。在第

5、一个流水灯亮时,屏幕显示“get up!”,流水灯闪烁,蜂鸣器响。 闹钟具体做法:时间显示程序要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,精确的时间延迟程序,第一二块数码管显示分位,第三四块显示秒位。数码管显示一段时间60s后再跳回到初始位置00s,再显示,由此循环下去。设置一个闹钟开关标志变量,用来调节闹钟有效性,当开关为1时,定时设置有效,为0则无效,定时时间为有效时的时间设置。 2 闹钟设计的硬件设计 2.1 硬连线图: GATE2 8253 CLK2 OUT2 IRQ7 8259

6、 PB0~PB7 8255 PA0 PA1 PA2 PA3 PA4~PA7 PC4 PC0~PC1 PC2 ○ +5V X4 X1 X2 X3 ●●●●○○○○ 3个LED灯D0~D2 系统总线 1.8432MHZ 嗡鸣器SPK 2*4键盘 KK2 图2-1硬线连接图 2.2 四大模块: 2.2.1 8253定时、计数器模块 8253A芯片在本实验中用了计数器2,工作在方式0下,8253计数次数为 10ms*1.1.8432MHz,中断每10ms有一次,这样就可以通

7、过控制发中断的次数来得到想要的时间。8253的CLK0接系统时钟1.8432MHZ,门控信号GATE2接+5V。采用内部7号中断。 2.2.2 8255并行接口模块 8255的PA0~PA3负责4位7段数码管的位选,以及2x4键盘扫描的列信号。PA4~PA7负责4位流水灯的闪烁。PB0~PB7负责4位7段数码管的段选。PC0~PC1负责2x4键盘扫描的行信号。PC2负责接收开关信号。PC4负责蜂鸣器的发声。 2.2.3 8259中断控制模块 本次设计使用了8259中断控制器的IRQ7,通过IRQ7中断服务子程序设置DI来计数。每加到100即达到1秒,令秒加1,计数器清0以便重新计数。秒

8、加到60,进位让分加1.选中数码管最右管让其显示分的个位,然后进位判断,数码管选择依次左移,显示整个时间时和分。 定时模块 该模块实现的功能是通过键盘设定一个定时时间,并将当前定时时间显示在计算机终端上。当实时时钟每走一分的时候,就与设定的定时时间比较,当定时时间与实时时间相同时,则触发相应的闹钟程序:显示“Get Up!”字符串,流水灯闪烁,蜂鸣器响一分钟。因为,键盘既可以修改实时时间,也可以修改定时时间,所以,为了区分,我们使用了一个开关KK2,通过与C口一个引脚相连来选择修改模式。当开关断开的时候,键盘修改的是定时时间,当开关闭合的时候,键盘修改的是实时时间。 2.2.4 显示模块

9、 该显示模块包括三个部分:实时时间显示、定时时间显示以及流水灯闪烁。实时时间是在主程序里面,通过数码管显示的。而定时时间是在每次修改的时候,显示在计算机终端上。流水灯是通过定时模块触发显示的,当定时时间与实时时间相同时,置流水灯标志变量为1。在主程序里面循环检测标志变量,当变量为0的时候,流水灯不闪烁,当变量为1时,流水灯闪烁,闪烁完毕之后,置标志变量为0。 3 闹钟设计的软件设计 3.1. 主程序设计 图3-1主程序流程图 3.2. 按键处理程序设计 图3-2按键处理程序流程图 3.3. IRQ7中断设计 图3-

10、3 IRQ7中断流程图 3.4. 七段数码管显示设计 图3-3七段数码管显示 4 闹钟设计的运行与调试 本电子时钟可以24小时循环计时,数码管显示时和分,能够校时,可以设定闹钟。操作方法如下:开机运行后,装入程序并运行,数码管显示00:00并开始走时。按动2*4小键盘可以设定闹钟时间,设定好的闹钟时间显示在电脑终端。按下开关KK2并同时按动小键盘则是对时钟进行调时,8个小键盘分别对应时、分的十位以及个位的加和减。内存

11、会将设定的时间存储并与时钟时间比较,当相等时,嗡鸣器响,流水灯亮、显示GET UP字符串。 5 设计体会与小结 为期两周的微机原理课设结束了,在这两周中,我通过查阅大量资料,亲自动手实验,对微机原理理论课有了实践的经验,巩固了微机原理的课程知识。并且锻炼了自己的动手能力。 在这两周的课程设计时间里,课程设计的基本目的达到了。我们的课程设计题目是电子闹钟,用IRQ7子程序中给出计数次数100D。每达到100就实现秒的加1,秒加到60则让分加1,依次进位并判断自加范围并且选中数码管显示。8255B负责将内存里的时位和分位值输出到数码管显示。KK2与8255C口PC2引脚相接,通过对定时标

12、志位的置0置1来控制是修改实时时间还是设定闹钟时间。小键盘负责对时间加1和减1的操作。通过设定标志位变量来设定闹钟的响铃、流水灯的亮否。 通过这次的课设,让我学会了很多。一次次的调试,一次次的修改让我变得更加坚强的同时,也使得我对微机接口以及汇编的很多知识得到了很好的掌握,同时软硬件的结合使用动手能力也有很大的提高。期间遇到很多问题,如数码管显示乱码,时钟只是显示却不走时,流水灯不亮等问题。经过老师的指导和同学的帮助让我客服了一个又一个问题。通过交流,我的思维得到了很大的发散。很多问题是在交流后突然思考出来的。两周的实习虽然很累,但是收获也是非常明显。总之,这次课设让我受益匪浅。

13、 6 程序清单 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管可显示0到9 CLCTIME DB 4 DUP(?) ALARMTIME DB 4 DUP(?) MODE DB 00H MIAO DB 00H SPEAKER DB 01H MESSAGE DB 'Get Up!',0AH,0DH,00H;定义MESSAGE变量 LEDFLAG DB 00H D

14、ATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV ES, AX ;IRQ7 PUSH DS MOV AX,0000H MOV DS,AX LEA AX, IRQ7;取偏移地址 ADD AX,2000H MOV SI,003CH MOV [SI],AX;偏移量放入中断向量表低位 MOV AX,0000H;段地址 MOV SI,003EH MOV [SI],AX;段地址写入中断向量表高位 IN AL,21H;读中断屏蔽寄存

15、器 AND AL,7FH;开7号中断 OUT 21H,AL;写OCW1 POP DS STI;开中断 MOV AL,0B0H ;计数器2,方式0,二进制 OUT 43H,AL;8253控制字送寄存器 MOV AX,18432D;设置初始值 OUT 42H,AL;低位写入2号计数器 MOV AL,AH OUT 42H,AL;高位写入 MOV DI,00H LEA SI,CLCTIME;取CLCTIME变量的偏移地址 MOV AX,00H MOV [SI],AX MOV [SI+1],AX MOV [SI+2],AX MOV [SI

16、3],AX LEA SI,ALARMTIME;取ALARMTIME变量的偏移地址 MOV [SI], AX MOV [SI+1],AX MOV [SI+2], AX MOV [SI+3], AX MOV AL, 81H ;A O M0,B O M0,C0-C3 I OUT 63H, AL;8255控制字 MOV AL,00H OUT 61H,AL;B口对应数码管全灭 OUT 62H,AL;C口输出0 MOV AL,0F0H OUT 60H,AL;A口对应流水灯状态全灭 MAIN: STI;开中断 TEST LEDFLAG,01H;判

17、断流水灯标志位状态 JZ PRO0;LEDFLAG为0跳到PRO0 MOV AH,0EFH;不为0时AH置11101111B SELECT0:IN AL,60H;A口地址给AL OR AL,0F0H;AL高4位置1 AND AL,AH OUT 60H,AL;选中PA4对应的流水灯 MOV CX,00A0H SELECT1: CALL DISPLAY;调用显示 CALL CLEAR;调用清屏 LOOP SELECT1 ROL AH,1;AH循环左移选中下一个流水灯 TEST AH,01H;判断流水灯是否循环一遍 JNZ SELECT0;未循环

18、完跳到SELECT0 MOV AL,0FFH;循环完则将AL置1 OUT 60H,AL MOV LEDFLAG,00H;流水灯标志变量置0 PRO0: CALL DISPLAY;调用显示程序 CALL CLEAR;调用清屏 CALL SZC JNZ PRO1;AL第1、2位都不为0 JMP MAIN PRO1: CALL DISPLAY ;调用显示程序 CALL DALLY;调用延时 CALL CLEAR;清屏 CALL SZC JNZ PRO2 JMP MAIN PRO2: MOV CH,0FEH MOV CL,00H JUDGE0

19、 MOV AL,CH;AL置0FEH OUT 60H,AL;A口输出选中PA0端口对应的1号按钮 IN AL,62H;C口地址给AL TEST AL,01H;判断C口地址PC0是否为0 JNZ JUDGE1;不为0转至JUDGE1 MOV AL,00H JMP KPRO JUDGE1: TEST AL,02H;判断C口地址PC1是否为0 JNZ NEXT MOV AL,04H KPRO: ADD AL,CL CALL PUTBTN;调用键盘处理程序 PUSH AX KDS:CALL DISPLAY;调用显示 CALL CLEAR CALL

20、 SZC JNZ KDS POP AX NEXT: INC CL MOV AL,CH;AL置0FEH TEST AL,08H JZ MAIN ROL AL,1 MOV CH,AL JMP JUDGE0 ;键值处理程序 PUTBTN:PUSH AX PUSH BX PUSH CX PUSH AX IN AL,62H;C口地址给AL TEST AL,04H ;判断是修改定时时间还是实时时间,PC2 JNZ REBAC;PC2不为0 MOV MODE,01H ;置修改模式标志变量为1 LEA BX, ALARMTIME;为0

21、则修改定时时间 JMP BTN REBAC: MOV MODE,00H LEA BX, CLCTIME BTN: POP AX TEST AL,04H ;判断键值是加一还是减一,0-3为加1,4-7为减1 JNZ SUB0;PC2不为0转至减 MOV AH,00H MOV SI,AX MOV CL,[BX+SI] TEST AL,01H;PA0 JNZ EDGE0;PA0不为0转至EDGE0 CMP CL,2 ;判断是否到最大值 JZ GOBACK INC CL MOV [BX+SI],CL;分的十位加1 CALL DISSE

22、TTIME ;调用显示设定时间程序 JMP GOBACK EDGE0:CMP CL,09H ;判断是否到最大值 JZ GOBACK INC CL MOV [BX+SI],CL;分个位加1 CALL DISSETTIME JMP GOBACK SUB0:SUB AL,04H MOV AH,00H MOV SI,AX MOV CL,[BX+SI] CMP CL,00H ;判断是否为0 JZ GOBACK DEC CL MOV [BX+SI],CL;减1 CALL DISSETTIME GOBACK: POP CX;返回 POP BX

23、 POP AX RET DISSETTIME: ;;定时时间显示在电脑上 PUSH AX MOV AL,MODE;判断修改模式 CMP AL,01H JNZ DISBACK MOV AH,01H LEA SI, ALARMTIME;取定时时间变量偏移地址 MOV AL,[SI] ADD AL,30H INT 10H;显示在终端 MOV AL,[SI+1] ADD AL,30H INT 10H MOV AL,':' INT 10H MOV AL,[SI+2] ADD AL,30H INT 10H MOV

24、AL,[SI+3] ADD AL,30H INT 10H MOV AL,0AH INT 10H MOV AL,0DH INT 10H DISBACK: POP AX RET SZC:MOV AL,0F0H;AL高位置1 OUT 60H,AL IN AL,62H NOT AL;AL按位取反 AND AL,03H;C口第1、2位对应调时 RET CLEAR: MOV AL,00H OUT 61H,AL RET ;实时时钟 IRQ7:PUSH AX PUSH BX PUSH CX INC DI CMP DI,60

25、00 ;判断是否产生6000次中断 JNZ RETURN MOV DI,00H ;计数器清零 CMP SPEAKER,01H ;判断蜂鸣器是否正在发声 JNZ INTR0 MOV AL,08H ;若正在发声,则关闭蜂鸣器 OUT 63H,AL ;INC MIAO;CMP MIAO,60;JNZ RETURN;MOV MIAO,0H INTR0: LEA BX,CLCTIME ;取时钟变量偏移地址 MOV SI,0003H ;分钟的个位为数组最后一位,十位为倒数第二位 INTR1: MOV AL,[BX+SI] INC AL ;AL加一 TEST S

26、I,0001H ;判断是否应该进位 JNZ INTR2 CMP AL,02H;时最高位不超过2 JNZ INTR3 MOV AL,00H MOV [BX+SI],AL DEC SI CMP SI,0FFFFH JNZ INTR1 JMP INTR4 INTR2: CMP AL,0AH JNZ INTR3 MOV AL,00H MOV [BX+SI],AL DEC SI CMP SI,0FFFFH JNZ INTR1 JMP INTR4 INTR3: MOV [BX+SI],AL INTR4: LEA BX, CLCTIME

27、比较实时时间与设定时间 LEA BP, ALARMTIME MOV SI,0000H INTR5: MOV AL,[SI+BX] MOV CL,DS:[SI+BP] CMP AL,CL JNZ RETURN INC SI CMP SI,0004H JNZ INTR5 MOV AL,09H ;若相同,则开启蜂鸣器 OUT 63H,AL MOV SPEAKER,01H MOV LEDFLAG,01H ;置流水灯标志变量为1 MOV BX,OFFSET MESSAGE ;输出get up字符串 MOV AH,06H INT 10H

28、RETURN:MOV AX,18432D ;定时器重新计数 OUT 42H,AL MOV AL,AH OUT 42H,AL MOV AL,20H ;中断复位 OUT 20H,AL POP CX POP BX POP AX IRET DISPLAY: PUSH AX;数码管显示时间 PUSH DX PUSH BX LEA SI,CLCTIME;取时钟实时时间偏移地址 MOV DL,0FEH ;11111110,选中数码管 MOV AL,DL DISAGAIN: IN AL,60H OR AL,0FH;AL低4位置1 AND

29、AL,DL;选中PA0 OUT 60H,AL ;BIT SELECT MOV AL,[SI] ;DISPLAY [SI] LEA BX,TABLE AND AX,00FFH;AH高位清0 ADD BX,AX MOV AL,[BX];查表转换 OUT 61H,AL ;B口输出秒显示 CALL DALLY INC SI MOV AL,DL TEST AL,08H ;判断AL第3位是否是0 JZ OUT1;为0转到OUT1,说明数码管最后一个已亮 ROL AL,1;否则左移1位 MOV DL,AL JMP DISAGAIN OUT

30、1: POP BX POP DX POP AX RET DALLY: ;;延时程序 PUSH CX PUSH AX MOV CX,0010H T1: MOV AX,0010H T2: DEC AX JNZ T2 LOOP T1 POP AX POP CX RET CODE ENDS END START 7 参考文献 ² 龚尚福、朱宇. 《微机原理与接口技术》.西安电子科技大学出版社.2008 ² 龚尚福、朱宇. 《微机原理与接口技术实验指导书》.西安电子科技大学出版社.2008 17

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服