基于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
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
课 程 计 任 务 书 "专 业 "自动化 "班 级 " "姓 名 " " " 计 起 止 日 期 "2013.12.16~2013.12.20 " "设计题目:基于8086CPU的数字时钟的设计 " "设计任务(主要技术参数): " "1、利用实验系统上提供的8253和LED数码显示等电路,设计一个电子时钟;" "2、格式如下:6个数码由左向右分别显示为:时、分、秒。 " " " "指导教师评语: " " " " " " " " " " " " " "成绩: 签字: " "年 月 日 " 课程设计说明书 NO.1 "1 引言 " "随着在现代技术进步,电子产品越来越多的在生活中出现,服务于人们的生活,从" "简单的电子手表,到人人必备的手机,我们都可以看到电子时钟的身影。 " "本系统就是基于8086系统,配合8255和8253芯片开发的一个数字电子时钟,有显示" "时分秒的功能。 " "2 设计方案论证 " "2.1一秒定时方案的选择 " "运用8253产生周期为2秒的方波,通过8255芯片的A、B、C口读取电平高低,判断电" "平变化,进而判断1秒延时是否已经到达,这种方法可以写成子程序,执行返回就 " "近似于1秒延时。 " "2.2时钟时分秒的处理方式选择 " "时钟的时分秒的处理方法实际上时数学逻辑问题。在编辑过程中我想到两种解决方" "案。 " "方案一:将时分秒当做三个数据进行处理,置三个数据空间,作为是分秒的数据" "缓存区,再将缓存区的内容转换成显示数据。每次延时之后判断"秒"是否应该向" " "分"进位,"分"是否应该向"时"进位,"时"是否已经超过24.这个过程理论上可以实" "现,但是逻辑判断较为繁琐。 " "方案二;将时分秒分成六位,放在显示数据缓存区里,每次一秒延时之后判断是否" "向高位进一,若还不进一,则跳回最低位,再次进行一秒延时;由于秒和分都是60" "进制,处理方法一样,而"时"是24进制,应该进行额外处理。 " "2.3八段数码管动态显示 " "对于8279八段数码管的显示需要入码位和段码,因此采用74LS373作为位码输出端 " "口,8255的A、B、C口作为段码输出口。通过CPU输出数据进行位码选择,经74LS37" "3 " 沈 阳 大 学 课程设计说明书 NO.2 " " "输出到位码输入口;置到六位数据缓存区,经过换码可以取得相应的段码输出到" "段码 " "输入口,并简单延时,就可以显示了。 " "2.4系统原理 " "通过并行接口芯片8255和8086计算机的硬件相连,以及通过8253一秒延时的方法," "来实现适中的计时功能。 " "8086工作在最小模式,5255芯片片选端接到CPU的片选段CS0,A口组委输出口,B口" "作为输入口,B口的第一位用于检测电平;8253片选端接到CPU的片选段CS2,用于 " "锁存位码。一秒计时和功能有软件控制进行。 " "3 系统硬件设计 " "3.1 8086简介 " "Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位" "微处理器),它采用HMOS工艺40条引脚封装。8086工作时使用5V电源,时钟频率5M" "Hz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB" "【2】。 " "(1)8086的主要特性 " "Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性: " "(a)8086CPU数据总线为16位,8088CUP数据总线为8位。 " "(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。" "(c)有16位的端口地址,可以寻址64KB的I/O端口。 " "(d)有99条基本指令,指令功能强大。 " "(e)有9种基本寻址方式。 " "(f)可以处理内部和外部中断,外部中断源多达256个。 " "(g)兼容性好,8086、8085在源程序一级兼容。 " 沈 阳 大 学 课程设计说明书 NO.3 " " "(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。 " "(i)支持单处理器或多处理器系统工作。 " "(2)8086CPU寄存器结构 " "8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器," "2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。 " "通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存" "器,位于CPU的EU中,每个数据寄存器可存放16位操作数, 也可拆成两个8位寄存 " "器,用来存放8位操作数。
基于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、付费专栏及课程。

余额充值