用汇编语言编写一个51单片机程序,实现电子秒表功能 100

程序控制4个数码管的显示,秒表精度为0.1秒,通过按钮可控制秒表启动、停止、清零,最大计时9分59.9秒,画出系统的电路原理图,重点!!(7279键盘显示器的输出编程),... 程序控制4个数码管的显示,秒表精度为0.1秒,通过按钮可控制秒表启动、停止、清零,最大计时9分59.9秒,画出系统的电路原理图,重点!!(7279键盘显示器的输出编程),求程序,求大仙!所有得分了!!跪求!拜谢! 展开
 我来答
大别山的蜗牛
高粉答主

推荐于2018-04-13 · 一只互联网搬运的蜗牛
大别山的蜗牛
采纳数:6927 获赞数:12024

向TA提问 私信TA
展开全部
;================================================================
;功能:本程序实现P0口的对数码管动态显示秒表的分、秒、1/100秒;
; 计时程序由中断服务程序实现,采用定时计数器T0工作方式1;
; P2口实现对数码管的片选功能
;================================================================
;==========================初始化================================
SHUCHU EQU P2 ;定义P0口为输出口
PIANXUAN EQU P1 ;定义P2口为片选口
MIAO EQU 30H
FEN EQU 31H
MIAO0 EQU 32H
SHUZI EQU 33H
C_0 BIT 20H.0
;======================系统程序开始==============================
ORG 00H
LJMP START
ORG 03H
LJMP ON_OFF
ORG 0BH
LJMP T0_1
ORG 13H
LJMP RESET
ORG 30H
START:
CALL INIT
SETB C_0
MOV MIAO,#00
MOV MIAO0,#00
MOV FEN,#00
MOV DPTR,#TAB
MOV R2,#5
MAIN:
JNB C_0,$
CLR C_0
LL: CALL DISPLAY
CALL SHIJIAN
JMP MAIN
;========================时间子程序=============================
;输入:"30H、31H、32H"
;输出:无
;实现的功能:分、秒、百分之秒的计算。
;===============================================================
SHIJIAN:
DJNZ R2,TIAOCHU
MOV R2,#5
INC MIAO0
MOV R3,MIAO0
CJNE R3,#100,TIAOCHU
MOV MIAO0,#00
INC MIAO
MOV R3,MIAO
CJNE R3,#60,TIAOCHU
MOV MIAO,#00
INC FEN
MOV R3,FEN
CJNE R3,#60,TIAOCHU
MOV FEN,#00
TIAOCHU:RET
;========================显示子程序=============================
;输入:"A"
;输出:"P2口"
;实现的功能:显示秒、分、百分之妙
;===============================================================
DISPLAY:MOV SHUZI,MIAO0
CALL JISUAN
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示十位
MOV PIANXUAN,#10H ;片选
CALL DELAY
MOV PIANXUAN,#00H

MOV A,B
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示个位
MOV PIANXUAN,#20H ;片选
CALL DELAY ;延时
MOV PIANXUAN,#00H

MOV SHUZI,MIAO
CALL JISUAN
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示十位
MOV PIANXUAN,#04H ;片选
CALL DELAY
MOV PIANXUAN,#00H

MOV A,B
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示个位
MOV PIANXUAN,#08H ;片选
CALL DELAY ;延时
MOV PIANXUAN,#00H

MOV SHUZI,FEN
CALL JISUAN
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示十位
MOV PIANXUAN,#01H ;片选
CALL DELAY
MOV PIANXUAN,#00H

MOV A,B
MOVC A,@A+DPTR
MOV SHUCHU,A ;显示个位
MOV PIANXUAN,#02H ;片选
CALL DELAY ;延时
MOV PIANXUAN,#00H
RET
;========================计算子程序=============================
;输入:30H
;输出:"A和B"
;实现的功能:把33H中的数据十位和个位分离出来
;===============================================================
JISUAN:MOV A,SHUZI ;数据放在A中
MOV B,#10 ;除数放在B中
DIV AB ;商放在A中,余数放在B中
RET
;====================复位中断服务程序============================
;输入;无
;输出: 无
;实现的功能:把30H、31H、32H中的数据清零。
;================================================================
RESET:PUSH ACC
MOV 30H,#00H
MOV 3H,#00H
MOV 32H,#00H
CALL DELAY
POP ACC
RETI
;====================启停中断服务程序============================
;输入;无
;输出: 无
;实现的功能:关闭定时器
;================================================================
ON_OFF:CPL TR0
CALL DELAY
RETI
;====================定时中断0服务子程序========================
;输入:无
;输出:无
;实现的功能:实现定时20MS,影响标中断志位C_0
;===============================================================
T0_1:MOV TL0,50H ;设置定时初值
MOV TH0,51H
SETB C_0 ;定时标志位清0
RETI
;========================中断设置子程序=========================
;输入:无
;输出:无
;实现的功能:初始化设置定时器,设置初值,开中断0、中断1,定时器0.
;===============================================================
INIT:MOV TMOD,#01H ;定时器0工作方式1
MOV DPTR,#65536-20000
MOV 50H,DPL
MOV 51H,DPH
MOV TL0,50H ;设置定时初值
MOV TH0,51H
MOV IE,#87H ;开定时器中断0
MOV TCON,#15H
RET
;======================延时程序==================================
;输入;无
;输出: 无
;实现的功能:延时一段时间
;================================================================
DELAY:MOV R6,#80
L7:MOV R5,#60
L8:DJNZ R5,$
DJNZ R6,L7
RET
;======================共阳查表数据==============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;===========================结束=================================
END
fforwardd
2015-06-29
知道答主
回答量:1
采纳率:0%
帮助的人:1267
展开全部
HAOMIAO EQU 31H
MIAOWEI EQU 32H
SHIMIAO EQU 33H
FENWEI EQU 34H
COU EQU 35H
ORG 0000H
AJMP START
ORG 0003H
AJMP INT0
ORG 000BH
AJMP TIME0
ORG 0030H
START: MOV HAOMIAO,#0
MOV MIAOWEI ,#0
MOV SHIMIAO,#0
MOV FENWEI ,#0
MOV COU,#0
MOV TMOD,#01H
MOV TH0,#40H
MOV TL0,#98H
MOV P2,#0FFH
SETB ET0
SETB TR0
SETB EX0
SETB IT0
SETB EA

K1: LCALL XIANSHI
JB P1.0,K2
LJMP MAIN
LCALL DELY1MS
JNB P1.0,START
K2: JB P1.1,K3
LJMP MAIN
LCALL DELY1MS
JNB P1.1,STOP
K3: JB P1.2,K1
LJMP MAIN
LCALL DELY1MS
JNB P1.2,CLEAR
LJMP K1

START: SETB TR0
LJMP K1

STOP: CLR TR0
LJMP K2

CLEAR: CLR TRO
MOV HAOMIAO,#0
MOV MIAOWEI,#0
MOV SHIMIAO,#0
MOV FENWEI,#0
LJMP K1

TIME0: INC COU
MOV A,COU
CJNE A,#2H,OVER
MOV COU, #0
INC HAOMIAO
MOV A,HAOMIAO
CJNE A,#10,OVER
MOV HAOMIAO,#0
INC MIAOWEI
MOV A,MIAOWEI
CJNE A,#10,OVER
MOV MIAOWEI,#0
INC SHIMIAO
MOV A,SHIMIAO
CJNE A,#6,OVER
MOV SHIMIAO,#0
INC FENWEI
MOV A,FENWEI
CJNE A,#10,OVER
MOV HAOMIAO,#0
MOV MIAOWEI,#0
MOV SHIMIAO,#0
MOV FENWEI,#0
CLR TR0
RETI

MAIN: LCALL XIANSHI

OVER: MOV TH0,#40H
MOV TL0,#98H
RETI

DELY1MS: MOV R7,#4
MOV R6,#125
LOOP2: DJNZ R6,LOOP2
LOOP3: DJNZ R7,LOOP3
RET
XIANSHI: MOV P2,#0FEH
MOV DPTR,#TABLE
MOV A,HAOMIAO
MOVC A,@A+DPTR
MOV P0,A
LCALL DELY1MS

MOV P2,#0FDH
MOV DPTR,#TABLE1
MOV A,MIAOWEI
MOVC A,@A+DPTR
MOV P0,A
LCALL DELY1MS

MOV P2,#0FBH
MOV DPTR,#TABLE
MOV A,SHIMIAO
MOVC A,@A+DPTR
MOV P0,A
LCALL DELY1MS

MOV P2,#0F7H
MOV DPTR,#TABLE
MOV A,FENWEI
MOVC A,@A+DPTR
MOV P0,A
LCALL DELY1MS
RET

TABLE: DB 0C0H, 0F9H ,0A4H, 0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
TABLE1:DB 0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hsl89830
2013-04-16
知道答主
回答量:60
采纳率:0%
帮助的人:11.5万
展开全部
鬼城,似乎没人鸟......的╮(╯_╰)╭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gfigepgf
2013-04-16 · TA获得超过1285个赞
知道小有建树答主
回答量:2912
采纳率:0%
帮助的人:851万
展开全部
鬼城,似乎没有人鸟...... ╮(╯_╰)╭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lost天桥
2012-12-24
知道答主
回答量:36
采纳率:33%
帮助的人:8.1万
展开全部
自己试验吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式