基于汇编语言单片机的时钟设计

发布者:SparklingSun最新更新时间:2020-07-04 来源: eefocus关键字:汇编语言  单片机  时钟设计 手机看文章 扫描二维码
随时随地手机看文章

老师让做一个单片机的定时器设计,题目给的很水,于是我只做了一个时钟程序,具体代码如下


 ORG 0000H

 LJMP MAIN

 ORG 000BH

 LJMP SET_SEC

 MAIN:

  MOV SP,#70H

MOV TMOD,#01H

MOV TL0,#0x58

MOV TH0,#0x9E

MOV A,#40

SETB ET0

SETB EA

SETB TR0

SJMP $

SET_SEC:

MOV TL0,#0x58

MOV TH0,#0x9E

DEC A

JNZ BESET

LJMP SEC

 SEGTAB:

DB 0C0H ;0

DB 0F9H  ;"1"

    DB 0A4H  ;"2"

    DB 0B0H  ;"3"

    DB 99H  ;"4"

    DB 92H  ;"5"

    DB 82h  ;"6"

    DB 0F8H  ;"7"

    DB 80H  ;"8"

    DB 90H  ;"9"

 

SEC:

    INC R0

MOV 40H,R0

MOV A,#40


CJNE R0,#0AH,EXIT;SECOND LASTER

MOV R0,#0

INC R1

MOV 41H,R1


CJNE R1,#6,EXIT;SECONT  FIRET

MOV R1,#0

INC R2

MOV 42H,R2


CJNE R2,#10,EXIT

MOV R2,0

INC R3

MOV 43H,R3


CJNE R3,#6,EXIT

MOV R3,#0

INC R4

MOV 44H,R4


CJNE R4,#3,EXIT

MOV R4,#0

INC R5

MOV 45H,R5


CJNE R5,#2,EXIT

MOV R5,#0


SJMP EXIT

BESET:

MOV 41H,R1

MOV 40H,R0

MOV R1,#40H

MOV R7,#020H

MOV 30H,A


MOV R0,#02FH

SJMP SHOWTIME

SHOWTIME:


MOV A,#000H

MOV P2,A

MOV A,@R1

MOV DPTR,#SEGTAB

MOVC A,@A+DPTR

MOV P0,A

MOV A,R7

MOV P2,A

INC R1

MOV R7,A

RR A

MOV R7,A


DJNZ R0,$

JNB ACC.7,SHOWTIME


MOV A,#000H

MOV P2,A


MOV A,30H

MOV R0,40H

MOV R1,41H

SJMP EXIT

EXIT:

RETI


END

这个就是运行之后的结果:从左到右六位,依次表示 时分秒。走一天的话误差应该不是特别的大。上面的TL0,TH0 的参数调一下,应该一天差一秒之内的误差能够做到

关键字:汇编语言  单片机  时钟设计 引用地址:基于汇编语言单片机的时钟设计

上一篇:28课:单片机音乐程序设计
下一篇:51单片机学习笔记——基于汇编语言(1)

推荐阅读最新更新时间:2024-11-04 16:28

基于单片机的两点间温度控制
  以温度作为被控制量的反馈控制系统。在化工、石油、冶金等生产过程的物理过程和化学反应中,温度往往是一个很重要的量,需要准确地加以控制。除了这些部门之外,温度控制系统还广泛应用于其他领域,是用途很广的一类工业控制系统。温度控制系统常用来保持温度恒定或者使温度按照某种规定的程序变化。   严格说,多数温度控制系统中被控对象在进行热交换时的温度变化过程,既是一个时间过程,也是沿空间的一个传播过程,需要用偏微分方程来描述各点温度变化的规律。因此温度控制系统本质上是一个分布参数系统。分布参数系统的分析和设计理论还很不成熟,而且往往过于复杂而难于在工程实际问题中应用。解决的途径有二:一是把温度控制系统作为时滞系统来考虑。时滞较大时采用时滞
[单片机]
基于<font color='red'>单片机</font>的两点间温度控制
实时时钟电路MC146818A与单片机的接口及编程
  实时时钟电路是控制系统中常用的功能模块。MC146818A是专用于各类微处理器与单片机系统的时钟集成电路。它带有50字节的低功耗静态RAM,可进行时、分、秒和年、月、日及星期的计数,并有自动的月结束识别和闰年处理功能,具有12/24小时和AM/PM的12小时计时功能,既可与 Motorola系列的单片机接口 ,又可与Intel的微处理器接口。本文详细讨论MC146818A与89C51单片机的接口。 1.MC146818A的结构   MC146818A有双列直插式DIP和PLCC两种封装,图1为双列直插式封装引脚图。下面详细介绍各引脚功能。   VDD:电源线,可以为3DC~6V;   VSS:地线,信号、电源地;
