【微机原理课设分享】基于8086步进电机转动控制设计-基于8086查询输出计数器仿真设计-基于8086车库电动卷闸门系统设计-基于8086的16x64点阵汉字显示-基于808616键电子琴高低八音阶

1161基于8086查询输出计数器仿真设计-资料下载

如图是一个统计按键次数的电路原理图,其中COUNT是计数按键,CLEAR是清零按键,7SEG是共阳极七段数据管,接口电路的端口地址是0200H。

试用查询方式编写显示按键次数的程序,要求显示一位十六进数。即从0开始计数,每按一次COUNT按键,显示次数加1,当计数到15次(显示F)后,再次按键时从0开始计数,无论何时按下CLEAR键,计数值都会清零。(要求EXE源程序格式,考虑按键去抖动和按键释放,并写出七段数码管译码段码值。已知延时子程序是delay20ms。)

;---数据段
DSEG   SEGMENT
    ;软件七段译码表()
    LED_SEG_CODE db 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h
DSEG   ENDS
;---堆栈段
SSEG   SEGMENT
       DB 100 dup(0)
SSEG   ENDS
;---代码段
CSEG   SEGMENT
       ASSUME CS:CSEG,DS:DSEG,SS:SSEG
;---主程序开始
START:
MOV DX,nIO1 
again:  
    MOV BX,0 ;显示数据
	MOV AL, [BX+LED_SEG_CODE]   
    OUT DX,AL
    delay 0FH    
polling:    
    IN AL,DX  
    AND AL,00000011B  
	CMP AL, 00000011B ;查状态D1D0=11b等待
    JE polling 
	
    delay 0FH ;去抖动 
    IN AL, DX

1160基于8086步进电机转动控制设计

1162基于8086车库电动卷闸门系统设计-设计资料

1. 按下启动开关,使电机能够旋转;通过拨动旋转开关来控制卷闸门上升和降落,即电机的正转和反转。电机停止时红灯亮,电机旋转时绿灯亮。

2. 设定电机旋转10圈可完成卷闸门的升降,通过一个数码管可以看到电机旋转的圈数,用来代表卷闸门所处的位置。

   3. 加装紧急按钮,按下后电机停转,数码管封锁,黄灯闪烁。

STACK1  SEGMENT   STACK
       DW 256 DUP(?)
STACK1  ENDS

DATA  SEGMENT
     DTABLE1  DB   30H,20H,60H,40H,0C0H,80H,90H,10H;顺时针旋转数据
     DTABLE2  DB   10H,90H,80H,0C0H,40H,60H,20H,30H;逆时针旋转数据
     TAB      DB   3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H
       
     A8255   EQU   8000H   ;8255的A口地址
     B8255   EQU   8002H   ;8255的B口地址
     C8255   EQU   8004H   ;8255的C口地址
     K8255   EQU   8006H   ;8255的控制寄存器地址
 
     ICW1    EQU   00010011B     ; 单片8259, 上升沿中断, 要写ICW4
     ICW2    EQU   00100000B     ; 中断号为20H
     ICW4    EQU   00000001B     ; 工作在8086/88 方式
     OCW1    EQU   01111110B    ; 只响应INT7,5 中断
     CS8259A EQU      0B000H      
     CS8259B EQU      0B002H

     A8253   EQU   9000H
     B8253   EQU   9002H
     C8253   EQU   9004H

  

1164基于8086的16x64点阵汉字显示-protues仿真设计资料

点阵显示屏是由可亮可暗的许多小单元(灯或其它结构,只要在色彩上有所区别即可)排成阵列(一般为矩形,其它形状也有但并不常见)来显示文字或图形内容的显示装置。它可以用来显示机器运行状态、时钟、铁路发车指示等许多无需高分辨率的简单信息。

通常这种显示器由称为点阵控制器的电路控制。点阵控制器按照所需的显示内容打开或关闭阵列里的单元,使得文字或图形可以显示出来。

col_adress_d    equ 0600h
col_adress_e    equ 0800h
col_adress_f    equ 0a00h
.8086
.stack
.code 
.startup 
start : mov m,offset tab 
		mov count,10
next0:  mov di,0001h
next1:  mov cx,16
		mov si,m
next2:  mov dx,col_adress  ;列地址
		mov ax,0000h		
		out dx,ax 			;禁止列显示
		mov dx,row_adress	;加载行地址
		mov ax,[si]			;显示数据赋给 行输出
		out dx,ax
		mov dx,col_adress	;加载列地址
		mov ax,di			;选中第一列显示数据
		out dx,ax			;选中列显示数据
		call delay2			;延时
		rol di,1            ;右移一位
		add si,2			;字模指针加2 
		loop next2			;循环执行next2 直道将count从16减小至0 cx
		mov dx,col_adress   ;列地址
		mov ax,0000h        
		out dx,ax           ;禁止列显示
		mov di,0001h        ;将初始di置为第一列

1165基于8086的16键电子琴高低八音阶仿真-仿真设计资料

;译码端口
IO0 EQU 00h
IO1 EQU 10h
IO2 EQU 20h
IO3 EQU 30h
IO4 EQU 40h
IO5 EQU 50h

;LCD  端口
LCD_CMD_WR	EQU 9000H
LCD_DATA_WR	EQU	9002H

DATA	SEGMENT 
	OUTBUFF DB 0,0,0,0,0,0,0,0,0,0
	str2 db  ' ',' ',' ',' ','0','0'
	segdata db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
DATA	ENDS

code	segment  ;定义代码段
	assume cs:code,ds:DATA

start:	mov ax,DATA	;建立DS段地址
	mov ds,ax
;;;;;;;;;;;;; ;LCD初始化
;;;;;;;;;;;;;;LMO32L初始化;;;;;;;;;;;;;;;;;;;;;
	IN  AX,DX        


文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html

目录

1161基于8086查询输出计数器仿真设计-资料下载

1160基于8086步进电机转动控制设计

1162基于8086车库电动卷闸门系统设计-设计资料

1164基于8086的16x64点阵汉字显示-protues仿真设计资料

1165基于8086的16键电子琴高低八音阶仿真-仿真设计资料

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值