基于8086CPU微处理器的分秒电子钟设


本方案采用8086CPU为主要器件,外接74HC373作为地址锁存,8255作为并行接口。
完整Protues电路设计和汇编程序https://download.csdn.net/download/weixin_43786907/16526403

设计思路

利用视觉暂留循环显示,四位数码管分秒计数,并检测有无按键按下。对应按下不同按键,秒计数加1,分计数加1。循环达到1s,秒计数加1,秒计数到的60,秒计数减60,分计数加1,分计数到的60,分计数减60。设计思路如下所示:
在这里插入图片描述

主要元件介绍及使用

8086CPU介绍

Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8位元的输出输入(或32K 16位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。
Intel 8086有四个 内存区段(segment)寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针(如C编程语言) 变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 8086 的寻址方式改变让内存扩充较有效率。
8086处理器的时钟频率介于4.77MHz(在原先的IBM PC频率)和10 MHz之间。8086 没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。Intel 8087 是标准版本。

74LS373锁存器介绍与使用

74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变。当LE为低电平时,D 被锁存在已建立的数据电平。
74LS373真值表如下:
在这里插入图片描述X表示任意。

8086CPU与锁存器连接电路图:
在这里插入图片描述

8255可编程并行接口介绍与使用

8255芯片是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。
在这里插入图片描述X表示任意。

整体设计与仿真实现

86CPU为主体的分秒电子钟设计,如图:
在这里插入图片描述
Proteus仿真结果如图:
在这里插入图片描述
汇编程序设计:

DATAS SEGMENT
   smgduan DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH;段选
   smgwei DB 0FEH,0FDH,0FBH,0F7H;位选
   PA EQU 0;
   PB EQU 4;
   PC EQU 8;
   min DW 0;
   sec DW 0;
   fori1 DW 6500;
   
DATAS ENDS


CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
   while1:
   
   for1:
   
   MOV AX,min
   MOV BL,10
   DIV BL
   MOV CX,AX
   
   MOV AL,smgwei+0
   mov AH,PB
   OUT 00,AX
   LEA BX,smgduan
   MOV AH,0
   MOV AL,CL
   ADD BX,AX
   MOV AL,[BX]
   mov AH,PA
   OUT 00,AX
   MOV AL,00
   mov AH,PA
   OUT 00,AX
   
   MOV AL,smgwei+1
   mov AH,PB
   OUT 00,AX
   LEA BX,smgduan
   MOV AH,0
   MOV AL,CH
   ADD BX,AX
   MOV AL,[BX]
   mov AH,PA
   OUT 00,AX
   MOV AL,00
   mov AH,PA
   OUT 00,AX
   
   
   MOV AX,sec
   MOV BL,10
   DIV BL
   MOV CX,AX
   
   MOV AL,smgwei+2
   mov AH,PB
   OUT 00,AX
   LEA BX,smgduan
   MOV AH,0
   MOV AL,CL
   ADD BX,AX
   MOV AL,[BX]
   mov AH,PA
   OUT 00,AX
   MOV AL,00
   mov AH,PA
   OUT 00,AX
   
   MOV AL,smgwei+3
   mov AH,PB
   OUT 00,AX
   LEA BX,smgduan
   MOV AH,0
   MOV AL,CH
   ADD BX,AX
   MOV AL,[BX]
   mov AH,PA
   OUT 00,AX
   MOV AL,00
   mov AH,PA
   OUT 00,AX
   
   MOV CX,fori1;
   DEC CX;
   JNZ NEXT2
   
   MOV fori1,6500
   
   MOV AX,sec
   INC AX
   CMP AX,60
   JGE NEXT3
   mov sec,AX
   JMP while1
   
   
   NEXT2:                     ;循环
   MOV fori1,CX
   JMP for1
   
   NEXT3:                     ;秒满60
   SUB AX,60
   MOV sec,AX
   MOV AX,min
   INC AX 
   CMP AX,60
   JGE NEXT4
   MOV min,AX        
   JMP while1
   
   NEXT4:                    ;分满60
   SUB AX,60
   MOV min,AX
   JMP while1
    
CODES ENDS
    END START

操作说明

首先上电,8086CPU即运行程序,开始计数,每秒加1。按下,上侧按键则,秒计数加一,按下,下侧按键则,分计数加一。

完整Protues电路设计和汇编程序https://download.csdn.net/download/weixin_43786907/16526403

  • 3
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
基于8086CPU微处理器分秒电子钟是一种使用8086CPU微处理器作为主要控制芯片的电子钟装置。该钟表能够准确地显示当前时间的时、分、秒,并能够自动地进行秒的增加、分的累加、时的变动等操作。 这款电子钟设计中,使用了8086CPU微处理器作为主控制器。8086CPU是一种16位微处理器,具有强大的运算能力和丰富的指令集,可以实现复杂的时间计算和控制。在这个电子钟中,8086CPU将负责读取时间数据、进行时间计算和控制显示屏等操作。 该电子钟的显示屏采用了LED数字显示的方式,能够清晰地显示出当前的时、分、秒数。通过8086CPU的控制,可以实现秒的自动累加,每经过一秒钟,控制器便会发送信号给显示屏,显示屏的秒数就会自动加一。同时,当秒数达到60时,分钟数会自动加一,当分钟数达到60时,小时数会自动加一。这样,这个电子钟就能够准确地显示出当前的时、分、秒信息。 此外,这款基于8086CPU微处理器分秒电子钟还可以置闹钟功能。用户可以通过控制器置一个特定的时间,当时间到达定的闹钟时间时,控制器会发送信号给显示屏,触发闹钟功能,发出声音或者震动提醒用户。 总之,基于8086CPU微处理器分秒电子钟具有精准度高、功能强大、操作便捷等特点,能够准确地显示时间,并提供闹钟功能,是一款实用性强的电子钟备。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值