具体功能:
通过按键改变计数结果,按键按下蜂鸣器响,结合数码管进行显示,计数范围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