版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六8253/4定时器/计数器应用实验6.1实验目的(1)掌握8254的工作方式及应用编程(参考教材)(2)掌握8254的典型应用电路的接法(3)学习8254在PC系统中的典型应用方法6.2实验设备PC机一台,TD-PIT-B实验装置一套。6.3实验内容及说明1)计数应用实验。2)定时应用实验。3)电子发声实验注意:在断电情况,连接好实验线路,检查无误后,通电进行实验。实验完毕,先断电,再拆线,并将导线整理好。1.计数应用实验:编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1-作为CLK0时钟,OUT0连接IRQ,每当KK1-按动5次后产生中断请求,在屏幕上显示
2、字符“ M 。8254计数应用参考连接线图如图6-1。;计数应用实验;filename : 8254-1.asm;-PCI卡分配的第3个I/O空间MY8254_COUNT0MY8254_COUNT1MY8254_COUNT2MY8254 MODE ;-PCI卡分配的第1个I/O空间INTCSR_BYTE0INTCSR_BYTE1DATA SEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA图6-1 8254计数应用实验参考接线图INTCSR_BYTE2INTCSR_BYTE3IMB4_
3、BYTE3EQU 0DC3AHEQU 0DC3BHEQU 0DC1FHEQU 0E440HEQU 0E441HEQU 0E442HEQU 0E443HEQU 0DC38HEQU 0DC39HSTART: CLIMOV AX,DA TAMOV DS,AXMOV DX,INTCSR_BYTE0;设置pci卡MOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DX,ALMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALMOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,ALMOV AX,0000HMOV
4、 ES,AX;-MOV DI, 01C4H;irq 9 , INT 71h, 01c4= 71h*4;-MOV AX,ES:DIMOV IPBAK,AX;IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:DI;CSMOV CSBAK,AXMOV AX,SEG MYINTSTOSWIN AL,0A1HMOV MKBAK,AL;-AND AL,0fdh; irq9;-OUT 0A1H,ALSTIMOV DX,MY8254_MODE;CLK=KK1- /实际接线kk1-MOV AL,17H;00 01,011 1b :计数器0,读/写低8位;方式3十进制数OUT DX,A
5、LMOV DX,MY8254_COUNT0MOV AL,5;写入计数初值3个高电平,2个低电平OUT DX,ALA1:NOPCALL BREAKJMP A1MYINT: PUSH DSPUSH AXPUSH DXMOV DX,IMB4_BYTE3;清PCI卡中断标志IN AL,DXMOV DX,INTCSR_BYTE2 MOV AL,3FHOUT DX,AL;-MOV AL,61H;irq9从片D1,主片D2;-OUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AX,0E4DH;显示字母M加一空格INT 10HMOV AX,0E20HINT 10HPOP DXPOP AXP
6、OP DSIRETBREAK PROC NEAR PUSH DSMOV AH,06HMOV DL,0FFHINT 21HJE RETURNPOP DSCLIMOV AL,MKBAKOUT 0A1H,ALMOV AX,0000HMOV ES,AX;-MOV DI,01C4H;irq 9 INT 71H,01C4H=71H*4;-MOV AX,IPBAKCLDSTOSWMOV AX,CSBAKSTOSWMOV DX,INTCSR_BYTE1;pci卡设置MOVAL,00HOUTDX,ALSTIMOV AX,4C00HINT 21HRETURN:POP DSRETBREAK ENDPCODE END
7、SEND START2.宋时应用实验编写程序,将8254的计数器0设置为方式2,用信号源10kHz作为CLK0时钟,计数值为 十进制0即最大计数值10000, OUT0连接IRQ,这样每计时1s后产生中断请求,制作一个秒 表显示,每计时60秒自动归零。8254定时应用实验参考连线图:X IO WX IO RIO Y2图6-2 8254定时应用实验参考接线图XD 7XD6总线接口XD 5XD4XD 3XD2XD 1XD 0XA 1XA 0D7D6D5GAT E0D4D3CLK0D28254OUT0D 1UNITD010K HZ接信号源IRQ/W R/RD/CSA 1A 03个I/O空间EQU 0
8、E440HEQU 0E441HEQU 0E442HEQU 0E443H1个I/O空间EQU 0DC38HEQU 0DC39HEQU 0DC3AHEQU 0DC3BHEQU 0DC1FHDATA SEGMENTCSBAKDW?IPBAK DW ?MKBAKDB?SEC1DB30H ;显示秒的个位SEC0DB31H ;显示秒的十位DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: CLIMOV AX,DA TAMOV DS,AXMOV DX,INTCSR_BYTE0MOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV
9、AL,1FHOUT DX,ALMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALMOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,ALMOV ES,AX;-MOV DI, 01C4H;irq 9 , INT 71h, 01c4= 71h*4;-MOV AX,ES:DIMOV IPBAK,AX;IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:DI;CSMOV CSBAK,AXMOV AX,SEG MYINTSTOSWIN AL,0A1HMOV MKBAK,AL;-AND AL,0fdh;irq9;-OUT 0A1H,A
10、LMOV AX,0E30H;显示00回车,注意没有换行,同在一行显示INT 10HMOV AX,0E30HINT 10HMOV AX,0E0DHINT 10HMOV DX,MY8254_MODE;CLK=10KMOV AL, 35H;0011,0101B计数器0,读写低/高位 方式2;十进制计数方式OUT DX, ALMOV DX,MY8254_COUNT0;写入计数值10000MOV AL,0OUT DX,ALOUT DX,ALSTIMOV AX,0000H;8254定时应用实验;filename : 8254-2.asm;PCI卡分配的第MY8254_COUNT0MY8254_COUNT1
11、MY8254_COUNT2MY8254_MODE;PCI卡分配的第INTCSR_BYTE0INTCSR_BYTE1INTCSR_BYTE2INTCSR_BYTE3IMB4BYTE3A1:NOPCALL BREAKJMP A1MYINT: PUSH DSPUSH AXPUSH DXMOV AX,DA TAMOV DS,AXMOV DX,IMB4_BYTE3;清PCI卡中断标志IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,AL;-MOV AL,61H;irq9从片D1,主片D2;-OUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AH,
12、0EHMOV AL,SEC1INT 10HMOV AH,0EHMOV AL,SEC0INT 10HMOV AX,0E0DH;只回车,不换行,还在原处INT 10HINC SEC0;秒的个位+1CMP SEC0,3AH;个位计数到10JZ B3JMP B1B3:INC SEC1MOV SEC0,30HCMP SEC1,36H ;十位计数到6JZ B4JMP B1B4:MOV SEC1,30H ;计到60,重新到零B1:POP DXPOP AXPOP DSIRETBREAK PROC NEARPUSH DSMOV AH,06HMOV DL,0FFHINT 21HJE RETURNPOP DSCLI
13、MOV AL,MKBAKOUT 0A1H,ALMOV AX,0000HMOV ES,AXMOV DI,01C4H;irq 9 INT 71H,01C4H=71H*4MOV AX,IPBAKCLDSTOSWMOV AX,CSBAKSTOSWMOV DX,INTCSR_BYTE1MOVAL,00HOUTDX,ALSTIMOV AX,4C00HINT 21HRETURN:POP DSRETBREAK ENDPCODE ENDSEND START3.电子发声实验:1用实验系统扬声器做发声实验用信号源1MHz作为扬声器发声基准时钟,计数器0设置为工作方式3,由表格查出每个音符 对应的时间常数送给计数器0
14、,以确定音调,驱动扬声器产生音乐。8254电子发声实验参考图 如图6-3所示。发声频率已设定,但发声时间是通过软件延时控制的,因此发声时间随不同档次PC机而变化,可以通过调节延时子程序参数来调节发声时间DATA SEGMENTDTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33HDB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45HDB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H,
15、3DH, 33H, 26H, 26HDB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39HDB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DHDB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26HDB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45HDB 45H, 45H, 45H,
16、45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DHDB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39HDB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00HDATA ENDSCODE SEGMENTASSUME CS:CODEMY8254_COUNT0MY8254_COUNT1MY8254_COUNT2MY8254_MODEEQU 0E440HEQU 0E441HEQU 0E442HEQU 0E443H用实验系统
17、扬声器做发声实验START: MOV AX,DA TAMOV DS,AXMOV BX,OFFSET DTABLEMOV AL,BXMOV AH,00HA1:MOV DL,0AH ;CLK=1MHzMUL DLPUSH AXMOV DX,MY8254_MODEMOV AL,36H;0011,0110B计数器0,读写低高字节,;方式3,二进制OUT DX,ALPOP AXMOV DX,MY8254_COUNT0OUT DX,ALMOV AL,AHOUT DX,ALINC BXMOV AH,00HMOV AL,BXTEST AL,0FFHJZ A2PUSH AXCALL DALLYCALL BREA
18、KPOP AXJMP A1A2:MOV BX,OFFSET DTABLEMOV AL,BXMOV AH,00HJMP A1DALLY: MOV CX,0F7FFH ;根据不同机器配置修改此值D1:MOV AX,0D00HD2:DEC AXJNZ D2LOOP D1BREAK PROC NEAR ;检测是否有键按下MOV AH,06HMOV DL,0FFHINT 21HJE RETURNMOV AX,4C00HINT 21HRETURN:RETBREAK ENDPCODE ENDSEND START2)用PC机扬声器做发声实验有三个计数器在PC机中集成,它们的功能、操作完全与8254兼容。三个计
19、数器的端口地 址分别是40H, 41H , 42H。控制存放器地址为43H。PC扬声器发声需要计数器2输出OUT2和端口61H(8255PB口)的D1、D0的控制,只有都为“1时扬声器才可以发声。我们可以将61H的D1、D0两位置1,然后改变计数器2的初值,使OUT2输出不同的频率, 从而改变扬声 器发声的音调。PC机中定时器结构框图如图6-X所示。具体实验步骤如下:(1)编写程序,通过设置PC机内计数/定时器2,实现PC机内扬声器的发声(2)注意退出时要恢复端口61H原来的值(3)运行程序,观察发声是否正常(4)假设音乐节拍发声时间较长或较短,可以修改延时子程序中的计数值,调整发声时间到最正
20、确。;filename: 8254-3.asm;用pc扬声器作发声实验DATA SEGMENTBAK DB ?DTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33HDB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45HDB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26HDB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33
21、H, 33H, 33H, 45H, 3DH, 39HDB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DHDB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26HDB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45HDB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DHDB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39HDB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TAMOV DS,AXSTART: IN AL,61HMOV BAK,ALMOV BX,OFFSET DTABLEMOV AL,BXMOV AH,00HA1:MOV DL,20HPC8254_COUNT0PC8254_COUNT1P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐月亮钩钩 好月亮你走得这样静悄悄教案
- 排气歧管的组成说课稿2025学年中职专业课-汽车发动机构造与维修-汽车运用与维修-交通运输大类
- 小学语文人教部编版六年级下册为人民服务教学设计及反思
- 企业法律文书管理办法
- 音乐一年级下册牧童谣教学设计及反思
- 河南省南阳市2025-2026学年高三上学期1月期末考试语文试题(解析版)
- 注册计量师(一级)考试真题精讲试卷及答案解析
- 2026年土地登记代理人真题卷
- 墙纸施工质量保证措施
- 2026年制药企业(GMP)设备部年度工作总结与验证计划
- 矿山支柱作业安全培训课件
- 机械类中职学业水平考试专业综合理论考试题库(含答案)
- 中考听说信息询问解题技巧
- 污水处理厂设计计算说明书cass工艺
- 调酒与茶艺智慧树知到答案章节测试2023年三亚航空旅游职业学院
- 小学六年级期中考试后家长会
- 中级经济师人力资源管理考试讲义
- 煤化工水处理技术解析
- GB/T 5276-2015紧固件螺栓、螺钉、螺柱及螺母尺寸代号和标注
- GB/T 20485.32-2021振动与冲击传感器校准方法第32部分:谐振测试用冲击激励测试加速度计的频率和相位响应
- GB/T 19234-2003乘用车尺寸代码
评论
0/150
提交评论