基于8086三首音乐盒控制系统设计
设计概要,可参考学习:
设计一个音乐盒,可用在诸如生日礼品等场景里。
包含的功能有播放音乐、切换音乐。默认播放第一首音乐,单曲循环。当拨动控制开关时切换歌曲,总共三首,分别由三个开关控制。当且仅当一个开关开启其它开关关闭时有效,多个开关同时开启时无效。
要求所选多个芯片或模块的加权值总和≥2,并且,所选芯片或模块中必须包含8259或8254芯片的其中一个作为功能模块部分
IOBASE EQU 280H
IO8253_MODE EQU IOBASE+06H
IO8253_0 EQU IOBASE+00H
IO8255_MODE EQU IOBASE+0EH
IO8255_A EQU IOBASE+08H
PAGE 50,70
DATA1 SEGMENT
FREQ1 DW 247,277,311,330,370,415,466,494,0
TIME1 DW 100,100,100,100,100,100,100,200,0
FREQ2 DW 311,311,277,311,311,370,311,277,311,247,247,277,311,370,310,277,277,247,277
DW 311,370,311,415,370,415,377,377,311,370
DW 311,277,311,370,311,277,277,247,0
TIME2 DW 100,50,50,200,50,50,50,50,200,100,50,50,50,50,100,100,50,50,200
DW 150,25,25,50,150,50,50,50,50,200
DW 100,50,50,100,50,50,50,200,0
FREQ3 DW 265,294,330,262,262,294,330,262,330,349
DW 392,330,349,392,392,440,392,349,330,262
DW 392,440,392,349,330,262,294,196,262,294
DW 196,262,0
TIME3 DW 50,50,100,100,100,100,100,50,50,100
省略
基于8086汽车信号灯控制系统
8086汽车信号灯控制系统的设计方案,可以参考如下,包含汇编语言和原理图。
设计思路:8086汽车信号灯,使用汇编语言和protues仿真仿真工具,通过按键开关模拟,实现对汽车灯的控制。
DATA SEGMENT
IO8255A EQU 0F0H ;8255的A口地址
IO8255B EQU 0F2H ;8255的B口地址
IO8255C EQU 0F4H ;8255的C口地址
IO8255CON EQU 0F6H ;8255的控制寄存器地址
IO8253_0 EQU 0E8H ;8253的0通道
IO8253_1 EQU 0EAH ;8253的1通道
IO8253_2 EQU 0ECH ;8253的2通道
IO8253CON EQU 0EEH ;8253的控制寄存器
DATA ENDS
STACK1 SEGMENT
STA DW 50 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK1
MAIN PROC FAR
START: PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
省略
基于8086流水灯控制电路设计
设计思路:8086流水灯控制,采用汇编和c语言混合编程,实现的8086主控芯片对八位流水灯的控制。
.8086
.stack
.code
extern _main:near
.startup
cli ; interrupt disable
call near ptr _main
endless:
jmp endless
.data
public __acrtused ; trick to force in startup
__acrtused = 9876h ; funny value not easily matched ; ; in SYMDEB
省略
基于8086六位密码锁系统仿真设计
可以参考以下思路进行设计:
设计思路:六位密码密码锁,采用8086芯片,使用汇编语言实现的密码锁,密码为6位,通过矩阵键盘输入,数码管作为显示。
STACK SEGMENT STACK
STP DW 100 DUP(?) ; 预先定义的堆栈深度
STACK ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE,DS:DATA,SS:STACK
IOCON EQU 8006H ;8255配置端口
IOA EQU 8000H
IOB EQU 8002H
IOC EQU 8004H
START: MOV AX, DATA
MOV DS, AX
LEA DI,PWDIS ;获取段码数组
LEA SI,PWDIS ;获取显示数组
MOV AL,88H ;配置8255
MOV DX,IOCON
OUT DX,AL
MOV CH,0;
MAINLOOP:
CALL KEYSCAN;按键扫描
CALL PWCHECK;密码检测
CALL DISPLAY;数码管显示
JMP MAINLOOP
;按键扫描
KEYSCAN PROC NEAR
基于8086六种波形信号生成器设计
8086波形发生器的生成实例,可以参考以下汇编代码和原理图设计方案。
基于8086六种波形信号生成器设计,实现了多种波形的生成,包括梯形波、阶梯波、锯齿波、三角波、方波、正弦波。
1、以下时汇编程序
mov dx,0006h
mov al,10010000b
out dx,al
in ax,0000H
cmp al,11111111b ;默认波形,梯形波
jz trapezoidalwave
cmp al,11111110b ;阶梯波
jz stepwave
cmp al,11111101b ;锯齿波
jz sawtoothwave
cmp al,11111011b ;三角波
jz triangularwave
cmp al,11110111b ;梯形波
jz trapezoidalwave
cmp al,11101111b ;方波
jz squarewave
cmp al,11011111b ;正弦波
jz sinewave
jmp start
省略
2、仿真电路
基于8086锯齿波波形发生器设计-参考方案,汇编语言和protues仿真
8086锯齿波波形发生器设计,通过8086cpu实现锯齿波波形生成器,使用汇编语言,如下是汇编程序和原理图,需要的可以参考一下。
1、汇编程序:
CODE SEGMENT
ASSUME CS:CODE
START:
DEBUG:
MOV AL,0FFH
SIM:
MOV DX,30H
OUT DX,AL
省略
2、仿真电路
内容转载自(资料出处及百度网盘下载):https://www.aiesst.cn/share.html