[单片机]
飞思卡尔推出Kinetis系列基于ARM Cortex-M4的90纳米32位MCU
飞思卡尔半导体日前推出Kinetis系列,这是基于新ARM Cortex-M4处理器的90纳米32位 MCU MCU   MCU Microcontroller(微控制器)又可简称MCU 或μ C,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、 CPU、I/O 集合在同一个芯片中,为不同的应用场合做不同组合控制.微控制器在经过这几年不断地研究,发展,历经4 位,8 位, 到现在的16 位及32 位,甚至64 位.经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。 ,开创了其 微控制器 微控制器   一
[工业控制]
单片机编程技巧一
1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。 对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言 单片机编程 编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇
[单片机]
关于STM32单片机移植FATFS
使用单片机的朋友都知道单片机一般提供的ROM和RAM都比较小。就算是STM32这样的提供256KB flash和64KB RAM的。一旦你需要存一些数据量比较大的文件的时候还是不够用的。一般可以通过外扩SD和nand flash来实现大容量存储。相对来说SD卡的使用更加方便一些。使用过nand flash的也许会知道nand flash有坏块,使用的时候需要做坏块管理,还有就是需要做损耗均衡。不然nand flash很容易就会坏掉。 下面说说SD卡。SD卡驱动有两种方式。一种是SPI驱动方式。还有一种是SDIO驱动方式。SPI驱动时只需要4更线:CLK、SD_CS、MISO、MOSI。SDIO则需要CLK、CMD、Data0、Da
[单片机]
32位MCU产品逐渐脱颖而出:走红2008
  微控制器(MCU)产品应用领域日趋广阔,从通信基础设施,到手机、家电、消费电子、汽车电子、医疗电子、工业控制等诸多领域,都能看到MCU的身影。而在全球竞争日益激烈的MCU市场中,32位MCU产品逐渐脱颖而出,成为各家厂商争夺的热门市场。   据市调机构WSTS发布的报告显示,全球32位MCU市场在过去5年中增长了一倍左右,2007年销售额比前一年增长13.6%,达到创纪录的31.9亿美元,出货量也达到7.2亿片之多。以趋势来看,32位MCU已在去年成功超越了16位产品,并逐渐缩小与8位MCU间的差距。   这一趋势令众多MCU厂商开始向32位MCU市场转移力量,应用于各个领域的32位MCU产品也在2008年推陈出新,使32
[工业控制]
搞定单片机多字节串口接收
    工作了一年多,写了不少单片机串口程序。感觉串口多字节接收部分的逻辑相对于配置寄存器跟串口来说,是有点难度的 寄存器配置基本上都是死的,串口多字节跟一字节只是多了一个循环。 串口接收程序是基于串口中断的,单片机的串口每次接收到一字节数据产生一次中断,然后再读取某个寄存器就可以得到串口接收的数据了。然而在实际应用当中,基本上不会有单字节接收的情况。一般都是基于一定串口通信协议的多字节通信。在422或者485通信中,还可能是一个主机(一般是计算机)带多个从机(相应的有单片机的板卡)。这就要求我们的单片机能够在连续接收到的串口数据序列中识别出符合自己板卡对应的通信协议,来进行控制操作,不符合则不进行任何操作。简而言之就是,
[单片机]
域控软件安全隔离关键技术剖析:MCU域 VS SOC域
安全隔离的需求 功能安全开发中,软件阶段由软件V模型左边的软件安全需求SSR开始。SSR是从技术安全需求TSR中提取出软件的功能安全需求,大多数情况下具有不同的ASIL等级。 图1功能安全软件开发V模型 随后,软件安全需求会被分配到软件架构中的软件组件中。不同ASIL等级的软件安全需求被分配到软件组件过后,带来了级联失效的问题。若放任不同ASIL等级软件组件在一个系统中运行,可能会存在低ASIL等级软件组件失效从而引发高ASIL等级软件组件失效的风险。 ISO26262对软件组件之间的交互进行了分析并提出了免于干扰(Freedom from Interference)的需求,安全隔离则旨在隔离软件系统中安全相关与安全无关
[嵌入式]
域控软件安全隔离关键技术剖析:<font color='red'>MCU</font>域 VS SOC域
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved