89c52汇编语言,STC89C52RC汇编语言编程的秒表2015.docx

STC89C52RC汇编语言编程的秒表2015

基于51汇编语言编程的秒表A设计;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000HLJMP MAINORG 000BH ;;定时器 T0 入口地址LJMP T0_INTORG 001BH ;;定时器 T1 入口地址LJMP T1_INT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 初始化服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIN: SETB EA ;开中断 SETB ET0 SETB PT0 SETB IT0 SETB EX1 SETB IT1 SETB ET1 SETB TR1 MOV TMOD,#11H ; 选择定时器工作方式 MOV TH0,#0D8H ; 对定时器 T0 赋初值 MOV TL0,#0F0H MOV TH1,#0B1H ; 对定时器 T1 赋初值 MOV TL1,#0E0H MOV R0,#00H ; 对 R0、R6、P0、R7、60H、 MOV R6,#0FH; MOV P0,#00FH ; 72H 寄存器初始化 MOV R7,#80H MOV 60H,#00H MOV 72H,#01H MOV DPTR,#TAB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 开始,停止键检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;LOOP: MOV A,P1 CJNE A,#0F7H,ON1 LCALL DELAY1 MOV A,P1 CJNE A,#0F7H,ON1 LJMP ON;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 清零键检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ON1: MOV A,P1 CJNE A,#0FBH,STC LCALL DELAY1 MOV A,P1 CJNE A,#0FBH,STC LJMP ON2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警解除服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC: MOV A,P1 CJNE A,#0DFH,ON3 LCALL DELAY1 MOV A,P1 CJNE A,#0DFH, ON3 MOV 60H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3、4 号键同时按下检测 ;;;;; 进入报警值设定模式 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ON3: MOV A,P1 CJNE A,#0CFH,BJ2 LCALL DELAY1 MOV A,P1 CJNE A,#0CFH,BJ2 LJMP ON4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警值检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BJ2: MOV A,60H CJNE A,#0,BJ1BJ: LCALL DELAY1 LCALL DELAY1 MOV A,R4 CJNE A,73H,LOOP LCALL DELAY1 LCALL DELAY1 MOV A,R3 CJNE A,72H,LOOPLCALL DELAY1 LCALL DELAY1 MOV A,R2 CJNE A,71H,LOOPINC 60HLJMP BJ1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BJ1: MOV P3,#00H LCALL DELAY2 MOV P3,#0FFH LCAL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汇编语言中,进位借位标志(Carry Flag,简称CF)是一个标志位,用来指示在执行算术或逻辑运算时是否产生了进位或借位。CF标志位是一个单独的位,能够被设置或清除。 在指令集中,一些指令会根据运算结果来设置或清除CF标志位。其中,NEG指令是求补码的指令,用于将操作数的补码求反。如果操作数为0,那么CF标志位被清零;如果操作数不为0,那么CF标志位被设置为1。 举个例子来说明: - 使用NEG指令对一个正数进行求补码操作,结果为负数,CF标志位被设置为1。 - 使用NEG指令对一个负数进行求补码操作,结果为正数,CF标志位被设置为1。 - 使用NEG指令对0进行求补码操作,结果还是0,CF标志位被清零。 通过这样的标志位,程序可以根据CF的值来进行条件判断,例如在逻辑运算或条件分支语句中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [汇编语言:进位标志与溢出标志](https://blog.csdn.net/brk1985/article/details/30255421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [汇编语言知识点总结.docx](https://download.csdn.net/download/weixin_44279771/12555846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值