Ky thuat bang
0) Kién thite can biét
= Tép igh
- B6 nhé di ligu va b6 nhé chuong trinh (Kién trite Harvard)
= Con tré chuong trinh
- Té chite b6 nhé ctia PIC (cdc BANK)
- Khai nigm Stack
1) Gidi thigu vé ky thuat bang
Dé hiéu vé ky thuat bang, trudc tién ching ta xem vi dy sau:
Gia sit ching ta cn xuat dit ligu ra man hinh LCD véi day chit : “PIC_Tutorial”. 6
day, chiing ta khong cin quan tim dén hoat dng ciia LCD va hinh thite xudt dr Ligu
hu thé ndo, Chi can ede ban nim duge ring, dé xuat di ligu nhw trén ra, ching ta
phai xudt tuan ty cde ky t“P, 1, C,_,T, ut, 0,6, i, a, I" ra.
duge ede chit nay ra?
van dé
G day cé hai van dé, van dé thir nbat 1 Lim sao luu trit duge cae gid tri nay,
thir hai 1a 1am sao sap xép thir wr céc chit cdi niy dé ching ta goi ching ra mot cach
ty.
Trude tin, ching ta gidi quyét vin dé thir hai trude, béi vi né rat don gian. Cach gidi
quyét li thay vi ching ta phai tim cae chit cdi trong bang chit cdi (ca chit in lin chit
thuimg) dé goi ra vio ding thii diém de chit cai niy ra, ching ta
du cdc chit cdi nay véi cdc chi s6, va khi goi thi chiing ta chi goi chi sé dau tién 1a 0
(hoge 1, tuy theo su quy dinh), sau 46, chiing ta cit ting chi s6 nay Ién 1 dom vi, va
0% tiép chit cdi tiép theo. Cong vige nay sé dimg lai khi né dat dén chi s6 cudi cing.
thé tham khdo phin b@ nhé dt Tigu vi b§ nhé chxong trinh trong phan kién tric
Harvard va kién tric Von Neumann. Tuy nhién, chiing ta sé nhac lai ring, 46i voi PIC
dong Mid Range, b9 nhé chyong trinh ¢6 14 bit cho méi lénh, vi vay, cho dit cde ban
thyc hign Iénh nao di nia, thi Iénh dé ludn chiém 14 bit trong bd nhé chuong trink.
Mit khdc, 66 nhé dir ligu thi lai bi gidi han va mot lin twomg tac v6i b6 nhs di ligu,
cdc ban phai théng qua thanh ghi W, nhu vay, cdc ban tén thém it nhat 2 1énh cho
vige tuong tie véi thanh ghi W.
Két qua, eéch thong minh nhit 18 lu céc dit ligu dé vao trong b6 nhé chuong trinh,
thay vi hru né vao trong b6 nhé dit ligu. Lai nhac lai vé tap Iénh, néu cac ban dé y
ic ban s@ lai thay ring, c6 mét s6 Iénh cho phép tuong tae voi gid tri k (8 bit), va gia
tri k nay kh6ng hau tri trong bg nhé dit ligu, ma hu trong bd nhé churong trinh.ky thugt bing 1 ky thudt Igp trinh dé truy xudt dir ligu mét each e6 thé «
(thirty hiéu theo nghia rng 14 mdt quy ludt truy xudt nao d6), va khi cdc dir ligu d6 18
hang sé, thi ky thuat nay cho phép ching ta hru trit cde dit ligu dé trong bé nhé
chwong trinh, khéng lim tén kém b6 nhé dit ligu, va viée truy xuat duge thye hign
‘mét cdch nhanh nhat.
2) Cfich xéy dung bang
‘Tir ¥ tuéng nay, c6 thé cé rat nhiéu céch lip trinh truy xuat dif ligu bang. Tuy nhién,
do sy gidi han ca tai ligu nay, ching t6i chi trinh bay ky thudt bang tiéu biéu nbdt, va
cling tét nhat, dng théi sir dung tai ligu application note ANSS6 cla Microchip nhw
‘mt tai ligu tham khao chinh,
Dudi day 1a mét doan code dién hinh sit dung ky thuat bang trong ANSS6
Table
addwe PCL,F add offset to pe to
igenerate a computed goto
retlw ‘A’ ;return the ASCIT char A
retlw ‘B’ — ;return the ASCII char B
retlw ‘C’ —;return the ASCIT char C
‘Trong vi du nay, chung ta sé phan tich va thay rang, ti nhan [Table] con tro chuong
trinh drge cng véi gid trj nm trong thanh ghi W va hu Iai vao con tré chuong trinh.
Nhu vay, vi trf con tré chuong trinh hign tai dang nim 6 dng lénh.
addwf PCL, F
Sau khi thye hign Iénh nay PCL = W + PCL
Tiép theo d6, con tr6 chuong trinh duge ting thém mgt don vj; vi mac dinh, eit mdi
lin thye hign xong mét Iénh, con trd chuong trinh s& tng lén mot dom vi dé thye hign
enh tiép theo.
Gia sir ring, gid tri nim trong thanh khi W truée khi nhay dén nhan [Table] dang la 1
Nhu vay, con tré chuong trinh sé 1a PCL = 1 + PCL. Cé nghia 1a con tré chong
trinh sé nhay dén dang 1énh
retlw
Tuy nbién, sau dé, n6 mac dinh cng thém mot don vi dé thyc hign Iénh tiép theo, va
hu vay, lie nay con tré chuong trinh sé nhay dén dong lénh
retlw ‘B?Nhu vay, sau khi thye hign Iénh addwe, lénh tiép theo durge thye hign sé 18 Iénh rethw
“B’ ma khdng phai 1a lénh rethw ‘A’
Nhac lai l@nh RETLW rang, gia tri k ciia lénh sé duge lun vao thanh ghi W va sau dé
con tr8 churong trinh sé nhay vé TOS (top of stack).
Nhu vay, thanh ghi W sau khi nay vé TOS sé mang gid tri ‘B’, va chi cin thay d8i
id tri cia W trude khi nhay dén nhan [Table] ching ta c6 thé truy xuat bat ky gid tr}
nao theo ¥ ching ta mudn, vi gid tri ctia W sau khi tra gid tri 6 chi s6 trong
img voi W ban dau. 6 day, ching ta thay, gid ti dau tin cua bang la ‘A’ sé img voi
chi s6 0 cla W khi nhay dén bang.
‘Ching ta sé goi gid tri W ban dau 1a chi sé (offset / index) dé phan biét vai gia tri W
sau khi tri vé. Vige quy dinh nay c6 thé Li hoi mudn trong chutong nay, nhung tir nay
vé sau, trong cde img dung bang, ching ta sé chi quan tim dén vige thay déi chi sé
theo mét quy ludt no dé, ma khéng edn quan tim nhiéu dén gid tr trong bang nita
Ching ta xem nur d3 vugt qua giai doan déu cia vige xdy dug bang. Vi du trén kia
1a vi dy dién hinh nhit cho vigc str dung bang.
3) Cfich goi bing
By gid, ching ta 43 biét cach thiét lap mot bing. Chuing ta hay tam gic lai vige s8 xtt
ly di ligu bing ra sao, ma chi quan tim dén vige, néu bit chi s6 cua bing, Him thé
nao duge gid tri ctia bang ra.
Kién thie vé con tr chuong trinh 4n thiét trong phan nay. Do vay, ching téi dé
nghj cde ban xem lai chyong vé con tr6 chyong trinh, O day, ching ta chi nhie lai
Hing, con tro chuong trinh gom 2 thinh phan, PCL va PCH. Trong dé, PCL 18 8 bit
thép, c6 thé ghi va doc, con PCH Ii 5 bit cao, khéng thé ghi va doc, ma chi cé thé
‘wong téc mét cach gidn tiép qua thanh ghi PCLATH.
Do vay, khi thay déi, PCL chi c6 thé mang gia tri tir 0 dén 255 (0x00 dén OxFF). Néu
bang duge lép ra mi d6 dai bang lén hon 255 thi ching ta Kh6ng thé tray xudt duge
gid tri cudi cing trong bang. Tong tw nhu vay, néu mét bang cé 46 dai ngn hom,
nhung vi tri bat dau cua bang nam trong ving tir 0 dén 255, cin vi tri cudi cing cia
bang Igi nam ngoai 255, thi diéu nay cing kh6ng thy hign duge.
Khi 46 dai bang, hoe yéu cdu trinh bay chuong trinh mét eéch 13 rang, khién cde ban
Khong thé dat bang trong bd nhé chong trinh tir 0 dén 255, céc ban bat bude phai
xay dimg 2 bang rigng bigs.
‘Trude tién, chiing ta thye hign vige goi bing théng thudmg, khi gid tri cua bing nim
trong viing tir 0 dén 255 trong b9 nhé churong trinh.