版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章微型机接口技术
可编程定时/记数器可编程并行接口串行通信和串行接口*模拟通道接口概述I/O接口的功能:地址译码和I/O设备选择信息的输入与输出数据的缓冲及锁存信息的转换可编程定时/计数器定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能(P272)定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔计数电路用于记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器8253/8254定时计数器3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8254是8253的改进型8253/8254的内部结构和引脚D7~D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21.计数器预置寄存器GATECLKOUT减1计数器输出锁存器计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值与处理器接口D0~D7数据线A0~A1地址线CS*片选信号RD*读信号WR*写信号CS*A1A0I/O地址读操作RD*写操作WR*00000101001140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字8253/8254的工作方式8253有6种工作方式,由方式控制字确定每种工作方式的工作过程相类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束方式0:计数结束中断①②⑤④⑥GATEOUTCLK
031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束在计数过程中,可由门控制信号GATE控制暂停。当GATE=0时,计数暂停;当GATE变高后,就接着计数在计数过程中可以改变计数值。若是8位计数,则在写入新的计数值后,计数器将按新的计数值重新开始计数;如果是16位计数,在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器便按照新的数值开始计数,即改变计数值是立即有效的方式1:可重复触发的单稳触发器①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK
031244方式1WR在计数过程中,外部可发出门控脉冲进行再触发。在再触发脉冲上升沿之后的一个CLK脉冲的下降沿,计数器将重新开始计数。在计数过程中,CPU可改变计数值,这时计数过程不受影响,计数到0后输出为高。若再次触发启动,则计数器将重按新输入的计数值计数,即计数值是下次有效。方式2:频率发生器(分频器)03124GATEOUTCLK
4方式2031240312403124WR计数过程可由GATE控制脉冲。当GATE变低时,就暂停计数;在GATE变高后的下一个CLK脉冲使计数器恢复初值,重新开始计数。这种通过门控信号实现计数器的同步,称为硬件同步在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,但在计数到1时输出变低,过一个CLK周期输出又变高,计数器将按新的计数值计数,所以改变计数值是下次有效的方式3:方波发生器03124GATEOUTCLK
4方式3031240312403124WR方式3的主要特点若计数值为偶数,在装入计数值后,每一个CLK脉冲都使计数值减2,当计数值减到0时,一方面使输出改变状态,另一方面又重新装入计数值开始新的计数若计数值为奇数,则在装入计数值后的第一个CLK脉冲使计数器减1,其后每一个CLK脉冲使计数器减2。当计数到0时,改变输出状态,同时重新装入计数值。这以后的第一个CLK脉冲使计数器减3,以后每一个CLK脉冲,计数器仍减2,直到计数器再次到0时,输出恢复为高。所以,如果计数值N是奇数,则输出有(N+1)/2个CLK脉冲周期为高,而在(N-1)/2脉冲周期为低。即OUT为高将比其为低多一个CLK周期时间。方式4:软件触发选通信号GATEOUTCLK031244方式42233310WR方式4的特点CPU写入计数值后的下一个CLK脉冲,把计数值写入计数器,再下一个CLK脉冲开始减数。因此,若设置的计数值为N,则是在写了计数值后的N+1个脉冲,才输出一个负脉冲。若计数值是双字节,则在设置第一字节时停止计数,在设置第二字节后,按照新的计数值开始计数当GATE=1时允许计数,而GATE=0时禁止计数。所以,要做到软件启动,则GATE应保持为1若在计数过程中,改变计数值,则按新的计数值重新开始计数。方式5:硬件触发选通信号GATEOUTCLK031244方式522333110WR方式5的特点若设置计数值为N,则在门控脉冲触发后,经过N+1个CLK脉冲,才输出一个负脉冲若在计数过程中使用门控脉冲,则使计数器重新开始计数,但对输出的状态没有影响若在计数过程中改变计数值,只要没有门控信号的触发,不影响计数过程。当计数到0后,若有新的门控信号的触发,则按新的计数值计数但若在写入了新的计数值后,在没有计数到0之前,有新的门控脉冲触发,则立即按新的计数值重新开始计数各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N018253/8254的编程8253加电后的工作方式不确定8253必须初始化编程,才能正常工作写入控制字写入计数初值读取计数值D7D6D5D4D3D2D1D01.写入方式控制字计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制控制字写入控制字I/O地址(A1A0=11)2.写入计数值选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000计数值写入计数器各自的I/O地址3.读取计数值对8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制8254 Intel8254是Intel8253的改进型,因此它的操作方式以及引脚与8253完全相同。它的改进主要反映在两个方面:(1)8254的计数频率更高。8254计数频率可达到6MHz,8254-2频率可高达10MHz。(2)8254多了一个读回命令,可锁存最多三个计数器的当前计数值和状态信息读回命令格式 A1A0=11,CS*=0,RD*=1,WR*=0当读回命令把某通道的计数值和状态信息锁存后,对该端口第一次读操作读取状态字节,第二(或三)次读操作读取计数值状态字格式D5~D0:写入此通道的控制字的相应部分。D6:反映预置寄存器中的计数值是否已经写入计数单元
D6=1:空计数值 D6=0:计数值有效D7反映了该计数器的输出引脚OUT信号的状态,输出(OUT)为高电平,则D7=1;输出为低电平,则D7=0。8253在IBMPC系列机上的应用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至扬声器驱动器PB0PB1IRQ0DRQ0
8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS1.定时中断和定时刷新从阅读初始化程序段看计数器0作为定时中断的作用将计数器1作为定时刷新看如何编写初始化程序段计数器0:初始化程序moval,36h
;36H=00110110B;计数器0为方式3,采用二进制计数;先低后高写入计数值out43h,al
;写入方式控制字moval,0
;计数值为0out40h,al
;写入低字节计数值out40h,al ;写入高字节计数值计数器0:定时中断计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波门控为常启状态,这个方波信号不断产生OUT0端接8259A的IRQ0,用作中断请求信号每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能计数器1:定时刷新需要重复不断提出刷新请求门控总为高,选择方式2或32ms内刷新128次,即15.6s刷新一次计数初值为18计数器1:初始化程序moval,54h
;54H=01010100B;计数器1为方式2,采用二进制计数;只写低8位计数值out43h,al
;写入方式控制字moval,18
;计数初值为18out41h,al
;写入计数值2.扬声器控制计数器2的输出控制扬声器的发声音调计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声扬声器还受控于并行接口(8255芯片)必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音发音频率设置子程序;入口参数AX=1.19318×106÷发音频率speaker proc pushax moval,0b6h ;b6h=10110110b
out43h,al
;写入控制字
popax
out42h,al
;写入低8位计数值
moval,ah
out42h,al
;写入高8位计数值
retspeaker endp扬声器开子程序speakon proc pushax
inal,61h ;PB端口的地址为61H
oral,03h;D1D0=PB1PB0=11B,其他位不变
out61h,al
popax retspeakon endp扬声器关子程序speakoff proc pushax
inal,61h ;PB端口的地址为61H
andal,0fch;D1D0=PB1PB0=00B,其他位不变
out61h,al
popax retspeakoff endp例扬声器声音的控制 ;数据段freq dw1193180/600 ;代码段 movax,freq callspeaker ;设置扬声器音调 callspeakon ;打开扬声器声音 movah,1 ;等待按键 int21h ;按键后 callspeakoff ;关闭扬声器声音3.扩充定时计数器的应用A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年生物多样性保护与生态校园建设
- 2026年幼儿园保育员午睡环节安全管理培训
- 2026年油库储运设备维护保养与防雷防静电检测
- 小儿推拿行业规范执行合同
- 股骨干骨折的康复治疗费用分析
- 企业业务流程外包及保密协议
- 糕点店售后服务协议
- 2026年幼儿园幼儿晨检午检知识
- 2025年工业物联网网络安全攻防技术研究
- 2026年新冠肺炎疫情防控应急预案
- 2026届湖南省长沙市教科所重点名校中考联考语文试卷含解析
- 2026中国气象专利技术布局与知识产权保护策略分析报告
- 体育心理学运动损伤的心理致因和康复测试题及答案
- 2026年上海市静安区高三下学期二模数学试卷和答案
- (2026版)贪污贿赂司法解释(二)培训纲要课件
- 生物分离与纯化技术说课课件
- 编织袋厂工作制度范本
- 路政防恐反恐工作方案
- 幼儿园教师招生奖惩制度
- 外科术后并发症防治手册
- 项目部质量培训制度
评论
0/150
提交评论