新手请教 点击:1103 | 回复:0



keyi科一

    
  • 精华:3帖
  • 求助:0帖
  • 帖子:16帖 | 1034回
  • 年度积分:0
  • 历史总积分:1197
  • 注册:2005年4月27日
发表于:2005-08-10 22:46:00
楼主
ORG 0000H AJMP START 转启动 ORG 000BH AJMP D1S 转中断 ORG 0100H START: MOV P0,#0FFH 置P0高电位 MOV P1,#0FFH 置P1高电位 MOV P2,#0FFH 置P2高电位 MOV P3,#0FFH 置P3高电位 MOV 20H,#00H 预置值个位清0 MOV 21H,#00H 预置值十位清0 MOV 22H,#00H 预置值百位清0 MOV 23H,#00H 预置值千位清0 MOV R0,#01H 计数值个位送1 MOV R1,#00H 计数值十位清0 MOV R2,#00H 计数值百位清0 MOV R3,#00H 计数值千位清0 CLR 2CH.0 个位比较标志清0 CLR 2CH.1 十位比较标志清0 CLR 2CH.2 百位比较标志清0 CLR 2CH.3 千位比较标志清0 CLR C 清0C MOV TMOD,#01H 定时器T0方式1 MOV TL0,#0B0H 置定时器初值 MOV TH0,#3CH MOV IE,#82H T0开中断 MOV 24H,#14H 24H装入延时次数 ACALL DISPLAY 调用显示 AJMP READ 转读数 READ: MOV P1,#0FFH 置P1高电位 CLR P1.0 清0P1.0 ACALL D2MS 调2ms延时子程序 MOV A,P1 读P1 CPL A A取反 SWAP A A高低半字节交换 ANL A,#0FH 屏蔽高4位 MOV A,20H 数据送入预置值个位 MOV P1,#0FFH P1置高电位 CLR P1.1 P1.1清零 ACALL D2MS 调2ms延时子程序 MOV A,P1 读P1 CPL A A取反 SWAP A A高低半字节交换 ANL A,#0FH 屏蔽高4位 MOV A,21H 数据送入预置值十位 MOV P1,#0FFH P1置高电位 CLR P1.2 P1.2清0 ACALL D2MS逻辑 调2ms延时子程序 MOV A,P1 读P1 CPL A A取反 SWAP A A高低半字节交换 ANL A,#0FH 屏蔽高4位 MOV A,22H 数据送入预置值百位 MOV P1,#0FFH P1置高电位 CLR P1.3 P1.3清0 ACALL D2MS 调2ms延时子程序 MOV A,P1 读P1 CPL A A取反 SWAP A A高低半字节交换 ANL A,#0FH 屏蔽高4位 MOV A,23H 数据送入预置值千位 MOV P1,#0FFH P1置高电位 ACALL DISPLAY 调显示子程序 AJMP IN 转输入 IN: MOV A,P3 读P3 CPL A A取反 ANL A,#0F0H 屏蔽低4位 JZ READ A=0转读数 ACALL D5MS A非0调用5mS延时子程序 ACALL DISPLAY 调显示子程序 MOV A,P3 再读P3 CPL A A取反 ANL A,#0F0H 屏蔽低4位 JB ACC.4,COMP1 ACC.4=1转COMP AJMP READ ACC.4=0转读数 COMP1: MOV A,R3 千位计数值送A ANL A,#0FH 屏蔽高4位 CJNE A,23H,COMP2 比较不相等转COMP2 SETB 2CH.3 比较相等置位千位标志 AJMP COMP2 转COMP2 COMP2: MOV A,R2 百位计数值送A ANL A,#0FH 屏蔽高4位 CJNE A,22H,COMP3 比较不相等转COMP3 SETB 2CH.2 比较相等置位百位标志位 AJMP COMP3 转COMP3 COMP3: MOV A,R


热门招聘
相关主题

官方公众号

智造工程师