设计分享|基于单片机的计数器设计(汇编)

2022-07-27 19:08:35 浏览数 (1)

具体实现功能

具体功能:

通过按键改变计数结果,按键按下蜂鸣器响,结合数码管进行显示,计数范围0-9。当加键按下时,数码管显示数值加一,减键按下时,数码管数值减一。

设计介绍

单片机介绍

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可选。

设计思路

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

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

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

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

设计内容

01

仿真图

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

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

02

程序

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

代码语言:javascript复制
ORG   0000H
LJMP   MAIN
ORG  0003H
LJMP  JIAYI
ORG  0013H
LJMP  JIANYI
ORG  0040H
COUNT  EQU  30H
MAIN:  MOV  SP,#40H        ;初始化
  MOV    COUNT,#10H
  SETB  EX0
  SETB  EX1
  SETB  IT0
  SETB  IT1
  SETB  EA
  MOV  DPTR,#SMBIAO
XSHI:  MOV  A,COUNT;        ;显示得分
  SWAP  A
  ANL  A,#0FH
  MOVC  A,@A DPTR
  MOV  P0,A
  MOV  A,COUNT
  ANL  A,#0FH
  MOVC  A,@A DPTR
  MOV  P2,A
  LJMP  XSHI
SMBIAO:DB 3FH,06H,5BH,4FH,066H,06DH,07DH,07H,7FH,6FH
  ORG 0200H
JIAYI:  MOV  A,COUNT;    ;加1中断处理程序
  ADD  A,#01H
  DA  A
  MOV  COUNT,A
SHYING:  CPL  P3.7;    ;蜂鸣器发声,表示有按键按下
  NOP
  JNB  P3.2,SHYING
  RETI
  ORG  0300H
JIANYI:  CLR  C;      ;减1中断处理程序
  MOV  A,#9AH
  SUBB  A,#01H
  ADD  A,COUNT
  DA  A
  MOV  COUNT,A
SHYING1:  CPL  P3.7;  ;有按键按下,蜂鸣器发出提示音
  NOP
  NOP
  NOP
  JNB  P3.3,SHYING1
  RETI
  END

0 人点赞