设计分享|单片机LED点阵时钟(汇编)

目录

具体实现功能:

设计介绍

单片机介绍

设计思路

设计内容

仿真实现

汇编程序


具体实现功能:

通过5个8*8led点阵显示数字时间,显示时分,从12点开始计时,显示时间格式为:12::00。

设计介绍

单片机介绍

51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。

设计思路

文献研究法:搜集整理相关单片机智能手环系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机智能手环系统的现状、存在问题和解决办法;

比较分析法:比较不同单片机智能手环系统的具体原理,以及同一类传感器性能的区别,分析单片机智能手环系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

设计内容

仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。

汇编程序

本设计由汇编语言编写,主代码具体如下:

ORG 0000HLJMP MAIN    ORG 0003H     LJMP PINT0     ORG 000BH        LJMP INTT0        ORG 0013H    LJMP PINT1              ORG 0030H MAIN:   MOV SP,#60H        MOV TMOD,#01H        MOV TL0,#0e0H        MOV TH0,#0b1H        MOV IE,#87H         MOV 30H,#01H  ;时十位        MOV 31H,#02H  ;时个位        MOV 32H,#0AH  ;光标点位        MOV 33H,#00H  ;分十位        MOV 34H,#00H  ;分个位        MOV 35H,#00H  ;秒十位        MOV 36H,#00H  ;秒个位    SETB IT0    SETB IT1    SETB PT0        SETB TR0LOOP0:  LCALL DISP        LJMP LOOP0 INTT0:  MOV TL0,#0e0H        MOV TH0,#0b1H        PUSH ACC        PUSH PSW        INC 36H        MOV A,36H        CJNE A,#25,PLL        MOV 32H,#0BHPLL:    CJNE A,#50,ENDD      ;1S        MOV 32H,#0AH        MOV 36H,#00H        INC 35H        MOV A,35H        CJNE A,#60,ENDd    ;分个位        MOV 35H,#00H         INC 34H        MOV A,34H        CJNE A,#0AH,ENDd    ;分个位        MOV 34H,#00H        INC 33H        MOV A,33H        CJNE A,#06H,ENDd    ;分十位        MOV 33H,#00H         INC 31H        MOV A,30H        CJNE A,#02H,END1        MOV A,31H        CJNE A,#04H,END1    ;时个位        MOV 31H,#00H        MOV 30H,#00HEND1:   MOV A,31H        CJNE A,#0AH,ENDd    ;时个位        MOV 31H,#00H        INC 30HENDd:   POP PSW        POP ACC        RETI  DISP:   PUSH ACC        PUSH PSW        MOV A,30H   ;显示要显示的数字        MOV B,#08H        MUL AB        MOV 3BH,A        MOV R4,#00H        MOV R5,#08HLOOP00: MOV A,3BH        MOV DPTR,#TABE        MOVC A,@A+DPTR        MOV P2,R4        MOV P0,A        MOV P1,#0FEH        INC 3BH        INC R4        LCALL DELAY        DJNZ R5,LOOP00         MOV A,31H   ;显示要显档的数字        MOV B,#08H        MUL AB        MOV 3BH,A        MOV R4,#00H        MOV R5,#08HLOOP11: MOV A,3BH        MOV DPTR,#TABE        MOVC A,@A+DPTR        MOV P2,R4        MOV P0,A        MOV P1,#0FDH        INC 3BH        INC R4        LCALL DELAY        DJNZ R5,LOOP11         MOV A,32H   ;显示要显档的数字        MOV B,#08H        MUL AB        MOV 3BH,A        MOV R4,#00H        MOV R5,#08HLOOP22: MOV A,3BH        MOV DPTR,#TABE        MOVC A,@A+DPTR        MOV P2,R4        MOV P0,A        MOV P1,#0FBH        INC 3BH        INC R4        LCALL DELAY        DJNZ R5,LOOP22          MOV A,33H   ;显示要显档的数字        MOV B,#08H        MUL AB        MOV 3BH,A        MOV R4,#00H        MOV R5,#08HLOOP33: MOV A,3BH        MOV DPTR,#TABE        MOVC A,@A+DPTR        MOV P2,R4        MOV P0,A        MOV P1,#0F7H        INC 3BH        INC R4        LCALL DELAY        DJNZ R5,LOOP33          MOV A,34H   ;显示要显档的数字        MOV B,#08H        MUL AB        MOV 3BH,A        MOV R4,#00H        MOV R5,#08HLOOP44: MOV A,3BH        MOV DPTR,#TABE        MOVC A,@A+DPTR        MOV P2,R4        MOV P0,A        MOV P1,#0EFH        INC 3BH        INC R4        LCALL DELAY        DJNZ R5,LOOP44        POP PSW        POP ACC        RET DELAY:  MOV 37H,#50DEL:    MOV 38H,#4        DJNZ    38H,$        DJNZ    37H,DEL        RETTABE:   ;0        DB 00H,18H,24H,24H,24H,24H,18H,00H        ;1        DB 00H,10H,30H,10H,10H,10H,38H,00H        ;2        DB 00H,18H,24H,04H,18H,20H,3CH,00H        ;3        DB 00H,18H,24H,18H,04H,24H,18H,00H        ;4        DB 00H,08H,18H,28H,7CH,08H,08H,00H        ;5        DB 00H,1CH,10H,18H,04H,24H,18H,00H        ;6        DB 00H,18H,24H,38H,24H,24H,18H,00H        ;7        DB 00H,3CH,28H,08H,10H,10H,10H,00H        ;8        DB 00H,18H,24H,18H,24H,24H,18H,00H        ;9        DB 00H,18H,24H,24H,1CH,24H,18H,00H        ;:        DB 00H,00H,18H,18H,00H,18H,18H,00H        ;        DB 00H,00H,00H,00H,00H,00H,00H,00H        RET PINT0: MOV  4AH,#20      DJNZ  4AH,$        JB P3.2, END_DD           MOV 36H,#00H        INC 34H        MOV A,34H        CJNE A,#0AH,END_DD    ;分个位        MOV 34H,#00H        INC 33H        MOV A,33H        CJNE A,#06H,END_DD    ;分十位        MOV 33H,#00HEND_DD: RETIPINT1:   MOV  4AH,#20      DJNZ  4AH,$        JB P3.3,END_D        INC 31H        MOV A,30H        CJNE A,#02H,END_1        MOV A,31H        CJNE A,#04H,END_1    ;时个位        MOV 31H,#00H        MOV 30H,#00HEND_1:  MOV A,31H        CJNE A,#0AH,END_d    ;时个位        MOV 31H,#00H        INC 30HEND_D: RETI     END    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值