PIC ๊ฐ๋ฐ(PIC16F19155์ L์)
5124 ๋จ์ด MPLAB-SNAPxc8MPLAB-X-IDEpic
์ ์ ๋ฐฉ๋ฒ
๋๋ ๋ค์ ์ฌ์ดํธ์์ ์ป์๋ค.
ํ์
ํ๋ช
์์ ๋ฃ์ ๊ณณ
URL
๋ง์ดํฌ๋ก ์ปดํจํฐ
PIC16F19155
์ถ์์ ์
https://akizukidenshi.com/catalog/g/gI-13504/
์ฐ๊ธฐ ๋๊ตฌ
MPLAB SNAP
์ถ์์ ์
https://akizukidenshi.com/catalog/g/gM-13854/
IDE
MPLAB X IDE
microchip
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
C ์ธ์ด
xc8
microchip
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers
์ด์ธ์๋ ์ ํญํ, LED, ์ฝ๋ด์, ๋นํธ์ค์์น, ICํด๋ฆฝ ๋ฑ๋ ์ถ์์ ์์์ ๊ตฌ๋งคํ๋ค.
ํ๋ก๋
์ค์ ๋ก RC1์ ์ฐ๊ฒฐ๋ ํ๋์ LED๋ง ์ฌ์ฉํ์ง๋ง, ๋ ๊ฐ์ LED์ ํ ๊ฐ์ SW1๊ณผ PIC๋ก ๊ตฌ์ฑ๋ ํ๋ก๋๋ฅผ ๋ง๋ค์๋ค.MLABO SNAP์ ์ฐ๊ฒฐํ๋ J1์ ๋ํด์๋ ์ค๋ช ํฉ๋๋ค.ํฌ๋ฆฌ์คํ ๋ฐ์ง๊ธฐ ๋ฑ์ด ์์ด ๊ฐ๋จํ๋ค.

์ํํธ์จ์ด ์ค์น
xc8โMPLAB X IDE ์์ผ๋ก ์ค์นํ์ต๋๋ค.MPLAB X IDE๋ฅผ ์ค์นํ ํ MPLAB X IDE์ ๋ฉ๋ด Tools โ plagin์์ MPLAB Code Configurator๋ฅผ ์ค์นํฉ๋๋ค.MPLAB Code Configuurator(MCC)๋ ๊ฒฌ๋ณธ ์์ค๊ฐ ํ์ ์์ ์ ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๋์์ ์ฃผ๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
MPLAB SNAP(์ฐ๊ธฐ ๋๊ตฌ)
MPLAB SNAP๋ ์ฐ๊ธฐ ์ธ์๋ ๋จ๊ณ ์คํ ๋๋ ๋ณ์Watch ๋ฑ์ ๋๋ฒ๊น ์ ์ํํ ์ ์๋ ํ๋์จ์ด์ ๋๋ค.์ปดํจํฐ์๋ ๋ง์ดํฌ๋กUSB ๋จ์๋ก ์ฐ๊ฒฐํ๊ณ PIC์๋ ์ ํผ ๋ฑ์ผ๋ก ์ฐ๊ฒฐํ๋ค.ํ๋ค์ค๋ฅผ ๋ค์ ํ ์ด๋ธ๋ก ์ ๋ฆฌํฉ๋๋ค.์ฝ๋ด์์ ์ ํญ์ ๋ผ์ฐ์ง ์๊ณ ์ง์ ์ฐ๊ฒฐํ๋ค.์ ์์ ๋ง์ดํฌ๋ก์ปดํจํฐ ์ธก์ ๋์ ํ MPAB SNAP๋ฅผ ๋๋๋ค.PICKET4์ ๋ฌ๋ฆฌ MPALB SNAP์์ ์ ๋ ฅ์ ๊ณต๊ธํ์ง ์์ต๋๋ค.
MPLAB SNAP
PIC16F19155
์ํ์ ์ค๋นํ๋ค
1 MCLR
1 MCLR
๋ณดํต ์คํํ ๋ ๋ฏ์ง ์์ผ๋ฉด ์์ง์ด์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
2 Vcc
20 Vcc
MPLAB SNAP์์ ์ ๊ณต๋์ง ์์ผ๋ฏ๋ก ๋ณ๋์ ์ ์์ด ํ์ํฉ๋๋ค.
3 GND
19 GND
4 PGD
28 ICSPDAT
5 PGC
27 ICSPCLK
6NC
-
์ฐ๊ฒฐ๋์ง ์์
7 -
-
์ฐ๊ฒฐ๋์ง ์์
8 -
-
์ฐ๊ฒฐ๋์ง ์์
ํ๋ก์ ํธ ์์ฑ
MPLAB X IDE๊ฐ Fileโ New Project์ ํ์ํ ๋ํ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ญ๋๋ค.
1.Standalone Project
2. Device&PIC16F19155 ์ ํ
Tool>Snap-XXXX(XXXX๋ ์ผ๋ จ ๋ฒํธ?)๋ฅผ ์ ํํฉ๋๋ค.ํ์๋์ง ์์ผ๋ฉด MPLAB SNAP์ ๋ํ ์ฐ๊ฒฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
3. XC8 ์ ํ(v2.32)
4. Project Name> ๋ช ๋ช ๋ ํญ๋ชฉ์ฌ๊ธฐ์ ๋ฆฌ์นด๋ฅผ ๊ณจ๋์ด์.
๋ง์ง๋ง์ผ๋ก Finish ๋ฒํผ์ ์ฌ์ฉํ์ฌ ํญ๋ชฉ์ ๋ด๋ณด๋ ๋๋ค.
PIC ์ค์
์ด์ด์ MCC๋ฅผ ์ฌ์ฉํ์ฌ PIC๋ฅผ ์ค์ ํฉ๋๋ค.MCC ์์ด์ฝ์ด ์์ ๊ฒฝ์ฐ ํ๋ฌ๊ทธ์ธ ์ค์ ์ ํ์ธํฉ๋๋ค.
์์ ๋น๋ ์ค์
์ด๋ฒ์ ๋ด์ฅ ์๊ณ๋ฅผ 32MHz ์ฃผํ์๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ์์คํ Clock์ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ 32MHz(2xPLL)๋ก ์ค์ ํฉ๋๋ค.

