પ્રશ્ન 1(અ) [3 ગુણ]#
માઇક્રોપ્રોસેસર અને માઇક્રોકન્ટ્રોલરની સરખામણી કરો.
જવાબ:
ફીચર | માઇક્રોપ્રોસેસર | માઇક્રોકન્ટ્રોલર |
---|---|---|
વ્યાખ્યા | એકલ ચિપ પર CPU | એકલ ચિપ પર સંપૂર્ણ કમ્પ્યુટર |
મેમરી | બાહ્ય RAM/ROM જરૂરી | અંદર જ RAM/ROM |
ઉપયોગો | સામાન્ય કમ્પ્યુટિંગ, PC | એમ્બેડેડ સિસ્ટમ, IoT |
ઉદાહરણો | Intel 8085, 8086 | 8051, Arduino, PIC |
કિંમત | વધારે | ઓછી |
યાદ રાખવાનું સૂત્ર: “પ્રોસેસર રામ માંગે, કન્ટ્રોલર રામ રાખે” (પ્રોસેસરને બહારથી રામ જોઈએ, કંટ્રોલરમાં રામ અંદર જ હોય છે)
પ્રશ્ન 1(બ) [4 ગુણ]#
RISC અને CISC ની સરખામણી કરો.
જવાબ:
ફીચર | RISC (રિડ્યુસ્ડ ઇન્સ્ટ્રક્શન સેટ કમ્પ્યુટર) | CISC (કોમ્પ્લેક્સ ઇન્સ્ટ્રક્શન સેટ કમ્પ્યુટર) |
---|---|---|
ઇન્સ્ટ્રક્શન | થોડી, સરળ ઇન્સ્ટ્રક્શન | ઘણી, જટિલ ઇન્સ્ટ્રક્શન |
એક્ઝિક્યુશન ટાઈમ | ફિક્સ્ડ (1 ક્લોક સાયકલ) | વેરિએબલ (ઘણી સાયકલ) |
મેમરી એક્સેસ | માત્ર લોડ/સ્ટોર દ્વારા | ઘણા મેમરી એક્સેસ મોડ |
પાઇપલાઇનિંગ | સરળ અમલીકરણ | મુશ્કેલ અમલીકરણ |
ઉદાહરણો | ARM, MIPS | Intel x86, 8085 |
હાર્ડવેર | સરળ, ઓછા ટ્રાન્ઝિસ્ટર | જટિલ, વધુ ટ્રાન્ઝિસ્ટર |
રજિસ્ટર સેટ | વધુ રજિસ્ટર | ઓછા રજિસ્ટર |
યાદ રાખવાનું સૂત્ર: “RISC ઝડપી, CISC બહોળું” (RISC ઝડપી હોય છે, CISC માં ઘણી ઇન્સ્ટ્રક્શન હોય છે)
પ્રશ્ન 1(ક) [7 ગુણ]#
વ્યાખ્યાયિત કરો: માઇક્રોપ્રોસેસર, ઓપરેન્ડ, ઈન્સ્ટ્રક્શન સાયકલ, ઓપકોડ, ALU, મશીન સાયકલ, ટી-સ્ટેટ
જવાબ:
શબ્દ | વ્યાખ્યા |
---|---|
માઇક્રોપ્રોસેસર | એક ઇન્ટિગ્રેટેડ સર્કિટ પર CPU જે ઇન્સ્ટ્રક્શન પ્રોસેસ કરે છે |
ઓપરેન્ડ | ઇન્સ્ટ્રક્શનમાં વપરાતી ડેટા વેલ્યુ |
ઈન્સ્ટ્રક્શન સાયકલ | ઇન્સ્ટ્રક્શન ફેચ, ડિકોડ અને એક્ઝિક્યુટની સંપૂર્ણ પ્રક્રિયા |
ઓપકોડ | ઓપરેશન કોડ જે CPU ને કહે છે કે કયું ઓપરેશન કરવાનું છે |
ALU | અર્થમેટિક લોજિક યુનિટ જે ગણિત ઓપરેશન કરે છે |
મશીન સાયકલ | મૂળભૂત ઓપરેશન જેમ કે મેમરી રીડ/રાઈટ (ઇન્સ્ટ્રક્શન સાયકલનો ભાગ) |
ટી-સ્ટેટ | ટાઈમ સ્ટેટ - પ્રોસેસરમાં સમયનો સૌથી નાનો એકમ (ક્લોક પીરિયડ) |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “મારો ઓલ્ડ Intel ચિપ ઓનલી મેક્સ ટ્રબલ” (માઇક્રોપ્રોસેસર, ઓપરેન્ડ, ઇન્સ્ટ્રક્શન, ઓપકોડ, ALU, મશીન, ટી-સ્ટેટ)
પ્રશ્ન 1(ક OR) [7 ગુણ]#
વોન-ન્યુમેન અને હાર્વર્ડ આર્કિટેક્ચરની તુલના કરો.
જવાબ:
ફીચર | વોન-ન્યુમેન આર્કિટેક્ચર | હાર્વર્ડ આર્કિટેક્ચર |
---|---|---|
મેમરી બસ | ઇન્સ્ટ્રક્શન અને ડેટા માટે એક જ મેમરી બસ | પ્રોગ્રામ અને ડેટા મેમરી માટે અલગ બસ |
એક્ઝિક્યુશન | સિક્વેન્શિયલ એક્ઝિક્યુશન | પેરેલલ ફેચ અને એક્ઝિક્યુટ શક્ય |
સ્પીડ | બસ બોટલનેક ને કારણે ધીમું | સમાંતર એક્સેસને કારણે ઝડપી |
જટિલતા | સરળ ડિઝાઇન | વધુ જટિલ ડિઝાઇન |
ઉપયોગો | સામાન્ય કમ્પ્યુટિંગ | DSP, માઇક્રોકન્ટ્રોલર, એમ્બેડેડ સિસ્ટમ |
સિક્યોરિટી | ઓછી સુરક્ષિત (કોડ ડેટા તરીકે બદલી શકાય) | વધુ સુરક્ષિત (કોડ ડેટાથી અલગ) |
ઉદાહરણ | મોટાભાગના PC, 8085, 8086 | 8051, PIC, ARM Cortex-M |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “હાર્વર્ડ હંમેશા અલગ રસ્તા રાખે” (હાર્વર્ડમાં મેમરી પાથ અલગ હોય છે)
પ્રશ્ન 2(અ) [3 ગુણ]#
8085 માઇક્રોપ્રોસેસરનું ફ્લેગ રજીસ્ટર દોરો અને તેને સમજાવો.
જવાબ:
ડાયાગ્રામ:
ફ્લેગ | નામ | કાર્ય |
---|---|---|
S | સાઈન | જો પરિણામ નેગેટિવ હોય તો સેટ થાય (બિટ 7=1) |
Z | ઝીરો | જો પરિણામ ઝીરો હોય તો સેટ થાય |
AC | ઓક્ઝિલિયરી કૅરી | જો બિટ 3 થી બિટ 4 માં કૅરી થાય તો સેટ થાય |
P | પેરિટી | જો પરિણામમાં ઇવન પેરિટી હોય તો સેટ થાય |
CY | કૅરી | જો બિટ 7 થી કૅરી કે બોરો થાય તો સેટ થાય |
યાદ રાખવાનું સૂત્ર: “સરસ ઝોમ્બી આજે પણ ચાલે” (સાઈન, ઝીરો, ઓક્ઝિલિયરી, પેરિટી, કૅરી)
પ્રશ્ન 2(બ) [4 ગુણ]#
8085 માઇક્રોપ્રોસેસર માટે એડ્રેસ અને ડેટાબસોનું ડી-મલ્ટીપ્લેક્સીંગ સમજાવો.
જવાબ:
ડાયાગ્રામ:
- જરૂરિયાત: 8085 માં પિન બચાવવા માટે મલ્ટીપ્લેક્સ્ડ પિન (AD0-AD7) હોય છે
- પ્રક્રિયા:
- CPU એડ્રેસ AD0-AD7 પિન પર મૂકે છે
- ALE (એડ્રેસ લેચ એનેબલ) સિગ્નલ HIGH થાય છે
- એડ્રેસ લેચ (74LS373) લોઅર એડ્રેસ બિટ્સ પકડે છે
- ALE LOW થાય છે, એડ્રેસ લેચ થઈ જાય છે
- AD0-AD7 પિન હવે ડેટા ટ્રાન્સફર માટે ફ્રી થઈ જાય છે
યાદ રાખવાનું સૂત્ર: “ALE પહેલા, ડેટા પછી” (એડ્રેસ લેચ એનેબલ પહેલા એડ્રેસ પકડે, પછી ડેટા આવે)
પ્રશ્ન 2(ક) [7 ગુણ]#
આકૃતિની મદદથી 8085 માઇક્રોપ્રોસેસરના આર્કિટેક્ચરનું વર્ણન કરો.
જવાબ:
ડાયાગ્રામ:
મુખ્ય ઘટકો:
- રજિસ્ટર્સ: સ્ટોરેજ લોકેશન (A, B-L, SP, PC, Flags)
- ALU: ગાણિતિક અને લોજિકલ ઓપરેશન કરે છે
- કંટ્રોલ યુનિટ: ટાઈમિંગ અને કંટ્રોલ સિગ્નલ જનરેટ કરે છે
- બસ: એડ્રેસ બસ (16-bit), ડેટા બસ (8-bit), કંટ્રોલ બસ
મુખ્ય ફીચર્સ:
- 8-બિટ ડેટા બસ, 16-બિટ એડ્રેસ બસ (64KB એડ્રેસેબલ મેમરી)
- 6 જનરલ-પર્પઝ રજિસ્ટર (B,C,D,E,H,L) અને એક્યુમુલેટર
- 5 ફ્લેગ્સ સ્ટેટસ માહિતી માટે
યાદ રાખવાનું સૂત્ર: “RABC” - “રજિસ્ટર, ALU, બસ, કંટ્રોલ” (મુખ્ય ઘટકો)
પ્રશ્ન 2(અ OR) [3 ગુણ]#
8085 માઇક્રોપ્રોસેસરનું બસ ઓર્ગેનાઈઝેશન સમજાવો.
જવાબ:
બસ પ્રકાર | વિડ્થ | કાર્ય |
---|---|---|
એડ્રેસ બસ | 16-બિટ (A0-A15) | મેમરી/I/O ડિવાઈસ એડ્રેસ લઈ જાય છે |
ડેટા બસ | 8-બિટ (D0-D7) | CPU અને મેમરી/I/O વચ્ચે ડેટા ટ્રાન્સફર કરે છે |
કંટ્રોલ બસ | વિવિધ સિગ્નલ્સ | સિસ્ટમ ઓપરેશન કોઓર્ડિનેટ કરે છે |
મુખ્ય કંટ્રોલ સિગ્નલ્સ:
- RD̅: રીડ સિગ્નલ (એક્ટિવ લો)
- WR̅: રાઈટ સિગ્નલ (એક્ટિવ લો)
- ALE: એડ્રેસ લેચ એનેબલ
- IO/M̅: I/O (હાઈ) અને મેમરી (લો) ઓપરેશન વચ્ચે ભેદ પાડે છે
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “ADC” - “એડ્રેસ શોધે, ડેટા ફરે, કંટ્રોલ ચલાવે”
પ્રશ્ન 2(બ OR) [4 ગુણ]#
સમજાવો: પ્રોગ્રામ કાઉન્ટર અને સ્ટેક પોઈન્ટર
જવાબ:
રજિસ્ટર | સાઈઝ | કાર્ય |
---|---|---|
પ્રોગ્રામ કાઉન્ટર (PC) | 16-બિટ | આગલા એક્ઝિક્યુટ થનાર ઇન્સ્ટ્રક્શનનું એડ્રેસ રાખે છે |
સ્ટેક પોઈન્ટર (SP) | 16-બિટ | મેમરીમાં સ્ટેકના ટોપને પોઇન્ટ કરે છે |
પ્રોગ્રામ કાઉન્ટર (PC):
- ઇન્સ્ટ્રક્શન ફેચ પછી ઓટોમેટિક વધે છે
- જમ્પ/કોલ ઇન્સ્ટ્રક્શન દ્વારા બદલાય છે
- પ્રોગ્રામ એક્ઝિક્યુશન સિક્વેન્સ કંટ્રોલ કરે છે
- રીસેટ પર 0000H પર સેટ થાય છે
સ્ટેક પોઈન્ટર (SP):
- સ્ટેક પર છેલ્લે પુશ કરેલ ડેટા આઈટમને પોઇન્ટ કરે છે
- સ્ટેક LIFO (લાસ્ટ ઇન ફર્સ્ટ આઉટ) પ્રમાણે કામ કરે છે
- સબરૂટિન કોલ અને ઇન્ટરપ્ટ દરમિયાન વપરાય છે
- સ્ટેક મેમરીમાં નીચે તરફ વધે છે (ઘટાડાય છે)
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “PC આગળ જુએ, SP સ્ટેક સંભાળે” (PC આગલું ઇન્સ્ટ્રક્શન જુએ છે, SP સ્ટેક મેનેજ કરે છે)
પ્રશ્ન 2(ક OR) [7 ગુણ]#
આકૃતિની મદદથી 8085 માઇક્રોપ્રોસેસરના પિન ડાયાગ્રામનું વર્ણન કરો.
જવાબ:
ડાયાગ્રામ:
પિન ગ્રુપ્સ:
- પાવર & ક્લોક: Vcc, GND, X1, X2, CLK
- એડ્રેસ/ડેટા: A8-A15, AD0-AD7 (મલ્ટીપ્લેક્સ્ડ)
- કંટ્રોલ: ALE, RD̅, WR̅, IO/M̅
- ઇન્ટરપ્ટ: INTR, INTA, RST 5.5/6.5/7.5, TRAP
- DMA: HOLD, HLDA
- સિરિયલ I/O: SID, SOD
- સ્ટેટસ: S0, S1
યાદ રાખવાનું સૂત્ર: “PACI-DHS” (પાવર, એડ્રેસ, કંટ્રોલ, ઇન્ટરપ્ટ, DMA, હાર્ડવેર સ્ટેટસ, સિરિયલ)
પ્રશ્ન 3(અ) [3 ગુણ]#
સ્ટેક, સ્ટેક પોઈન્ટર અને સ્ટેક ઓપરેશન સમજાવો.
જવાબ:
શબ્દ | વ્યાખ્યા |
---|---|
સ્ટેક | LIFO ક્રમમાં કામચલાઉ સ્ટોરેજ માટે વપરાતી મેમરી એરિયા |
સ્ટેક પોઈન્ટર | 16-બિટ રજિસ્ટર જે સ્ટેકમાં ટોપ આઈટમને પોઇન્ટ કરે છે |
PUSH | ડેટાને સ્ટેક પર સ્ટોર કરવાનું ઓપરેશન (SP ઘટે છે) |
POP | સ્ટેક પરથી ડેટા મેળવવાનું ઓપરેશન (SP વધે છે) |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “LIFO પુશ-પોપ કરે” (છેલ્લો અંદર-પહેલો બહાર, પુશ અને પોપ ઓપરેશન સાથે)
પ્રશ્ન 3(બ) [4 ગુણ]#
8051 માઇક્રોકન્ટ્રોલરનો ટાઈમર્સ/કાઉન્ટર્સનો લોજિક ડાયાગ્રામ દોરો અને તેને સમજાવો.
જવાબ:
ડાયાગ્રામ:
- 8051 માં 2 16-બિટ ટાઈમર/કાઉન્ટર છે: ટાઈમર 0 અને ટાઈમર 1
- દરેક ટાઈમરમાં બે 8-બિટ રજિસ્ટર છે: THx (હાઈ બાઈટ) અને TLx (લો બાઈટ)
- 4 ઓપરેટિંગ મોડ્સ:
- મોડ 0: 13-બિટ ટાઈમર
- મોડ 1: 16-બિટ ટાઈમર
- મોડ 2: 8-બિટ ઓટો-રિલોડ
- મોડ 3: સ્પ્લિટ ટાઈમર મોડ
- બે ફંક્શન્સ:
- ટાઈમર: આંતરિક ક્લોક પલ્સ ગણે છે
- કાઉન્ટર: બાહ્ય ઘટનાઓની ગણતરી કરે છે
યાદ રાખવાનું સૂત્ર: “TIME-C” (ટાઈમર ઈનપુટ, મોડ સિલેક્ટ, એક્સટર્નલ કાઉન્ટ)
પ્રશ્ન 3(ક) [7 ગુણ]#
આકૃતિની મદદથી 8051 માઇક્રોકન્ટ્રોલરનો પિન ડાયાગ્રામ સમજાવો.
જવાબ:
ડાયાગ્રામ:
પિન ગ્રુપ્સ:
- પોર્ટ પિન્સ:
- P0 (પોર્ટ 0): 8-બિટ બિડાયરેક્શનલ, મલ્ટીપ્લેક્સ્ડ એડ્રેસ/ડેટા
- P1 (પોર્ટ 1): 8-બિટ બિડાયરેક્શનલ I/O
- P2 (પોર્ટ 2): 8-બિટ બિડાયરેક્શનલ, હાયર એડ્રેસ બાઈટ
- P3 (પોર્ટ 3): 8-બિટ બિડાયરેક્શનલ ઓલ્ટરનેટ ફંક્શન સાથે
- પાવર & ક્લોક: VCC, GND, XTAL1, XTAL2
- કંટ્રોલ સિગ્નલ્સ:
- RST: રીસેટ ઈનપુટ
- ALE: એડ્રેસ લેચ એનેબલ
- PSEN: પ્રોગ્રામ સ્ટોર એનેબલ
- EA: એક્સટર્નલ એક્સેસ
યાદ રાખવાનું સૂત્ર: “PORT-CAPS” (પોર્ટ્સ 0-3, ક્લોક, એડ્રેસ લેચ, પ્રોગ્રામ સ્ટોર, સપ્લાય)
પ્રશ્ન 3(અ OR) [3 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર માટે સીરિયલ કોમ્યુનિકેશન મોડ્સ સમજાવો.
જવાબ:
મોડ | વર્ણન | બોડ રેટ | ડેટા બિટ્સ |
---|---|---|---|
મોડ 0 | શિફ્ટ રજિસ્ટર | ફિક્સ્ડ (FOSC/12) | 8 બિટ્સ |
મોડ 1 | 8-બિટ UART | વેરિએબલ | 10 બિટ્સ (8+સ્ટાર્ટ+સ્ટોપ) |
મોડ 2 | 9-બિટ UART | ફિક્સ્ડ (FOSC/32 અથવા FOSC/64) | 11 બિટ્સ (9+સ્ટાર્ટ+સ્ટોપ) |
મોડ 3 | 9-બિટ UART | વેરિએબલ | 11 બિટ્સ (9+સ્ટાર્ટ+સ્ટોપ) |
મુખ્ય ઘટકો:
- SBUF: સીરિયલ બફર રજિસ્ટર
- SCON: સીરિયલ કંટ્રોલ રજિસ્ટર
- P3.0 (RXD): રિસીવ પિન
- P3.1 (TXD): ટ્રાન્સમિટ પિન
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “SMART” (સીરિયલ મોડ્સ આર રેટ એન્ડ ટાઈમિંગ પર આધારીત)
પ્રશ્ન 3(બ OR) [4 ગુણ]#
8051 માઇક્રોકન્ટ્રોલરનું ઈન્ટર્નલ રેમ ઓર્ગેનાઈઝેશન સમજાવો.
જવાબ:
ડાયાગ્રામ:
મેમરી રીજન | એડ્રેસ રેન્જ | વર્ણન |
---|---|---|
રજિસ્ટર બેન્ક્સ | 00H-1FH | 8 રજિસ્ટર (R0-R7) ની ચાર બેન્ક (0-3) |
બિટ-એડ્રેસેબલ | 20H-2FH | 16 બાઈટ્સ (128 બિટ્સ) વ્યક્તિગત રીતે એડ્રેસ કરી શકાય |
જનરલ પર્પઝ | 30H-7FH | વેરિએબલ્સ માટે સ્ક્રેચ પેડ RAM |
SFR | 80H-FFH | સ્પેશિયલ ફંક્શન રજિસ્ટર્સ (RAM માં નથી) |
મુખ્ય લક્ષણો:
- એક સમયે ફક્ત એક રજિસ્ટર બેન્ક એક્ટિવ હોય (PSW બિટ્સ દ્વારા પસંદ કરાય)
- બિટ-એડ્રેસેબલ એરિયામાં દરેક બિટ પોતાનું એડ્રેસ ધરાવે છે (20H.0-2FH.7)
- સ્ટેક આંતરિક RAM માં ક્યાંય પણ હોઈ શકે છે
યાદ રાખવાનું સૂત્ર: “RGB-S” (રજિસ્ટર્સ, જનરલ પર્પઝ, બિટ-એડ્રેસેબલ, SFRs)
પ્રશ્ન 3(ક OR) [7 ગુણ]#
આકૃતિની મદદથી 8051 માઇક્રોકન્ટ્રોલરનું આર્કિટેક્ચર સમજાવો.
જવાબ:
ડાયાગ્રામ:
મુખ્ય ઘટકો:
- CPU: ALU, રજિસ્ટર્સ અને કંટ્રોલ લોજિક સાથે 8-બિટ પ્રોસેસર
- મેમરી:
- 4KB આંતરિક ROM (પ્રોગ્રામ મેમરી)
- 128 બાઈટ્સ આંતરિક RAM (ડેટા મેમરી)
- I/O: ચાર 8-બિટ I/O પોર્ટ્સ (P0-P3)
- ટાઈમર્સ: બે 16-બિટ ટાઈમર/કાઉન્ટર
- સીરિયલ પોર્ટ: ફુલ-ડુપ્લેક્સ UART
- ઇન્ટરપ્ટ્સ: બે પ્રાયોરિટી લેવલ સાથે પાંચ ઇન્ટરપ્ટ સોર્સ
યાદ રાખવાનું સૂત્ર: “BASICS” (બસ, આર્કિટેક્ચર વિથ CPU, સીરિયલ પોર્ટ, I/O પોર્ટ્સ, કાઉન્ટર/ટાઈમર, સ્પેશિયલ ફંક્શન્સ)
પ્રશ્ન 4(અ) [3 ગુણ]#
રજિસ્ટર R5 અને R6 ના લોઅર નિબલને બદલવા માટે 8051 એસેમ્બલી લેંગ્વેજ પ્રોગ્રામ લખો: R5 ના લોઅર નિબલને R6 માં અને R6 ના લોઅર નિબલને R5 માં મૂકો.
જવાબ:
; Exchange lower nibbles of R5 and R6
MOV A, R5 ; Copy R5 to accumulator
ANL A, #0FH ; Mask upper nibble (keep only lower nibble)
MOV B, A ; Save R5's lower nibble in B
MOV A, R6 ; Copy R6 to accumulator
ANL A, #0FH ; Mask upper nibble (keep only lower nibble)
MOV C, A ; Save temporarily in a free register (R7)
MOV A, R5 ; Get R5 again
ANL A, #F0H ; Keep only upper nibble of R5
ORL A, C ; Combine with lower nibble from R6
MOV R5, A ; Store result back in R5
MOV A, R6 ; Get R6 again
ANL A, #F0H ; Keep only upper nibble of R6
ORL A, B ; Combine with lower nibble from R5
MOV R6, A ; Store result back in R6
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “MAMS” (માસ્ક, એન્ડ, મુવ, સ્વેપ)
પ્રશ્ન 4(બ) [4 ગુણ]#
પોર્ટ P1.0 પર ઇન્ટરફેસ કરેલ LED ને 1ms ના સમય અંતરાલ પર બ્લિંક કરવા માટે 8051 એસેમ્બલી લેંગ્વેજ પ્રોગ્રામ લખો.
જવાબ:
ORG 0000H ; Start at memory location 0000H
MAIN: CPL P1.0 ; Complement P1.0 (toggle LED)
ACALL DELAY ; Call delay subroutine
SJMP MAIN ; Loop forever
DELAY: MOV R7, #2 ; Load R7 for outer loop (2)
DELAY1: MOV R6, #250 ; Load R6 for inner loop (250)
DELAY2: NOP ; No operation (consume time)
NOP ; Additional delay
DJNZ R6, DELAY2 ; Decrement R6 & loop until zero
DJNZ R7, DELAY1 ; Decrement R7 & loop until zero
RET ; Return from subroutine
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “TCDL” (ટોગલ, કોલ, ડિલે, લૂપ)
પ્રશ્ન 4(ક) [7 ગુણ]#
8051 માઇક્રોકન્ટ્રોલરના એડ્રેસિંગ મોડ્સની યાદી બનાવો અને ઓછામાં ઓછા એક ઉદાહરણ સાથે તેમને સમજાવો.
જવાબ:
એડ્રેસિંગ મોડ | વર્ણન | ઉદાહરણ |
---|---|---|
રજિસ્ટર | રજિસ્ટર્સ (R0-R7) વાપરે છે | MOV A, R0 (R0 ને A માં મુવ કરે) |
ડાયરેક્ટ | ડાયરેક્ટ મેમરી એડ્રેસ વાપરે | MOV A, 30H (30H પરથી ડેટા A માં મુવ કરે) |
રજિસ્ટર ઇન્ડાયરેક્ટ | રજિસ્ટરને પોઇન્ટર તરીકે વાપરે | MOV A, @R0 (R0 માં રહેલા એડ્રેસ પરથી ડેટા A માં મુવ કરે) |
ઇમીડિયેટ | કોન્સ્ટન્ટ ડેટા વાપરે | MOV A, #25H (A માં 25H લોડ કરે) |
ઇન્ડેક્સ્ડ | બેઝ એડ્રેસ + ઓફસેટ | MOVC A, @A+DPTR (કોડ મેમરી એક્સેસ) |
બિટ | વ્યક્તિગત બિટ્સ પર ઓપરેશન કરે | SETB P1.0 (પોર્ટ 1 ના બિટ 0 ને સેટ કરે) |
ઇમ્પ્લાઈડ | ઇમ્પ્લિસિટ ઓપરેન્ડ | RRC A (A ને રાઈટ થ્રુ કેરી રોટેટ કરે) |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “RIDDIBM” (રજિસ્ટર, ઇમીડિયેટ, ડાયરેક્ટ, ડેટા, ઇન્ડાયરેક્ટ, બિટ, iમ્પ્લાઈડ)
પ્રશ્ન 4(અ OR) [3 ગુણ]#
રજિસ્ટર R2 અને R3 નાં બાઈટ નો સરવાળો કરવા માટે 8051 એસેમ્બલી લેંગ્વેજ પ્રોગ્રામ લખો, પરિણામ બાહ્ય RAM માં 2040h (LSB) અને 2041h (MSB) મૂકો.
જવાબ:
MOV A, R2 ; Move R2 to accumulator
ADD A, R3 ; Add R3 to accumulator
MOV DPTR, #2040H ; Set DPTR to external RAM address 2040H
MOVX @DPTR, A ; Store the result (LSB) at 2040H
MOV A, #00H ; Clear accumulator
ADDC A, #00H ; Add carry flag to accumulator
INC DPTR ; Increment DPTR to 2041H
MOVX @DPTR, A ; Store the result (MSB) at 2041H
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “MASIM” (મુવ, એડ, સ્ટોર, ઇન્ક્રિમેન્ટ, મુવ એગેન)
પ્રશ્ન 4(બ OR) [4 ગુણ]#
12 MHz ની ક્રિસ્ટલ ફ્રિક્વન્સી સાથે 8051 માઇક્રોકન્ટ્રોલર માટે, 5ms નો ડિલે જનરેટ કરો.
જવાબ:
; Delay of 5ms with 12MHz Crystal (1 machine cycle = 1μs)
DELAY: MOV R7, #5 ; 5 loops of 1ms each
LOOP1: MOV R6, #250 ; 250 x 4μs = 1000μs = 1ms
LOOP2: NOP ; 1μs
NOP ; 1μs
DJNZ R6, LOOP2 ; 2μs (if jump taken)
DJNZ R7, LOOP1 ; Repeat 5 times for 5ms
RET ; Return from subroutine
ડાયાગ્રામ:
ગણતરી:
- 12MHz ક્રિસ્ટલ = 1μs મશીન સાયકલ
- ઇનર લૂપ: 2 NOPs (2μs) + DJNZ (2μs) = 4μs પ્રતિ ઇટરેશન
- 250 ઇટરેશન × 4μs = 1000μs = 1ms
- આઉટર લૂપ: 5 ઇટરેશન × 1ms = 5ms
યાદ રાખવાનું સૂત્ર: “LOON-5” (લૂપ નેસ્ટેડ ફોર 5ms)
પ્રશ્ન 4(ક OR) [7 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર માટે કોઈપણ સાત એરિથમેટિક ઈન્સ્ટ્રક્શન ઉદાહરણ સાથે સમજાવો.
જવાબ:
ઇન્સ્ટ્રક્શન | ફંક્શન | ઉદાહરણ | ફ્લેગ અસર |
---|---|---|---|
ADD A,src | સોર્સને A માં ઉમેરે | ADD A,R0 (A=A+R0) | C, OV, AC |
ADDC A,src | સોર્સ + કેરી A માં ઉમેરે | ADDC A,#25H (A=A+25H+C) | C, OV, AC |
SUBB A,src | સોર્સ + બોરો A માંથી બાદ કરે | SUBB A,@R1 (A=A-@R1-C) | C, OV, AC |
INC | 1 વધારે | INC R3 (R3=R3+1) | કોઈ નહીં |
DEC | 1 ઘટાડે | DEC A (A=A-1) | કોઈ નહીં |
MUL AB | A અને B ગુણાકાર કરે | MUL AB (B:A=A×B) | C, OV |
DIV AB | A ને B વડે ભાગે | DIV AB (A=ભાગફળ, B=શેષ) | C, OV |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “ACID-IBM” (એડ, કેરી એડ, ઇન્ક, ડેક, મલ, બોરો સબ્ટ્રેક્ટ, ડિવાઈડ)
પ્રશ્ન 5(અ) [3 ગુણ]#
વિવિધ ક્ષેત્રોમાં માઇક્રોકન્ટ્રોલરની એપ્લિકેશનોની સૂચિ બનાવો.
જવાબ:
ક્ષેત્ર | એપ્લિકેશન્સ |
---|---|
કન્ઝ્યુમર ઇલેક્ટ્રોનિક્સ | ટીવી, વોશિંગ મશીન, માઇક્રોવેવ, રિમોટ કંટ્રોલ |
ઓટોમોટિવ | એન્જિન કંટ્રોલ, એન્ટી-લોક બ્રેકિંગ, એરબેગ સિસ્ટમ |
ઇન્ડસ્ટ્રિયલ | ઓટોમેશન, રોબોટિક્સ, પ્રોસેસ કંટ્રોલ |
મેડિકલ | પેશન્ટ મોનિટરિંગ, મેડિકલ ઇન્સ્ટ્રુમેન્ટ્સ, ઇમ્પ્લાન્ટ્સ |
હોમ ઓટોમેશન | સ્માર્ટ લાઇટિંગ, સિક્યુરિટી સિસ્ટમ, HVAC કંટ્રોલ |
કમ્યુનિકેશન | મોબાઇલ ફોન, રાઉટર્સ, મોડેમ્સ |
એરોસ્પેસ | નેવિગેશન સિસ્ટમ, ફ્લાઇટ કંટ્રોલ, સેટેલાઇટ સિસ્ટમ |
ડાયાગ્રામ:
યાદ રાખવાનું સૂત્ર: “CHAIM-MA” (કન્ઝ્યુમર, હોમ, ઓટોમોટિવ, ઇન્ડસ્ટ્રિયલ, મેડિકલ, મોબાઇલ, એરોસ્પેસ)
પ્રશ્ન 5(બ) [4 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર સાથે રિલે ઇન્ટરફેસ કરો.
જવાબ:
ડાયાગ્રામ:
જરૂરી ઘટકો:
- 8051 માઇક્રોકન્ટ્રોલર
- ULN2003 અથવા સમાન ડ્રાઇવર IC
- રિલે (5V અથવા 12V)
- પ્રોટેક્શન ડાયોડ (1N4007)
- પાવર સપ્લાય
કાર્યપ્રણાલી:
- 8051 P1.0 થી કંટ્રોલ સિગ્નલ મોકલે છે
- ડ્રાઇવર રિલે ચલાવવા માટે કરંટ એમ્પ્લિફાય કરે છે
- પ્રોટેક્શન ડાયોડ બેક EMF નુકસાનથી બચાવે છે
- રિલે કનેક્ટેડ ડિવાઇસ સ્વિચ કરે છે
યાદ રાખવાનું સૂત્ર: “DRIPS” (ડ્રાઇવર, રિલે, ઇનપુટ ફ્રોમ µC, પ્રોટેક્શન ડાયોડ, સ્વિચિંગ)
પ્રશ્ન 5(ક) [7 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર સાથે LCD ઇન્ટરફેસ કરો.
જવાબ:
ડાયાગ્રામ:
કનેક્શન્સ:
- કંટ્રોલ લાઇન્સ:
- P1.0 → RS (રજિસ્ટર સિલેક્ટ)
- P1.1 → R/W (રીડ/રાઈટ)
- P1.2 → E (એનેબલ)
- ડેટા લાઇન્સ:
- P2.0-P2.7 → D0-D7 (8-બિટ ડેટા બસ)
LCD ઇનિશિયલાઇઝ કરવાનો કોડ:
MOV A, #38H ; 2 lines, 5x7 matrix
ACALL COMMAND ; Send command
MOV A, #0EH ; Display ON, cursor ON
ACALL COMMAND ; Send command
MOV A, #01H ; Clear LCD
ACALL COMMAND ; Send command
MOV A, #06H ; Increment cursor
ACALL COMMAND ; Send command
યાદ રાખવાનું સૂત્ર: “CIDER-8” (કંટ્રોલ લાઇન્સ, ઇનિશિયલાઇઝ, ડેટા બસ, એનેબલ, રજિસ્ટર સિલેક્ટ, 8-બિટ મોડ)
પ્રશ્ન 5(અ OR) [3 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર સાથે LED નું ઇન્ટરફેસિંગ દોરો.
જવાબ:
ડાયાગ્રામ:
જરૂરી ઘટકો:
- 8051 માઇક્રોકન્ટ્રોલર
- LED
- કરંટ લિમિટિંગ રેસિસ્ટર (220Ω)
- પાવર સપ્લાય
કાર્યપ્રણાલી:
- એક્ટિવ-લો કન્ફિગરેશન: પિન = 0 ત્યારે LED ON
- P1.0 LED ને કરંટ લિમિટિંગ રેસિસ્ટર મારફતે ડ્રાઇવ કરે છે
- મહત્તમ કરંટ પિન દીઠ 20mA નથી વધવો જોઈએ
LED બ્લિંકિંગ માટે કોડ:
MAIN: CLR P1.0 ; Turn ON LED (active low)
CALL DELAY ; Wait
SETB P1.0 ; Turn OFF LED
CALL DELAY ; Wait
SJMP MAIN ; Repeat
યાદ રાખવાનું સૂત્ર: “CIRCLE” (કરંટ લિમિટિંગ રેસિસ્ટર, IO પિન, કેથોડ ટુ LED, LED ટુ અર્થ/ગ્રાઉન્ડ)
પ્રશ્ન 5(બ OR) [4 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર સાથે ડીસી મોટર ઇન્ટરફેસ કરો.
જવાબ:
ડાયાગ્રામ:
જરૂરી ઘટકો:
- 8051 માઇક્રોકન્ટ્રોલર
- L293D મોટર ડ્રાઇવર IC
- ડીસી મોટર
- પાવર સપ્લાય
કંટ્રોલ લોજિક:
P1.0 | P1.1 | મોટર એક્શન |
---|---|---|
0 | 0 | સ્ટોપ (બ્રેક) |
0 | 1 | ક્લોકવાઇઝ |
1 | 0 | કાઉન્ટર-ક્લોકવાઇઝ |
1 | 1 | સ્ટોપ (ફ્રી-રનિંગ) |
મોટર કંટ્રોલ માટે કોડ:
MOV P1, #02H ; P1.0=0, P1.1=1 (Clockwise)
CALL DELAY ; Run for some time
MOV P1, #01H ; P1.0=1, P1.1=0 (Counter-clockwise)
CALL DELAY ; Run for some time
MOV P1, #00H ; P1.0=0, P1.1=0 (Stop)
યાદ રાખવાનું સૂત્ર: “DICER” (ડ્રાઇવર ચિપ, ઇનપુટ ફ્રોમ µC, કંટ્રોલ લોજિક, એનેબલ મોટર, રોટેશન)
પ્રશ્ન 5(ક OR) [7 ગુણ]#
8051 માઇક્રોકન્ટ્રોલર સાથે DAC0808 ઇન્ટરફેસ કરો.
જવાબ:
ડાયાગ્રામ:
જરૂરી ઘટકો:
- 8051 માઇક્રોકન્ટ્રોલર
- DAC0808 (8-બિટ ડિજિટલ-ટુ-એનાલોગ કન્વર્ટર)
- ઓપરેશનલ એમ્પ્લિફાયર (આઉટપુટ બફરિંગ માટે)
- RC ફિલ્ટર (સ્મુધિંગ માટે)
- રેફરન્સ વોલ્ટેજ સોર્સ
કનેક્શન્સ:
- P1.0-P1.7 → D0-D7 (8-બિટ ડિજિટલ ઇનપુટ)
- P3.0 → CS (ચિપ સિલેક્ટ)
- DAC આઉટપુટ → ફિલ્ટર → ફાઇનલ એનાલોગ આઉટપુટ
રેમ્પ સિગ્નલ જનરેશન માટે સેમ્પલ કોડ:
START: MOV R0, #00H ; Start from 0
LOOP: MOV P1, R0 ; Output value to DAC
CALL DELAY ; Wait
INC R0 ; Increment value
SJMP LOOP ; Loop to create ramp
ઉપયોગો:
- વેવફોર્મ જનરેશન
- પ્રોગ્રામેબલ વોલ્ટેજ સોર્સ
- મોટર સ્પીડ કંટ્રોલ
- ઓડિયો એપ્લિકેશન્સ
યાદ રાખવાનું સૂત્ર: “DACR” (ડિજિટલ ઇનપુટ, એનાલોગ આઉટપુટ, કન્વર્ઝન, રેફરન્સ વોલ્ટેજ)