不同频率的方波发生器8086和8253的Proteus仿真
时钟信号的频率为307.2kHz。
通过按钮可以选择输出不同频率的方波。
DATAS SEGMENT;此处输入数据段代码 IOYO equ 0C400h;对应的端口地址IOY1 equ 0C440hMY8253_COUNT_0 equ IOYO+00H*4;8253计数器0端口1地址MY8253_COUNT1 equ IOYO+01H*4;8253计数器1端口2地址MY8253_COUNT2 equ IOYO+02H*4;8253计数器2端口3地址MY8253_MODE equ IOYO+03H*4;8253控制器地址MY8255_A equ IOY1+00H*4;8255计数器端口1地址MY8255_B equ IOY1+01H*4;8255计数器端口2地址MY8255_C equ IOY1+02H*4;8255计数器端口3地址MY8255_MODE equ IOY1+03H*4;8255控制器地址
DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AX;此处输入代码段代码mov dx,MY8255_B;输入信号in al,dx;这里确定的D1位为1说明PB端口是输入端口,用来输入按键输入信号;D4位为0,说明PA端口作为输出信号mov dx,MY8255_MODEmov al,82h;1000 0010out dx,al
K:;k的作用是用于轮询读入按键的输入信号mov dx,MY8255_B;输入信号in al,dxcmp al,0FEhje K1cmp al,0FDhje k2cmp al,0FBhje k3cmp al,0f7hje k4;若无输入跳转到K继续读入信号jmp k
wait_a:;这个地方的作用是用于如果按键的输入不改变则信号显示不改变一直在这个逊汗中,例如当al=0FEh时,跳转到k1,然后输出了对应频率的波形;之后不断检查按键的输出是否改变如果改变则跳出k1,否则一直输出对应波形mov ah,almov dx,MY8255_B;输入信号in al,dxcmp ah,alje exitjne k
k1:mov di,100;call out_frejmp wait_a
k2:mov di,200;call out_frejmp wait_a
k3: mov di,300;call out_frejmp wait_a
k4:mov di,500;call out_frejmp wait_aOut_fre proc nearmov dx,MY8253_MODE;8253初始化mov al,0b6h;10通道2,11先读写高字节,后读写低字节011方式3,0二进制计数out dx,almov dx,1mov ax,000;307.2KHzdiv dimov dx,MY8253_COUNT2out dx,almov al,ahout dx,alret
Out_fre endpexit:;退出MOV AH,4CHINT 21H
CODES ENDSEND START
结果:
从上到下按按钮波形逐渐变密。
方波发生器可以产生利用8253的方式三模式产生不同的频率的方波,具体频率我没有测。我的Proteus中的频率计没有测出来,大家可以试试。
补充:运行时各个信号参考:
时钟信号设置
不同频率的方波发生器8086和8253的Proteus仿真相关推荐
- 音乐发生器8086和8253通过Proteus仿真
图中脉冲信号的频率为307.2KHz. 我这里实现了不同的乐曲分别是小星星,友谊地久天长和卖报歌,按下开关一是小星星,开关二是友谊地久天长,开关三是卖报歌: DATAS SEGMENT;此处输入数据段 ...
- da转化输出不同波形8086和DAC0832的Proteus仿真
DATAS SEGMENT;此处输入数据段代码 DAC0832 equ 0C400h IOY1 equ 0C480hb8255 equ IOY1+01H*4m8255 equ IOY1+03H*4bu ...
- 8086之8253芯片仿真
8086之8253芯片仿真 汇编语言 微机原理 8086 题目1 问题描述 实现开关闭合后5s后点亮发光二极管 方式0 解答 使用1HZ频率输入给定时器0 工作模式为0 电路图 题目1 电路图 程序 ...
- 8086+DAC0832产生方波、三角波及正弦波波形Proteus仿真
8086+DAC0832产生方波.三角波及正弦波波形Proteus仿真 仿真截图 代码 CODE SEGMENTDATA SEGMENT SQURE DB 0,0,0,0,0,0,0,0,0,0,25 ...
- 【Proteus仿真8086】将IO接口电路封装成子电路CCT001
本次实验内容来自于顾晖老师<微机原理与接口技术 基于8086和Proteus仿真 第3版>的[例7-2],但老师使用的方法是将IO接口电路封装成子电路CCT001,这部分在章节没有讲述,于 ...
- 【Proteus仿真8086】简单IO接口实验——无条件传输和查询方式
本次实验内容来自于顾晖老师<微机原理与接口技术 基于8086和Proteus仿真 第3版>的[例7-1]和51CTO课程的讲解内容第七章输入输出接口0704程序查询方式 https://e ...
- 【Proteus仿真8086实验一】RAM存储器62256
建议把存储器设计和简单IO接口放在第一次实验,重点了解锁存器273和缓冲器373是怎样将数据和地址线进行分离的,具体Proteus的实验操作比如设置内存大小和快速命名接口(属性赋值工具)可以参考这个老 ...
- Arduino与Proteus仿真实例-简单信号频率计数仿真
简单信号频率计数仿真 Arduino 可用于测量电量(如电压.电流.功率等)或物理量(如温度.湿度.光强.湿度等)或电子元件值等. 本文将演示演示了如何使用 Arduino 测量脉冲的频率和占空比. ...
- 8086+ADC0808+8255A电压测量数码管显示Proteus仿真
8086+ADC0808+8255A电压测量数码管显示Proteus仿真 Proteus仿真截图 代码 CODE SEGMENT DATA SEGMENT PORT_ADC EQU 80H PORT_ ...
最新文章
- Cassandra安装测试
- unity 继承了 获取_获取继承链
- @FunctionalInterface
- string和byte[]的相互转换
- Android系统下内存使用情况与监测
- python3能做什么_你都用 Python 来做什么?
- VS Code Java 开发指南!
- SpringBoot2.x 同个文件的加载顺序,静态资源文件
- React入门---组件-4
- 【招聘】哈工大讯飞联合实验室2022届提前批校园招聘
- guava 工具类及代码
- Unity的C#编程教程_17_Variables 挑战 3 折扣计算器
- svchost.exe不停下载
- 华三防火墙web端口_华三防火墙开放端口 华三防火墙怎么登录
- Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据、人工智能、机器学习项目开发
- python数据处理常用方法
- 计算机慢的解决方法,几种电脑变慢的解决方法
- Charles 乱码解决办法
- java合并流与文件的分割合并示例
- html邮箱代码怎么写_网络资讯:电子邮箱格式怎么写
热门文章
- 【MySQL】 MRR
- 软银在商业街测试自动驾驶巴士,以5公里时速往返行驶
- selenium初学者指南_如何进化人工智能生活:初学者指南
- 【转型JAVA CSS 基础day01】
- 红米note5有没有人脸识别_红米Note6 前面板曝光:刘海屏+红外人脸识别
- 论文笔记——Adversarial Patch(对抗补丁)
- 200与mcgs485实例 smart_S7-200 SMART与西门子触摸屏的RS485通信
- S7-200 SMART 老版本固件更新
- 计算机毕业设计 SSM+Vue车位租赁系统 停车场管理系统 汽车车位租用系统 停车位临时停车管理系统Java Vue MySQL数据库 远程调试 代码讲解
- VL34-整数倍数据位宽转换8to16。其中,先到的8bit数据应置于输出16bit的高8位!