单片机 电子时钟(汇编)

发布者:532829319hmk最新更新时间:2016-09-13 来源: eefocus关键字:单片机  电子时钟  汇编 手机看文章 扫描二维码
随时随地手机看文章
今天很高兴,一次性就把这个电子时钟写了出来(今晚的单片机实验,记得去年自学单片机的时候,这个还真是写不出来,不过这个时钟只是静态的,不能够用手工来修改,这点还是不够完善,以后有时间了的话,我重新写一下,呵呵)
 
电子时钟(汇编) - gududesiling - suixin

count     equ  9217  ;定义1s计数值,对于11.0592的晶振来说,延时10ms

second           equ  30h  ;定义临时变量区

second_ge     equ  31h

second_shi     equ  32h

minute           equ  33h

minute_ge      equ  34h

minute_shi     equ  35h

hour        equ  36h

hour_ge         equ  37h

hour_shi         equ  38h

 

       org  0000h

       sjmp       main   ;进入主程序

       org  0003h

       reti

       org  000bh   ;time0(定时器/计数器T0入口地址)

       ljmp int_time0   ;跳转到中断0服务程序

       org  001bh

       reti

       org  0023h

       reti

 

main:     

       mov r0,#0       ;初始化程序(本程序初始值设为13:33:22)

       mov second,#22

       mov second_ge,#0

       mov second_shi,#0

       mov minute,#33

       mov minute_ge,#0

       mov minute_shi,#0

       mov hour,#13

       mov hour_ge,#0

       mov hour_shi,#0

 

       mov tmod,#00000001b

       mov th0,#high(65536-count) ;取高八位数据

       mov tl0,#low(65536-count) ;取底五位

       clr   tf0

       setb ea

       setb et0

       setb tr0   ;开始计时

loop:      

       lcall        digitor_display         ;调用数码管扫描显示程序

       sjmp       loop           ;程序在此循环  

 

;定时器0中断

int_time0:

       push acc

       push psw

 

       clr   tf0

       mov th0,#high(65536-count) ;取高八位数据

       mov tl0,#low(65536-count) ;取底五位

       inc   r0

       cjne r0,#100,ret_loop   ;秒值加一

       sjmp       second_add

 

second_add:                          ;秒值处理

       mov r0,#0

       inc   second

       mov a,second

       cjne a,#60, ret_loop

       sjmp       minute_add

 

minute_add:                               ;分值处理

       mov second,#0

       inc   minute

       mov a,minute

       cjne a,#60, ret_loop

       sjmp       hour_add

 

hour_add:                               ;小时处理

       mov minute,#0

       inc   hour

       mov a,hour

       cjne a,#24,ret_loop

       sjmp       hour_reset

 

hour_reset:

       mov hour,#0

 

ret_loop:

       pop  psw

       pop acc

       reti  ;中断返回

 

digitor_display:               ;数码管扫描

       push acc

       push psw

       mov a,second

       mov b,#10

       div   ab

       mov second_shi,a

       mov second_ge,b

 

       mov a,minute

       mov b,#10

       div   ab

       mov minute_shi,a 

       mov minute_ge,b

 

       mov a,hour

       mov b,#10

       div   ab

       mov hour_shi,a

       mov hour_ge,b

 

       mov p1,#11011111b         ;显示秒钟的个位

       mov a,second_ge

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

 

       mov p1,#11101111b              ;显示秒钟的十位

       mov a,second_shi

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

 

       mov p1,#11110111b           ;显示分钟的个位

       mov a,minute_ge

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

 

       mov p1,#11111011b          ;显示分钟的十位

       mov a,minute_shi

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

 

       mov p1,#11111101b       ;显示小时的个位

       mov a,hour_ge

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

 

       mov p1,#11111110b ;显示小时的十位

       mov a,hour_shi

       mov dptr,#table

       movc      a,@a+dptr

       mov p2,a

       lcall delay

       pop psw

       pop  acc

 

       ret          ;扫描程序返回

 

