Professional Documents
Culture Documents
Damh1 PDF
Damh1 PDF
NGUYN C TR-DV06
Li m u
Hu ht cc ng dng ca vi x l c mt tt c cc ngnh ngh. cc nc pht trin cng ngh x l bng my tnh rt thng dng. Vic xut hin pht trin ca cc b vi x l gip con ngui t c nhng thnh tu vt bc trong thi gian ngn. Tuy nh hng ca cc chip vi x l l v cng to ln i vi cuc sng con ngi v khng c ngi no c th tnh ton vt qua chip vi x l, nhng cc chip vi x l ny vn phi chu s iu khin ca con ngi. Vi ti: ng dng vi iu khin pic 16F877A lm lch vn nin cho thy cc vi iu khin c s dng rng ri, gn gi vi cuc sng hng ngy. Vic thc hin ti mang li nhiu kinh nghim trong vic tip cn vi mt vi iu khin mi, qua m ra nhiu thun li cho vic pht trin ti cng nh lm quen cc vi iu khin hin i hn.
TI:
S dng vi iu khin PIC 16F877A thc hin lch vn nin bao gm hin th gi; pht; giy; ngy; thng; nm. Hiu chnh thi gian thng qua nt bm bn ngoi.
NGUYN C TR-DV06
v pin bn ngoi. Bn cnh vic giao tip song song vi VK to iu kin thun li hn vi giao tip ni tip.
Khi hin th: s dng LCD 16x2. B LCD 16x2 l mt trong nhng cch hin th
thng dng bn cnh dng LED. u im vic dng LCD l rt d hin th v iu khin, bn cnh vic m rng ti cng n gin hn. Vi 2 dng ch, mi dng gm 16 k t l hin th.
KHI IU KHIN PIC 16F877A KHI THI GIAN THC IC DS12C887 KHI HIU CHNH NT BM
NGUYN C TR-DV06
bit 0-3 ca port C ni vi bit D4-D7 ca LCD (D0-D3 khng s dng ni t). Bit 6 ca port C ni chn EN; bit 7 ni RS. Do ta khng c nhu cu ly d liu t LCD nn chn W/R ca LCD coi nh ni t, xc nh ch ghi. Thit k ny l tit kim nht vi s lng bit dng ch l 6 bit giao tip. Mch hin th (LCD): Thit k mch hin th LCD bao gm 1 b LCD 16x2 dng hin th. Mt bin tr iu chnh tng phn cho LCD. V mt in tr h p cho LED n nn ca LCD. B.1.2) PIC v DS12C887 Giao tip gia PIC v DS12C887 l giao tip song song theo kiu bn song cng. Tc l ti mt thi im ch truyn theo mt chiu duy nht. Ta kt ni nh sau: portD ca PIC l port truyn d liu ni vi AD0-AD7 ca RTC. Port E ca PIC l port iu khin ni vi cc chn DS,RW,AS ca RTC. Mch thi gian thc (DS12C887): do tnh u vit hn cc IC thi gian thc khc l tch hp thch anh v ngun pin d tr sn trong IC nn mch thi gian thc rt n gin ch gm 1 IC v t 104 ni chn dng v m ca IC. B.1.3) PIC v nt nhn Giao tip ny thc hin qua port B ca pic vi nt TIME_SET l bit2; INC la bit 5; DEC l bit 4. L do cho vic sp xp ny l p ng vic chy dy trn mch thc t n gin trn mt lp mch. Mch hiu chnh (nt bm): Do PIC hot ng 20mAv 5V trn cc chn. Khi cha bm nt th ngun 5V c ni vi chn ca PIC. Nu trong trng hp no chn input ca PIC chuyn thnh output th yu cu l dng vo phi nh hn hoc bng 20mA. Nh vy trong thit k ta dng R c gi tr 4.7K. Khi I=5/4.7K < 20mA l t u cu thit k. B.1.4) Mch iu khin (PIC): S dng thch anh 4Mhz, ch XT. Theo datasheet ca vi iu khin PIC (trang 2-7) th gi tr t c chn l t 15-30pF. Trong mch ny ta chn gi tr ca t bng 22pF. Bn cnh ta c t 104 ni gia Vss v Vdd ca PIC gim tnh trng sc in.
http://www.ebook.edu.vn
NGUYN C TR-DV06
http://www.ebook.edu.vn
NGUYN C TR-DV06
Khi ong cac port: D,E: output B: Input Goi: -INIT_LCD: khi tao LCD -INIT_DS12C887: khi tao
Giai thch: Ta bat au khi tao cac port sau khi ra tat bo ngat, nham tranh tnh trang cha thiet lap xong a ngat da en s mat ieu khien he thong. Sau o goi cac trnh con khi ong cho LCD; RTC. Ta phai con chng trnh con UPDATE (Nvu: cap nhat d lieu t RTC vao o nh trong PIC); vi muc ch la thiet lap gia tr ban au cho PIC. Sau o ta goi INIT_TRANSFER (Nvu: xuat toan bo hien th cac gia tr ra LCD); vi muc ch la thiet lap hien th ban au cho LCD v lan sau khi hien th ra LCD, ta ch cap nhat cac thong so b thay oi. Sau khi a thiet lap, ta bat bo ngat e nhan xung clk e cap
http://www.ebook.edu.vn
NGUYN C TR-DV06
nhat thi gian t RTC. Sau o KT coi nut SET_TIME c nhan, neu co goi chng trnh SET_GIO; neu khong; quay ve va KT tiep.
B.2.1.2) CHUONG TRINH CON INIT_LCD Port C: output Phat lenh 0x01: CLR man hnh Kt thc
Phat lenh RESET 3 lan.( Moi lan Delay 160US e chac chan LCD nhan c lenh) Phat lenh 0x0C: bat hien th tat con tro
Giai thch: Port C la port giao tiep ra LCD (vi bit 3-0:truyen d lieu; bit 7: EN; bit 6: RS). Moi lan khi ong cho LCD can 15ms. Sau o ta phai RESET 3 lan am bao khong con du lieu trong RAM cua LCD (lan 1 delay 5ms; 2 lan sau delay 160ms). Cac gia tr delay tnh theo datasheet cua LCD. Roi cac lenh phat ve sau ch delay 160ms. Cac lenh khi ong c e cap trong bang tap lenh ieu hien LCD trang xx.
B.2.1.3) CHUONG TRINH CON INIT_DS12C887 Gii thch Truyen gia tr 00101111 vao thanh ghi A cua RTC; muc ch: x010xxxx : cho phep RTC hoat ong em theo TA noi, va xxxx1111: thiet lap che o tao xung CLK 2Hz chan SWQ vi muc ch xac nh thi iem cap nhat d lieu vao VK. Tuyen gia tr 01011010 vao thanh ghi B cua RTC; much ch: cho phep ngat nh thi; cho phep bat c ngat nh thi; bath che o phat xung SWQ; che o lu la BCD; em 24h/ngay.
http://www.ebook.edu.vn
NGUYN C TR-DV06
Goi: CT WRITE_12C887
Goi: CT WRITE_12C887
Kt thc
B.2.1.4) CHUONG TRINH CON UPDATE(IN:RTC; OUT:RAM) Gia thch: Nguyn tc update n gin ch l truy cp vo cc a ch cc nh thi gian trong RTC v ly d liu ra (thong qua trnh con: READ_12C887), lu vo RAM VK. Cc gi tr ly ra gm: giy(0x00); pht(0x02); gi(0x04); ngy(0x07); thng(0x08); nm(0x09).
http://www.ebook.edu.vn
LCH VN NIN DNG PIC 16F877A Chuyn a ch cha bin giy vo ADD_R.
NGUYN C TR-DV06
Kt thc
B.2.1.5) CHUONG TRINH CON INIT_TRANSFER (IN: RAM;OUT:LCD) Mc ch ca CT con ny l chuyn 1 ln u tt c cc gi tr ln LCD trnh tinh trng mi ln cp nht l phi chuyn ht li, iu ny s lm LCD nhp nhy khi cp nht. Do ch l thit lp ban u nn ch quy nnh v tr tng bin thi gian. Trnh con ny khng v s do thut ton n gin, c th hiu trc tip c. B.2.1.6) CHUONG TRINH CON WRITE_12C887 (IN:ADD_W , DATA_W; OUT:RTC) Mc ch ca trnh con ny l i d liu t RAM ni VK qua RAM ni ca RTC. Theo nghin cu qua datasheet ca RTC (theo tiu chun Intel, MOT=0) th c th tm tt cc bc nh sau: B1: a chn DS v RW ln mc cao. B2: Xut gi tr cn ghi ln RAM ca RTC ra cc chn ca DATAPORT (portD). B3: To cnh xung ti chn AS B4: a d liu cn ghi vo ia ch nh va nh ca RTC. B5: a chn RW v mc thp B6: To cnh ln ti chn AS.
http://www.ebook.edu.vn
NGUYN C TR-DV06
Trong ASM ca CT con ny c rt nhiu lnh NOP vi mc ch l to tr 1 chu k my m bo thi gian chuyn mc cho cc chn.
Chuyn a ch cn ghi ra DATAPORT Khi to port D l port xut
Kt thc
B.2.1.7) CHUONG TRINH CON READ_RTC (IN: ADD_R;OUT:DATA_R) B1: a chn DS, RW, AS ln mc cao B2: a a ch ca thanh ghi cn c ca RTC vo DATA_PORT B3: To cnh xung ti chn AS B4: To cnh xung ti chn DS B5: Khi to DATA_PORT thnh port nhp ly d liu ra t RTC. B6: Da chn AS ln mc cao. Khi to port D l port xut
Chuyn a ch cn c ra DATAPORT
Kt thc
Thit lp DS, RW, AS mc cao To cnh xung ti chn AS To cnh xung ti chn DS
Thit lp AS mc cao
NGUYN C TR-DV06
B.2.1.8) CHUONG TRINH CON TRANSFER_LCD Gii thch: Chuyn cc gi tr thi gian vo LCD. tng l ch c nhng phn no thay i th mi c cp nht vo LCD. Thc hin bng cch: kim tra cch gi tr thi gian, nu bng gi tr u tin (0: i vi giy, pht, gi; 1: i vi ngy, thng, nm) th s c qut n gi tr cao hn.
RAM_SEC =0?
Gi: GIAY_DOI
RAM_MIN =0?
Gi: PHUT_DOI
RAM_HOU =0?
Gi: GIO_DOI
RAM_DAT =1?
Gi: NGAY_DOI
RAM_MON =0?
Gi: THANG_DOI
RAM_YEA =0?
Gi: NAM_DOI
Kt thc
B.2.1.9) CHUONG TRINH CON WRITE_DATA Mc ch: ghi d liu thi gian trong PIC ra LCD. Chng trnh ny khc vi CT con Write_ins (ghi lnh iu khin LCD). Hai chng trng ny u c lu ging nhau. im khc nhau duy nht l: i vi write_data: ta khi ng thm chn RS (RS=1) ca LCD (nhn bit l byte l byte d liu), v ngc li i vi write_ins.
http://www.ebook.edu.vn 10
NGUYN C TR-DV06
Nguyn tc thc hin: B1: tch 1 byte 8 bit thnh 2 phn 4 bit (do nguyn tc kt ni l 4 bit). B2: Chuyn d liu (MSB) ra port_LCD. Mc ch chuyn ra trc to s n nh do d liu. B3: bt v tt EN (cho php gi bit ra LCD). i vi CT write_data th ta phi bt RS trc khi bt v tt EN, cn v CT write_ins th khng cn. B4: delay 1 khong 160 us, chc chn l LCD nhn c d liu. B5: tip tc thc hin tip v 4 bit thp v thc hin li bc 1. B.2.1.10) CHUONG TRINH NGAT Loi ngt: s dng ngt ngoi RB0/INT. Mc ch ca trnh ngt: nhn xung clock t RTC bo hiu thi gian cp nht d liu, do LCD khc vi LED ch l LCD ch cn truyn qua 1 ln th gi tr c gi; cn LED phi truyn pht lien tc(qut led). Cch thc hin: do RTC 12C887 ch c th to xung clk ra chn SQW vi tc ti thiu l 2Hz, tng ng 0.5s. Ta cn xung 1s nn dn n vic ng 1 bin tm. Vi gi tr mc nh ban u l 2, sau 2 ln ngt th s nhn 1 ln tc bng 1s. Sau khi pht hin 1s tri qua, ta cn kim tra RTC xem coi RTC sn sang cho vi truy xut d liu. Bit cho php truy xut l bit th 7 ca thanh ghi A ca RTC. Nu l 1: cho php; 0 l t chi. Sau khi c cho php, gi trnh con UPDATE cp nht v xut ra LCD lun. Sau thit lp li ch ngt. Lu : mi khi thc hin chng trnh ngt ta cn lu li tt c cc gi tr ca thanh ghi w; thanh ghi status v v tr con tr chy chng trnh (PClath) v FSR. B.2.1.11) CHUONG TRINH HIEU CHINH GIO Cch hiu chnh: vo phn hiu chnh th thng qua nt bm SET_TIME. Sau khi truy cp vo phn hiu chnh thi gian thi hiu chnh tun t theo gi, pht, nm, thng, ngy. Mi ln chuyn s thng qua vic bm nt SET_TIME. Theo nguyn tc tng gim tng gi tr thi gian thng qua 2 nt bm(TURN_UP v TURN_DOWN). Sau khi i ht 1 lt cc gi tr hiu chnh th bm li nt SET_TIME khi ng li chng trnh. i vi phn hiu chnh s lun xut hin con tr nhp nhy ngay hng n v ca mi gi tr ang c hiu chnh. Mc ch vic sp xp th t hiu chnh: v l do kim sot gi tr ti a ngy ca tng thng nn cn phi xc nh nm trc, chn maxngy bng 28 hay 29; sau vic hiu chnh thng s gip xc nh maxngay chnh xc, trnh tnh trng nhp l s ngy i vi mi thng, dn n RTC hot ng sai. Cch thc hin: - i vi phn hiu chnh gi da trn lu sau y. Gii thut ca phn hiu chnh pht, nm, thng cng tng t nh trn. im khc nhau duy nht l gi tr khi em so snh. i vi gi th so snh vi 23; pht th l: 59; nm th l: 99; thng th l: 12. Cng theo nguyn tc ta cng cn thay i gi tr gn cho tng bin thi gian.
http://www.ebook.edu.vn 11
NGUYN C TR-DV06
- i vi phn hiu chnh ngy th cng vic phc tp hn. Ta cn kim tra thng trc. Nu l thng 4, 6, 9, 11 th maxngay l 30. i vi thng 2 th phi xt thm nm . Nu nm chia ht cho 4 th maxngay la 29 ngc li l 28. n li l: 31 ngy. Nh vy cng vic cn lm duy nht l xc nh gi tr maxngay Chng trnh tim max ngay
i 50ms
Tr v
TURN_UP nhn? S
XA RAM_HOU
RAM_HOU = 23?
RAM_HOU = 23
TNG RAM_HOU
12
NGUYN C TR-DV06
B.2.1.12) CHUONG TRINH CON TIM_MAXNGAY Cch thc hin: u tin xt gi tr ca thng. Nu thng l 4 6 9 11 th maxngay l 30. Nu thng l 2 th ta xt n nm. Phng php xt nm nhun nh sau. a nm v dng BIN, sau kim tra 2 trng s thp nht ca gi tr nm . Nu c 2 trng s u bng 0 th nm l nm nhun. V tt c d liu thi gian u lu di dng BCD nn, ta dung thut ton chuyn li bin nhng l ta tch BCD nn c thnh BCD khng nn. Ta ch cn cng thm MSB ln s 10 v LSB l ta c s BIN. MACH IN
http://www.ebook.edu.vn
13
NGUYN C TR-DV06
http://www.ebook.edu.vn
14
NGUYN C TR-DV06
COUNT EQU 0X38 ;----------------------------------------------#DEFINE DS PORTE,2 #DEFINE RW PORTE,1 #DEFINE AS PORTE,0 #DEFINE TIME_SET PORTB,2 #DEFINE TURN_UP PORTB,5 #DEFINE TURN_DOWN PORTB,4 #DEFINE DATAPORT PORTD #DEFINE PORT_LCD PORTC #DEFINE E PORTC,7 #DEFINE RS PORTC,6 ;----------------------------------------------ORG 0X0004 ; NGAT NGOAI THEO XUNG CLK CUA DS1307 DE XAC DINH THOI GIAN TRUY XUAT DU LIEU TRONG DS1307 GOTO NGAT NGAT ;-------------------------------; PHAN LUU LAI CAC GIA TRI VI KHI NGAT RAT CO THE CAC GIA TRI TREN SE BI THAY DOI MOVLW W_SAVE ; LUU W RA THANH GHI NGOAI MOVF STATUS,W ; DOI DO W VA STATUS MOVLW STATUS_SAVE ; LUU W LUC DO DANG CHUA GIA TRI STATUS MOVF PCLATH,W MOVLW PCLATH_SAVE ; LUU PCLATH RA NGOAI MOVF FSR,W ; DOI CHO MOVLW FSR_SAVE ; LUU FSR RA NGOAI ;--------------------------------; PHAN BAT DAU CHUONG TRINH NGAT BTFSS INTCON,1 ; BIT KIEM TRA COI CO XAY RA NGAT BR0 GOTO NEXT_INTERRUPT; NEU GIA TRI CUA HAM SS TREN TRA VE O (KO CO NGAT RB0) THI THUC HIEN NGAT TIEP THEO BANKSEL TAM INCF TAM MOVLW D'2' XORWF TAM,0 BTFSS STATUS,Z GOTO NEXT_INTERRUPT VONGLAP BCF STATUS,RP0 CLRF TAM MOVLW d'10' MOVWF ADD_R CALL READ_12C887 BTFSC DATA_R,7 ; Du lieu da san sang de truy xuat?? GOTO VONGLAP ; neu chua, Doi CALL UPDATE ; neu roi, cap nhat gia tri moi CALL TRANSFER_LCD
http://www.ebook.edu.vn
15
NGUYN C TR-DV06
NEXT_INTERRUPT BCF INTCON,1 ; XOA CO NGAT RB0 DE KHOI DONG NGAT TIEP THEO ;--------------------------------;PHAN KHOI PHUC LAI CAC DU LIEU TRONG THANH GHI MOVF PCLATH_SAVE,W MOVLW PCLATH MOVF STATUS_SAVE,W MOVLW STATUS MOVF FSR_SAVE,W MOVLW FSR MOVF W_SAVE,W RETFIE ;---------------------------------------;THAN CHUONG TRINH CHINH ORG 0X00 GOTO START ORG 0X40 START BANKSEL INTCON CLRF INTCON ; XOA THANH DIEU KHIEN NGAT BANKSEL TAM CLRF TAM CALL DELAY_15MS BSF STATUS,RP0 ; select BANK1 MOVLW 0x06 ; tat ca cac chan I/O deu la dang so MOVWF ADCON1 CLRF TRISD CLRF TRISE CALL INIT_12C887 CALL INIT_LCD ;-----------------------------------------------CALL UPDATE CALL INIT_TRANSFER BCF STATUS,RP1 BSF STATUS,RP0 MOVLW B'11111111' ;KHOI TAO PORT B NHAP BANKSEL TRISB BANKSEL OPTION_REG BCF OPTION_REG,6 BANKSEL INTCON BSF INTCON,INTE ; BAT BIT DK NGAT NGOAI BSF INTCON,PEIE ; BAT BIT DK NGAT NGOAI BSF INTCON,GIE ; BAT BIT DK NGAT TOAN CUC BTFSS TIME_SET CALL HIEUCHINHGIO
http://www.ebook.edu.vn
16
NGUYN C TR-DV06
GOTO $-2 ;-------------------------------------------------------------; KHOI TAO CHO 12C887 ;------------------------------------------------------------INIT_12C887 BCF STATUS,RP0 MOVLW b'00101111' ; dua gia tri vao thanh ghi "register A" MOVWF DATA_W MOVLW d'10' MOVWF ADD_W CALL WRITE_12C887 MOVLW b'01011010' ; dua gia tri vao thanh ghi "register B" MOVWF DATA_W ; dang du lieu 24 gio MOVLW d'11' ; dang du lieu BCD MOVWF ADD_W CALL WRITE_12C887 RETLW 0X00 ;---------------------------------------------UPDATE ; CHUONG TRINH DUNG DE UPDATE DU LIEU VAO RAM PIC DE XUAT LCD. MOVLW MOVWF CALL MOVF MOVWF MOVLW MOVWF CALL MOVF MOVWF MOVLW MOVWF CALL MOVF MOVWF MOVLW MOVWF CALL MOVF MOVWF MOVLW MOVWF CALL D'00' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO RAM_SEC RAM_SEC D'02' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO MIN RAM_MIN D'04' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO HOU RAM_HOU D'06' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO THU RAM_DAY D'07' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY
http://www.ebook.edu.vn
17
NGUYN C TR-DV06
D'08' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO THANG RAM_MON D'09' ADD_R ; CHUYEN DIA CHI THANH GHI CHU GT GIAY READ_12C887 ; DOC GIA TRI GIAY DATA_R,0 ; CHUYEN VAO VAO NAM RAM_YEA 0X00
;-----------------------------------------------------------------WRITE_12C887 ; GHI DU LIEU VAO RTC BSF STATUS,RP0 ; CHON PORTD LA PORTOUT CLRF TRISD BCF STATUS,RP0 MOVF ADD_W,0 ; CHUYEN DIA CHI RA TRUOC MOVWF DATAPORT BSF DS BSF RW NOP BSF AS NOP BCF AS NOP MOVF DATA_W,0 ; CHUYEN DATA RA SAU MOVWF DATAPORT BCF RW NOP BSF AS RETLW 0X00 ;--------------------------------------------------------------------------------------------------READ_12C887 ; DOC DU LIEU TU RTC BSF STATUS,RP0 ; CHON PORTD OUT CLRF TRISD BCF STATUS,RP0 MOVF ADD_R,0 ; CHUYEN DC DU LIEU CAN DOC MOVWF DATAPORT BSF DS BSF RW NOP BSF AS
http://www.ebook.edu.vn
18
NGUYN C TR-DV06
AS DS STATUS,RP0 0xFF ; THIET LAP PORTC IN TRISD STATUS,RP0 DATAPORT,0 ;CHUYEN DU LIEU RA SAU DATA_R AS
;---------------------------------------------TRANSFER_LCD ; CHUYEN CAC GIA TRI THOI GIAN VAO LCD ;Y TUONG LA CHI NHUNG GIA TRI NAO THAY DOI THI MOI DUOC CAP NHAT LEN LCD ;THUC HIEN: KT GIA TRI DAU CUA MOI MUC THOI GIAN, NEU GIA TRI THANH GHI THOI GIAN ;BANG VOI GIA TRI BAN DAU (O HAY 1) THI SE DUOC QUET TIEP DEN TH TIEP THEO ;-----------------------BCF STATUS,RP0 MOVLW D'0' XORWF RAM_SEC,0 BTFSS STATUS,Z GOTO GIAY_DOI1 ;NEU GIAY KHAC 0 THI CHI DOI GIAY BCF MOVLW XORWF BTFSS GOTO BCF MOVLW XORWF BTFSS GOTO BCF MOVLW XORWF BTFSS GOTO BCF MOVLW XORWF STATUS,RP0 D'0' RAM_MIN,0 STATUS,Z PHUT_DOI1 STATUS,RP0 D'0' RAM_HOU,0 STATUS,Z GIO_DOI1 STATUS,RP0 D'1' RAM_DAT,0 STATUS,Z NGAY_DOI1 STATUS,RP0 D'1' RAM_MON,0
http://www.ebook.edu.vn
19
NGUYN C TR-DV06
NGAY_DOI
http://www.ebook.edu.vn
20
NGUYN C TR-DV06
MOVLW 0X2F ; DAU GACH CHEO CALL WR_DATA MOVF RAM_MON,0 ; GUI GIA TRI MONTH RA LCD CALL MA_HOA_SO RETLW 0X00 ;---------------------------------NGAY_DOI CALL GIO_DOI CALL DVI_NGAY MOVF RAM_DAT,0 ; GUI GIA TRI DATE RA LCD CALL MA_HOA_SO RETLW 0X00 ;--------------------------------------------------GIO_DOI CALL DVI_GIO MOVF RAM_HOU,0 ; GUI GIA TRI SECOND RA LCD CALL MA_HOA_SO MOVLW 0X3A ; DAU HAI CHAM CALL WR_DATA MOVF RAM_MIN,0 ; GUI GIA TRI MIN RA LCD CALL MA_HOA_SO MOVLW 0X3A ; DAU HAI CHAM CALL WR_DATA MOVF RAM_SEC,0 ; GUI GIA TRI HOUR RA LCD CALL MA_HOA_SO RETLW 0X00 ;-------------------------------------------------PHUT_DOI CALL DVI_PHUT MOVF RAM_MIN,0 ; GUI GIA TRI MIN RA LCD CALL MA_HOA_SO MOVLW 0X3A ; DAU HAI CHAM CALL WR_DATA MOVF RAM_SEC,0 ; GUI GIA TRI HOUR RA LCD CALL MA_HOA_SO RETLW 0X00 ;-------------------------------------------------GIAY_DOI ; CHUONG TRINH XUAT LCD CHI GIAY THAY DOI CALL DVI_GIAY MOVF RAM_SEC,0 ; GUI GIA TRI HOUR RA LCD CALL MA_HOA_SO RETLW 0X00 ;-----------------------------------------------INIT_TRANSFER MOVLW 0X80 ; EP CON TRO VE DAU DONG 1 CALL WR_INS MOVLW 0X14 ;DICH CON TRO QUA BEN PHAI
http://www.ebook.edu.vn
21
NGUYN C TR-DV06
WR_INS ;GUI LENH DI 0X14 ;DICH CON TRO QUA BEN PHAI WR_INS ;GUI LENH DI RAM_HOU,0 ; GUI GIA TRI SECOND RA LCD MA_HOA_SO 0X3A ; DAU HAI CHAM WR_DATA RAM_MIN,0 ; GUI GIA TRI MIN RA LCD MA_HOA_SO 0X3A ; DAU HAI CHAM WR_DATA RAM_SEC,0 ; GUI GIA TRI HOUR RA LCD MA_HOA_SO 0XC0 ; EM CON TRO VE DONG DONG THU 2 WR_INS ; GUI LENH DI 0X14 WR_INS RAM_DAT,0 ; GUI GIA TRI DATE RA LCD MA_HOA_SO 0X2F ; DAU GACH CHEO WR_DATA RAM_MON,0 ; GUI GIA TRI MONTH RA LCD MA_HOA_SO 0X2F ; DAU GACH CHEO WR_DATA 0X32 WR_DATA 0X30 WR_DATA RAM_YEA,0 ; GUI GIA TRI YEAR RA LCD MA_HOA_SO
;----------------------------------------------MA_HOA_SO ; IN:W OUT:LCD CALL TACHSO ; TACH THANH CHUC VA DON VI MOVF HCHUC,W ADDLW 0X30 CALL WR_DATA MOVF HDV,W ADDLW 0X30 CALL WR_DATA RETLW 0X00 ;------------------------------------------------INIT_LCD ;CHUONG TRINH KHOI DONG LCD BANKSEL TRISD ; KHOI TAO PORT C XUAT LCD MOVLW B'00000000'
http://www.ebook.edu.vn
22
NGUYN C TR-DV06
MOVWF TRISC BANKSEL PORT_LCD MOVLW 0X00 NOP NOP MOVWF PORT_LCD ;------------KHOI DONG LCD BSF E ;PHAT LENH RONG DAU TIEN BCF E MOVLW b'00000011' ;PHAT LENH RESET 3 LAN MOVWF PORT_LCD CALL DELAY_160US ;DELAY DE DOI CAC CHAN PROT D NHAN DU DU LIEU BSF E BCF E CALL DELAY_5MS ; DOI LCD NHAN XONG MOVLW b'00000011' MOVWF PORT_LCD CALL DELAY_160US BSF E BCF E CALL DELAY_160US ; DOI LCD NHAN XONG MOVLW b'00000011' MOVWF PORTB CALL DELAY_160US BSF E ; Send 4 bits BCF E ;---------------TRUYEN LENH KHOI DONG MOVLW b'00000010' ; DAT CHE DO TRUYEN 4 BIT MOVWF PORT_LCD CALL DELAY_160US BSF E BCF E CALL DELAY_160US MOVLW 0X28 ; THIET LAP GUI NHAN 4 BIT; 2DONG 5X7 CALL WR_INS MOVLW 0X0C ; BAT HIEN THI TAT CON TRO CALL WR_INS MOVLW 0X06 ;EP CON TRO VE DAU DONG 1 CALL WR_INS MOVLW 0X01 ; CLR MAN HINH CALL WR_INS RETLW 0X00 ;--------------------------------------WR_INS: ; CT CON XUAT LENH RA LCD IN:W CALL CHANGE_NIBLE ; CT CON DUNG TACH TRONG SO CAO RA PORTD MOVF MSB,W MOVWF PORT_LCD
http://www.ebook.edu.vn
23
NGUYN C TR-DV06
CALL DELAY_160US ; Send 4 bits MSB BSF E ; SET BIT EN CHO TRUYEN NHAN BCF E CALL DELAY_5MS MOVF LSB,W ; SEND 4 BIT LSB MOVWF PORT_LCD CALL DELAY_160US BSF E BCF E CALL DELAY_5MS RETLW 0X00 ;-----------------------------------WR_DATA: ; IN:W CALL CHANGE_NIBLE ; CT CON DUNG TACH TRONG SO CAO RA PORTD MOVF MSB,0 MOVWF PORT_LCD ; Send 4 bits MSB CALL DELAY_160US BSF RS ; BAT CO PHAT DU LIEU BSF E ; BAT CO EN BCF E CALL DELAY_160US MOVF LSB,0 MOVWF PORT_LCD ; Send 4 bits LSB CALL DELAY_160US BSF RS BSF E BCF E BCF RS CALL DELAY_160US RETLW 0X00 ;-----------------------------------------;CHUONG TRINH DUOI DAY DE DK THOI GIAN TRUOC MAT LA KHOI TAO PORTB HIEUCHINHGIO ;HIEU CHINH PHAN GIO banksel PORTB CALL DELAY_50MS BANKSEL PORTB BTFSC TIME_SET ; KIEM TRA CON NUT CON NHAN? RETURN BANKSEL INTCON BCF INTCON,INTE ; BAT BIT DK NGAT NGOAI CALL WAIT ; DOI CHO NUT NAT NHA RA HIENTHILCD1 ;DINH VI TRI LCD: CALL DVI_GIO MOVLW 0X14 ;DICH CON TRO QUA BEN PHAI CALL WR_INS ;GUI LENH DI MOVLW 0X0F ; BAT CHE DO NHAP NHAY CON TRO
http://www.ebook.edu.vn
24
NGUYN C TR-DV06
CALL WR_INS ;KIEM TRA COI SET_TIME CON DUOC BAM KHONG? ;NEU BAM THEM 1 LAN NUA=>HIEUCHINHPHUT ;NEU KHONG: CHUYEN DEN KT NUT TURN_UP LABEL1: BANKSEL PORTB BTFSS TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HIEUCHINHPHUT BTFSC TURN_UP ; KIEM TRA CON NUT TANG CO NHAN GOTO CHINHXUONG1 CALL BTFSC GOTO BCF MOVF XORLW BTFSS GOTO CLRF GOTO CHUABANG23 DELAY_50MS TURN_UP ; KIEM TRA CON NUT CON NHAN? LABEL1 STATUS,RP0 RAM_HOU,0 H'23' STATUS,Z ;SO SANH HDV VOI 23 CHUABANG23 ; NEU CHUA BANG 23 RAM_HOU ; NEU BANG THI XOA VE 00 XONG1 ; KHOI NAY THUC HIEN CHUC NANG TANG SO MOVF RAM_HOU,0 CALL XULY_TANG MOVF HCHUC,0 MOVWF RAM_HOU ;XONG KHI TANG XONG CHUYEN RA LCD CALL INIT_TRANSFER GOTO HIENTHILCD1 ;TRO VE BAN DAU DE NHAN TIEP LENH TANG
XONG1
CHINHXUONG1: BTFSC GOTO CALL BTFSC GOTO TURN_DOWN LABEL1 DELAY_50MS TURN_DOWN LABEL1 ; KIEM TRA CON NUT TURN DOWN TANG CO NHAN
GIOKHAC0
BCF STATUS,RP0 MOVF RAM_HOU,0 XORLW H'00' BTFSS STATUS,Z ;SO SANH HDV VOI 00 GOTO GIOKHAC0 ; NEU CHUA BANG 0 MOVLW 0X23 MOVWF RAM_HOU GOTO XONG1 ; KHOI NAY THUC HIEN CHUC NANG GIAM SO MOVF RAM_HOU,0
http://www.ebook.edu.vn
25
NGUYN C TR-DV06
http://www.ebook.edu.vn
26
NGUYN C TR-DV06
BCF STATUS,RP0 MOVF RAM_MIN,0 XORLW H'00' BTFSS STATUS,Z ;SO SANH HDV VOI 00 GOTO PHUTKHAC0 ; NEU CHUA BANG 0 MOVLW 0X59 MOVWF RAM_MIN GOTO XONG2 PHUTKHAC0 ; KHOI NAY THUC HIEN CHUC NANG GIAM SO MOVF RAM_MIN,0 CALL XULY_GIAM MOVF HCHUC,0 MOVWF RAM_MIN GOTO XONG2 ;--------------------------------------------------HIEUCHINHNAM banksel PORTB CALL DELAY_50MS BANKSEL PORTB BTFSC TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HIENTHILCD2 CALL WAIT HIENTHILCD3 ;DINH VI TRI LCD: CALL DVI_NAM MOVLW 0X14 ;DICH CON TRO QUA BEN PHAI CALL WR_INS ;GUI LENH DI MOVLW 0X0F ; BAT CHE DO NHAP NHAY CON TRO CALL WR_INS ;KIEM TRA COI SET_TIME CON DUOC BAM KHONG? ;NEU BAM THEM 1 LAN NUA=>HIEUCHINHTHANG ;NEU KHONG: CHUYEN DEN KT NUT TURN_UP LABEL3: BANKSEL PORTB BTFSS TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HIEUCHINHTHANG
http://www.ebook.edu.vn
27
NGUYN C TR-DV06
STATUS,RP0 RAM_YEA,0 H'99' STATUS,Z ;SO SANH HDV VOI 99 CHUABANG99 ; NEU CHUA BANG 99 RAM_YEA RAM_YEA,1 ; NEU BANG THI SET VE 1 XONG3
NAMKHAC0
BCF STATUS,RP0 MOVF RAM_YEA,0 XORLW H'00' BTFSS STATUS,Z ;SO SANH HDV VOI 00 GOTO NAMKHAC0 ; NEU CHUA BANG 0 MOVLW 0X99 MOVWF RAM_YEA GOTO XONG3 ; KHOI NAY THUC HIEN CHUC NANG GIAM SO MOVF RAM_YEA,0 CALL XULY_GIAM MOVF HCHUC,0 MOVWF RAM_YEA GOTO XONG3
;-----------------------------------------------
http://www.ebook.edu.vn
28
NGUYN C TR-DV06
http://www.ebook.edu.vn
29
NGUYN C TR-DV06
THANGKHAC1
BCF STATUS,RP0 MOVF RAM_MON,0 XORLW H'01' BTFSS STATUS,Z ;SO SANH HDV VOI 01 GOTO THANGKHAC1 ; NEU CHUA BANG 1 MOVLW 0X12 MOVWF RAM_MON GOTO XONG4 ; KHOI NAY THUC HIEN CHUC NANG GIAM SO MOVF RAM_MON,0 CALL XULY_GIAM MOVF HCHUC,0 MOVWF RAM_MON GOTO XONG4
;-------------------------------------------HIEUCHINHNGAY banksel PORTB CALL DELAY_50MS BANKSEL PORTB BTFSC TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HIENTHILCD4 CALL WAIT HIENTHILCD5 ;DINH VI TRI LCD: CALL DVI_NGAY MOVLW 0X14 ;DICH CON TRO QUA BEN PHAI CALL WR_INS ;GUI LENH DI MOVLW 0X0F ; BAT CHE DO NHAP NHAY CON TRO CALL WR_INS ;KIEM TRA COI SET_TIME CON DUOC BAM KHONG? ;NEU BAM THEM 1 LAN NUA=>HOANTHANH ;NEU KHONG: CHUYEN DEN KT NUT TURN_UP LABEL5: BANKSEL PORTB BTFSS TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HOANTHANH BTFSC TURN_UP ; KIEM TRA CON NUT CON NHAN? GOTO CHINHXUONG5 CALL DELAY_50MS BTFSC TURN_UP ; KIEM TRA CON NUT CON NHAN? GOTO LABEL5
http://www.ebook.edu.vn
30
NGUYN C TR-DV06
CALL TIM_MAXNGAY MOVF RAM_DAT,0 SUBWF MAXNGAY,0 BTFSC STATUS,C ;KIEM TRA COI SAU KHI TRU THI AM HAY DUONG GOTO TTTT MOVF MAXNGAY,0 MOVWF RAM_DAT TTTT: MOVF RAM_DAT,0 XORWF MAXNGAY,0 BTFSS STATUS,Z GOTO CHUABANGMAXNGAY CLRF RAM_DAT INCF RAM_DAT,1 GOTO XONG5 CHUABANGMAXNGAY MOVF RAM_DAT,0 CALL XULY_TANG MOVF HCHUC,0 MOVWF RAM_DAT XONG5 CALL INIT_TRANSFER GOTO HIENTHILCD5 CHINHXUONG5: BTFSC GOTO CALL BTFSC GOTO TURN_DOWN LABEL5 DELAY_50MS TURN_DOWN LABEL5 ; KIEM TRA CON NUT TURN DOWN TANG CO NHAN
NGAYKHAC1
BCF STATUS,RP0 MOVF RAM_DAT,0 XORLW H'01' BTFSS STATUS,Z ;SO SANH HDV VOI 01 GOTO NGAYKHAC1 ; NEU CHUA BANG 1 CALL TIM_MAXNGAY MOVF MAXNGAY,0 MOVWF RAM_DAT GOTO XONG5 ; KHOI NAY THUC HIEN CHUC NANG GIAM SO MOVF RAM_DAT,0 CALL XULY_GIAM MOVF HCHUC,0
http://www.ebook.edu.vn
31
NGUYN C TR-DV06
HOANTHANH banksel PORTB CALL DELAY_50MS BANKSEL PORTB BTFSC TIME_SET ; KIEM TRA CON NUT CON NHAN? GOTO HIENTHILCD4 CALL WAIT ; CACH HIEU CHINH KHI GIA TRI NGAY LON HON MAX NGAY CHO PHEP ; KHI TRUONG HOP DO XAY RA TA KIEM TRA BANG CACH LAY GIA TRI MAXNGAY-NGAY ; NEU C=0 TUC LA MAXNGAY>NGAT ; NGUOC LAI THI TIEP TUC BANKSEL PORTB CALL NAPDULIEU RETLW 0X00 ;--------------------------------NAPDULIEU ;CT NAY SE NAP DU LIEU VUA CAP NHAT VAO RTC MOVLW d'10' MOVWF ADD_R CALL READ_12C887 BTFSC DATA_R,7 GOTO NAPDULIEU MOVLW 0X00 ; giay MOVWF DATA_W MOVLW d'0' MOVWF ADD_W CALL WRITE_12C887 MOVF RAM_MIN,0 ; phut MOVWF DATA_W MOVLW d'2' MOVWF ADD_W CALL WRITE_12C887 MOVF RAM_HOU,0 ;gio MOVWF DATA_W MOVLW d'04' MOVWF ADD_W CALL WRITE_12C887 MOVF RAM_DAT,0 ;ngay MOVWF DATA_W MOVLW d'7' MOVWF ADD_W CALL WRITE_12C887 MOVF RAM_MON,0 ;thang
http://www.ebook.edu.vn
32
NGUYN C TR-DV06
http://www.ebook.edu.vn
33
NGUYN C TR-DV06
DELAY_160US MOVLW 0X20 MOVWF DELAY_REG2 MOVLW 0X01 MOVWF DELAY_REG3 WW1 DECFSZ DELAY_REG2,1 GOTO $+2 DECFSZ DELAY_REG3,1 GOTO WW1 RETLW 0X00 ;--------------------------------------------XULY_TANG ; CHUONG TRINH CON HIEU CHINH THOI GIAN (TRONG TRUONG HOP BINH THUONG)IN: W; OUT:W CALL TACHSO ; TACH 1 DU LIEU THANH HANG CHUC VA DON VI MOVF HDV,0 XORLW D'9' BTFSS STATUS,Z ;SO SANH HDV VOI 9 GOTO CHUABANG9 ; NEU CHUA BANG 9 CLRF HDV INCF HCHUC,1 CALL RAPSO
http://www.ebook.edu.vn
34
NGUYN C TR-DV06
GOTO DATANGXONG CHUABANG9 INCF HDV,1 CALL RAPSO DATANGXONG RETLW 0X00 ;-----------------------------------------------XULY_GIAM ; CHUONG TRINH CON HIEU CHINH THOI GIAN GIAM(TRONG TRUONG HOP BINH THUONG)IN: W; OUT:W CALL TACHSO ; TACH 1 DU LIEU THANH HANG CHUC VA DON VI MOVF HDV,0 XORLW D'0' BTFSS STATUS,Z ;SO SANH HDV VOI 0 GOTO CHUABANG0 ; NEU CHUA BANG 0 MOVLW D'9' MOVWF HDV DECF HCHUC,1 CALL RAPSO GOTO DAGIAMXONG CHUABANG0 DECF HDV,1 CALL RAPSO DAGIAMXONG RETLW 0X00 ;------------------RAPSO ; RAP HANG CHUC VA HANG DV VAO 1 BYTE; IN: HCHUC&DV; OUT W SWAPF HCHUC,0 ADDWF HDV,0 MOVWF HCHUC RETLW 0X00 ;-----------------------------------------------TACHSO ;TACH HANG CHUC VOI DON VI IN:W OUT:HCHUC, HDV MOVWF HCHUC ANDLW 0X0F MOVWF HDV SWAPF HCHUC,0 ANDLW 0X0F MOVWF HCHUC RETLW 0X00 ;-----------------------------------------------CHANGE_NIBLE ;TACH TRONG SO CAO VA THAP MOVWF MSB ANDLW 0X0F MOVWF LSB SWAPF MSB,0 ANDLW 0X0F MOVWF MSB
http://www.ebook.edu.vn
35
NGUYN C TR-DV06
http://www.ebook.edu.vn
36
NGUYN C TR-DV06
http://www.ebook.edu.vn
37
NGUYN C TR-DV06
http://www.ebook.edu.vn
38
NGUYN C TR-DV06
;SO SANH SO COUNT VA HANG CHUC ; NEU CHUA BANG THI CONG THEM VAO HANG DV
CONGXONG ;--------------------------------------;B2: KIEM TRA CO PHAI NAM NHUAN KHONG? ;NEU NAM NHUAN THI BIT 0 VA 1 PHAI BANG 0 BTFSC LSB,0 ;KT BIT 0 GOTO KONHUAN ; NEU BANG 1 TUC LA KO NHUAN BTFSC LSB,1 ;NEU BANG 0 KT BIT 1 GOTO KONHUAN ;NEU BANG 1 TUC LA KO NHUAN MOVLW H'29' ;NEU BANG 0 => NAM NHUAN MOVWF MAXNGAY GOTO TIMXONG KONHUAN MOVLW H'28' ;NEU BANG 0 => NAM NHUAN MOVWF MAXNGAY TIMXONG RETLW 0X00 end
http://www.ebook.edu.vn
39
NGUYN C TR-DV06
C) NH GI THC HIN TI
C.1) T NH GI VIC THC HIN N Hn ch: Thut ton cn cha thc s tinh gn, do cch suy ngh cha tht khi qut nn lm chng trnh di. Thiu kinh nghim trong vic chn linh kin lp trnh chy mch thc t, dn n vic tham kho rt nhiu nhng kh khn trong vic xc nh ngun ng. Mch thc t vn cn cha that gn gng do cha bit cch xc nh kch thc chun trong Protues; thiu tch hp phn chnh lu ngun. T nhn xt: Kt qu kh kh quan vi vic mch thc t chy ng; bn cnh vn cn mt s vn trong vic lp trnh. C hng pht trin ti v sau da trn nhng phn t c. Vn thiu kinh nghim trong vic lm mch in. C.2) NH GI CA GIO VIN ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ......................................................................................................................................................
http://www.ebook.edu.vn
40
NGUYN C TR-DV06
Li cm n:
thc hin ti ny cn s gip rt nhiu t gio vin hng dn, cc ging vin, v cc sinh vin lp DV06. Bn cnh nhng thnh vin trn cc din dn cng ng gp rt nhiu trong qu trnh thc hin ti. Mong rng s lun c s h tr t nhiu pha nh khi thc hin ti ny ti c th m rng thm s hiu bit ca mnh. Chn thnh cm n tt c nhng ngi gip ti hon thnh n mn hc 1.
http://www.ebook.edu.vn
41