1181 基于8086方波信号发生器仿真设计-毕设课设

摘要:
本文设计了一种基于8086微处理器的方波信号发生器,利用汇编语言编程和Proteus仿真平台,实现了1kHz方波信号的生成。设计中采用了8253可编程定时器/计数器,通过编程设置其工作模式,实现方波的生成。同时,本文还详细阐述了系统的硬件组成、软件编程以及仿真实验过程,为类似信号发生器的设计提供了有益的参考。

关键词:8086;方波信号发生器;汇编语言;8253定时器/计数器;Proteus仿真

一、引言

方波信号在电子测量、通信和自动控制等领域具有广泛的应用。基于8086微处理器的方波信号发生器设计,不仅有助于深入理解计算机硬件与外设的交互原理,还能为实际信号发生器的开发提供有益的参考。本文旨在设计并实现一种基于8086的方波信号发生器,通过汇编语言编程和Proteus仿真平台,实现方波信号的生成。

二、系统总体设计

本系统主要由8086微处理器、8253定时器/计数器以及Proteus仿真平台组成。8086微处理器负责执行程序、处理数据以及发送控制信号给8253定时器/计数器。8253定时器/计数器用于产生方波信号,其工作模式可以通过编程进行设置。Proteus仿真平台用于搭建和测试整个系统。

三、硬件设计

  1. 8086微处理器:作为系统的核心控制器,负责执行程序、处理数据以及发送控制信号。

  2. 8253定时器/计数器:用于产生方波信号。通过编程设置其工作模式,可以实现不同频率的方波输出。

  3. Proteus仿真平台:用于搭建和测试整个系统。通过仿真,可以验证系统的功能和性能。

四、软件设计

  1. 初始化程序:在系统启动时,对8086微处理器和8253定时器/计数器进行初始化设置,确保系统能够正常工作。

  2. 方波生成程序:根据所需的方波频率,计算8253定时器/计数器的计数值,并设置其工作模式。通过循环调用该程序,可以持续输出方波信号。

  3. 延时程序:为了实现方波的稳定性,需要设计适当的延时程序。延时程序可以根据需要进行调整,以确保方波的准确输出。

五、汇编代码实现

以下是本设计中用于设置8253定时器/计数器和生成方波的汇编代码示例:

 

assembly复制代码

CTR8253 EQU 86H ; 8253 控制字端口地址
PORT0 EQU 80H ; 8253 通道0端口地址
PORT1 EQU 82H ; 8253 通道1端口地址
PORT2 EQU 84H ; 8253 通道2端口地址
STT:
MOV DX, CTR8253 ; 设置8253控制字端口地址
MOV AL, 76H ; 设置通道1为模式3(方波发生器)
OUT DX, AL ; 输出控制字到8253
MOV DX, PORT1 ; 设置8253通道1端口地址
MOV AX, 09C4H ; 设置通道1的计数值(根据所需频率计算得出)
OUT DX, AL ; 输出低8位计数值
MOV AL, AH ; 输出高8位计数值
OUT DX, AL
ST1:
CALL SET_CHO_MODE1_8253 ; 调用设置通道0为模式1(计数器)的子程序
CALL DELAY_1S ; 调用延时1秒的子程序
JMP ST1 ; 无限循环,持续输出方波信号

在上述代码中,首先通过MOVOUT指令设置了8253定时器/计数器的控制字和计数值,以生成所需的方波信号。然后,通过调用子程序SET_CHO_MODE1_8253DELAY_1S,实现了通道0作为计数器的设置和延时功能。最后,通过JMP指令实现无限循环,以持续输出方波信号。

六、仿真实验与结果分析

在Proteus仿真平台上搭建了整个系统,并加载了上述汇编代码进行仿真实验。实验结果表明,系统能够稳定、可靠地输出1kHz的方波信号。通过调整8253定时器/计数器的计数值,还可以实现不同频率的方波输出。同时,观察仿真波形图,可以看到方波的上升沿和下降沿均较为陡峭,符合设计要求。

; 8253 SET
CTR8253 EQU 86H; 8253 CONTROL WORD
PORT0 EQU 80H
PORT1 EQU 82H
PORT2 EQU 84H

;------------------
STT:
    MOV DX, CTR8253
    MOV AL,76H ; CH 1, MODE 3,    AH,AL
    OUT DX, AL
;-------将通道1设为方式3,1kHz的方波    
    MOV DX,PORT1
    MOV AX,09C4H
    OUT DX, AL   
    MOV AL,AH
    OUT DX,AL         
    
;==========LOOP=================
ST1:
    CALL SET_CHO_MODE1_8253
    CALL DELAY_1S
    JMP ST1
;======================================
;-----通道0接通道1产生的方波信号,进行计数,1000个计数后产生一个高电平
;---==通道0工作在方式0计数
DELAY_1S PROC

【资源下载】下载地址:点击下载(1181) https://docs.qq.com/doc/p/ffc421513a628b30450ae742547c0b850456d7c8

  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值