发新话题
打印

学林电子2010版最新图文教程(含28个单片机实例流程图)下载!

支持学林电子

TOP

刚了解还没方向感

TOP

嘿嘿不错哦

TOP

嘿嘿不错哦

TOP

TOP

TOP

学林给了我们一个学习交流的平台,永远顶

TOP

初学者,跪求51单片机汇编程序流程图!程序如下!求高人指点

跪求大神出手相救!!!!所用单片机为51单片机,型号AT12C5608AD,现给出单片机汇编程序,求高手给出程序流程框图!!!!急急急!!!!跪求帮忙,不胜感激!!!!QQ352216454

;程序功能:每按一次按键,其对应的数码管显示值加一,0~9循环
;
;第一位数码管段码位置放在41H中,第二位42H,第三位43H,第四位44H.......

DCLK EQU P3.4 ;串行数据时钟上升延激活
DIN EQU P3.3 ;串行数据输出,接CH451的数据输人
LOAD EQU P2.3 ;串行命令加载,上升延激活
DOUT EQU P2.2 ;键值数据输入,接ch451数据输出

OUTH EQU 31H
OUTL EQU 30H
WEI EQU 32H

;位选值
SHU EQU 40H

;显示值缓冲区
SHU1 EQU 41H
;第一位数码管段码储存区
SHU2 EQU 42H
SHU3 EQU 43H
SHU4 EQU 44H
SHU5 EQU 45H
SHU6 EQU 46H
SHU7 EQU 47H
SHU8 EQU 48H
KEYNUM EQU 34H
;键值缓冲区

ORG 0000H
LJMP MAIN
ORG 0100H
;主函数
MAIN:LCALL CH451_INIT
     MOV R3,#08H

MOV R0,#41H
LOOP1:MOV WEI,R3

  MOV @R0,#00H

  MOV SHU,@R0
      LCALL DISP

   ;调显示子程序

  INC R0

  DJNZ R3,LOOP1




MOV WEI,#08H

MOV SHU1,#07H

MOV SHU,SHU1
     LCALL DISP

   ;调显示子程序

HERE:JNB DOUT,KEYSCAN



SJMP HERE


;定义一无符号整型变量存储12字节的命令字
CH451_WRITE:CLR LOAD




MOV A,OUTL



MOV R2,#8



CLR C
WRITE1:RRC A

   MOV DIN,C

   CLR DCLK

   NOP

   SETB DCLK

   DJNZ R2,WRITE1


   MOV A,OUTH
       MOV R2,#4

   CLR C
WRITE2:RRC A

   MOV DIN,C

   CLR DCLK

   NOP

   SETB DCLK

   DJNZ R2,WRITE2

   SETB LOAD

   RET
;CH451初始化
CH451_INIT:CLR DIN


   NOP


   SETB DIN


   MOV OUTH,#02H


   MOV OUTL,#01H


   LCALL CH451_WRITE;CH451复位


   MOV OUTH,#04H


   MOV OUTL,#03H


   LCALL CH451_WRITE;CH451开显示和键盘


   MOV OUTH,#05H


   MOV OUTL,#00H


   LCALL CH451_WRITE;CH451不译码


   MOV OUTH,#06H


   MOV OUTL,#00H


   LCALL CH451_WRITE;CH451不闪烁


   RET
;显示子程序
DISP:MOV DPTR,#TAB_WEI   ;取数据表首地址

MOV A,WEI

MOVC A,@A+DPTR

MOV OUTH,A


MOV DPTR,#TAB_BCD   ;取数据表首地址

MOV A,SHU

MOVC A,@A+DPTR
     MOV OUTL,A

     LCALL CH451_WRITE ;

     RET
;读键值子程序
KEYSCAN:CLR LOAD

   MOV A,#07H
       MOV R2,#4

   CLR C
WRITE3:RRC A

   MOV DIN,C

   CLR DCLK

   NOP

   SETB DCLK

   DJNZ R2,WRITE3

   SETB LOAD


   CLR A

   MOV R2,#7

   CLR C
