Ads

Sunday, 13 September 2015

PIC16F84 µC এর জন্য .hex ফাইল তৈরি করুন PROTIOUS দিয়ে

ইলেকট্রনিক্স তথা মাইক্রোকন্ট্রোলার নিয়ে যারা কাজ করে থাকেন তাদের জন্য অতি পরিচিত এবং জনপ্রিয় একটি সফটওয়্যার হচ্ছে PROTIOUS । বিভিন্ন ক্ষেত্রে এই সফটওয়্যারটিকে ব্যবহার করা গেলেও সিমুলেশন সফটওয়্যার হিসেবেই এটি বেশি জনপ্রিয়। আজ আমরা PROTIOUS কে সিমুলেশনের জন্য নয় বরং এসেমব্লি টু মেশিন ল্যাঙ্গুয়েজে রূপান্তরের জন্য অর্থাৎ এসেমব্লি ল্যঙ্গুয়েজে লেখা প্রোগ্রামকে কম্পাইল করে .hex ফাইল তৈরির জন্য ব্যবহার করব।
 
কার্যপ্রণালী
সর্বপ্রথমে c ড্রাইভের মধ্যে একটা abc নামে ফোল্ডার তৈরি করুন, এর পর abc ফোল্ডারের মধ্যে একটা notepad ওপেন করে এসেমব্লি ল্যঙ্গুয়েজে code লিখুন।
EXAMPLE CODE:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
;******* program introduction ********
 
             ;program name: Flas lead
             ;creator:mamun
             ;date:19/12/09
             ;processor:pic16f84A
             ;oscillator:4MZ
             ;function:LEDS on & off turn by turn
 
;******* microcontroller configuration and declaration ********
 
 processor 16F84
#include"p16F84.inc"
 __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
 
;******* Declaring the variables **********
 
count    equ 0x0c
count1   equ 0x0d
count2   equ 0x0e
 
   ORG 0x00
   goto init
 
   ORG 0x04
   goto init
 
;******* Delay subprogram *********
 
delay  movlw 0x44
       movwf  count
aa     movlw 0x12
       movwf  count1
bb     movlw 0x10
       movwf  count2
       decfsz   count2,f
       goto $-1                       ;'goto $-1' means jump back one line.
       decfsz   count1,f
       goto bb
       decfsz   count,f
       goto aa
 
       return               ;return to main program
 
;********* main program *********
 
init bsf STATUS,RP0        ;select 1st bank
     movlw 0x00          ;declare all ports of A as output
     movwf TRISA
     movlw 0x00            ;declare all ports of B as output
     movwf TRISB
 
main bcf STATUS,RP0        ;switch to bank 0
     movlw 0xF0
     movwf PORTB
     call delay
     movlw 0x80
     movwf PORTB
     call delay
     movlw 0x40
     movwf PORTB
     call delay
     movlw 0x20
     movwf PORTB
     call delay
     movlw 0x10
     movwf PORTB
     call delay
     goto  main
     end
 
;********* End of main *********
উপরের কোড টুকুকে notepad এর File মেনু থেকে Save as এ ক্লিক করে File name হিসেবে auto.asm বা এর অনুরূপ নামে Save করুন। তবে অবশ্যই .asm এক্সটেনশন দিয়ে Save করবেন।
এখন উপরের এনিমেশনে যেমনটা দেখানো হয়েছে, PROTIOUS এর ISIS ওপেন করে Pic from library তথা P চিহ্নিত বাটনটি প্রেস করে Pic Devices উইন্ডোটি ওপেন করুন; Keywords টেক্সটির নিচের ইনপুট বক্সে মাইক্রোকন্ট্রোলারের নাম লিখুন। এখন নিচের দিকের OK বাটনটি প্রেস করুন। এখন আপনার মাউস পয়েন্টারটি একটি পেনসিলের আকৃতি ধারণ করবে। ডিজাইন এডিটরে একটা ক্লিক করলে মাউসটি মাইক্রোকন্ট্রোলারের আকৃতি ধারণ করবে, এরপর মাউস পয়েন্টারটি উপযুক্ত স্থানে ক্লিক করলে একটি PIC16f84 মাইক্রোকন্ট্রোলার এডিটরে তৈরি হবে। এখন PIC16f84 মাইক্রোকন্ট্রোলারটির উপর একটি ক্লিক করলে মাইক্রোকন্ট্রোলারটি সিলেক্ট হয়ে লাল আকৃতি ধারণ করবে।
এখন মেনুবারের source মেনুতে ক্লিক করে Add/Removes source files এ ক্লিক করতে হবে। দেখে নিতে হবে Code Generation Tool টেক্সটির নিচের টেক্সটবক্সে MPASMWIN লেখা আছে কিনা। এর পর New বাটনে ক্লিক করে আমরা যে c ড্রাইভের মধ্যে একটা abc নামে ফোল্ডার তৈরি করে abc ফোল্ডারের মধ্যে auto.asm নামে একটা ফাইল তৈরি করেছিলাম সেটা দেখিয়ে দিয়ে OK বাটনে ক্লিক করতে হবে।
এখন পূণরায় মেনুবারের source মেনুতে ক্লিক করে Build All এ ক্লিক করতে হবে। তাহলে কিছুক্ষণের মধ্যেই BUILD LOG নামে একটা উইন্ডো OPEN হবে এবং এতে একটা message এর সর্বশেষ লাইনে লেখা থাকবে Source code build completed OK. । তাহলে আপনার c ড্রাইভের মধ্যে একটা abc নামে তৈরিকৃত ফোল্ডারটির মধ্যে অন্যান্য ফাইলের সাথে auto.hex ফাইলটিও পেয়ে যাব।
এই পদ্ধতির সুবিধা হচ্ছে আপনি যদি এসেমব্লি ল্যাঙ্গুয়েজ দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রামিং করতে চান তাহলে আপনাকে কোড এডিটর এবং সিমুলেটরের জন্য আলাদা সফটওয়্যার ব্যবহার করতে হচ্ছে না, শুধুমাত্র PROTIOUS ব্যবহার করেই করতে পারছেন।

No comments:

Post a Comment