Author Topic: Working on farms or something else.  (Read 4551 times)

0 Members and 1 Guest are viewing this topic.

Offline CHAMPIGNONTopic starter

  • Contributor
  • Posts: 16
  • Country: dz
Working on farms or something else.
« on: June 07, 2025, 01:55:14 pm »
Good morning! I'm 47 years old, married with two children, and I work as a technology teacher for teenagers.
I am currently looking for a technical job in maintenance, electrical, or electronic industries, for example, in agricultural facilities. I'm seeking a primary role and am open to tasks that may differ from my main specialization

My educational stages
-from when I was 6 years old until I was 15 involved basic schooling
-From the age of 15 to 18, I received technical secondary education specializing in electricity and electronics. I completed this without any failures, even though I was studying at a boarding school and the conditions were difficult."
- When I was 18 until I was 22, I completed four years of university education at the Higher Technical Education School, specializing in Electronics."

My Professional Journey After University
-From 2000 to 2001, I undertook small jobs and repaired electronic devices from home, without a commercial license
-From 2001 to 2003, I completed my military service, during which I was responsible for the maintenance of medical equipment.
-In 2004, I worked as a substitute teacher.
-From 2005 to 2008, I opened a workshop for repairing electronic devices(Repair of televisions, electronic circuit boards for electrical appliances, and electronic equipment used in fishing vessels…..). I had to close it because I couldn't obtain a commercial license.
-From 2009 to the present day, I have been working as a technology teacher for students aged between 11 and 17.

Knowledge and Skills I Master
-I program microprocessors using assembly language. Here's an example of programs I've written for a device I built:
This program is the core of a device that precisely controls the switching on and off of appliances, synchronized with a GPS clockIt consists of a µc a keypad, a screen, and relays.
Code: [Select]
#include <p16F84.inc>          ; remove this if not necessary
__config _CP_OFF & _WDT_OFF & _PWRTE_ON &_XT_OSC
#define PRECISION 2             ; byte size for registers

M_STOR_STATUS macro WHERE
    movf    STATUS,w
    movwf   WHERE
    endm

M_RETR_STATUS macro WHERE
    movf    WHERE,w
    movwf   STATUS
    endm
   
BANC0  MACRO
               BCF STATUS,RP0
           ENDM
           
BANC1  MACRO
                BSF STATUS,RP0
           ENDM
     URT  EQU 4     
    RS  equ 3
    EN equ 2
    DB0 equ 0
    DB1 equ 0
   DB2 equ 0
   DB3 equ 0
   
    x0 equ 0x0C
    x1 equ 0x0D
   
    y0 equ 0xE
    y1 equ 0xF
   
    z0 equ 0x10
    z1 equ 0x11
   
   


   




    cblock 0x0C
    REG_X:PRECISION
    REG_Y:PRECISION
    REG_Z:PRECISION
    REG_COUNTER
    REG_STATUS
    REG_T1
    REG_T2
    REG_ROT_COUNTER
    w_temp
   status_temp
    fx0
    fx1
    T3
    T4
    second
    minute
    heure
    N
    UART
    TEMP1
    heure2
    heure1
   minute2
   minute1
   seconde2
   seconde1
 
   
   
   
   
    MINUTE1_H
    MINUTE1_B
    MINUTE2_H
    MINUTE2_B
     MINUTE3_H
    MINUTE3_B
    B0
    k0
    k1
    A0
    A1
    A2
   
   
   
    endc
   


           
    org 0x0000
    goto STAR
;_____________________________
   ORG 0x0004
   movwf w_temp
   swapf STATUS,w
   movwf status_temp
  BANK0
  NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP
  NOP
    NOP
  NOP
  NOP

 
 
   movlw D'8'
   