READ:MOV C,DOUT

RLC A

CLR DCLK

NOP

SETB DCLK

DJNZ R2,READ


MOV KEYNUM,A

LJMP KEYPR
;
KEYPR:MOV R4,KEYNUM

  CJNE R4,#40H,KEY2

  MOV R5,SHU1

  INC R5

  CJNE R5,#10,NEXT1

  MOV R5,#0
NEXT1:MOV SHU1,R5

  MOV WEI,#8

  MOV SHU,SHU1

  LCALL DISP

   ;调显示子程序

  LJMP RETURN

KEY2:CJNE R4,#43H,KEY3

  MOV R5,SHU2

  INC R5

  CJNE R5,#10,NEXT2

  MOV R5,#0
NEXT2:MOV SHU2,R5

  MOV WEI,#7

  MOV SHU,SHU2

  LCALL DISP

   ;调显示子程序

  LJMP RETURN

KEY3:CJNE R4,#41H,KEY4

  MOV R5,SHU3

  INC R5

  CJNE R5,#10,NEXT3

  MOV R5,#0
NEXT3:MOV SHU3,R5

  MOV WEI,#6

  MOV SHU,SHU3

  LCALL DISP

   ;调显示子程序

  LJMP RETURN



KEY4:CJNE R4,#42H,KEY5

  MOV R5,SHU4

  INC R5

  CJNE R5,#10,NEXT4

  MOV R5,#0
NEXT4:MOV SHU4,R5

  MOV WEI,#5

  MOV SHU,SHU4

  LCALL DISP

   ;调显示子程序

  LJMP RETURN



KEY5:CJNE R4,#48H,KEY6

  MOV R5,SHU5

  INC R5

  CJNE R5,#10,NEXT5

  MOV R5,#0
NEXT5:MOV SHU5,R5

  MOV WEI,#4

  MOV SHU,SHU5

  LCALL DISP

   ;调显示子程序

  LJMP RETURN



KEY6:CJNE R4,#4BH,KEY7

  MOV R5,SHU6

  INC R5

  CJNE R5,#10,NEXT6

  MOV R5,#0
NEXT6:MOV SHU6,R5

  MOV WEI,#3

  MOV SHU,SHU6

  LCALL DISP

   ;调显示子程序

  LJMP RETURN



KEY7:CJNE R4,#49H,KEY8

  MOV R5,SHU7

  INC R5

  CJNE R5,#10,NEXT7

  MOV R5,#0
NEXT7:MOV SHU7,R5

  MOV WEI,#2

  MOV SHU,SHU7

  LCALL DISP

   ;调显示子程序

  LJMP RETURN



KEY8:CJNE R4,#4AH,RETURN

  MOV R5,SHU8

  INC R5

  CJNE R5,#10,NEXT8

  MOV R5,#0
NEXT8:MOV SHU8,R5

  MOV WEI,#1

  MOV SHU,SHU8

  LCALL DISP

   ;调显示子程序

  LJMP RETURN

RETURN:LJMP HERE

TAB_BCD:DB 0BEH,24H,0EAH,0E6H,74H,0D6H,0DEH,0A4H,0FEH,0F6H,40H,00H
;数据表1,数码管段码0~9-,黑码
TAB_WEI:DB 00H,0AH,09H,0BH,08H,0CH,0DH,0EH,0FH






;数据表2,数码管位选码

  END

TOP

支持支持

TOP

谢谢分享

TOP

支持!

TOP

收藏了。好好学习

TOP

我相信学习永远不怕晚。
感谢楼主,感谢学林!

TOP

继电器

单片机如何控制多路继电器

TOP

多谢 楼主,但附件下不了

TOP

TOP

我也来学习学习下哦

真人游戏 www.4445554.com 竞彩足球 www.bozhixun.com

TOP

谢谢,好好学习

TOP

支持学林电子

TOP

回复 1# 8051 的帖子

急需下在侃侃那

TOP

发新话题