Azərbaycan Respublikası Təhsil Nazirliyi


Download 5.01 Kb.
Pdf ko'rish
bet110/157
Sana21.11.2023
Hajmi5.01 Kb.
#1792576
1   ...   106   107   108   109   110   111   112   113   ...   157
Bog'liq
2014-2730 (2)

Kampilyator. 
Kampilyator kimi JAL с IDE JALEdit seçirik. 
JALEdit işə salırıq. Mikrokontroller üçün proqram nümunəsi açırıq: 
16f628a_blink.jal və yeni faylda saxlayırıq.
Bütün kodu 4 bloka bölmək olar: 
1) MK-nın və onun konfiqurasiyasının seçilməsi
include 16f628a – MK-nın kitabxanasının qoşulması:
-- 
-- This program assumes a 20 MHz resonator or crystal 
-- is connected to pins OSC1 and OSC2. 
pragma target clock 20_000_000 -- oscillator frequency 
-- configuration memory settings (fuses) 


235
pragma target OSC HS -- HS crystal or resonator 
pragma target WDT disabled -- no watchdog 
pragma target LVP disabled -- no Low Voltage Programming 
pragma target MCLR external -- reset externally 
-- 
Dəyişənlərin, prosedurların, funksiyaların elan edilməsi
alias led is pin_A0 
pin_A0_direction = output 
əsas tsiklə qədər kökləmələrin və hesablamaların yerinə yetirilməsi
enable_digital_io() – bütün girişlərin/çıxışların rəqəmli rejimə keçirilməsi  
MK-nın əsas fəaliyyətinin sonsuz tsikli
forever loop 
led = on 
_usec_delay(250000) 
led = off 
_usec_delay(250000) 
end loop 
F9 düyməsini bassaq (yaxud digər uyğun düyməni) proqram hazır tikilmə 
(proşivka) kampilyasiya olunur, bu halda MK-nın nə qədər resursları işə 
düşəcək:
Code :58/2048 Data:4/208 Hardware Stack: 0/8 Software Stack :80 
Əgər bu şərhə diqqət yetirsək, aydın olar ki, bu proqram 20MHs-li kvars 
istifadə olunmasına hesablanıb. 
Başlanğıc olaraq daxili generatorun istifadəsi ilə MK-nın işinin 
proqramını nəzərdən keçirək. 
Qoşulmuş kitabxanada hər bir bitə və onun hər bir qiymətinə oxuna bilən 
dəyişən verilir.
-- Symbolic Fuse definitions 
-- ------------------------- 
-- 
-- addr 0x2007 
-- 
pragma fuse_def OSC 0x13 { -- oscillator 
RC_CLKOUT = 0x13 -- rc: clkout on ra6/osc2/clkout, rc on ra7/osc1/clkin 
RC_NOCLKOUT = 0x12 -- rc: i/o on ra6/osc2/clkout, rc on ra7/osc1/clkin 
INTOSC_CLKOUT = 0x11 -- intosc: clkout on ra6/osc2/clkout, i/o on 
ra7/osc1/clkin 
INTOSC_NOCLKOUT = 0x10 -- intosc: i/o on ra6/osc2/clkout, i/o on 
ra7/osc1/clkin 


236
EC_NOCLKOUT = 0x3 -- ec 
HS = 0x2 -- hs 
XT = 0x1 -- xt 
LP = 0x0 -- lp 


Download 5.01 Kb.

Do'stlaringiz bilan baham:
1   ...   106   107   108   109   110   111   112   113   ...   157




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling