Trước tiên phân tích theo đèn giao thông tại các ngã tư ta thấy như sau :
- Chu kỳ là đèn đỏ sáng 30s -> đèn xanh 25s -> đèn vàng 5s .
- Hai cột đèn đối diện nhau thì hoạt động giống nhau.
Vậy ta sẽ chia chu kỳ của mỗi cột đèn thành 4 pha với :
- Pha 1 25s ở cột số 1-2 đèn đỏ sáng, các đèn khác tắt ; cột số 3-4 đèn xanh, các đèn khác tắt.
- Pha 2 5s ở cột số 1-2 đèn đỏ sáng, các đèn khác tắt ; cột số 3-4 đèn vàng, các đèn khác tắt.
- Pha 3 25s ở cột số 1-2 đèn xanh sáng, các đèn khác tắt ; cột số 3-4 đèn đỏ sáng, các đèn khác tắt.
- Pha 4 5s ở cột số 1-2 đèn vàng sáng, các đèn khác tắt; cột số 3-4 đèn đỏ sáng, các đèn khác tắt.
Lấy đại diện đèn D1->D3 là các đèn thuộc cụm 1-2, các đèn D4->D6 là cụm 3-4. Code asm :
;-----------------------------------------------------------;;---------Code den giao thong khong dem giay------------;;-------------Created by dang minh hai--------------------;;-----------------------------------------------------------;;*******************************************************;khai bao cac chan;-------------------------------------------------------xanh1 BIT P2.0 ;Dat chan 2.0 den xanh1do1 BIT P2.1 ;---------2.1-----do1vang1 BIT P2.2 ;---------2.2-----vang1xanh2 BIT P2.3 ;---------2.3-----xanh2do2 BIT P2.4 ;---------2.4-----do2vang2 BIT P2.5 ;---------2.5-----vang2;-------------------------------------------------------;khai bao vung rom;-------------------------------------------------------ORG 00H ;Bat dau o dia chi 00hFIST: MOV A,#00 ;Dat nhan fist de lap lai tu dauMOV P2,A ;Xoa cong p2SETB do1 ;Bat den do1SETB xanh2 ;Bat den xanh2MOV R5,#25 ;nap 25 vao r5 de thuc hien dem giayLOOP1: ACALL DELAY ;goi ham tre 1 giayDJNZ R5,LOOP1 ;lap lai 25 lan tre 1s,moi lan thuc hien vong lap se tru 1 vao r5CLR xanh2 ;tat den xanh2SETB vang2 ;bat den vang2MOV R5,#5 ;nap 5 vao r5 de thuc hien dem giayLOOP2: ACALL DELAY ;goi ham tre 1sDJNZ R5,LOOP2 ;lap lai 5 lan tre 1sCLR do1 ;tat den do1CLR vang2 ;tat den vang 2SETB xanh1 ;bat den xanh 1SETB do2 ;bat den do2MOV R5,#25 ;nap 25 vao r5LOOP3: ACALL DELAY ;goi ham lam tre 1sDJNZ R5,LOOP3 ;lap lai 25 lan ham tre 1sCLR xanh1 ;tat den xanh1SETB vang1 ;bat den vang1SETB do2 ;bat den do2MOV R5,#5 ;nap5 vao r5LOOP4: ACALL DELAY ;goi ham gay tre 1sDJNZ R5,LOOP4 ;lap lai 5 lanSJMP FIST ;nhay ve dau chuong trinhDELAY: ;nhan delayMOV R1,#7 ;thuc hien vong lap here1 co 2*255 chu kyHERE3: MOV R2,#255 ;vong lap here2 lap lai here1 255 cong themHERE2: MOV R3,#255 ;lenh djnz r2,here va move r3,#255 co here2=(here1*255)+(3*255)HERE1: DJNZ R3,HERE1 ;tuong tu here3=(here2*7)+(3*7)DJNZ R2,HERE2 ;DJNZ R1,HERE3 ;RETEND
No comments:
Post a Comment