table:             ;共阴极数码管扫描码

       DB  3FH   ;0

    DB  06H   ;1

    DB  5BH   ;2

    DB  4FH   ;3

    DB  66H   ;4

    DB  6DH   ;5

    DB  7DH   ;6

     DB  27H   ;7

    DB  7FH   ;8

    DB  6FH   ;9

     

delay:      mov r4,#5       ;延时函数(延时大概5*255*2=25ms)

l1:    mov r5,#0ffh

l2:    djnz r5,$

       djnz r4,l1

       ret  

 

       end        

关键字:单片机  电子时钟  汇编 引用地址:单片机 电子时钟(汇编)

上一篇:ASM51调用C51函数的实现
下一篇:汇编冒泡排序(51)(需调试器付初值)

推荐阅读最新更新时间:2024-03-16 15:09

只要两个I/O pin 的单片机接数字键盘电路
今天发张单片机连接 4x3 数字键盘的电路,作者是美国电工罗伯辛海。很多应用中,都需要接一个用单片机控制的数字键盘,传统方法是用很多I/O引脚,例如接一个数字快输盘就要7个I/O脚。在这个电路中,只需要2个I/O 引脚就可以了。 大多数时钟I/O都需要特殊的通讯协议,例如I2C, SPI等等,MCU需要有通讯模块,工程师需要灵活地实施软件。而且,给每个按键分配不同的电压,也是件麻烦事。 罗伯辛海提供了这个设计思路,只要两个I/O,不需要特别的通讯协议,不需要模拟pin, 用两个德州仪器的CD4017就可以了。CD4017很常见,而且不贵。R1, R4, R5和R6用来限流,R7, D4, D5和D6组成一个或门。 虽然这是
[单片机]
只要两个I/O pin 的<font color='red'>单片机</font>接数字键盘电路
STC15单片机驱动WS2812B七彩LED(汇编混合编程)
WS2812B七彩LED具有集成度高、使用方便等特点,但是800K的数据速率(IO变化速率高达2.4M),对单片机提出了较高的要求,通常是采用SPI+DMA方式驱动, 也有人采用汇编实现,但是要预先把数据转换为按bit存放,在LED级连数量较多的情况下,需要占用极多的存储空间。 在驱动WS2812B上花费了太多的时间,走了不少弯路,记录下来: 简易数字分析仪采样频率最高只有4M,即测量精度为250ns,而信号宽度要求为400ns和850ns,这样测量的结果存在较大的误差,让人误以为信号跳变无规律, 迷失了方向;解决的办法就是利用STC单片机主时钟的内分频功能,语句:CLK_DIV |= 0x07; 将主频降低128倍,
[单片机]
STC15<font color='red'>单片机</font>驱动WS2812B七彩LED(<font color='red'>汇编</font>混合编程)
单片机STC5A60S2完成音频采集与输出
.c文件(主程序): /*-------------------------------------------------------------------*/ //一般说明 //使用的单片机为STC5A60S2,外接晶振32.768M //采用受用单片机自带的AD,单片机自带的PWM做DA输出使用 //两个按键一个控制录音,一个控制输出,上电默认状态为实时输出 //外接RAM采用62256 /*-------------------------------------------------------------------*/ #include reg51.h #include intrins.h #include AD
[单片机]
51单片机+PID算法水温控制系统设计
本系统设计采用基于PID算法的单片机控制来实现水温的调控。单片机控制部分采用AT89C51单片机为核心,采用软件编程,实现用PID算法来控制PWM波的产生,继而控制电炉的加热来实现温度控制。通过编程对PID各参数的调整,来达到提高加温速度,减小超调的目的。 设计任务和主要内容 基本要求 一升水在1kw电炉下加热,要求水温在一定范围内可由人工设定,并能在环境温度降低时自动调节,以保证设定的温度基本不变。 主要性能指标 温度设定范围为40~90℃,最小区分度为1℃,标定温度小于等于1℃。 环境温度降低时温度控制的静态误差小于等于1℃。 用十进制数码管显示水的温度。 拓展功能 采用适当的控制方法,当
[单片机]
51<font color='red'>单片机</font>+PID算法水温控制系统设计
ST发布首批基于超低功耗平台的8位MCU
世界领先的微控制器厂商意法半导体(纽约证券交易所代码:STM)宣布,首批整合其高性能8位架构和最近发布的超低功耗创新技术的8位微控制器开始量产。以节省运行和待机功耗为特色,STM8L系列下设三个产品线,共计26款产品,涵盖多种高性能和多功能应用。 设计工程师利用全新的STM8L系列可提高终端产品的性能和功能,同时还能满足以市场为导向的需求,例如,终端用户对节能环保产品的需求,便携设备、各种医疗设备、工业设备、电子计量设备、感应或安保设备对电池使用周期的要求。设计人员将选择STM8L这类超低功耗的微控制器,以符合低功耗产品设计标准,如“能源之星”、IEA的“1W节能计划”或欧盟的EuP法令,。 “意法半导体在
[单片机]
ST发布首批基于超低功耗平台的8位<font color='red'>MCU</font>
德州仪器拓展Bluetooth 低功耗产品组合
 德州仪器(TI)日前宣布推出其可扩展SimpleLink™ Bluetooth低功耗无线微控制器(MCU)系列下的两款全新器件,以提供更多的可用内存、支持Bluetooth® 5的硬件、汽车级资质认证以及全新的超小型晶圆级芯片封装(WCSP)选项。新的器件保持了该系列特有的高级集成特性,拥有一个完整的单芯片硬件和统一的软件解决方案,同时包含了一个基于ARM® Cortex®-M3的MCU、自动电源管理、高度灵活的全功能Bluetooth兼容无线电以及一个低功耗传感器控制器。   全新的TI Bluetooth低功耗解决方案 ·全新SimpleLink CC2640R2F无线MCU能够为更丰富、更高响应度和更高性能的应用提供更多