addwf TMR0,f
 
 
 
  INCF fx0
 
  BCF STATUS,C
  MOVLW D'16'
  SUBWF fx0,W
  BTFSS STATUS,C
  GOTO NX
  CALL  INCFsecond
 
  BCF STATUS,C
  MOVLW D'59'
  SUBWF second,W
  BTFSS STATUS,C
  GOTO NX
  CALL INCFminute
 
  BCF STATUS,C
  MOVLW D'59'
  SUBWF minute,w
  BTFSS STATUS,C
  GOTO STOP
  CALL INCFheure
 
  BCF STATUS,C
  MOVLW D'23'
  SUBWF heure,w
  BTFSS STATUS,C
  GOTO NX
  CALL ZERO
  STOP
   NOP
  NX
   
   
         
   


   bcf INTCON,T0IF
  swapf status_temp,w
  movwf STATUS
  swapf w_temp,f
  swapf w_temp,w
  RETFIE
 
   INCFsecond
  CLRF fx0
  INCF second ;second
 
  RETURN
 
   INCFminute
 CLRF fx0
 CLRF second
 INCF minute
 RETURN
 
  INCFheure
 CLRF fx0
 CLRF second
 CLRF minute
 INCF heure
  RETURN
 
  ZERO
  CLRF fx0
 CLRF second
 CLRF minute
 CLRF heure
 RETURN
 

M_CLR                           ; clear a register
    movwf   FSR
    movlw   PRECISION
    movwf   REG_COUNTER
M_CLR_loop
    clrf    INDF
    incf    FSR,f
    decf    REG_COUNTER,f
    btfss   STATUS,Z
    goto    M_CLR_loop
    return

M_ROL                           ; rotate a register to the left
    movwf   FSR
    M_STOR_STATUS REG_STATUS
    clrf    REG_COUNTER
M_ROL_loop
    M_RETR_STATUS REG_STATUS
    rlf     INDF,f
    M_STOR_STATUS REG_STATUS
    incf    FSR,f
    incf    REG_COUNTER,f
    movlw   PRECISION
    subwf   REG_COUNTER,w
    btfss   STATUS,Z
    goto    M_ROL_loop
    return


M_ROR                          ; rotates a register to the right
    movwf   FSR
    movlw   PRECISION-1
    addwf   FSR,f
    M_STOR_STATUS REG_STATUS
    clrf    REG_COUNTER
M_ROR_loop
    M_RETR_STATUS REG_STATUS
    rrf     INDF,f
    M_STOR_STATUS REG_STATUS
    decf    FSR,f
    incf    REG_COUNTER,f
    movlw   PRECISION
    subwf   REG_COUNTER,w
    btfss   STATUS,Z
    goto    M_ROR_loop
    return


M_ADD                           ; Z + X -> Z
    bcf     STATUS,C
    clrf    REG_STATUS
    clrf    REG_COUNTER
M_ADD_loop
    clrf    REG_T1
    btfsc   REG_STATUS,C
    incf    REG_T1,f
    clrf    REG_STATUS
    movlw   REG_X
    addwf   REG_COUNTER,w
    movwf   FSR
    movf    INDF,w
    addwf   REG_T1,f
    btfsc   STATUS,C
    bsf     REG_STATUS,C
    movlw   REG_Z
    addwf   REG_COUNTER,w
    movwf   FSR
    movf    INDF,w
    addwf   REG_T1,f
    btfsc   STATUS,C
    bsf     REG_STATUS,C
    movf    REG_T1,w
    movwf   INDF
    incf    REG_COUNTER,f
    movlw   PRECISION
    subwf   REG_COUNTER,w
    btfss   STATUS,Z
    goto    M_ADD_loop
    return
   


M_MUL                           ; X * Y -> Z
    movlw   REG_Z
    call    M_CLR
    movlw   PRECISION*8+1
    movwf   REG_ROT_COUNTER
M_MUL_loop
    decf    REG_ROT_COUNTER,f
    btfsc   STATUS,Z
    return
    btfsc   REG_Y,0
    call    M_ADD
    bcf     STATUS,C
    movlw   REG_Y
    call    M_ROR
    bcf     STATUS,C
    movlw   REG_X
    call    M_ROL
    goto    M_MUL_loop
    return
M_CMP                           ; Z <=> X -> STATUS(C,Z)
                                ; STATUS,C set if Z => X;
                                ; STATUS,Z set if Z == X
    clrf    REG_COUNTER
M_CMP_loop
    movf    REG_COUNTER,w
    sublw   REG_Z+PRECISION-1 ; chargé  l'adresse  de  dernier  byte  de  Z  dans  fsr,puis chargé  l'avant dernier byte de Z dans fsr  en deuxiemme  boucle .......ext
    movwf   FSR
    movf    INDF,w
    movwf   REG_T1   ;    z4>>T1  transfré  le  contenu  de dernier  byte  de  Z  dans  un  registre temporaire T1 tous  ça  pour  utulisé  fsr  pour  d'autre  aplication (x>fsr)
    movf    REG_COUNTER,w
    sublw   REG_X+PRECISION-1 ; chargé  l'adresse  de  dernier  byte  de  X  dans  fsr,puis chargé  l'avant dernier byte de z dans fsr  en deuxiemme  boucle .......ext
    movwf   FSR
    movwf   FSR;
    movf    INDF,w          ;z4-x4, puis  z3-x3 dans  la  deuxieme  boucle ; puis......
    subwf   REG_T1,f
    btfss   STATUS,Z
    return                  ;  si  z4<x4   returne  en  programme  principale pour
    incf    REG_COUNTER,f   ; Z = X
    movlw   PRECISION
    subwf   REG_COUNTER,w
    btfss   STATUS,Z
    goto    M_CMP_loop
    return

M_SUB                           ; Z - X -> Z
    clrf    REG_COUNTER
    bsf     REG_STATUS,C
M_SUB_loop
    bsf     REG_T2,C
    movlw   REG_Z
    addwf   REG_COUNTER,w
    movwf   FSR
    movf    INDF,w
    movwf   REG_T1
    movlw   REG_X
    addwf   REG_COUNTER,w
    movwf   FSR
    movf    INDF,w
    subwf   REG_T1,f
    btfss   STATUS,C
    bcf     REG_T2,C
    btfsc   REG_STATUS,C
    goto    M_SUB_no_carry
    movlw   0x01
    subwf   REG_T1,f
    btfss   STATUS,C
    bcf     REG_T2,C
M_SUB_no_carry
    movlw   REG_Z
    addwf   REG_COUNTER,w
    movwf   FSR
    movf    REG_T1,w
    movwf   INDF
    bsf     REG_STATUS,C
    btfss   REG_T2,C
    bcf     REG_STATUS,C
    incf    REG_COUNTER,f
    movlw   PRECISION
    subwf   REG_COUNTER,w
    btfss   STATUS,Z
    goto    M_SUB_loop
    btfss   REG_STATUS,C
    bcf     STATUS,C
    return


M_DIV                           ; Z / X -> Y;  remainder -> Z
    movlw   REG_Y
    call    M_CLR
    movlw   PRECISION*8
    movwf   REG_ROT_COUNTER
M_DIV_rot_loop
    btfsc   REG_X+PRECISION-1,7
    goto    M_DIV_loop
    movlw   REG_X
    bcf     STATUS,C
    call    M_ROL
    decf    REG_ROT_COUNTER,f
    btfss   STATUS,Z
    goto    M_DIV_rot_loop
    bsf     STATUS,Z
    return
M_DIV_loop
    call    M_CMP
    M_STOR_STATUS REG_T2
    movlw   REG_Y
    call    M_ROL
    M_RETR_STATUS REG_T2
    btfsc   STATUS,C
    call    M_SUB
    bcf     STATUS,Z
    bcf     STATUS,C
    movlw   REG_X
    call    M_ROR
    incf    REG_ROT_COUNTER,f
    movlw   PRECISION*8+1
    subwf   REG_ROT_COUNTER,w
    btfss   STATUS,Z
    goto    M_DIV_loop
    return

US50   
     MOVLW 0XE
     MOVWF x0
LOOP2
     DECFSZ  x0
     GOTO LOOP2
     RETURN

seconde5
RETURN
 




   
;__________________________________________________________________________________________________________________________________________________________
   
 
symbole_identification
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP

MOVLW 8
MOVWF T3
call US50
LOOPSY
call US50

CALL US50


BCF STATUS,C
RRF UART
BTFSS PORTB,URT ;URT=4
BSF UART,7
BTFSC PORTB,URT ;URT=4
BCF UART,7

DECFSZ T3
GOTO LOOPSY
RETURN
;_________________________________________________________________________________________________________________________________
syncronisation
AV1 ;
MOVLW D'255'
MOVWF N
AV2
BTFSC PORTB,URT ;URT=4 ;TEST SI gps =1 ;   il  ya  un ampli inversseur 5v 3.3V
GOTO AV1 ;non comancé a neveau
DECFSZ N ;fais d'autre teste
GOTO AV2
;YES
AV3
BTFSS PORTB,URT ;URT=4;attendre que le  front decendant vien ;   il  ya  un ampli inversseur 5v 3.3V
GOTO AV3
   RETURN
   
