讨论
显示结果1到8中的8个

需要图片计划帮助



  1. #1
    racouhab.

    需要图片计划帮助


    ------

    Bonjour,

    我开始在picming编程领域,如果你能提前帮助我谢谢我的小程序,我有一个问题,所以我的LED不会停止眨眼,但我已经将它编程为闪烁一次,在这里是我的计划。

    编码:
    ;*********************************************************************
    ;                              ASSIGNATIONS                          *
    ;*********************************************************************
    
    OPTIONVAL	EQU	H'08'			; Valeur registre option
                                    
    
    ;*********************************************************************
    ;                             DEFINE                                 *
    ;*********************************************************************
    
    #DEFINE LED	PORTA,2				; Led rouge
    #DEFINE BOUTON	PORTB,2			; bouton-poussoir
    
    
    ;*********************************************************************
    ;                             MACRO                                  *
    ;*********************************************************************
    
    LEDON 	macro	
    		bsf	LED
    		endm
    
    LEDOFF 	macro
    		bcf	LED
    		endm
    
    ;*********************************************************************
    ;                   DECLARATIONS DE VARIABLES                        *
    ;*********************************************************************
    
    	CBLOCK 0x00C   				; début de la zone variables
    	
    	cmpt1 : 1					; compteur de boucles 1
    	cmpt2 : 1					; compteur de boucles 2
    	cmpt3 : 1					; compteur de boucles 3
    
    	ENDC						; Fin de la zone                        
    
    ;**********************************************************************
    ;                      DEMARRAGE SUR RESET                            *
    ;**********************************************************************
    
    	org 	0x000 				; Adresse de départ après reset
      	goto    init				; Adresse 0: initialiser
    
    ;*********************************************************************
    ;                       INITIALISATIONS                              *
    ;*********************************************************************
    
    init
    	clrf	PORTA				; Sorties portA à 0
    	clrf	PORTB				; sorties portB à 0
    	clrf	EEADR				; permet de diminuer la consommation
    	bsf		STATUS,RP0			; sélectionner banque 1
    	movlw	OPTIONVAL			; charger masque
    	movwf	OPTION_REG			; initialiser registre option
    
    					; Effacer RAM
    					; ------------
    	movlw	0x0c				; initialisation pointeur
    	movwf	FSR					; pointeur d'adressage indirec
    init1
    	clrf	INDF				; effacer ram
    	incf	FSR,f				; pointer sur suivant
    	btfss	FSR,6				; tester si fin zone atteinte (>=40)
    	goto	init1				; non, boucler
    	btfss	FSR,4				; tester si fin zone atteinte (>=50)
    	goto	init1				; non, boucler
    
    					; initialisations spécifiques
    					; ---------------------------
    	bcf		LED					; LED en sortie (banque1)
    	bcf		STATUS,RP0			; repasser banque 0
    	goto	start				; sauter au programme principal
    
    ;*********************************************************************
    ;                      SOUS-ROUTINE DE TEMPORISATION                 *
    ;*********************************************************************
    ;---------------------------------------------------------------------
    ; Cette sous-routine introduit un retard de 500.000 µs.
    ; Elle ne reçoit aucun paramètre et n'en retourne aucun
    ;---------------------------------------------------------------------
    tempo
    	movlw	2					; pour 2 boucles
    	movwf	cmpt3				; initialiser compteur3
    boucle3
    	clrf	cmpt2				; effacer compteur2
    boucle2
    	clrf	cmpt1				; effacer compteur1
    boucle1
    	nop							; perdre 1 cycle
    	decfsz	cmpt1,f				; décrémenter compteur1
    	goto	boucle1				; si pas 0, boucler	
    	decfsz	cmpt2,f 			; si 0, décrémenter compteur 2
    	goto	boucle2				; si cmpt2 pas 0, recommencer boucle1
    	decfsz	cmpt3,f				; si 0, décrémenter compteur 3
    	goto	boucle3				; si cmpt3 pas 0, recommencer boucle2
    	return						; retour de la sous-routine
    
    ;*********************************************************************
    ;                      PROGRAMME PRINCIPAL                           *
    ;*********************************************************************
    
    start
    	bsf		LED					; allumer la LED : on aurait pu écrire
    								
    	call 	tempo				; appeler la tempo de 0.5s
    	bcf		LED					; éteindre LED (LEDOFF)
    	call	tempo				; appeler la tempor de 0.5s
    	goto 	start				; boucler
    
    
    	END 			; directive fin de programme
    .

    -----
    Giens的最后修改; 06/10/2009 20h16. 图案: 添加了代码标记

  2. 宣传
  3. #2
    g

    Re : Aidez-moi svp

    Start:
    LED = 1
    call Tempo
    LED = 0
    ici:
    goto ici

    如果跳转开始,LED的周期1/0无限期地重复(它闪烁)

  4. #3
    racouhab.

    Re : Aidez-moi svp

    谢谢你的答案,但事实上我忘了把我的版本拿出来,但通常在我的程序中没有工作,我有:

    开始
    BSF LED;打开LED:我们本可以写好

    打电话给节奏; appeler la tempo de 0.5s

    BCF LED;关闭LED(LEDOFF)

    打电话给节奏; appeler la tempor de 0.5s

    结尾 ; directive fin de programme
    然而,我的LED不会停止闪烁

  5. #4
    g

    Re : Aidez-moi svp

    它可能是重置重置的护栏,将Goto线放在这里并禁用狗。

  6. 在futura上看视频
  7. #5
    racouhab.

    Re:需要PIC程序帮助

    WTD我把它脱掉了(wtd_off)我没有看到pk停止闪烁

    MErci

  8. #6
    吉顿队

    Re:需要PIC程序帮助

    Bonjour
    在您的第二个程序中,在指令之后"call tempo ",程序不会停止,它继续阅读所有闪存(程序),然后到达它在地址0中再次开始的结尾,它被返回。"END"不具有停止μC的作用,而是指示它是程序的结束。
    要从程序中停止程序,您需要像Gérard那样的无限循环,请在这一行中:
    ici: goto ici
    Gilles

  9. 宣传
  10. #7
    W4W4R7B.

    Re:需要PIC程序帮助

    bonjour

    如果结束是直接在LED的关机之后(可能是一个节奏,但如果程序不应该做任何事情是无用的)峰值开始尝试执行其未安排的内存区域中包含的程序,并且没有奇怪的是程序做任何事情

    解决方案是Gerard给出的是它需要仪表的那个

    编码:
    ;*********************************************************************
    ;                      PROGRAMME PRINCIPAL                           *
    ;*********************************************************************
    
    start
    	bsf		LED				; allumer la LED : on aurait pu écrire
    								
    	call 	tempo				; appeler la tempo de 0.5s
    	bcf		LED				; éteindre LED (LEDOFF)
    boucle_pricipal
    	; ici viens ce mètre les instructions que le pic devra exécuter après le clignotement de la led
    	goto 	boucle_pricipal		; boucler
    
    
    	END 						; directive fin de programme
    关于您的代码的另一个小笔记(赶快您允许我):
    - 为什么您定义了宏打开正在关闭LED而不使用它们?
    - 我猜你读了BigOnoff院子,因为你的来源和模型文件之间的重要相似是一个很好的庭院,它表明它的一个是法院在家里捣乱的错误

  11. #8
    racouhab.

    Re:需要PIC程序帮助

    谢谢(W4W4R7B,Gedonet,Gérard)Avoi R回答的事实上,我不知道结束是仅由MPLAB汇编过程中的指令,我相信它是停止峰值。

类似的讨论

  1. 请帮帮我
    由Davidvilla62在TPE / TIP论坛和其他作品中
    答案: 4
    上一条消息: 11/03/2009, 12h08
  2. 请帮帮我
    由Sanaya0169在论坛健康和一般医学中
    答案: 3
    上一条消息: 15/02/2009, 07h51
  3. [各种各样的] 请帮帮我
    由读者在生物学论坛中
    答案: 1
    上一条消息: 10/02/2009, 14h45
  4. 请帮我
    由Abdel-Rahman在物理论坛中
    答案: 10
    上一条消息: 07/10/2008, 19h15
  5. 请帮帮我!
    由Manudu42在电子论坛
    答案: 27
    上一条消息: 17/03/2006, 14h37
发现我们的 比较产品 论计算机科学与技术。