์ถ๋ ฅ ์ค์ ๊ฐ์ ธ์ค๊ธฐ
ํ๋ก๋์ ๊ฐ์ด MCC๋ฅผ ์ฌ์ฉํ์ฌ RC0RC1 ์ถ๋ ฅ์ RC4 ์ ๋ ฅ์ผ๋ก ์ค์ ํฉ๋๋ค.

pulup ์ค์
RC4 ๋ด๋ถ pull up์ ์ค์ ํฉ๋๋ค.๋ด๋ถ pull up์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ WPU์์ ์ด ์ต์ ์ ์ ํํฉ๋๋ค.WPU๋ weak pull up์ ์๋ต์ ๋๋ค.

์ฝ๋ ์์ฑ๊ธฐ
๊ทธ๋ฐ ๋ค์ Generate ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ง๊ธ๊น์ง PIC ์ค์ ์ ์ํํ๋ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ํ๋ก์ ํธ์ ์ถ๊ฐํฉ๋๋ค.

์ํํธ์จ์ด
๊ทธ๋ฐ ๋ค์ LED๋ฅผ ๊น๋ฐ์ด๋ ์ฝ๋๋ฅผ ๊ธฐ๋กํฉ๋๋ค.

๋ฅผ ์ ๋ ฅํฉ๋๋ค.ํด๋ฆญํ๋ค

main ํจ์์while ์์์ LED๋ฅผ ๋น๋๊ฒ ํ๋ ์ฝ๋๋ฅผ ์ฐ์ญ์์ค.
while (1)
{
// Add your application code
IO_RC1_SetHigh() ;
__delay_ms(500);
IO_RC1_SetLow() ;
__delay_ms(500);
}
์ด ์ฝ๋๋ RC1์ LED๋ฅผ 500ms(=0.5์ด)๋ง๋ค ๊น๋ฐ์
๋๋ค.IO_RC1_SetHigh() ๋ฐ ์
์ถ๋ ฅRC1_SetHigh () ๋ RC1์ ๋์งํธ ์ถ๋ ฅ์ ์ํ ๋งคํฌ๋ก๋ก MCC์์ ์์ฑํpinmanger.h์์ ์ ์ํฉ๋๋ค.์ด ํ์ผ์ IO๋ ์์ด์.RC3_Toggle() ๋ฑ๋ ์ ์๋์ด ์์ด ์ฝ์ ์ ์์ต๋๋ค.delay_ms๋ ๋งค๊ฐ ๋ณ์์ ms ๊ฐ์ ์ ์ง๋ ๋งคํฌ๋ก์
๋๋ค.pic.h์์ ์ ์ํ๊ณ xc์ ๋ณํฉdelay ํจ์๋ฅผ ํธ์ถํฉ๋๋ค.์คํ
ํ๋ฉด์ ์์ชฝ ๊ฐ์ด๋ฐ ์ผ๊ฐ ๋ฒํผ์ ์ฌ์ ๋ฒํผ์ ํด๋ฆญํ ๋ค PIC๋ก ์ ์กํด ์คํํ๋ค.

์คํ ์ค์ธ ํ๋ฉด

๋ค์ ๊ณํ
๋ค์์ ๋ฐ์ ์ค์์น๋ฅผ ์ฌ์ฉํ๋ ์๋ฅผ ์๊ฐํ๋ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(PIC ๊ฐ๋ฐ(PIC16F19155์ L์)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://qiita.com/rdon_key/items/9a265edcca0f14e1a89dํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค