Web based water flood alarm system
15:21
ابطال التحرير
1:01
2 ай бұрын
Пікірлер
@fffxxxxx7145
@fffxxxxx7145 Күн бұрын
معك خبر يامعربه
@Mary-wf6ko
@Mary-wf6ko Күн бұрын
😂😂😂🤣🤣🤣
@SamsungGalaxyA345G-p4b
@SamsungGalaxyA345G-p4b 2 күн бұрын
معظم العرب ضاعت أخلاقهم وثباتهم
@صابرالكندري
@صابرالكندري 2 күн бұрын
اللهم صل على محمد وآل محمد الطيبين الطاهرين
@SalimAlmhari
@SalimAlmhari 5 күн бұрын
انا من اهل المهري ونحن مسلمين وانا افهمه والله و اشهد ان لا اله الا الله وأشهد أن محمد رسول الله ❤❤ ..هاه تحيمم ا هكثرم من ا ه صلوت و الله هاذاي لغتنا ... ابالي ي هوكبكم جنيت .. ا حياكم ❤❤
@carmenmoore3130
@carmenmoore3130 6 күн бұрын
❤❤❤
@sahibkabi1771
@sahibkabi1771 8 күн бұрын
احسنت النشر کلمه لازم یقف الانسان عندها.ویتفکرلها
@SamsungGalaxyA345G-p4b
@SamsungGalaxyA345G-p4b 17 күн бұрын
صدقت والله هذي الحقيقه
@علياحمدعليالاسد
@علياحمدعليالاسد 18 күн бұрын
وطن ما تأمن فيه ع روحك واروح اغلاء ماعندك وطن تعيش فيه مذلول مهتان جيعان ماتملك قيمة علاج وراتبك الشهري تقضي فيه يومين من الشهر كيف الحل إذا الوطن فيه كل الحياه و وطن بلا حياة كيف الحل معاه عن اليمن احدثكم
@fifaham
@fifaham 18 күн бұрын
ليس الوطن هو سبب فقرك و فقري, السبب هو اعداء الوطن امريكا الذين فرضوا الحصار الاقتصادي من حقدهم لنا. هل تكون ردة الفعل منك و مني ان نعيب وطننا ام ان نقف و ندافع عنه و نبنيه ليصبح اقوى و اكثر ثراء؟ خذها من اخوك الكبير.
@علياحمدعليالاسد
@علياحمدعليالاسد 18 күн бұрын
والله ي اخوي ع راسي بس يد واخده ماتصفق الوطن ينبني بالكل وليس بأفراد الوطن فيه سياده فاسده الجاهل قائد وعنده كل شي والمتعلم جيعان بالشارع مايملك قوت يومه بس بإذن الله تصلح الاوضاع وترجع اليمن مثل اول وافضل وكل بلاد المسلمين ...
@fifaham
@fifaham 16 күн бұрын
@@علياحمدعليالاسد كن انت السباق الى فعل الخير و لا تنتظرني و لا تنتظر احد يفعل الخير قبلك - انت محاسب على افعالك و ليس محاسب على اعمال غيرك. دع غيرك يفعل ما يشاء و قم انت بنصحهم و مساعدتهم على فعل الخير.
@midoe.2024
@midoe.2024 24 күн бұрын
❤❤❤
@fifaham
@fifaham Ай бұрын
Today is Sunday September 29, 2024 and it is 4:40 AM .... some very quiet foot steps aaaaaaaaaaaa hahaha 😆
@fifaham
@fifaham Ай бұрын
My rental basement has too many loop holes aaaaaaahahahah I love to make such discoveries aaaaaaaaaa hahaha 😆
@adithyarajj4000
@adithyarajj4000 Ай бұрын
Sir how to make this eas in small project in home
@fifaham
@fifaham Ай бұрын
This is not a hobbyist type of tutorials or project, this is a commercial type design with software and firmware. I can teach this in person to create your own EAS system, not online. If you have a business and are willing to do business with me then I can teach you everything from A to Z.
@aaronbrown1638
@aaronbrown1638 Ай бұрын
Dw just get naked
@EddieGarcia-hm6pl
@EddieGarcia-hm6pl Ай бұрын
Id b worried bout where u living roof n walls like that😅😅😅😅😅
@fifaham
@fifaham Ай бұрын
I worry about who made those holes, not about me. Just in case happen
@fifaham
@fifaham Ай бұрын
I worry about who made this hole. I am trained to deal with those stupidities 😂
@fifaham
@fifaham Ай бұрын
عدم المشاهدات لهذا الفيديو دليل واضح ان هناك من يقوم بالاعتداء على قناتي و هم مجموعة من الحاقدين من أقرب ألناس لي و من اعداءي اللهم شل ايديهم و اضرب على اعناقهم يا الله.
@Redhander
@Redhander Ай бұрын
camera hole. Inspect further
@RedeemedbyHisblood9
@RedeemedbyHisblood9 Ай бұрын
It’s you lacking inspection
@fifaham
@fifaham Ай бұрын
I found few more in the living room, I also have a feeling there are some hidden in my bedroom but I still didnt find them. This is because every time I go to take a nap the landlord start jumping right over my bedroom and he knows I am taking nap, it is evil. He doesn't want me to have rest.
@fifaham
@fifaham Ай бұрын
Yesterday I found another hole in the ceiling of my bedroom, exactly the same way of drilling and size and place of drilling that make it very unsuspicious to get your attention...!
@sirifimay
@sirifimay Ай бұрын
Stick your finger in it
@Djameldz-w2g
@Djameldz-w2g Ай бұрын
لا تقل "مقلاع داود" و قل مقلاع الكيان لان داود عليه السلام نبي الله بريئ من ظلم الصهاينة
@fifaham
@fifaham Ай бұрын
#include <stdio.h> #include <stdlib.h> #include <string.h> #define final Faham.name #define typeof(x) ( _Generic((x), \ int: "int", \ float: "float", \ double: "double", \ char: "char", \ char* : "*char", \ default: "unknown")) typedef struct { int x; int y; char *name; } item; int main() { char c = 'R'; char u ; char text1[] = "ABCDEF"; item Faham; Faham.x = 5; Faham.name = "Firas"; // text - or char pointer *char printf("Typeof Faham.x is: %s ", typeof(Faham.x) ); printf("%s ", final); // Round 1 if ( typeof(Faham.y) == "int" ) { printf(" *** PASSED 1 *** "); } else { printf(" *** NOT PASSED 1 *** "); } // Round 2 if ( typeof(c) == "char" ) { printf(" *** PASSED 2 *** "); } else { printf(" *** NOT PASSED 2 *** "); } // Round 3 if ( typeof(text1) == "*char" ) { printf(" *** PASSED 3 *** "); } else { printf(" *** NOT PASSED 3 *** "); } // Round 4 if ( typeof(Faham.name) == "*char" ) { printf(" *** PASSED 4 *** "); } else { printf(" *** NOT PASSED 4 *** "); } return 0; }
@Wilson-AM
@Wilson-AM 2 ай бұрын
:)
@robert-zj7ef
@robert-zj7ef 2 ай бұрын
There are no civilians in gaza. There are unindoctrinated terrorists and terrorists!
@robklomp9610
@robklomp9610 2 ай бұрын
It's genocide in gaza disgusting
@patricialora5692
@patricialora5692 2 ай бұрын
God forbid!
@SIAT2023
@SIAT2023 2 ай бұрын
thank you for this video , could you please show me how can i use hairpin structure in SIW cavity ? and how can extract the equivalent circuit of all design
@fifaham
@fifaham 2 ай бұрын
This topic can not be expalined in this comment, I may create new video about this topic. However here is a briefe intro: wherever there is a cut there is a cap and the larger and width and area the larger the cap (on same side or opposite sides of PCB), wherever there a trace there is a combination of R and L and their corresponding values follow certain equations acconting for length zigzag patters and angle of bending and it also depends on the kind of metal used. This topic is amazing and like magic - afterall the lab experimentation and measurements has a lot to do with the real final values and filter structure - remeber the RF is described by some people as "Black Magic". Also remeber the type of PCB use play a big role in the structure and values of inherited (parasetic) RCL components.
@fifaham
@fifaham 2 ай бұрын
قناتي محظورة لاني امارس حقي في قول الصدق.
@almamlka2755
@almamlka2755 2 ай бұрын
بارك الله فيك على هذا الطرح الرائع
@mooodatelmooodatel5453
@mooodatelmooodatel5453 2 ай бұрын
نرجع لي جهاد
@MAYliveLivo
@MAYliveLivo 2 ай бұрын
ان شاء الله ربي يسهل الأمور ويفتح
@gkunds6740
@gkunds6740 2 ай бұрын
هل شاهدت فلم كوكب القرود ؟
@ahmedal_gbory7800
@ahmedal_gbory7800 2 ай бұрын
كيف يا صديقي.. والعرب الجبناء خانعين للغرب و جعلو من الغرب اسياد عليهم..
@fifaham
@fifaham 3 ай бұрын
// Here is the code per the video above... Use Code::Blocks - free to download // // Accessing port pins via data associated to a port // // Union containing Structure for accessing MCU GPIOs // use to assign status/values of pins in one shot. // Code written by: Engr. Firas Faham. // Date: February 7, 2015 // #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <stdbool.h> unsigned xrayDevice; unsigned xray0 ; unsigned xray1 ; unsigned xray2 ; int main() { printf(" "); printf("Accessing the Microcontroller GPIOs automatically. "); printf("by using Union containing Structure... "); printf("=================================================== "); printf("C Code by Engr. Firas Faham "); typedef union // Defining the GPIO port { // Populate gpioBitMap variable and the other bits will // automatically be populated. // bits position 7 4 0 uint8_t portValue; // _ _ _ _ _ _ _ _ PORT Value struct { unsigned alarm3 : 1; // 01 unsigned alarm5 : 1; // 02 unsigned camera_front : 1; // 04 unsigned camera_back : 1; // 08 unsigned sensor2 : 1; // 01 unsigned xray : 3; // 02 - 04 - 08 }; } MCUPIC16_t; // This is my personal namingconvention MCUPIC16_t test; // creating an instance of Union into test. test.portValue = 0x27 ; // 0b0011 0111; 8F printf("Assume our port Value is as follows "); printf("portValue = %x ", test.portValue); printf("=============== ", test.portValue); // Display each bit content in the gpioBitMap variable. printf("Bit# PORT %x MAP Logic ", test.portValue); printf("---------------------------- "); printf(" 1 - Bit alarm3 = %x", test.alarm3 ); printf(" --- LSB "); printf(" 2 - Bit alarm5 = %x ", test.alarm5); printf(" 3 - Bit camera_front = %x ", test.camera_front); printf(" 4 - Bit camera_back = %x ", test.camera_back); printf(" 5 - Bit sensor2 = %x ", test.sensor2); xrayDevice = test.xray; xray0 = (xrayDevice >> 0)&0x01 ; xray1 = (xrayDevice >> 1)&0x01 ; xray2 = (xrayDevice >> 2)&0x01 ; //test.xray printf(" 6 - Bit2 xray = %i ", xray0 ) ; // MSB of xray printf(" 7 - Bit1 xray = %i ", xray1 ); printf(" 8 - Bit0 xray = %i", xray2 ); // LSB of xray printf(" --- MSB "); printf("---------------------------- "); printf("** PROTOTACTIC ELECTRONICS CANADA ** "); return 0; }
@fifaham
@fifaham 3 ай бұрын
// Here is the code per the video above... Use Code::Blocks - free to download // // Accessing port pins via data associated to a port // // Union containing Structure for accessing MCU GPIOs // use to assign status/values of pins in one shot. // Code written by: Engr. Firas Faham. // Date: February 7, 2015 // #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <stdbool.h> unsigned xrayDevice; unsigned xray0 ; unsigned xray1 ; unsigned xray2 ; int main() { printf(" "); printf("Accessing the Microcontroller GPIOs automatically. "); printf("by using Union containing Structure... "); printf("=================================================== "); printf("C Code by Engr. Firas Faham "); typedef union // Defining the GPIO port { // Populate gpioBitMap variable and the other bits will // automatically be populated. // bits position 7 4 0 uint8_t portValue; // _ _ _ _ _ _ _ _ PORT Value struct { unsigned alarm3 : 1; // 01 unsigned alarm5 : 1; // 02 unsigned camera_front : 1; // 04 unsigned camera_back : 1; // 08 unsigned sensor2 : 1; // 01 unsigned xray : 3; // 02 - 04 - 08 }; } MCUPIC16_t; // This is my personal namingconvention MCUPIC16_t test; // creating an instance of Union into test. test.portValue = 0x27 ; // 0b0011 0111; 8F printf("Assume our port Value is as follows "); printf("portValue = %x ", test.portValue); printf("=============== ", test.portValue); // Display each bit content in the gpioBitMap variable. printf("Bit# PORT %x MAP Logic ", test.portValue); printf("---------------------------- "); printf(" 1 - Bit alarm3 = %x", test.alarm3 ); printf(" --- LSB "); printf(" 2 - Bit alarm5 = %x ", test.alarm5); printf(" 3 - Bit camera_front = %x ", test.camera_front); printf(" 4 - Bit camera_back = %x ", test.camera_back); printf(" 5 - Bit sensor2 = %x ", test.sensor2); xrayDevice = test.xray; xray0 = (xrayDevice >> 0)&0x01 ; xray1 = (xrayDevice >> 1)&0x01 ; xray2 = (xrayDevice >> 2)&0x01 ; //test.xray printf(" 6 - Bit2 xray = %i ", xray0 ) ; // MSB of xray printf(" 7 - Bit1 xray = %i ", xray1 ); printf(" 8 - Bit0 xray = %i", xray2 ); // LSB of xray printf(" --- MSB "); printf("---------------------------- "); printf("** PROTOTACTIC ELECTRONICS CANADA ** "); return 0; }
@WisdomFolly
@WisdomFolly 3 ай бұрын
1/T= 1/R3+1/R2+1/R1 The total resistance will always be less than the lowest resistor in the circuit. Brown Black Red = 1 Kohm
@fifaham
@fifaham 3 ай бұрын
Exactly true, thank you for your input.
@RayStill-i3u
@RayStill-i3u 3 ай бұрын
Aren't those 1,000 ohm resistors?
@fifaham
@fifaham 3 ай бұрын
Absolutely, Left to Right : Brown - Black - Read - Gold >>> 1000 @5% tolerance. You can easily scale it to 100 ohms or 1 ohm, or even to 10,000 ohms. If R1 = 100 Ohm then Rin is about 33.3 ohms, if R1 = 1000 then Rin is about 333 ohms. Scale it as you wish.
@AhmedAhmed-ip4bt
@AhmedAhmed-ip4bt 3 ай бұрын
اسمع لقول النبي صل الله عليه وسلم احسن من سقراط وغيره
@fifaham
@fifaham 3 ай бұрын
اؤيدك ١٠٠ بال ١٠٠ بارك الله فيك.
@Syrian-.-eagle
@Syrian-.-eagle 3 ай бұрын
اترك امريكا و كندا .. وانقلع على ايران .. رح يدعموك انت و الأسد المجرم و الحوثي القاتل
@BigPinger
@BigPinger 4 ай бұрын
So much peace and love.....
@Sircraig7963
@Sircraig7963 4 ай бұрын
We are all capable of great good,, however, we are also capable of making mistakes. God-fearing people tend to be more accepting understanding & forgiving ,believing in faith ,hope & love. To shun and target an entire nation is discrimination. Many Israeli people would be praying for peace, for an end to war in all its forms. Sadly , many many nations had undertaken a war like mentality , whilst the citizens / people pray to God for peace. Governments are the worst offenders ,not individuals, not people ,,, no matter their nationality . All world governments should bring great pressure to force an end to war in the middle east . Children are the biggest victims, dying daily ,are they to be discriminated against too. War is the enemy. Love is the solution / answer. We should all love our fellow man . Forgive us Father , for we know not what we do . Amen
@flustercluck420
@flustercluck420 4 ай бұрын
Dummy
@brianc8852
@brianc8852 4 ай бұрын
Beautifully said sir! I’m from Canada and we are tired of it!!!
@fifaham
@fifaham 4 ай бұрын
; *** Assembly_PIC16F1503_Macro_Example *** TITLE "Assembly_PIC16F1503_Macro_Example" ; ********* Hardware ********* ; Use Curiosity Red Board with PIC16F1503 to demonstrate MACROs. ; Use the built in LED D4 and LED D6 to demo MACROs. ; To get results, comment or un-comment the line in main. ; ********* IDE and development ********** ; The IDE used is MPLab X rev 5.5. ; To program the Curiosity board just connect this board ; to PC with the proper USB cable and use the IDE ; MPLab X (rev 5.5) or similar, compile and program. ; ********** Programmer Info ********** ; Engineer: Firas Faham. ; Zone: GTA Toronto area, Canada. ; Date: June 2, 2024. #include <xc.inc> #include "pic16f1503.inc" ; PIC16F1503 Configuration Bit Settings ; CONFIG1 CONFIG FOSC = INTOSC ; Oscillator Selection Bits (INTOSC oscillator: I/O function on CLKIN pin) CONFIG WDTE = OFF ; Watchdog Timer Enable (WDT disabled) CONFIG PWRTE = OFF ; Power-up Timer Enable (PWRT disabled) CONFIG MCLRE = ON ; MCLR Pin Function Select (MCLR/VPP pin function is MCLR) CONFIG CP = OFF ; Flash Program Memory Code Protection (Program memory code protection is disabled) CONFIG BOREN = OFF ; Brown-out Reset Enable (Brown-out Reset disabled) CONFIG CLKOUTEN = OFF ; Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin) ; CONFIG2 CONFIG WRT = OFF ; Flash Memory Self-Write Protection (Write protection off) CONFIG STVREN = ON ; Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset) CONFIG BORV = LO ; Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.) CONFIG LPBOR = OFF ; Low-Power Brown Out Reset (Low-Power BOR is disabled) CONFIG LVP = ON ; Low-Voltage Programming Enable (Low-voltage programming enabled) ; *************************** SET_Output MACRO ; Macro to set pins to Output BANKSEL TRISA ; BCF TRISA,5 ; ;Set all RA5 to output - LED D4 Near the POT BCF TRISA,2 ; ;Set all RA5 to output - LED D6 ENDM ; End Macro ; **************************** ; *************************** LED_ON MACRO ; Macro to turn ON LED BANKSEL PORTA ; bsf PORTA,5 ; LED D4 On Curiosity board PIC16F1503 near the POT bsf PORTA,2 ; LED D6 ENDM ; End Macro ; **************************** ; *************************** LED_OFF MACRO ; Macro to turn OFF LED BANKSEL PORTA ; bcf PORTA,5 ; LED D4 On Curiosity board PIC16F1503 near the POT bcf PORTA,2 ; LED D6 ENDM ; End Macro ; **************************** ; *************************** D4ON_D6OFF MACRO ; Macro to turn ON LED BANKSEL PORTA ; bsf PORTA,5 ; LED D4 On Curiosity board PIC16F1503 near the POT bcf PORTA,2 ; LED D6 ENDM ; End Macro ; **************************** ; *************************** D4OFF_D6ON MACRO ; Macro to turn ON LED BANKSEL PORTA ; bcf PORTA,5 ; LED D4 On Curiosity board PIC16F1503 near the POT bsf PORTA,2 ; LED D6 ENDM ; End Macro ; **************************** psect RESET_VECT,class=CODE,delta=2 ; PIC10/12/16 RESET_VECT: ; Assign address 0 to this via pic-as linker ; -pRESET_VECT=0h goto setup ; You may remove IRQ section since it is not used. psect INT_VECT,class=CODE,delta=2 ; PIC10/12/16 INT_VECT: ; assign to it -pINT_VECT=4h in pic-as linker retfie setup: SET_Output ; Set Pins to Output main: ; Comment or un-comment the lines below to demo the MACRO. ; LED_ON ; Turn ON LEDs ; D4OFF_D6ON ; Turne LED D4 OFF and ON LED D6 D4ON_D6OFF ; Turne LED D4 ON and OFF LED D6 ; LED_OFF ; Turn OFF both LEDs. END RESET_VECT
@fifaham
@fifaham 4 ай бұрын
; This is part 2 of the code, please concatenate with part 1 below and save under one .s file ; ****************** MAIN ****************** main: ClearLEDs ; See MACRO above call delay_100ms test123: ; this lable to return the PC counter for ; repeated testing BANKSEL ADCON0 BSF ADCON0,1 ; Start conversion call adc_wait ; Wait for a while to finish ADC conversion BANKSEL ADRESH ; MOVF ADRESH,0 ;Read upper 2 bits ; MOVLW 0B00000000 ; this is for testing only RLF WREG,0 ; rotate one bit and place result in WREG RLF WREG,0 ; Or may place it in a MACRO above. RLF WREG,0 RLF WREG,0 RLF WREG,0 RLF WREG,0 ; ; ; 0010 0000 ; Here is how to imagine the bit pattern ; 0100 0000 ; so to help you write to assembly code. ; 1000 0000 ; This pattern follows the filtered state ; machine pattern, not the usual ADC output. ; BANKSEL ADRESL BCF WREG,5 BTFSC ADRESL, 7 ; ADRESL = 0000 0000 BSF WREG,5 TestForBits: ; for testing only ; ************* ; **** Testing WREG bit 7 ;BANKSEL PORTC TestWREG7: ; Start with the highest bit of WREG first BTFSS WREG,7 goto TestWREG6 BANKSEL PORTC BTFSC WREG,7 BSF PORTC,5 BANKSEL PORTA BTFSC WREG,7 BCF PORTA, 5 ; BTFSC WREG,7 BCF PORTA,2 goto test123 ; ; ************ ; Place test for WREG6 TestWREG6: ; Then test for the lower WREG bit next BANKSEL PORTA ; RC5 to RA2 BTFSS WREG,6 ; Isolate WREG from turning RA5 ON goto TestWREG5 BCF PORTA,5 ContinueREG5: BTFSC WREG,6 ; 0000 0000 just to imagine WREG BSF PORTA,2 ; (LED D7) away from POT BANKSEL PORTC BTFSC WREG,6 BCF PORTC,5 goto test123 ; *********** ; ******************* ; Place test for WREG5 ; **** Testing WREG bit 5 TestWREG5: ; The last bit (lowest) to test in WREG BANKSEL PORTA BTFSC WREG,5 ; 0000 0000 BSF PORTA,5 ; (LED D7) away from POT ; RC5 goes to RA2 BTFSS WREG,5 BCF PORTA,5 BTFSC WREG,5 BCF PORTA,2 BANKSEL PORTC BTFSC WREG,5 BCF PORTC,5 ; ******************* terminat2LEDs: ; BTFSC WREG,0 ; 0000 0000 Just to imagine ; BTFSC WREG,1 ; 0000 0000 goto test123 BSF PORTA,5 ; BANKSEL PORTC goto main BSF PORTC,5 ; (LED D7) away from POT MOVLW 0b00000000 BANKSEL PORTC CLRF PORTC BTFSC W_TEMP,0 ; 0000 0010 goto SecondDigit goto terminate0 ;BSF PORTA,2 ; (LED D6) away from POT SecondDigit: BTFSC 0B00000011,1 ; 0000 0010 goto terminate0 BANKSEL PORTC BSF PORTC,5 ; BANKSEL PORTA BSF PORTA,2 ; (LED D6) away from POT terminate0: call delay_100ms ; Add delays as you wish for experimentation BSF ADCON0,0 ; Stop conversion goto main ; ******** Initiate ADC module ******** adc_init: ; RA4 (AN3) is the Analog Input BANKSEL OPTION_REG BSF OPTION_REG,7 ; Weak Pull-Up enable bit ;bsf STATUS,5 ;select bank 1 BANKSEL ADCON1 ; B0 1111 0000 ; movlw (0 << 7) | (0<<6) | (0b000) ; 1 = Right justified. Six Most Significant bits of ADRESH are set to ?0? BSF ADCON1, 7 ; Right Justified ; bit 6-4 ADCS<2:0>: = 111 BSF ADCON1, 6 ; FRC (clock supplied from an internal RC oscillator) BSF ADCON1, 5 ; FRC (clock supplied from an internal RC oscillator) BSF ADCON1, 4 ; FRC (clock supplied from an internal RC oscillator) BCF ADCON1, 3 ; Dont care BCF ADCON1, 2 ; Dont care ; ADPREF<1:0>: ADC = 00 BCF ADCON1, 1 ; 00 =VRPOS is connected to VDD BCF ADCON1, 0 ; 00 =VRPOS is connected to VDD BANKSEL ADCON0 ; x000 11 GO - ADCEN ; bit 6-2 CHS<4:0>: Analog Channel Select bits = 00011 = AN3 ; Select (AN3) for RA4 BCF ADCON0, 7 ; Dont care BCF ADCON0, 6 ; Analog Channel Select bits bit 6 to bit 2 ; 00011 = AN3 BCF ADCON0, 5 ; BCF ADCON0, 4 ; BSF ADCON0, 3 ; BSF ADCON0, 2 ; BCF ADCON0, 1 ; Go bit BSF ADCON0, 0 ; ADON: ADC Enable bit = 1 return adc_wait: BANKSEL ADCON0 BTFSC ADCON0,1 ; Set GO to 1 and start conversion from Analog to Digital goto adc_wait BCF ADCON0,1 return ; ************* Delays ************** delay_100ms: movlw 0x2 ;255 was 0xFF = 255 movwf DELAY_A delay_a: call delay_nest_b decfsz DELAY_A goto delay_a return delay_nest_b: movlw 112 movwf DELAY_B delay_b: call delay_nest_c decfsz DELAY_B goto delay_b return delay_nest_c: movlw 2 movwf DELAY_C delay_c: decfsz DELAY_C goto delay_c return end RESET_VECT
@fifaham
@fifaham 4 ай бұрын
; This is part 1 of the code, please concatenate with part 2 and save under one .s file ; Assembly_PIC16F1503_State-Machine_MUX TITLE "Assembly_PIC16F1503_State-Machine_MUX" ; *********** Progect description *********** ; This project enables you to control various devices, ; such as drones, security monitors, robotic arm, controling ; multiple robotic arms used in performing surgery on patient, ; and so on. The applications are limitless. ; ; *********** The designer *********** ; Engineer: Firas Faham ; Location: GTA Toronto, Canada ; Date of design completion: June 20, 2024 ; ; Contact me for serious ideas to put this ; application into real life implementation. ; ; ********** Compiler and IDE *********** ; MPLab X IDE rev 5.5 from Microchip. ; See the code below for more details. ; ; ************ Hardware Used ************ ; Development board from Microchip: Curiosity Red Board. ; Microcontroller: PIC16F1503. ; RA4 (AN3) > Input 5K or 10K POT variable resistance, ; between +5 /vdc and GND. ; The POT, when rotated to MAX, will cause the two LEDs ; below to turn ON sequentially. The state machine programming ; approach allows the behaviour of this device to be possible. ; RA5 (LED D4) - LED representing first device to control. ; PGEC (LED D5) Not used. ; RA2 (LED D6) - LED representing second device to control.. ; RC5 (LED D7) - LED representing third device to control.. ; ; By rotating the variable POT resistor, the LEDs (D4, D5 and D7) ; are operated sequentially and separatly. ; Port B of this MCU doese not exist ; #include <xc.inc> #include "pic16f1503.inc" ; PIC16F1503 Configuration Bit Settings ; CONFIG1 CONFIG FOSC = INTOSC ; Oscillator Selection Bits (INTOSC oscillator: I/O function on CLKIN pin) CONFIG WDTE = OFF ; Watchdog Timer Enable (WDT disabled) CONFIG PWRTE = OFF ; Power-up Timer Enable (PWRT disabled) CONFIG MCLRE = ON ; MCLR Pin Function Select (MCLR/VPP pin function is MCLR) CONFIG CP = OFF ; Flash Program Memory Code Protection (Program memory code protection is disabled) CONFIG BOREN = OFF ; Brown-out Reset Enable (Brown-out Reset disabled) CONFIG CLKOUTEN = OFF ; Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin) ; CONFIG2 CONFIG WRT = OFF ; Flash Memory Self-Write Protection (Write protection off) CONFIG STVREN = ON ; Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset) CONFIG BORV = LO ; Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.) CONFIG LPBOR = OFF ; Low-Power Brown Out Reset (Low-Power BOR is disabled) CONFIG LVP = ON ; Low-Voltage Programming Enable (Low-voltage programming enabled) DELAY_A equ 0x70 DELAY_B equ 0x71 DELAY_C equ 0x72 Counter equ 0x73 W_TEMP equ 0x74 WREG equ 0x09 ; *********** MACROs ************** RotateHighByte2Low MACRO ; ************* Rotate High Byte to Lower position ************** ; This MACRO will slide the PWM1DCH to lower 8 bits position ; so it can be dealt with for comparison and math. BANKSEL ADRESH RRF ADRESH,0 ; Rotate file Right and place result in W register RRF ADRESH,0 RRF ADRESH,0 RRF ADRESH,0 RRF ADRESH,0 RRF ADRESH,0 RRF ADRESH,0 RRF ADRESH,0 ENDM ; ************************************* ClearLEDs MACRO ; This MACRO will clear LEDs used in this project RA2 and RC5 BANKSEL PORTC BCF PORTC,5 BANKSEL PORTA BCF PORTA,5 BANKSEL PORTA BCF PORTA,2 ENDM psect RESET_VECT,class=CODE,delta=2 ; PIC10/12/16 RESET_VECT: ;; -pRESET_VECT=0h goto setup ; I will not use the Interrupt for this example psect INT_VECT,class=CODE,delta=2 ; PIC10/12/16 INT_VECT: ;; -pINT_VECT=4h nop RETFIE ; Setting up the project and the main setup: BANKSEL OPTION_REG;SELECT BANK 01 - for Prescaler 256 MOVLW 0B00100111 ; PSA = 1/256 (THE TIMER WILL COUNT ONCE ; EVERY 256 CYCLES) - may use 0B11000111 ; of use 0xC7 hex MOVWF OPTION_REG ;AND USE INTERNAL INSTRUCTION CYCLE CLOCK ; Adjust the Internal oscillator to 4 MHz, or other value BANKSEL OSCCON ;IRCF<3:0>: Internal Oscillator Frequency Select bits ; d x x x x d 1 0 ; d dont care xxxx select from below ;movlw 0x7A ;1111 = 16 MHz > 0B01111010 ; 16 MHz ;movlw 0x72 ;111 0 = 8 MHz > 0B01110010 ; 8 MHz ;movlw 0x6A ;110 1 = 4 MHz > 0B01101010 ; 4 MHz 0x6A ; 4MHz EA ;movlw 0x62 ;110 0 = 2 MHz > 0B01100010 ; 2 MHz ;movlw 0x5A ;101 1 = 1 MHz > 0B01011010 ; 1MHz ;movlw 0x52 ;101 0 = 500 kHz(1) > 0B01010010 ; 500 KHz D2 ;movlw 0x4A ;100 1 = 250 kHz(1) > 0B01001010 ; 250 KHz ;movlw 0x42 ;100 0 = 125 kHz(1) > 0B01000010 ; 125 kHz ;movlw 0x3A ;011 1 = 500 kHz > 0B00111010 ; 500 KHz (default upon Reset) ;movlw 0x32 ;011 0 = 250 kHz > 0B00110010 ;movlw 0x2A ;010 1 = 125 kHz > 0B00101010 ;movlw 0x22 ;010 0 = 62.5 kHz > 0B00100010 ; 62.5 kHz ;movlw 0x12 ;001 x = 31.25 kHz > 0B00010010 ;movlw 0x02 ;000x = 31 kHz L > 0B00000010 OSC_bin equ 0B01010010 ; 500 KHz ; <<< replace this Binary byte with the ; selected speed from above table movlw OSC_bin movwf OSCCON call adc_init ; setup the ADC module ; Make Pin RC5 Digital BANKSEL ANSELC ; BCF ANSELC,5 ; Make GPIO pins on RC5 digital I/O BANKSEL TRISC BCF TRISC,5 ; Set RC5 (LED D7) as Output. ; Set RC5 LED D7 initially OFF. BANKSEL PORTC BCF PORTC, 5 ; Initially Turn OFF RC5 pin (LED D7) near the POT. BANKSEL TRISA BCF TRISA,5 ; Make RA5 Output for the second LED (LED D4). BSF TRISA,4 ; Set RA4 as Input. Used for Analog Input (AN3). BCF TRISA,2 ; Make RA2 Output for the second LED (LED D6). ; Make RA4 pin (AN3) Analog Input 3 for AN3 BANKSEL ANSELA ; BCF ANSELA,5 ; Make GPIO pins on RA5 digital I/O BSF ANSELA,4 ; Make GPIO pins on RA4 Analog Input (AN3). BCF ANSELA,2 ; Make GPIO pins on RA2 (LED D6) Digital Output. BANKSEL WPUA BCF WPUA,4 ; Disable weak pull-up on RA4 to clear ; residual resistance bcf STATUS,0 ; clear carry flag just in case BANKSEL PORTA ; Go back to Bank0 and park there
@Solvear
@Solvear 4 ай бұрын
Thank you
@fifaham
@fifaham 4 ай бұрын
البعض ما يزال لا يعرف معنى ضجيج العقل... انها شعلة ملتهبة قوية حادة عنيفة و لامعة تنتج من استدعاء الرغبة النارية بالشيء و تنبع من أعماق دماغ الإنسان و تتوسع و تتعاظم و تهتز لتنتج المزيد و المزيد من التفاعلات الكيميائية التسلسلية داخل الدماغ حتى إن تصل إلى مستويات عالية جدا تحدث انبثاقا لاسلكيا عجيبا لتشبك الدماغ مع حبيبات الفضاء و تمتمد إلى الفضاء و إلى ما وراء عالم الملموسات حتى ينطبق عليها ما وصفه الله في القرآن الكريم: و علمنا أدم الأسماء كلها. عندها يشتبك الكون بدماغ الإنسان ليدلي على الإنسان علوما لم يكن يعرفها من قبل. انه التنوير الرباني الذاتي الذي يمن على الانسان من استقاء علوم خالق الكون، و هذا ما يفصل الانسان عن الحيوان. من طلب علما من الله أعطاه الله ذلك العلم و لو كان كافرا. هذا حقيقة ما يصنعه ضجيج العقل. انها من احد اعظم نعم الله التي منها الله على الإنسان و اكرمه بالقدرة على صناعة الهواتف المحمولة و الطاءرات و الاهرامات و السيارات و غيره من صناعات الانسان الخارقة. هل عرفتم ما هو ضجيج العقل ؟ kzbin.infoDZvx6YEgxRQ?si=JQwroyzSJYZhKJVv kzbin.infoDZvx6YEgxRQ?si=JQwroyzSJYZhKJVv
@fifaham
@fifaham 4 ай бұрын
Strong "Desire" to do something great is the noise that grows inside your brain - once the noise ignites then trust God to help you transform those noises into reality. Believe in yourself - Believe in God.
@fifaham
@fifaham 4 ай бұрын
The miracle of the noise of the brain is that it is randomly ignited by the “desire” for something, such as victory over enemies, and the flame ignites, grows, organizes, and turns into reality. Nothing will happen without desire.
@fifaham
@fifaham 4 ай бұрын
99% of members in my family, community, neighbours, and relatives have "ZERO desire" to make change, they are happy to be slaves.
@fifaham
@fifaham 4 ай бұрын
معجزة ضجيج العقل انه يشتعل عشوائيا من "الرغبة" في شيئ ما, كالنصر على الاعداء, فيتأجج لهيبا و يكبر و ينتظم فيتحول الى حقيقة. لن يحدث شيئ بدون رغبة.