TRAKT_FRONT_decendent
encor1
BTFSC PORTB,URT ;URT=4 ;   il  ya  un ampli inversseur 5v 3.3V
GOTO encor1
encor2
BTFSS PORTB,URT ;URT=4 ;   il  ya  un ampli inversseur 5v 3.3V
GOTO encor2
   RETURN

;________________________________________________________________________________________________________________________________________________________________________
   
 gps_syncro
 

  DEC_to_hex ;transfer de (heur2 ou minute2  ou  seconde2 vers y0
  MOVWF y0
  CLRF y1
  MOVLW 0X0A
  MOVWF x0
  CLRF x1
  CLRF z0
  CLRF z1
  CALL M_MUL                           ; X * Y -> Z
  MOVF z0,W
  return
  ;________________________________________________________________________________________________________________________________________________________________________
  hex_to_dec
 
  MOVF heure,w 
 CALL M_DIV                           ; Z / X -> Y;  remainder -> Z
 RETURN
 
  ;_______________________________________________________________________________________________________________________________________________________

 
  LCD_WRITE
 
   MOVLW B'00000001'
  CALL COMMANDE
  CALL ms100
   MOVLW B'00000010'
   CALL COMMANDE
   CALL ms100
 
   
   MOVF heure2,w
   CALL DONNE
   
   
   MOVLW b'00110000'
   MOVF heure1,w
   CALL DONNE
   
   MOVLW ":"
   CALL DONNE
   

   MOVF minute2,w
   CALL DONNE
   
   
   MOVF minute1,w
   CALL DONNE
   
   MOVLW ":"
   CALL DONNE
   
   MOVLW b'00110000'
  MOVF seconde2,w
   CALL DONNE
   
   
   MOVF seconde1,w
   CALL DONNE
   
   
   
   
   
   
   RETURN
   ;____________________________________________________________________________________________________________________________________________________________
   
  COMMANDE
  BCF  PORTA,RS ;RS=4
  MOVWF B0
  SWAPF B0,w
  MOVWF PORTB                               ;  sous  programme  qui  écrit  un  command
  CALL VALIDATION
  MOVF  B0,w
  MOVWF PORTB
  CALL VALIDATION
  return
  ;____________________________________________________________________________________________________________________________________________________________
  VALIDATION
    CALL US100
    BSF PORTA,EN ;EN=3
    CALL  US100
    BCF PORTA,EN ;EN=3
    CALL US100
    RETURN
    ;__________________________________________________________________________________________________________________________________________________________
    DONNE
  BSF  PORTA,RS   ; rs=4
  MOVWF B0
  SWAPF B0,w
  MOVWF PORTB
  CALL VALIDATION                            ;sous programme  qui ecrit   une donné
  MOVF  B0,w
  MOVWF PORTB
  CALL VALIDATION
  return
  ;_____________________________________________________________________________________________________________________________________________________________
  LCD_init
     CALL ms100
     BCF PORTA,RS      ;  rs=0 ça veut dir  en va  entrée des commande
     MOVLW b'00000010'  ;\
     MOVWF PORTB        ; > mode  4 bit
     CALL  VALIDATION   ;/
     CALL ms100

     MOVLW  b'00001111';\   
     CALL COMMANDE    ; >   0001abc   a=1 afichage on / b=1 curseur en service/ c= 1curseur clignote 
     CALL ms100        ;/
 
     MOVLW  b'00000001' ;\
     CALL COMMANDE     ; > effcace   l'ecran et  positionne le curseur a 0(haut gauche
     CALL ms100         ;/
  RETURN 
  ;_______________________________________________________________________________________________________________________________________________________
 
 
 
  ms100
    MOVLW 0X30
    MOVWF x1
LOOPX1
    NOP
    NOP
    NOP
    MOVLW 0xFF
    MOVF k0
LOOPX0
    DECFSZ k0
    GOTO LOOPX0
    DECFSZ  x1
    GOTO LOOPX1
    NOP
    NOP
    NOP
     RETURN
     ;_______________________________________________________________________________________________________________________________________________
 S1
     MOVLW 0X17
     MOVWF k1
 LIP   
    CALL ms100
    DECFSZ k1
    GOTO LIP
    RETURN 
  ;_____________________________________________________________________________________________________________________________________________________
 
   
   
   US100   
     MOVLW 0X70
     MOVWF x0
LOOP1
     DECFSZ  x0
     GOTO LOOP1
     RETURN
 
  ;__________________________________________________________________________________________________________________________________________________
   
   
   
      STAR

      BANC1
      MOVLW b'11110000' ; PORTB 0 et 1 et 2 et  3 des sortie vers lcd ==== portB 4 INPUT UART
      MOVWF TRISB
      MOVLW b'11110011'  ;
      MOVWF TRISA
 
      BANC1
      MOVLW b'00000111'
      MOVWF OPTION_REG
      BANC0
     
      MOVLW b'10100000'
      MOVWF INTCON
     CLRF fx0
      CLRF second
      CLRF minute
      CLRF heure
      CLRF TMR0
      CLRF UART
      CLRF   TEMP1
      CLRF seconde1
      CLRF minute1
      CLRF heure1
      CLRF seconde2
      CLRF minute2
      CLRF heure2
     
     
     CALL LCD_init
   
     
       MOVLW B'00000001'
       CALL COMMANDE
       CALL ms100
       MOVLW B'00000010'
       CALL COMMANDE
       CALL ms100
     
      MOVLW "R"
      CALL DONNE 
       MOVLW "E"
      CALL DONNE
       MOVLW "C"
      CALL DONNE
       MOVLW "H"
      CALL DONNE
       MOVLW "E"
      CALL DONNE
       MOVLW "R"
      CALL DONNE
     
      MOVLW "C"
      CALL DONNE
       MOVLW "H"
      CALL DONNE
       MOVLW "E"
     
     
      lp
     
     ;__________________________________________________________________________________________
     cherche_syncro1
      CALL syncronisation ; procedeure pour chercherche  la syncronisation
     
     
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW B'00100100';$
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
     
   
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW b'01000111';G
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
     
     
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW b'01010000';P
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
     
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW b'01000111';G
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
   
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW b'01000111';G
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
     
      CALL   symbole_identification
      BCF STATUS,Z
      MOVLW b'01000001';A
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
     
      CALL   symbole_identification
       BCF STATUS,Z
      MOVLW b'00101100';,
      SUBWF UART,w
      BTFSS STATUS,Z
      GOTO   cherche_syncro1
      CALL TRAKT_FRONT_decendent
     
      MOVLW heure2 ;  debut de zone   d'adresse
      MOVWF FSR
LOOPUART     
      CALL   symbole_identification
      MOVF UART,W
      BCF  STATUS,C
      BCF  STATUS,Z
      BCF  STATUS,DC
      MOVLW  B'00110000'  ; test si   
      SUBWF UART,W
      BTFSS STATUS,C
      GOTO  cherche_syncro1   ; echec en  cas  de characterre qui  ne situe pas dans l'intervalle 0 a 9  c'est a  dire en  cas  uart<00110000
      MOVLW B'00111010'
      BCF  STATUS,C
      BCF  STATUS,Z
      BCF  STATUS,DC
      SUBWF UART,W
      BTFSC STATUS,Z
      GOTO cherche_syncro1
      BTFSC STATUS,C
      GOTO cherche_syncro1
      MOVF UART,w
      MOVWF INDF
     
      CALL TRAKT_FRONT_decendent
      INCF  FSR
      BCF STATUS,C
      MOVLW  seconde1+1  ;   fin  de  zone  d'adresse
      SUBWF  FSR,w
      BTFSS STATUS,C
      GOTO LOOPUART
      ;___________________
     
     
       CALL  LCD_WRITE
     
   
      nop
      goto lp
     
    END



- I created things that combine knowledge in mechanics, electronics, and programming. For example, the following car, which I built from simple tools, was an original idea and not copied from anyone. Although I don't prioritize aesthetics, it remains unique


-I invented a unique method in the world for manufacturing printed circuit boards (PCBs).
https://www.eevblog.com/forum/projects/is-this-a-new-method/msg5786653/#msg5786653

-I have several ideas for manufacturing devices that could generate significant financial returns.
-I also have other skills, such as construction and plumbing, as I built the house I currently live in.

My Weaknesses
Lack of good command of English.
I don't know how to drive a car because I don't own one.
I have other strengths and weaknesses that I can mention privately


« Last Edit: June 07, 2025, 02:15:02 pm by CHAMPIGNON »
NBA NEI MAHI UDO
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf