8086/88系统中CLK引脚需要的8284时钟发生器

首先呢,我们新手同学一般遇到这种题大多是会问到某个引脚需要哪个对应的发生器或者控制器,

我们要弄明白CLK

CLK:主时钟信号,输入

8086和8088要求时钟信号的占空比为33%,即1/3周期为高电平,2/3位低电平。

8086和8088的时钟频率要求为5MHZ,8086-1的时钟频率为10MHZ,8086-2的时钟频率为8MHZ。不同型号的芯片使用的时钟频率不同。

②由于8088/86内部没有时钟发生器。8284A就是供8086/8088系列使用的单片时钟发生器,它由时钟电路、复位电路、准备就绪电路3部分组成。

(1)时钟发生电路

8284A内部有一个晶体振荡器,只需在晶体连接端X1、X2两端外接石英晶体即可。 也可由外接振荡源输入一个TTL电平的振荡信号为时钟源。PC/XT微机只使用一片8284A,外接14.31818MHz的晶体,CLK端输出4.77MHz的时钟信号,PCLK端输出2.38MHz的外部时钟信号。

(2)复位电路 

复位电路由一个施密特触发器和一个同步触发器组成。复位输入信号RESET经过施密 特触发器整形,在时钟脉冲下降沿打入同步触发器,产生系统复位信号RESET。由于在同 步触发器D端接有一个施密特触发器,因此对复位输入信号要求不严格,由简单的RC放电回路即可生成。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
/******************************************** 主控芯片:STM32F405RGT6主频168Mhz 晶体频率:HSE=8Mhz SYSCLK=168Mhz 模块型号:SI5351A 通讯方式: 函数功能:Si5351时钟芯片 作者:苏夏雨 授权:未经作者允许,禁止转载 ********************************************/ #ifndef _si5351a_h #define _si5351a_h #include "system.h" //Si5351寄存器声明 #define SI_CLK0_CONTROL 16 // Register definitions #define SI_CLK1_CONTROL 17 #define SI_CLK2_CONTROL 18 #define SI_SYNTH_PLL_A 26 #define SI_SYNTH_PLL_B 34 #define SI_SYNTH_MS_0 42 #define SI_SYNTH_MS_1 50 #define SI_SYNTH_MS_2 58 #define SI_PLL_RESET 177 #define SI_R_DIV_1 0x00 // R-division ratio definitions #define SI_R_DIV_2 0b00010000 #define SI_R_DIV_4 0b00100000 #define SI_R_DIV_8 0b00110000 #define SI_R_DIV_16 0b01000000 #define SI_R_DIV_32 0b01010000 #define SI_R_DIV_64 0b01100000 #define SI_R_DIV_128 0b01110000 #define SI_CLK_SRC_PLL_A 0x00 #define SI_CLK_SRC_PLL_B 0b00100000 #define XTAL_FREQ 25000000 // Crystal frequency //IIC总线引脚配置 #define SDA(n) {n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);} #define CLK(n) {n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_RESET);} //相关函数声明 void Si5351Init(void);//初始化Si5351的GPIO void SetPLLClk(uint8_t pll, uint8_t mult, uint32_t num, uint32_t denom);//设置PPL时钟 void SetFrequency(uint32_t frequency);//时钟Si5351时钟频率 void SetMultisynth(uint8_t synth,uint32_t divider,uint8_t rDiv);//设置多synth #endif
8253A是一款可编程定时器/计数器芯片,它可以通过编程来实现多种定时、计数和波形发生器功能。其,8253A波形发生器电路是通过编程8253A的三个计数器来实现的,其工作原理如下: 1. 确定所需波形的频率和占空比,根据这些参数来编程8253A的三个计数器。 2. 将计数器0和计数器1连接成一个级联计数器,计数器2作为计时控制器,用于控制波形的输出。 3. 计数器0和计数器1的计数模式分别设置为2和3,这样可以实现自动重载计数器1和输出脉冲的功能。计数器0的输出脉冲作为计数器1的时钟输入,计数器1的计数值决定了波形周期的长度。 4. 计数器2的计数模式设置为3,可以实现周期性触发输出脉冲的功能。计数器2的输出脉冲作为输出波形的时钟输入,其频率决定了波形的输出速率。 5. 将计数器2的输出脉冲送入一个D触发器,触发器的Q输出即为波形的输出信号。通过调整计数器1和计数器2的计数值和计数模式,可以实现多种不同的波形输出,如方波、正弦波、三角波等。 各引脚功能如下: 1. CLK时钟输入,用于接收外部时钟脉冲信号。 2. GATE:计数器计数使能,用于控制计数器的启停。 3. OUT:计数器输出,输出计数器产生的脉冲信号。 4. A0-A2:地址输入,用于选择要编程的计数器。 5. BCD/BIN:BCD码/二进制选择,用于选择计数器的计数方式。 6. RD:读取输入,用于读取计数器的计数值。 7. WR:写入输入,用于向计数器写入计数值和控制命令。 总的来说,8253A波形发生器电路设计是通过编程8253A的三个计数器来实现多种波形输出功能的,其通过设定不同的参数来控制波形的输出频率、占空比和形状,具有较高的灵活性和可定制性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值