ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:478.68KB ,
资源ID:19856647      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理课程设计报告Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理课程设计报告Word文档格式.docx

1、五、设计的系统连接总逻辑图键盘与LED(F5)A:按键的列线B:数码管段码C:数码管选择脚 D:按键的行线蜂鸣器(F8)Ctrl:控制接口,0蜂鸣8253(C4)CS:片选信号,低电平有效;A0、A1:地址信号;8255(D3)8259(B3)六、程序模块划分及各模块程序流程图主程序模块:对8254、8259A等芯片进行初始化,设置中断向量,扫描键盘,根据按键值作相应的处理。流程图参见图。注意:设置初始时间时要考虑边界,时间的最大值为23:59:59,不能超出此范围。8254中断服务程序:刷新一遍数码管,计时时间到一秒,修改当前时间,整点报时。七、实验中遇到的问题,解决办法及实验心得体会 这次

2、课程设计有一定的难度,期间遇到了种种困难,卡住了很久,比如在做显示的时候,先要全熄数码管,然后扫描按键,还要很好地控制延时去抖动,这是件挺繁琐的事,另外,按键之后需要给按键一个扫描码,接着转化成字形码,能够识别并在数码管上显示,也花了很多时间,再比如在设置时间的时候,对于延时时间的拿捏也很难,需要在buf缓冲区存放值,修改时,让修改位熄灭,其余位为0,若超出规定位数,则不修改,显示原值。老师在我完成规定任务后也设下了一个小挑战,将8255的一根接线调换了位置,要求仍正确显示,最后我想出的解决的方法是段位码改共阳极,键盘扫描里修改相应端口,开头输入部分修改8255初始化控制字即可。这次课程设计对

3、于这门课的认知的提升很有帮助,本来只是理解了理论,对于亲自动手实现还是感到茫然,甚至不相信自己能完成,但是在一步一步实现各个功能模块后,发现点连成了线,线动成面,知识点是能够串联起来的,只要自己愿意动手,愿意思考,没有什么是做不成的,当然期间必然会遇到各种各样的问题,只要肯向老师或同学请教,他们也一定会给你的思维一些启发。这次的课程设计虽然只是做了一个看似简单的电子钟,但是它几乎涵盖了我们这学期所学的大部分内容,完成这项课程设计必然要深入理解课本上的知识,这就起到了查漏补缺,融会贯通的作用,我想这对日后学习其他硬件方面的知识都是很有益的,也很大程度上激发了我对硬件方面课程的更大热情。八、源程序

4、清单 .MODEL TINYC0_8253 EQU 260H ;计数器0的端口地址C1_8253 EQU 261H ;计数器1的端口地址C2_8253 EQU 262H ;计数器2的端口地址CTRL_8253 EQU 263H ;控制端口的端口地址PA_8255 EQU 270H ;端口A的地址 PB_8255 EQU 271H ;端口B的地址PC_8255 EQU 272H ;端口C的地址CTRL_8255 EQU 273H ;EVEN_8259 EQU 250H ODD_8259 EQU 251H .STACK 100 .DATABUFFER DB 0,0,0,0,0,0 ;数码上显示的内

5、容KEY DB 0FLAG DB 1BUF DB 0,?SEG_TAB DB 03FH, 06H,05BH,04FH, 66H, 6DH, 7DH,07H,7FH,6FH;09的段码表SEG_TAB2 DB 0BFH, 86H,0DBH,0CFH, 0E6H, 0EDH, 0FDH,87H,0FFH,0EFH .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX NOP MOV AL,30H ;00110000B,计数器0,方式0,二进制计数 MOV DX,CTRL_8253 OUT DX,AL MOV DX,C0_8253 MOV AL,0DH ;Fout

6、=1/25ms=40Hz,Fclk=31250Hz,N=Fclk/Fout=31250Hz/40Hz=781,N=781 MOV AL,03H MOV AL,76H ;01110110B,计数器1,方式3,二进制计数 MOV DX,C1_8253 MOV AL,12H ;31250Hz OUT DX,AL MOV AL,7AH CALL SET_VECTOR ;设置中断向量 CALL INIT_8259 MOV AL,11111110B ;开放IR0请求的屏蔽位 MOV DX,ODD_8259 L1: STI MOV DX,CTRL_8255 ;8255初始化 MOV AL,80H ;1000

7、0000B,端口A方式0输出,端口B方式0输出,C输出 OUT DX,AL LEA SI,BUFFER MOV CX,8 LP: CALL DIR LOOP LP MOV DX,CTRL_8255 ; MOV AL,82H ;10000010B,端口A方式0输出,端口B方式0输入,C输出 L2: CALL KEYSCAN JMP L1 JMP $ DIR PROC NEAR PUSH AX PUSH BX PUSH DX MOV AL,BUFFER0 CMP FLAG,0 JNZ Q0 CMP KEY,0 LEA BX,SEG_TAB2 JMP W0Q0: LEA BX,SEG_TAB ;BX

8、置为段码表首址 W0: XLAT ;转换成七段码 MOV DX,PA_8255 ;段码端口 OUT DX,AL MOV DX,PB_8255 ;位码端口 MOV AL,7FH ;小时的十位 OUT DX,AL CALL DELAY ;延时 MOV AL,BUFFER1 JNZ Q1 CMP KEY,1 JMP W1Q1: LEA BX,SEG_TAB W1: XLAT ; MOV DX,PA_8255 ; MOV AL,0BFH ;小时的个位 CALL DELAY ; MOV AL,BUFFER2 JNZ Q2 CMP KEY,2 JMP W2Q2: LEA BX,SEG_TAB W2: XL

9、AT ; MOV DX,PA_8255 MOV AL,0EFH ;分钟的十位 MOV AL,BUFFER3 JNZ Q3 CMP KEY,3 JMP W3Q3:W3: MOV AL,0F7H ;分钟的个位 MOV AL,BUFFER4 JNZ Q4 CMP KEY,4 JMP W4Q4: LEA BX,SEG_TAB W4: MOV AL,0FDH ;秒的十位 MOV AL,BUFFER5 JNZ Q5 CMP KEY,5 JMP W5Q5: LEA BX,SEG_TAB W5: MOV AL,0FEH ;秒的个位延时 POP DX POP BX POP AX RETDIR ENDPKEYSC

10、AN PROC NEAR PUSH CX PUSH DX MOV BL,KEY MOV DX,PC_8255 MOV AL,11111110B MOV AH,AL MOV AL,00H MOV DX,PB_8255 IN AL,DX CMP AL,0FFH JZ L4 JMP L3 L4: MOV DX,PC_8255 MOV AL,11111101B MOV AH,AL MOV AL,00H MOV DX,PB_8255 IN AL,DX L3: CMP FLAG,0 JNZ D4 CMP BX,4 JZ D1 CMP BX,2 CMP BX,0 JZ D0 CMP AX,0FDFDH ;按

11、键9 JZ BUFF9 CMP AX,0FDFEH ;按键8 JZ BUFF8 CMP AX,0FE7FH ;按键7 JZ BUFF7 CMP AX,0FEBFH ;按键6 JZ BUFF6 D1: CMP AX,0FEDFH ;按键5 JZ BUFF5 CMP AX,0FEEFH ;按键4 JZ BUFF4 CMP AX,0FEF7H ;按键3 JZ BUFF3 D0: CMP AX,0FEFBH ;按键2 JZ BUFF2 CMP AX,0FEFDH ;按键1 JZ BUFF1 CMP AX,0FEFEH ;按键0 JZ BUFF0 CMP AX,0FD7FH ;按键F JZ BUFFF

12、D4: CMP AX,0FDFBH ;按键A JZ BUFFA CMP AX,0FDF7H ;按键B JZ BUFFB JMP OUTPUT BUFF9: MOV BUFFERBX,9 JMP OUTPUT BUFF8: MOV BUFFERBX,8 BUFF7: MOV BUFFERBX,7 BUFF6: MOV BUFFERBX,6 BUFF5: MOV BUFFERBX,5 BUFF4: MOV BUFFERBX,4 BUFF3: MOV BUFFERBX,3 BUFF2: MOV BUFFERBX,2 BUFF1: MOV BUFFERBX,1 BUFF0: MOV BUFFERBX,

13、0 BUFFA: MOV FLAG,1 BUFFB: MOV FLAG,0 BUFFF: CMP BUF0,1 JNZ A7 MOV DL,BUF1 MOV BUFFERBX,DL MOV BUF0,0 A7: CALL DELAY1 CMP BL,0 JZ L5 A8: MOV BL,KEY CMP BX,5 JNZ L5 MOV BX,0 JMP L6 L5: INC BL L6: MOV KEY,BL OUTPUT: POP DX POP CXKEYSCAN ENDPSET_VECTOR PROC NEAR PUSH AX PUSH BX MOV AX,0 MOV ES,AX ;中断向量

14、表段基址为0000H MOV BX,40H*4 ;BX中预置中断向量地止,中断类型号为40H MOV AX,OFFSET INTRPROC ;向量表中低地址存放偏移地址, MOV ES:BX,AX MOV AX,SEG INTRPROCBX+2,AX ;向量表中高地址存放段基地址 POP BX POP AX RETSET_VECTOR ENDPINIT_8259 PROC NEAR PUSH DX MOV AL,13H ;ICW1:边沿触发,单片系统,需要ICW4 MOV DX,EVEN_8259 OUT DX,AL MOV AL,40H ;ICW2:类型号从40H开始 MOV DX,ODD_

15、8259 MOV AL,01H ;ICW4:完全嵌套方式,非缓冲,非自动结束 OUT DX,AL POP DXINIT_8259 ENDP INTRPROC PROC FAR PUSH AX PUSH BX ;保护现场 PUSH DS MOV AL,FLAG CMP AL,1 JNZ D5 CALL CHANGE D5: MOV AL,30H CLI MOV AL,20H MOV DX,EVEN_8259 ;发送EOI命令 POP DS POP BX ;恢复现场 POP AX IRET ;中断返回INTRPROC ENDP CHANGE PROC NEAR MOV BL,BUFFER5 CMP

16、 BL,9 JL L7 MOV BL,0 MOV BUFFER5,BL MOV BL,BUFFER4 CMP BL,5 JL L9 MOV BUFFER4,BL MOV BL,BUFFER3 JL L10 MOV BUFFER3,BL MOV BL,BUFFER2 JL L11 MOV BUFFER2,BL MOV BL,BUFFER1 JL L12 MOV BUFFER1,BL MOV BL,BUFFER0 CMP BL,2 JL L13 MOV BUFFER0,BL JMP L8L7: INC BLL13: JMP L8 L12:L11: JMP L8L10:L9:L8:CHANGE ENDP DELAY PROC NEAR MOV CX,500 LOOP $DELAY ENDPDELAY1 PROC NEAR MOV CX,25000 DELAY1 ENDPDELAY2 PROC NEAR MOV CX,50 DELAY2 ENDPEND START

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1