标题:
单片机秒表汇编程序及proteus仿真
[打印本页]
作者:
51黑ff
时间:
2016-9-26 15:20
标题:
单片机秒表汇编程序及proteus仿真
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
(72.11 KB, 下载次数: 23)
下载附件
2022-12-9 05:10 上传
0.png
(55.28 KB, 下载次数: 72)
下载附件
2016-9-26 15:18 上传
单片机秒表仿真文件要用proteus8.0以上的版本打开.
所有资料下载:
仿真代码.7z
(35.4 KB, 下载次数: 58)
2022-12-9 05:11 上传
点击文件名下载附件
下载积分: 黑币 -5
ORG 00H
START:
CLR P1.7 ;p1.7=0 关闭蜂鸣器
MOV P0,#00H ;两位七段数码管显示“00”
JB P3.5,[ DISCUZ_CODE_1 ]nbsp; ;如果按钮开关S1没有按下重复执行本行
CALL FILTER ;如果检测S1被按下,调FILTER子程序,消除开关的抖动
JNB P3.5,[ DISCUZ_CODE_1 ]nbsp; ;如果S1没有放开则等待,放开后执行下一行
MOV A,#00H ;累加器A=0
MOV R1,#50 ;计时50秒的计数器
PRESS:
MOV P0,A ;输出至P0,七段数码管显示
MOV R5,#10 ;为延时1秒设定的寄存器初始值
ADD_1:
CALL DELAY ;调延时子程序
DJNZ R5,ADD_1 ;循环10次完成1秒延时
ADD A,#01H ;计时值加1
DA A ;十进制调整
DJNZ R1,PRESS ;判断是不是到50秒,如果没有就继续倒计时
MOV R1,#6 ;声音提示计数器
NOTICE:
CPL P1.7 ;P1.7反相,蜂鸣器转换状态
CALL DELAY ;调延时子程序
DJNZ R1,NOTICE ;判断是否响了3次
JMP START ;循环
DELAY: ;本段延时0.1ms
MOV R6,#200
D1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET ;延时子程序返回主程序
FILTER: ;按钮开关过滤抖动子程序
MOV R6,#60
F1: MOV R7,#248
DJNZ R7,$
DJNZ R6,F1
RET ;过滤子程序返回主程序
END ;程序结束点
复制代码
作者:
yilinghai
时间:
2022-12-7 22:16
大家不要下,连hex文件都没有,仿真根本无法运行
作者:
sijale
时间:
2022-12-8 15:35
自己run一下不就有hex了吗
作者:
sijale
时间:
2022-12-8 15:38
这个汇编写的不行啊,开头没有跳转指令,直接运行?
没有使用中断的话勉强能用吧
太久没用汇编,不是很记得了
只记得开头要跳转,避开中断入口区域
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1