1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiet ke may tinh cong tru nhan chia su dung vi xu ly 8051

30 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 548,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CJNE A,#16,WW RET NHÓM 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com... + K t qu :ế ảKETQUA: LCALL CLR_LCD MOV DATA_LCD,#8FH LCALL LENH LCALL WAIT_LCD LCALL DIEUCHINHSOTHU

Trang 1

C1 30p C2 30p

81

%

RV1 10k

VCC

C3 10uF

R1 10k

Reset

2

5 6

8 9 4

A B C D

GROUP VI - TD06 - HCMUTRANS

CALCULATOR

XTAL2 18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17P3.6/WRP3.5/T1 1615 P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24 P2.4/A12 25 P2.5/A13 26P2.6/A14 27U1

AT89C51

DIGITAL TECHNOLOGY DIGITAL TECHNOLOGY

UNIVERSITY OF TRANSPORT IN HOCHIMINH CITY

TD06-NHÓM VI-Đ TÀI 12 Ề

 

CALCULATOR

Trang 2

BÁO CÁO BÀI T P L N VI X LÝ Ậ Ớ Ử

 N i dung: ộ

A PH N M M: Ầ Ề

B PH N C NG: Ầ Ứ

C K T LU N: Ế Ậ

 Nh n xét c a th y giáo: ậ ủ ầ

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Ch ký: ữ

NHÓM 6

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 3

A.PH N M M: Ầ Ề

2 GIAO TI P 8951 VÀ LCD: Ế

a T ng quan LCD ổ

năng n i tr i c a nó đã đổ ộ ủ ượ ử ục s d ng r t nhi u trong vi đi u khi n Kh năng hi n thấ ề ề ể ả ệ ị

c a LCD là r t đa d ng, tr c quan (ch , s và nhi u lo i ký t đ h a khác), d dàngủ ấ ạ ự ữ ố ề ạ ự ồ ọ ễ

Đ thu n l i cho vi c vi t chể ậ ợ ệ ế ương trình, chúng tôi đ nh nghĩa các chân và nhómị

Các ch ươ ng trình con khi giao ti p v i LCD: ế ớ

Trang 4

- Đ thi t l p các l nh hay g i d li u ký t cho LCD, ta ph i t o ra m tể ế ậ ệ ở ữ ệ ự ả ạ ộ xung c nh xu ng trên chân E, do đó ta đ a chân E lên m c cao, t o m tạ ố ư ứ ạ ộ

đ tr kho ng 200ms (đ t o đ r ng xung) và sau đó đ a E xu ng th p,ỗ ễ ả ể ạ ộ ộ ư ố ấ

ta có th coi nó là m t chể ộ ương trình con đ ra l nh cho LCD đ c d li u,ể ệ ọ ữ ệ

LENH:

SETB E LCALL DELAY2 CLR E RET

- Đ c d li u hay tr ng thái t LCD: t o m t xung c nh lên, chọ ữ ệ ạ ừ ạ ộ ạ ương trình

nh sau:ư

LENH2: CLR E

LCALL DELAY2 SETB E RET

DELAY2: MOV TMOD,#10H

MOV R7,#4 LL: MOV TH1,#HIGH(-50000)

MOV TL1,#LOW(-50000) SETB TR1

JNB TF1,$

CLR TR1 CLR TF1 DJNZ R7,LL MOV R7,#00H RET

Trong khi vi t chế ương trình ta ph i ki m tra xem LCD có còn b n th c hi n l nhả ể ậ ự ệ ệ

Khi th c hi n các ho t đ ng bên trong chíp, m ch n i bên trong c n m t kho ngự ệ ạ ộ ạ ộ ầ ộ ả

th i gian đ hoàn t t Khi đang th c thi các ho t đ ng bên trong chip nh th , LCD b quaờ ể ấ ự ạ ộ ư ế ỏ

l i m c 0 D a trên nguyên t c đó ta vi t đo n chạ ứ ự ắ ế ạ ương trình con ki m tra tr ng thái b nể ạ ậ

WAIT_LCD:

CLR E CLR RS SETB RW MOV DATA_LCD,#0FFH SETB E

MOV A,DATA_LCD

JB ACC.7,WAIT_LCD CLR RW

CLR RS RET

Trang 5

MOV DATA_LCD,#38H ;Ch n bus 8bit, font ký t 5x8, 2 hàng ọ ự LCALL LENH ;G i l nh th c thi xu t ra LCD ọ ệ ự ấ LCALL WAIT_LCD ;Ki m tra tr ng thái b n c a LCD ể ạ ậ ủ CLR RS ;Ch n ch đ g i l nh ọ ế ộ ở ệ

MOV DATA_LCD,#0FH ;LCD on, b t cursor ậ LCALL LENH

LCALL WAIT_LCD RET

CLR_LCD:

MOV DATA_LCD,#01H LCALL LENH

LCALL WAIT_LCD RET

CÁCH 1:

WRITE_TEXT:

SETB E ;E=1 b t đ ul nh LCD ắ ầ ệ SETB RS ;RS=1 đ ch n thanh ch đ xu t ể ọ ế ộ ấ

;các d li u ký t đ hi n th lên LCD ữ ệ ự ể ể ị MOV DATA_LCD,#’T’ ;goi d li u ký t ch T lên LCD ữ ệ ự ữ CLR E ;E=0 t o c nh xu ng ạ ạ ố

LCALL WAIT_LCD ; Ki m tra xem LCD còn b n hay không ể ậ RET

CACH2:

WRITE_TEXT:

SETB RS MOV DATA_LCD,#’T’

LCALL LENH LCALL WAIT_LCD RET

Trong ch ươ ng trình có m t s đo n ch ộ ố ạ ươ ng trình xu t ch , VD: ấ ữ

WRITE_TEXT1:

MOV A,R6 MOV DPTR,#TEN1 MOVC A,@A+DPTR SETB RS

MOV DATA_LCD,A LCALL LENH LCALL WAIT_LCD MOV A,R6 INC A MOV R6,A CJNE A,#18,WRITE_TEXT1 RET

TEN1: DB ‘!DH GTVT TPHCM! ‘

Trang 7

Xác đ nh mã các phím nh n b ng ph n m m:ị ấ ằ ầ ề

- Khi nh n phím thì hàng và c t tấ ộ ương ng s đứ ẻ ược n i v i nhauố ớ

- Đ xác đ nh để ị ược phím nh n ta quét bàn phím: ta th c hi n quét t ngấ ự ệ ừ hàng, đ u tiên cho hàng 1 m c logic 0, các hàng và c t khác m c logicầ ở ứ ộ ở ứ

1, ta đoc giá tr hàng và c t thông qua Port 1.ị ộ

P1.7 P1.7

P1.7

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6

H1 H2 H3 H4 C1 C2 C3 C4

3 2 1

5 6 7

8 9 A B

C D E F

Trang 8

CALCULATOR

Trang 10

SCAN_KEY:

MOV R1,#0FEH MOV R6,#4 SCAN:

MOV P1,R1 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,GET_CODE XCH A,R1

RL A XCH A,R1

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 11

DJNZ R6,SCAN CLR F0 LJMP EXIT GET_CODE:

PUSH ACC MOV A,#4 CLR C SUBB A,R6 MOV R5,A POP ACC SWAP A MOV R4,#4 LOOP2:

RRC A JNC SET_FLAG XCH A,R5 ADD A,#4 XCH A,R5 DJNZ R4,LOOP2 SET_FLAG:

SETB F0 MOV A,R5 EXIT: MOV R1,#00H

MOV R6,#00H RET

M ch th c t đạ ự ế ược k t n i v i Port1 nh sau:ế ố ớ ư

2

5 6

8 9 4

P1.0 P1.1 P1.2 P1.3

Trang 12

A B C D

XTAL2 18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

Trang 13

Kh i t oở ạ LCD

2

START

Trang 14

(R4)=

0BBH

(R4) = 0B7H

(R4) = 07BH

Trang 15

Đo n mã chạ ươORGng trình chính:0000H

JMP MAIN ORG 0030H

START: MOV DATA_LCD,#0FFH MAIN: LCALL KHOITAO

LCALL WAIT_LCD MOV R0,#30H MOV R3,#5 MOV 30H,#0FFH

Trang 16

MOV 31H,#0FFH MOV 32H,#0FFH MOV 33H,#0FFH KK: LCALL SCAN_KEY ;Quet ban phim

MOV R4,P1 CJNE R4,#0F7H,NEXT ;Tiep tuc scan key khi tin hieu vao tu ban phim ko co JMP KK

NEXT: CJNE R4,#077H,XOATUNGKYTU

LCALL TATMO ;stop tat mo ct XOATUNGKYTU:

CJNE R4,#0BBH,NEXT3 MOV 29H,#0

MOV 39H,#0 LCALL CLR_LCD LJMP NHAPSO NEXT3:

CJNE R4,#0B7H,NEXTCONG ;Xoa man hinh MOV 29H,#0

MOV 39H,#0 LCALL CLR_LCD JMP NHAPSO

NEXTCONG:

CJNE R4,#07BH,NEXTTRU ;Nh n phím + ấ LCALL DIEUCHINHSOTHU1 ;Luu so vua nhap vao dung vi tri de tinh toan sau LCALL WAIT_LCD

LCALL CLR_LCD CLR A MOV 60H,#0FFH LJMP NHAPSO ;quay lai nhap lai so moi

NEXTTRU:

CJNE R4,#07DH,NEXTBANG ;Nh n phím - ấ LCALL DIEUCHINHSOTHU1 ;Luu so vua nhap vao dung vi tri de tinh toan sau LCALL WAIT_LCD

LCALL CLR_LCD CLR A MOV 60H,#00H LJMP NHAPSO ;quay lai nhap lai so moi NEXTBANG: ;Nh n phím = ấ

CJNE R4,#07EH,XUATSO LCALL KETQUA

LJMP KK

XUATSO:

LCALL WRITE1 ;Xu t s ra màn hình LCD ấ ố MOV DATA_LCD,#07H ;Dich hien thi sang trai de xuat so ke tiep LCALL LENH

LCALL WAIT_LCD DJNZ R3,KK ;S ch s có quá 4 không, quá thì báo ngay! ố ữ ố LCALL CLR_LCD

MOV DATA_LCD,#06H LCALL LENH

LCALL WAIT_LCD MOV R6,#0 LCALL WRITE_TEXT3 ;Xu t báo nh p quá 4 ch s ấ ậ ữ ố

NHÓM 6

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 17

5 CÁC ĐO N CH Ạ ƯƠ NG TRÌNH CON:

+ Xu t ch :ấ ữ

WRITE_TEXT2:

MOV R6,#0 WW: MOV A,R6 MOV DPTR,#TEN2 MOVC A,@A+DPTR SETB RS

MOV DATA_LCD,A LCALL LENH LCALL WAIT_LCD MOV A,R6 INC A

Trang 18

CJNE A,#16,WW RET

NHÓM 6

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 19

(69H) = 22H

TATMO:

MOV R3,69H CJNE R3,#22H,TAT MOV 69H,#00H MOV 39H,#0 LCALL CLR_LCD JMP NHAPSO TAT: LCALL CLR_LCD

MOV DATA_LCD,#06H LCALL LENH

LCALL WAIT_LCD MOV R6,#0 LCALL WRITE_TEXT4 LCALL CLR_LCD MOV DATA_LCD,#08H LCALL LENH

LCALL WAIT_LCD MOV 69H,#22H TAT1: MOV R4,P1

CJNE R4,#077H,TAT1 LJMP TATMO RET

Trang 20

+Đi u ch nh và l u s th nh t:ề ỉ ư ố ứ ấ

DIEUCHINHSOTHU1:

MOV A,33H CJNE A,#0FFH,B1 MOV A,32H CJNE A,#0FFH,B2 MOV A,31H CJNE A,#0FFH,B3 MOV A,30H CJNE A,#0FFH,B4 B4: MOV 43H,30H

MOV 42H,#00H MOV 41H,#00H MOV 40H,#00H LJMP EXIT1 B3: MOV 43H,31H

MOV 42H,30H MOV 41H,#00H MOV 40H,#00H LJMP EXIT1 B2: MOV 43H,32H

MOV 42H,31H MOV 41H,30H MOV 40H,#00H LJMP EXIT1 B1: MOV 43H,33H

MOV 42H,32H MOV 41H,31H

MOV 40H,30H MOV 39H,29H EXIT1: RET

NHÓM 6

(30H) = 0FFH

R

(43H) = (33H)

(33H) = 0FFH

(32H) = 0FFH

(31H)= 0FFH

(42H) = (32H) (41H) = (31H) (40H) = (30H) (39H) = (29H)

R

(43H) = (32H) (42H) = (31H) (41H) = (30H) (40H) = 0

R

(43H) = (31H) (42H) = (30H) (41H) = 0 (40H) = 0

R

(43H) = (30H) (42H) = 0 (41H) = 0 (40H) = 0

RET

RE

ĐI U CH NH S TH Ề Ỉ Ố Ứ

1

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 21

+ K t qu :ế ả

KETQUA: LCALL CLR_LCD

MOV DATA_LCD,#8FH LCALL LENH

LCALL WAIT_LCD LCALL DIEUCHINHSOTHU2 MOV A,60H

CJNE A,#00H,TINH LCALL TINHTRU JMP TIEPTUC TINH: LCALL TINHCONG TIEPTUC: LCALL BANG

MOV R0,#30H MOV R3,#5 RET

Trang 22

+ Đi u ch nh s th 2:ề ỉ ố ứ

DIEUCHINHSOTHU2:

MOV A,33H CJNE A,#0FFH,EXIT2 MOV A,32H

CJNE A,#0FFH,BB2 MOV A,31H CJNE A,#0FFH,BB3 MOV 33H,30H MOV 32H,#00H MOV 31H,#00H MOV 30H,#00H LJMP EXIT2

BB3: MOV 33H,31H

MOV 32H,30H MOV 31H,#00H MOV 30H,#00H LJMP EXIT2 BB2: MOV 33H,32H

MOV 32H,31H MOV 31H,30H MOV 30H,#00H LJMP EXIT2 EXIT2: RET

NHÓM 6

(30H) = 0FFH

R

(33H) = 0FFH

(32H) = 0FFH

(31H)= 0FFH

R

(33H) = (32H) (32H) = (31H) (31H) = (30H) (30H) = 0

R

(33H) = (31H) (32H) = (30H) (31H) = 0 (30H) = 0

R

(33H) = (30H) (32H) = 0 (31H) = 0 (30H) = 0

Trang 23

; the cong lien tuc cac so MOV B,#10

ADD A,32H ADD A,42H DIV AB MOV 32H,B ;Luu vao the nay thi minh co

; the cong lien tuc cac so

MOV B,#10 ADD A,31H ADD A,41H DIV AB MOV 31H,B ;Luu vao the nay thi minh co

; the cong lien tuc cac so

MOV B,#10 ADD A,30H ADD A,40H DIV AB MOV 30H,B MOV 29H,A ;trong TH tinh cong ma co so

; thu 5(tran) xuat hien thi ta phai

; thuc hien cac lenh nay de duy tri so thu 5 tran do MOV A,39H ;So tran thu 5 nay minh da luu

; vao 39h, nen gio lay ra de tinh ADD A,29H

MOV 29H,A ;Luu vao the nay thi minh co

; the cong lien tuc cac so CLR A

RET

Trang 24

Báo l i ỗ

TÍNH TRỪ

(33H) (43H) – (33H)

( 39H) = 0

N

OK

Y

( 30H) <=( 4 0H)

N

( 31H) <=( 4 1H)

( 32H) <=( 4 2H)

( 33H) <=( 4 3H)

( 33H) <=( 4 3H)

A[(43H)+10]–

(32H) (32H)+1

NN

NN

Trang 25

MOV A,39H CJNE A,#0,OK MOV A,30H CJNE A,40H,BAOLOI1 MOV A,31H

L1: CJNE A,41H,BAOLOI2

MOV A,32H L2: CJNE A,42H,BAOLOI3

MOV A,33H L3: CJNE A,43H,BAOLOI4

JMP OK BAOLOI4: JNC LOI

JMP OK BAOLOI1: JNC LOI

JMP L1 BAOLOI2: JNC LOI

JMP L2 BAOLOI3: JNC LOI

JMP L3

LOI: LCALL WRITE_TEXT7

LCALL DELAY3 LCALL CLR_LCD LJMP NHAPSO

OK:

; -MOV A,43H CJNE A,33H,KBANG1 LJMP LONHON1 KBANG1:

JNC LONHON1 ADD A,#10 CLR C SUBB A,33H MOV B,#10 DIV AB MOV 33H,B MOV A,32H ADD A,#1 MOV 32H,A LJMP TIEP1 LONHON1:

SUBB A,33H MOV 33H,A

TIEP1: MOV A,42H

; -CJNE A,32H,KBANG2 LJMP LONHON2 KBANG2:

JNC LONHON2 ADD A,#10 CLR C SUBB A,32H MOV B,#10 DIV AB MOV 32H,B MOV A,31H ADD A,#1 MOV 31H,A LJMP TIEP2 LONHON2:

SUBB A,32H MOV 32H,A

TIEP2: MOV A,41H

; -CJNE A,31H,KBANG3 LJMP LONHON3 KBANG3: JNC LONHON3

ADD A,#10 CLR C SUBB A,31H MOV B,#10 DIV AB MOV 31H,B MOV A,30H ADD A,#1 MOV 30H,A LJMP TIEP3 LONHON3:

SUBB A,31H MOV 31H,A

TIEP3: MOV A,40H

; -CJNE A,30H,KBANG4 LJMP LONHON4 KBANG4: JNC LONHON4

ADD A,#10 CLR C SUBB A,30H MOV B,#10 DIV AB MOV 30H,B MOV A,39H SUBB A,#1 MOV 29H,A

Trang 26

A B C D

XTAL2 18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

U1

AT89C51

CALCULAT O R

LJMP TIEP4 LONHON4:

SUBB A,30H

MOV 30H,A TIEP4: RET

+ Xu t k t qu s ra màn LCD:ấ ế ả ố

BANG: MOV R1,#30H

MOV A,29H ADD A,#30H SETB E SETB RS MOV DATA_LCD,A LCALL DELAY CLR E LCALL WAIT_LCD XUAT:

MOV A,@R1 ADD A,#30H SETB E SETB RS MOV DATA_LCD,A LCALL DELAY CLR E LCALL WAIT_LCD INC R1

CJNE R1,#34H,XUAT RET

NHÓM 6

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com

Trang 27

 K t qu ch y mô ph ng: M ch ch y t t và đúng, nh ng ph i ch nh l i chế ả ạ ỏ ạ ạ ố ư ả ỉ ạ ươ ngtrình ki m tra tr ng thái b n c a LCD nh sau m ch m i ho t đ ng:ể ạ ậ ủ ư ạ ớ ạ ộ

;KIEM TRA TRANG THAI BAN LCD WAIT_LCD:

SETB E CLR RS SETB RW MOV A,DATA_LCD

JB ACC.7,WAIT_LCD CLR RW CLR RS RET

ch yạ

WAIT_LCD:

CLR RS SETB RW MOV DATA_LCD,#0FFH SETB E

MOV A,DATA_LCD

JB ACC.7,WAIT_LCD CLR RW CLR RS RET

Trang 29

+ Đ t v trí các chân h p lý khi layoutặ ị ợ

- Ph n m m tầ ề ương đ i ph c t p, nh t là đ i v i nh ng ngố ứ ạ ấ ố ớ ữ ười m i h c và ch a có nhi uớ ọ ư ề kinh nghi m nh nhóm tui, c n vi t nhi u, tham kh o nhi u chệ ư ầ ế ề ả ề ương trình thì m i có kinh nghi mớ ệ

t t đ vi t.ố ể ế

Trang 30

CALCULAT O R

- Chương trình còn dài dòng, ph c t p, ch a có th i gian nhi u cho vi c t i u Vi tứ ạ ư ờ ề ệ ố ư ế

chương trình xong m i nhìn vào đó v l u đ (không t t l m)ớ ẽ ư ồ ố ắ

- Chương trình ch a đư ược vi t hoàn thi n: thi u ph n xóa t ng ký tế ệ ế ầ ừ ự

- Trong nhóm ch a có s phân công công vi c h p lý, m t s thành viên còn ch a th c sư ự ệ ợ ộ ố ư ự ự

Ngày đăng: 01/11/2022, 19:52

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w