微机原理-第八章 8253_第1页
微机原理-第八章 8253_第2页
微机原理-第八章 8253_第3页
微机原理-第八章 8253_第4页
微机原理-第八章 8253_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章常用接口技术8.1定时控制接口8.2并行接口8.3异步串行通信接口8.4模拟接口8.1定时控制接口定时控制的作用定时中断、定时检测、定时扫描等实时操作系统和多任务操作系统中要定时进行进程调度PC机的日时钟计时、DRAM刷新定时和扬声器音调控制都采用了定时控制技术可编程定时器芯片软硬件相结合、方便灵活的定时电路软件延时方法处理器执行延时子程序8.1.18253/8254定时器Intel8253/8254可编程间隔定时器3个独立的16位计数器每个计数器有6种工作方式1.内部结构和引脚3个相互独立的计数器,结构相同计数器0计数器1计数器2每个计数器,包含16位减法计数器16位预置寄存器输出锁存器预置寄存器GATECLKOUT减1计数器输出锁存器定时器外设引脚CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号连接处理器引脚D0~D7数据线 A0~A1地址线RD*读信号 WR*写信号CS*片选信号CS*A1A0I/O地址读操作RD*写操作WR*00000101001140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字2.工作方式6种工作方式使用步骤: ①设定工作方式 ②设定计数初值[③硬件启动] ④计数初值进入减1计数器 ⑤每输入一个时钟计数器减1的计数过程 ⑥计数过程结束定时器方式0:计数结束中断①②⑤④⑥GATEOUTCLK

031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束定时器方式1:可编程单稳脉冲①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK

031244方式1WR写入方式字后,输出高电平

等待GATE上升沿,计数开始定时器方式2:频率发生器(分频器)03124GATEOUTCLK

4方式2031240312403124WRN-1个高电平,1个低电平定时器方式3:方波发生器03124GATEOUTCLK

4方式3031240312403124WR高电平、低电平近似相等定时器方式4:软件触发选通信号GATEOUTCLK031244方式42233310WR高电平N个、低电平1个

写入新的初始值,计数重新开始定时器方式5:硬件触发选通信号GATEOUTCLK031244方式522333110WR高电平N个、低电平1个

GATE上升沿使计数重新开始3.编程:写入方式控制字控制字写入控制字I/O地址:A1A0=11计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法(8253)11读回命令(8254)00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1*10方式2*11方式3100方式4101方式50二进制1十进制方式控制字编程示例 ;假设8253的计数器0、1、2端口和控制端口地址:40H~43H ;设置其中计数器0为方式0 ;采用二进制计数,先低后高写入计数值

moval,30h

;方式控制字:30H=00110000B out43h,al

;写入控制端口:43H3.编程:写入计数值选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000计数值写入计数器各自的I/O地址按方式控制字规定的读写格式进行计数值编程示例 ;8253的计数器0、1、2端口和控制端口地址:40H~43H ;设置计数器0采用二进制计数 ;先低后高写入计数初值:1024(=400H)

movax,1024 ;计数初值:1024(=400H)

;写入计数器0地址:40H out40h,al ;写入低字节计数初值

mov

al,ah out40h,al ;写入高字节计数初值8.1.2定时器的应用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至扬声器驱动器PB0PB1IRQ0DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS1.定时中断DOS系统利用计数器0的OUT0输出端,通过08号中断服务程序实现时钟计时OUT0端接8259A的IRQ0,每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断计数器0:方式3,输出方波计数值:1.19318MHz÷18.206Hz=65536moval,36h ;计数器0为方式3,二进制计数

;先低后高写入计数值

out43h,al ;写入方式控制字

moval,0 ;计数值为0 out40h,al ;写入低字节计数值

out40h,al ;写入高字节计数值2.定时刷新用于DRAM的刷新,15.6s刷新一次门控总为高,选择方式2或31.19318MHz的周期为0.838s计数初值为:15.6/0.838≈18

moval,54h ;计数器1为方式2

;采用二进制计数,只写低8位计数值

out43h,al ;写入方式控制字

moval,18 ;计数初值为18 out41h,al ;写入计数值3.扬声器控制;发音频率设置子程序;入口参数:AX=1.19318×106÷发音频率speaker proc pushax ;暂存入口参数

moval,0b6h ;定时器2为方式3,先低后高 out43h,al ;写入方式控制字

popax ;恢复入口参数 out42h,al ;写入低8位计数值

mov

al,ah out42h,al ;写入高8位计数值

retspeaker endp扬声器发音控制speakon proc ;扬声器开子程序

pushax inal,61h ;读取61H端口的原控制信息

oral,03h ;D1D0=PB1PB0=11,其他不变

out61h,al ;直接控制发声

popax retspeakon

endp;扬声器关子程序andal,0fch;D1D0=PB1PB0=00,其他不变〔例8-1〕控制扬声器程序 ;数据段freq dw1193180/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论