免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
左旭坤(zxk78),【本章重点】本章重点介绍可编程定时器/计数器8253的内部结构、6种工作方式及初始化编程应用。【本章难点】本章难点是可编程定时/计数器8253的引脚结构、6种工作方式的区别及使用场合,灵活掌握初始化编程应用。,左旭坤(zxk78),图11-28253的内部结构,9.18253芯片内部结构可编程定时器8253的外部引线和内部结构如图所示:,左旭坤(zxk78),DoD7:双向数据线用以传送数据和控制字计数器的计数值亦通过此数据总线进行读写。CS:输入信号低电平有效当它有效时,才能选中该定时器芯片,实现对它的读或写:读控制信号,低电平有效:写控制信号,低电平有效以上两信号输入到8253上,与其他信号一起,共同完成对8253的读写操作,8253与CPU相连接的引线主要是:,左旭坤(zxk78),A。、Al为8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下:AlA。00可选择计数器001可选择计数器110可选择计数器211可选择控制寄存器,8253与CPU相连接的引线主要是:,左旭坤(zxk78),CLK02:是每个计数器的时钟输入端,计数器对此时钟信号进行计数,或按此信号进行定时。CLK最高频率可达2MHz。GATE02:叫门控信号,即计数器的控制输入信号,用来控制计数器的工作。OUT02:计数器输出信号,用来产生不同方式工作时的输出波形,8253的控制和输出信号:,左旭坤(zxk78),1方式0(计数结束产生中断),(1)输出信号OUT的波形:初始状态为高电平;写入控制字后变为低电平;计数初值减为0时变为高电平(2)启动计数的条件:写入计数初值后自动开始(3)门控信号GATE的功能:GATE为低电平时暂停计数(OUT保持输出低电平);GATE变回高电平时继续计数(4)计数初值的设置(更改):如果在计数过程中修改计数值,则写入新计数值的第一个字节时使原先的计数停止。写入第二个字节后,开始以新写入的计数值重新计数。,左旭坤(zxk78),2方式1(可编程单稳),(1)输出信号OUT的波形:初始状态为低电平;写入控制字后变为高电平;开始计数时变为低电平;计数为0时变为高电平(2)启动计数的条件:写入计数初值;GATE出现上升沿。(3)门控信号GATE的功能:启动计数(4)计数初值的设置(更改):如果在计数过程中修改计数值,则等当前计数结束后,如果GATE再次获得上升沿,则开始以新计数值计数。,左旭坤(zxk78),3方式2(频率发生器),(1)输出信号OUT的波形:初始状态为低电平;写入控制字后变为高电平;计数为1时变为低电平(保持一个CLK周期)。自动开始下一轮循环计数。(2)启动计数的条件:写入计数初值后自动开始计数。(3)门控信号GATE的功能:当GATE为低电平时,暂停计数,强迫OUT输出高电平;当GATE为高时,继续计数。(4)计数初值的设置(更改):如果在计数过程中修改计数值,则等当前计数结束后开始以新计数值计数。,左旭坤(zxk78),4方式3(方波发生器),(1)输出信号OUT的波形:初始状态为低电平;写入控制字后变为高电平;若计数值为偶数,则前N2计数过程中,OUT为高;后N2计数过程中,OUT为低,。若计数值为奇数,则(N+1)2计数过程中,OUT保持高电平;而(N-1)2计数期间,OUT为低电平,并自动开始下一轮循环。(2)启动计数的条件:写入计数初值后自动开始计数。(3)门控信号GATE的功能:当GATE为低电平时,暂停计数,强迫OUT输出高电平;当GATE为高时,继续计数。(4)计数初值的设置(更改):如果在计数过程中修改计数值,则等当前计数结束后开始以新计数值计数。,左旭坤(zxk78),5方式4(软件触发选通),(1)输出信号OUT的波形:初始状态为低电平;写入控制字后变为高电平;计数为0时变为低电平(保持一个CLK周期)(2)启动计数的条件:写入计数初值后自动开始计数。(3)门控信号GATE的功能:当GATE为低电平时,暂停计数;当GATE为高时,继续计数。(4)计数初值的设置(更改):如果在计数过程中修改计数值,计数器从下一CLK周期开始以新的计数值进行计数。,左旭坤(zxk78),6方式5(硬件触发选通),(1)输出信号OUT的波形:初始状态为低电平;写入控制字后变为高电平;计数为0时变为低电平(保持一个CLK周期)(2)启动计数的条件:写入计数初值;并且GATE出现上升沿后开始计数。(3)门控信号GATE的功能:启动计数。(4)计数初值的设置(更改):如果在计数过程中修改计数值,则GATE再次获得上升沿后,按新值计数。,左旭坤(zxk78),总结:这6种工作方式可分为3组来理解:方式0和方式4;方式1和方式5;方式2和方式3。每一组的两种工作方式极为类似。对它们的理解应抓住以下几个方面:(1)输出信号OUT的波形;(2)启动计数的条件;(3)门控信号GATE的功能;(4)计数初值的设置(更改);,课后思考:按照以上四点,对各组的两种工作方式进行比较。,左旭坤(zxk78),9.38253的控制字8253在使用前要写入控制字,用来规定其工作方式。3个通道中各有一个控制字寄存器,它们使用同一个口地址,靠控制字中的D7,D62位的编码加以区别。控制字格式如下:D7D6D5D4D3D2DlD0,左旭坤(zxk78),SC1,SC0为计数器选择:SCl,SC0=00,选择计数器0;SCl,SC0=01,选择计数器1;SCl,SC0=10,选择计数器2;SCl,SC0=11,非法选择。RW1,RW0为读写格式控制位:RW1,RW0=00,对计数器锁存,以便读取计数值;RW1,RW0=01,只读或只写低8位字节;RW1,RW0=10,只读或只写高8位字节;RW1,RW0=11,先读写低8位,再读写高8位。,左旭坤(zxk78),M2M1M0为工作方式选择位:M2M1M0=000,选择方式0;M2M1M0=001,选择方式1;M2M1M0=X10,选择方式2;M2M1M0=X11,选择方式3;M2M1M0=100,选择方式4;M2M1M0=101,选择方式5。BCD为计数数制选择位:BCD=0,选择二进制计数,最大计数值为65535;BCD=1,选择十进制计数,最大计数值为9999。,左旭坤(zxk78),【例9-1】某8253端口地址为40H43H,定时器0工作于方式5,BCD计数,初值为2850,计数器1工作于方式3,二进制计数,初值为64H,写出其初始化程序。计数器0控制字为00111011B(3BH)计数器1控制字为01010110B(56H),初始化步骤:(1)写入控制字用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定该计数器的工作方式和计数格式。写入控制字还起到复位作用,使输出端out变为规定的初始状态,并使计数器清0(2)写入计数初值用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制字中有关格式的规定。初值可以是8位数据,也可以是16位数据。,左旭坤(zxk78),左旭坤(zxk78),读取8253的计数值,(1)利用命令控制字(SC1SC0000000B)写入控制端口,将待读计数值锁存至其锁存器。(2)利用输入指令,从计数器端口读取当前计数值。如果是8位计数值只需读一次;如果是16位计数值需读两次。例:某8253端口地址为2A0H2A3H,读取计数器0的16位计数值放入AX中,其程序为:MOVAL,00HMOVDX,2A3HOUTDX,ALMOVDX,2A0HINAL,DX;读取计数器0低8位数据XCHGAL,AH;暂存AHINAL,DX;读取计数器0高8位数据XCHGAL,AH;AX中为计数器0的16位计数值,左旭坤(zxk78),【例9-2】按乐谱编写乐曲程序,功能:让PC机按乐谱演奏,PC机中的8253,计数器0:向系统日历时钟提供定时中断计数器1:动态RAM刷新计数器2:控制扬声器发声,左旭坤(zxk78),计算机发声原理,原理:8255的PB口工作在方式0输出;8253的定时器2工作在方式3由8255的PB0和PB1控制定时器2启动和扬声器启动即:PB0=1:定时器2启动;PB1=1:扬声器启动,PC机中各端口地址:8255的PB口地址:61H8253的控制口地址:43H8253的定时器2地址:42H,左旭坤(zxk78),发声频率设置:定时器2工作在方式3(方波发生器),可产生不同频率的方波,由此方波控制扬声器就可得到频率不同的声波。(前提条件是8255的PB0和PB1都为1),已知,当计数值为533H时,定时器2发出的声音频率为896HZ,则产生其它频率的计数值为:533H*896/给定频率=123280/给定频率,假定给定的发声频率放在DI寄存器中,则下列指令可以得到送往定时器2的计数值:MOVDX,12HMOVAX,3280HDIVDI该段程序执行后,AX中存放的就是送往定时器2的计数值。,左旭坤(zxk78),发声音长(声音持续时间)设置:定时器2发出的方波频率可以控制声音频率;调节定时器2的工作时间,则可以控制发声的音长。,通过延时指令可规定定时器2发声的音长:MOVBX,nWAIT:MOVCX,22480DELAY:LOOPDELAYDECBXJNZWAIT,左旭坤(zxk78),发声子程序设计,OUT42H,ALMOVAL,AHOUT42H,AL;向定时器2写入计数值INAL,61HMOVAH,AL;读8255的PB口ORAL,3OUT61H,AL;使PB0和PB1输出1,其余PB口不变;启动发声WAIT1:MOVCX,22480DELAY1:LOOPDELAY1DECBXJNZWAIT1;延时,控制音长MOVAL,AHOUT61H,AL;PB0=PB1=0,关定时器和扬声器POPDIPOPDXPOPCXPOPBXPOPAXRETGENSOUNDENDP,通用发声子程序如右所示。该GENSOUND子程序能产生19Hz65535Hz的声音(声音频率事先存放在DI中),实际上因为人能听到的声音最多是20000Hz,所以DI中的值不能设的太大。另外,BX中应该事先存放好延时倍数(这一步可以在主程序中完成)利用GENSOUND发声子程序,就可以按乐谱编写乐曲演奏程序了,GENSOUNDPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXPUSHDIMOVAL,0B6H;10110110OUT43H,AL;设置8253方式3MOVDX,12HMOVAX,3280HDIVDI;计算计数初值,左旭坤(zxk78),乐曲程序设计,乐曲是按照一定的高低、长短和强弱关系组成的音调,在一首乐曲中,每个音符的音高和节拍与频率和音长有关:音高与频率的关系:低音:中音:1=131Hz1=2622=1472=2943=1653=3304=1754=3495=1965=3926=2206=4407=2477=493(高)1=523,左旭坤(zxk78),乐曲程序设计,乐曲是按照一定的高低、长短和强弱关系组成的音调,在一首乐曲中,每个音符的音高和节拍与频率和音长有关:,节拍与音长的关系在4/4拍中,全音符持续4拍、二分音符持续两拍、四分音符持续一拍、八分音符持续半拍;若每拍延时0.25秒,则:全音符:1秒二分音符:0.5秒四分音符:0.25秒,有了音高与频率的关系,以及节拍与音长的关系;我们就可以对照乐谱来编写乐曲程序了。,左旭坤(zxk78),乐曲程序设计,编写乐曲程序可以分为四个步骤:(1)为乐曲编写频率表(MUS_FREQ)和音长时间表(MUS_TIME):DATASEGMENTMUS_FREQDW330,392,330,294,330,392,330,294,330DW330,392,330,294,262,294,330,392,294DW262,262,220,196,196,220,262,294,330,262DW-1MUS_TIMEDW3DUP(500),250,250,500,250,250,1000DW2DUP(500,500,250,250),1000DW3DUP(500,250,250,),1000DATAENDS,-1作为乐曲结束符号,左旭坤(zxk78),乐曲程序设计,(2)分别将两个表的偏移地址放入SI和BP:LEASI,MUS_FREQLEABP,DS:MUS_TIME(3)从表中按顺序取出音符的频率放入DI;取出音符的音长放入BX:MOVDI,SIMOVBX,DS:BP(4)调用GENSOUND子程序发出音调。,左旭坤(zxk78),乐曲程序设计,LEASI,MUS_FREQ;SI频率表首地址LEABP,DS:MUS_TIME;BP音长表首地址FREG1:MOVDI,SI;当前音符的频率DICMPDI,-1;判断是否是结束符号JEEND_MUS1;结束符,转到END_MUS1MOVBX,DS:BP;当前音符的音长BXCALLGENSOUND;调用发声子程序ADDSI,2ADDBP,2;SI和BP分别指向下一个音;符的频率和音长JMPFREG1;转到FREG1,继续发声END_MUS1:NOPMOVAH,4CHINT21H;程序结束,DATASEGMENTMUS_FREQDW330,392,330,294,330,392,330,294,330DW330,392,330,294,262,294,330,392,294DW262,262,220,196,196,220,262,294,330,262DW-1MUS_TIMEDW3DUP(5000),2500,2500,5000,2500,2500,10000DW2DUP(5000,5000,2500,2500),10000DW3DUP(5000,2500,2500),10000DATAENDSSTCKSEGMENTSTKDB200DUP(?)TOPEQULENGTHSTKSTCKENDS,CODESEGMENTASSUMEDS:DATA,SS:STCK,CS:CODE,CODEENDSEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东省德发政务服务外包有限公司(蓬莱工作区)招聘50人笔试历年典型考点题库附带答案详解试卷3套
- 2025安徽科技大市场建设运营有限责任公司人才招聘(第二批)人员及笔试历年备考题库附带答案详解试卷3套
- 2025天津荣程钢铁集团招聘3人笔试历年典型考点题库附带答案详解试卷3套
- 2025四川自贡市东投建设开发有限公司招聘2人笔试历年常考点试题专练附带答案详解试卷3套
- 福清市公务员考试试题及答案
- 2025中国建科校园招聘笔试历年典型考点题库附带答案详解试卷3套
- 塑料薄膜制品技术改造项目施工方案
- 方城县籍在外公务员考试试题及答案
- 德宏公务员考试行测试题及答案
- 2025年及未来5年市场数据中国磁鼓分离器行业市场运行现状及未来发展预测报告
- 绿色积分讲解课件
- 时间介词in-on-at课件
- 路基施工填筑碾压方案
- 2025年社会体育指导师资格考试试题及答案解析
- 电动汽车充电桩与储能系统融合应用研究报告
- 2025年高中创新能力大赛笔试题资格审查试题(附答案)
- 航空气象知识培训课件
- 输电线路事故抢修课件
- 51单片机毕业论文
- 康复科特色宣传
- 《互联网时代知识产权保护实务和十四五数字经济发展规划解读》学习资料-题库-温州市继续教育-一般公需课
评论
0/150
提交评论