单片机设计按键计数器的功能

急!!!请问单片机设计按键计数器的功能有那些?... 急!!!请问单片机设计按键计数器的功能有那些? 展开
 我来答
dsu5566
2009-01-13 · TA获得超过2152个赞
知道大有可为答主
回答量:1761
采纳率:100%
帮助的人:1904万
展开全部
;********************************************************************/
/* 实验目的:1、掌握数码管的动态扫描原理
* 2、掌握单片机对按键的控制原理
* 实验内容:通过按一下P3.3按键,数码管做 1 的累加, 实现00~99的计数功能,当计到99时又从00开始
*/
;/* 程序详细功能介绍:
; * 具体的硬件结构,大家可以看 WS 系列产品的原理图
;* 利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.3管脚接一个轻触开关,
;* 作为手动计数的按钮. 数码管驱动采用动态扫描方式用单片机的P0.0-P0.7驱动数码管的段码,
;* P1.3 控制个位数码管的共阳极公共端,P1.2 控制十位数码管的共阳极公共端
;* 大家可自行修改程序,扩展到0000~9999的计数范围
;*/

Count EQU 30H
AN BIT P3.3
WEI BIT 00H;按键消除振荡位标志

ORG 0000H
CLR P2.7
LJMP START

ORG 0100H
START: MOV Count,#00H
NEXT: MOV A,Count
MOV B,#10
DIV AB
MOV DPTR,#TABLE

MOVC A,@A+DPTR
MOV P0,A ;十位的显示处理
CLR P1.2
LCALL DELY10MS
SETB P1.2

MOV A,B
MOVC A,@A+DPTR
MOV P0,A ;个位的显示处理
CLR P1.3
LCALL DELY10MS
SETB P1.3
;*****************************
;********按键方法一***********
;*****************************
;JB AN,NEXT ;按键检测

;LCALL DELY10MS;
;LCALL DELY10MS;
;LCALL DELY10MS;
;LCALL DELY10MS;
;JB AN,NEXT
;LCALL DELY10MS
;LCALL DELY10MS
;LCALL DELY10MS

;*****************************
;*****按键方法二**************
;*****************************
JB AN,NEXT1 ;按键检测
JB WEI,NEXT ;在程序循环过来时,若按键没有放开,则不执行下面的程序
SETB WEI ;对按键标志位置1
LJMP NEXT2 ;执行计数加1程序
NEXT1:CLR WEI;若按键放开,则对按键标志位清0,
LJMP NEXT ;在执行显示程序,实现按键的消除振荡
NEXT2: ;

INC Count ;计数加一
MOV A,Count
CJNE A,#100,NEXT
LJMP START

DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET

TABLE: DB 0C0H;0
DB 0F9H;1
DB 0A4H;2
DB 0B0H;3
DB 099H;4
DB 092H;5
DB 082H;6
DB 0F8H;7
DB 080H;8
DB 090H;9
END
18...5@qq.com
2009-01-02
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
不明白你说什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式