Çok fazla kaynak bulunmayan PIC uygulamalarında ulaştığım bir projeyi paylaşmak istedim. Mikrochip Technology firması tarfından üretilen bu mikrodenetleyiciler ismini Çevresel Arayüz denetleyici (PIC: Peripheral Interface Controller) olarak adlandırılsa de şimdilerde daha çok Programlanabilir akıllı bilgisayar (Programmable Intelligent Computer) olarak adlandırılıyormuş wikipedia’ya göre! Daha önce 12F629 ile PWM çıkışlı RGB LED, 16F628 ile de LED animasyon ve LCD ekran kullanımı örneklerini görmüştük. O yüzden çok da hakim olmadığım derin bilgilere girmeyeceğim.
Bu proje de zaten daha önce yaptığımız 1602 LCD ekran bağlantısını kullanarak yaptığımız “Hello World!” uygulamasının devamı. Aynı devre şeması üzerinde birkaç değişiklikle oluşturulmuş. Bu sefer ‘dünyaya merhaba’ demek yerine bir saat oluşturuyoruz. Devre şemasına bakınca anlaşılıyor zaten.
Bu devredeki küçük fark (tabi kod dışında) kullanılan kristal 4 MHz. Ayrıca RA0, RA1, RA2 girişlerine birer tane (S1, S2. S3)buton eklenmiş. Bu bacaklar geçen sefer kullanılmamıştı. 10kΩ pull up dirençleriyle butonlar gnd hattına çekiliyor. S1 butonuna basıldığında saat basamakları yanıp sönmeye başlayarak ayarlanabilecek olduklarını gösteriyor. S2 butonu ekrandaki iki basamaklı sayıyı yukarı doğru arttırıyor, S3 butonu da azaltıyor. S1 butonuna tekrar basıldığında bu sefer ortadaki dakikayı gösteren iki basamak yanıp sönüyor. Yine bu sayılar sırasıyla S2 ve S3 anahtarlarıyla arttırılıyor ya da azaltılıyor. S3 butonuna üçünce kez basıldığında bu sefer saniyeyi gösteren en sondaki iki basamak yanıp sönüyor ve S2 ve S3 ile ayarlanabiliyor. Tekrar S1 butonuna basıldığında ise saymaya başlıyor ve zaman ilerliyor.
Cep telefonundaki kronometre ile denediğimde 15 dakika içerisinde yaklaşık 3-4 saniyelik bir gecikme olduğunu söylemeliyim. Sanırım 4 MHz’lik kristal ya da 22 pF kondansatörün değerlerindeki sapmalardan dolayı bu gecikme yaşanıyor.
Elimdeki Hex dosyasını yüklemek için yine K150 program yükleyiciyi kullandım. Her USB bağlantısı yaptığımda ‘Aygıt Yöneticisi’nde hata mesajı aldım! Ama artık öğrendik diğer videolarda anlattığım gibi sürücü yeniden yüklenerek bu sorun aşıldı.
İlgilenen arkadaşlara: Hex Files:
:020000000A28CC
:10000800FE00030EF0000A08F1001B2A472AFF3001
:10001800F70183168500073083129F002C21582290
:10002800F70883120313031D222805189B28F701DC
:10003800F70A05189B2877087A211D28851C272888
:10004800412877087A21851836282528F80A0319BF
:10005800F90A9B28FA0A0319FB0A9B28AC0A031918
:10006800AD0A9B287708013A03192A28033A03198D
:100078002E28013A031932289B28051D4628812875
:1000880077087A210519762844282D082C04031DA1
:1000980051283B30AC00AD019B280130AC02003048
:1000A800031CAD03AD029B287B087A04031D60285E
:1000B8003B30FA00FB019B280130FA020030031C98
:1000C800FB03FB029B2879087804031D6F2817306F
:1000D800F800F9019B280130F8020030031CF903ED
:1000E800F9029B287708013A03196728033A03198C
:1000F8005828013A031949289B28051C86289B285B
:1001080077087A2105189028842802308C28033033
:10011800F7009B28F7019B287708013A03198928DB
:10012800033A03198B28013A03198E289B2877086C
:100138007A212B082A04031DB0287908A40078081E
:10014800A3007B08A6007A08A5002D08A8002C08A3
:10015800A700A901C92014282B03F43003192A0683
:10016800031D14287708031914287908A4007808AF
:10017800A3007B08A6007A08A5002D08A8002C0873
:10018800A7007708A900C92014283B22831203136B
:10019800290BD2282030F7212030E5280A30F20038
:1001A800F3012408F5002308F400A9217208303E61
:1001B800F72126212408F5002308F400D32172082A
:1001C800303EF7213A30F721831203132908023A07
:1001D800031DF2282030F721203005290A30F200CB
:1001E800F3012608F5002508F400A9217208303E1D
:1001F800F72126212608F5002508F400D3217208E6
:10020800303EF7213A30F721831203132908033AC5
:10021800031D12292030F7212030F7290A30F20077
:10022800F3012808F5002708F400A9217208303ED8
:10023800F72126212808F5002708F400D3217208A1
:10024800303EF7290A30F200F30183120313080045
:100258003430732183167321F500F130F400F40B68
:100268003329F50B332938296C212C220830F50065
:10027800C930F400F40B3E29F50B3E2943296C21C3
:100288002C226330F400F40B47294A296C212C22D4
:100298000330F5009730F400F40B5029F50B502982
:1002A80055290F3083120313860586162C22033036
:1002B800F5009730F400F40B5F29F50B5F296429EA
:1002C800283009220C300922013009220630092A77
:1002D8000F30831203138605303086040800061099
:1002E800861006128612061386130800F2002B08E1
:1002F800033AE83003192A06031D8929F20803196D
:10030800AC0A0319AD0AAA01AB012C083C3A2D042A
:10031800031D9529F2080319FA0A0319FB0AAC010F
:10032800AD017A083C3A7B04031DA129F2080319A0
:10033800F80A0319F90AFA01FB017808183A79044E
:10034800031D0800F801F9010800A101A2017308C2
:1003580072040319CE29A001A00AF31BB7290310C0
:10036800F20DF30DB0290310A10DA20D730875024B
:10037800031DC02972087402031CCA297208F402FA
:100388007308031CF503F50221140310F30CF20C97
:10039800A00BB7292208F3002108F200080073080F
:1003A80072040319F229F601F60AF31BDF29031078
:1003B800F20DF30DD82973087502031DE52972089B
:1003C8007402031CEE297208F4027308031CF50377
:1003D800F5020310F30CF20CF60BDF297508F30095
:1003E8007408F2000800F3000F3083120313861418
:1003F80086057308F03986042C220F308312031304
:100408008605730EF03986042C2AF3000F30831208
:100418000313861086057308F03986042C220F30E2
:10042800831203138605730EF03986042C2A0B1DDC
:10043800252A08308312031381000B11AA0A031915
:10044800AB0A71088A00700E8300FE0E7E0E09004A
:1004580010300614F200F20B2F2A640010308312B9
:1004680003130610F200F20B372A6400080001306B
:1004780009220330F5009730F400F40B412AF50BFC
:10048800412A462A0800F801F901FA01FB01AA01EC
:10049800AB01AC01AD0183010B28C13083160313F6
:0A04A80081058B168B170800512AFE
:02400E0062FF4F
:00000001FF
Kaynak: http://saeedsolutions.blogspot.com/2014/03/pic16f628a-based-controllable-digital.html