永发信息网

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

答案:6  悬赏:0  手机版
解决时间 2021-01-03 17:53
程序控制4个数码管的显示,秒表精度为0.1秒,通过按钮可控制秒表启动、停止、清零,最大计时9分59.9秒,画出系统的电路原理图,重点!!(7279键盘显示器的输出编程),求程序,求大仙!所有得分了!!跪求!拜谢!
最佳答案
;================================================================
;功能:本程序实现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
全部回答
想是想帮你,可是不知道7279是什么东东
自己试验吧。
鬼城,似乎没有人鸟...... ╮(╯_╰)╭
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的电脑原装是win10,现在刷了一个win7,还
格式工厂转换格式后时间变短
什么是对口高考 对口高考可不可以考上本科
信用卡用英语怎么说?
先天性行为是动物的一种本能,是生来就有的由
国内有什么常见的社交软件带有wishlist这种功
1.在放大镜下蝴蝶的翅都由许多彩色的( )组成,
单选题温室大棚可以促使植物的早熟或种植反季
解答题学校中午时,有相当一部分同学不爱去食
佳木斯研究生和延边大学研究生哪个好考
广东溢达纺织有限公司杨梅分厂到广州火车站怎
宝马车怎么挂档图解
如何将Word中的引用文献导入到noteexpress中
用3、5、9三张卡片分别排成不同的三位数,有_
从甲地到乙地的路程为300千米,一辆汽车从甲
推荐资讯
北京市怀柔区知识产权局地址在什么地方?想过
平安符怎么求
仰望苍天阅读答案
消极应付反义词
老沿广线/C014(路口)在什么地方啊,我要过去
一个女生愿意把她卧室让出来给我睡说明啥?
单选题在8月17日~19日进行的2010中国互联网
属马的人住几楼最好
狮子座心情不好
判断题一周角=2平角=4直角.
室外露天阳台需要铺什么砖比较防滑防雨雪
全球哪些城市有熊猫?请说全。只知道一个两个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?