[单片机]
Loto实践干货(5)单片机的上电复位故障用示波器检测
最近采用CY7C68013A芯片设计了一款产品,其实内部就是一个51单片机,控制USB通讯。在测试过程发现部分电路板上电后,电脑无法发现新USB硬件,也不提示无法识别,设备管理器也没有UNKNOW DEVICE的提示。经过仔细排查怀疑内部的51单片机没有工作。 排查了晶振,供电,IO脚等等之后都没发现问题,最后怀疑是电路reset有问题。 根据芯片资料所述:VCC上升时间不能太快,至少需要200us。在使用无源晶振时,reset复位时间必须是在VCC达到3.0V后大约5MS。若是外部时钟的加电复位时间大约为200us。 我们一般使用单片机的时候,硬件电路中的复位电路设计如下图所示。此复位电路是针对低电平有效复位而言的,其
[测试测量]
Loto实践干货(5)<font color='red'>单片机</font>的上电复位故障用示波器检测
基于89C51单片机的环境噪声测量仪
   1 引 言      环境噪声监测,是人类提高生活质量,加强环境保护的一个重要环节,在各大城市的繁华街区和居民区,已有大型环境噪声显示器竖立街头。但目前国内的便携式噪声测试仪,多为价格昂贵的进口专用设备,除卫生、计量等环保专业部门拥有外,无法作为民用品推广普及。本文介绍一种以89C51单片机为核心,采用V/F转换技术构成的低成本、便携式数字显示环境噪声测量仪。该仪器工作稳定、性能良好,经校验定标后能满足一般民用需要,可广泛应用于工矿企业、机关、学校等需要对环境噪声进行测量和控制的场合。 2 声压级的测量机理   人耳的听阈一般是20μPa,痛阈一般是200 Pa,其间相差107倍,这样宽广的声压范围很不易测量,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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