vi xử lý hệ thống điều khiển bộ đếm

14 719 1
vi xử lý hệ thống điều khiển bộ đếm

Đ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

KHOA CÔNG NGHỆ ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Tìm hiểu các chế độ hoạt động của Timer và Counter. • Khảo sát nguyên hoạt động và phương pháp lập trình điều khiển Timer và Counter. • Thiết kế các ứng dụng thực tế có sử dụng các bộ định thời gian (Timer) và các bộ đếm sự kiện (Counter). B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS-51. • Nắm vững phương pháp vận hành các Timer và Counter có trong chip vi điều khiển. • Biết cách lập trình Timer và Counter ở các chế độ khác nhau, cách tính toán các khoảng thời gian định thời mong muốn. • Thiết kế và điều khiển được các ứng dụng có sử dụng Timer và Counter như: đồng hồ, bộ đếm sản phẩm, … K. H THNG IU KHIN TIMER/COUNTER. Bi 1: Chng trỡnh iu khin m liờn tc s lng xung (0000 9999) c a vo chõn T1 ca vi iu khin v hin th s lng xung ny lờn cỏc LED 7 on (PULSE c ni vi chõn T1, LED7 LED4 c ni vi Port0, SEL IN1 c ni vi Port1). Giỏo trỡnh thc hnh vi x lý. 3 Biờn son: Phm Quang Trớ 1 Trỡnh t tin hnh thớ nghim: 1.1 Kt ni thit b thớ nghim. Tt ngun cp cho mụ hỡnh thớ nghim. Dựng dõy bus 4 ni J64 (PORT1) khi vi iu khin vi J1 (SEL IN1) khi LED 7 on (chỳ ý l ta ch ni 4 bit thp ca J64 vi J1). Dựng dõy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J4 (7SEG IN MUL) khi gii mó. Dựng dõy bus 1 ni J33 (PULSE) khi to xung vi J66 (PORT3 / FUNCTION) khi vi iu khin (chỳ ý l ta ch ni bit 5 (chõn T1) ca J66 v J33 li vi nhau). Dựng dõy bus 3 ni J113 (POWER) khi to xung v J110 (POWER) khi LED 7 on vi ngun +5V khi ngun. LED 7 ẹOAẽN 7SEG7 IN SEL IN2POWER SEL IN1 7SEG6 IN 7SEG5 IN 7SEG4 IN 7SEG7 IN MUL SEL LED IN VI ẹIEU KHIEN PORT 0 A0 A7 PORT 1PORT 3PORT 2 SELECT CHIP CLOCK OUT PORT 1PORT 3 40 PINS 20 PINS POWER SW 8 4 NGUON +5V 3 TAẽO XUNG POWER PULSE 3 1 1.2 S nguyờn ca h thng: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 A B C D E F G A B C D E F G AD0 A AD1 B AD2 C AD3 D AD4 E AD5 F AD6 G A B C D E F G A B C D E F G P1.3 P1.0 P1.1 P1.2 P1.3 P1.2 P1.1 P1.0 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.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 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz 2 3 4 5 6 7 8 9 1 RP1 10K +5V MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹEM XUNG) MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹEM XUNG)MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹEM XUNG) MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹEM XUNG) LED7 Q1 A1015 +5V LED6 Q2 A1015 +5V R2 1K R3 1K R4 56 R5 56 R6 56 R7 56 R8 56 R9 56 R10 56 LED5 Q3 A1015 +5V LED4 Q4 A1015 +5V R11 1K R12 1K C3 10uF R1 10k +5V A B U1(P3.5/T1) K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. BCD4TO7SEG (XEM CTC NÀY TẠI DỤ B6 M7I) DISP7SEGMUL4 (XEM CTC NÀY TẠI DỤ B6 MBI) DELAYLED (XEM CTC NÀY TẠI DỤ B3.1 MBI) VÙNG DỮ LIỆU CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H KHỞI ĐỘNG TIMER (COUNTER 1, MODE 1) (TMOD) = 50H XÓA COUNTER 1 (TH1/TL1) = 0000H CHO COUNTER HOẠT ĐỘNG (TR1) = 1 MAIN: K1 BEGIN MP1: ĐỌC SỐ XUNG ĐẾM ĐƯỢC (R7) = TH1 (R6) = TL1 GỌI CTC CHUYỂN ĐỔI SỐ BIN SANG SỐ BCD BIN16TOBCD GỌI CTC CHUYỂN ĐỔI SỐ BCD SANG MÃ 7 ĐOẠN BCD4TO7SEG GỌI CTC QUÉT - HIỂN THỊ DISP7SEGMUL4 BIN16TOBCD (XEM CTC NÀY TẠI PHẦN HƯỚNG DẪN CỦA DỤ K3) DIV16TO8 (XEM CTC NÀY TẠI PHẦN HƯỚNG DẪN CỦA DỤ K3) ;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DEM (0000 - 9999) VA HIEN THI XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> 7 SEGMENT (DP -> A) ; PORT1 -> SELECT LED ; PULSE -> T1 PIN ;*************************************************** ORG 00H MAIN: MOV TMOD,#50H ;COUNTER 16 BIT (MODE 1) MOV TH1,#0 ;XOA COUNTER 1 MOV TL1,#0 SETB TR1 ;CHO PHEP COUNTER BAT DAU HOAT DONG MP1: MOV R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA HIEN THI MOV R6,TL1 ACALL BIN16TOBCD ;DOI MA BIN SANG MA BCD ACALL BCD4TO7SEG ;DOI MA BCD SANG MA 7 DOAN ACALL DISP7SEGMUL4 ;HIEN THI GIA TRI LEN LED SJMP MP1 ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. PUSH ACC PUSH B MOV B,#10 ACALL DIV16TO8 ;LAY R7,R6 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 ACALL DIV16TO8 ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG CHUC MOV B,#10 MOV A,R6 DIV AB ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG TRAM, ACC CHUA SO HANG NGAN SWAP A ;DUA SO HANG NGAN LEN 4 BIT CAO POP B ;LAY SO HANG TRAM TU STACK ORL A,B ;KET HOP SO HANG NGAN VA SO HANG TRAM MOV R7,A ;R7 = NGAN - TRAM POP ACC ;LAY SO HANG CHUC TU STACK SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 5 Biên soạn: Phạm Quang Trí ORL A,B ;KET HOP SO HANG CHUC VA SO HANG DON VI MOV R6,A ;R6 = CHUC - DON VI POP B POP ACC RET ;*************************************************** DIV16TO8: ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: CLR C XCH A,R6 ;DICH BIT 7 CUA R6 VAO RLC A ;CARRY, BIT 0 CUA R6 XCH A,R6 ;BANG 0. XCH A,R7 ;DICH BIT CARRY VAO RLC A ;BIT 0 CUA R7 XCH A,R7 RLC A ;DICH BIT 7 CUA R7 VAO A. CJNE A,B,NOT_EQUAL ;XEM SO BIT DA DICH >= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = 0 TRONG R6. A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A. XCH A,R6 ORL A,#1 ;THUONG SO = 1 XCH A,R6 ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN. XCH A,B ;SAU 16 LAN DICH TA DUOC B = SO DU. POP ACC POP 02H RET ;*************************************************** BCD4TO7SEG: ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN). PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 61H,A ;CAT BCD HANG CHUC VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: ;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN). K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0F7H ;MA QUET MOV R0,#63H ;DIA CHI VUNG MA HIEN THI DISP: MOV P0,@R0 ;XUAT MA HIEN THI MOV P1,A ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET END 1.4 Lưu chương trình và biên dịch chương trình. 1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có. 1.6 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động. 1.7 Nạp chương trình vào vi điều khiển. 1.8 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.9 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) K. H THNG IU KHIN TIMER/COUNTER. Bi 2: Chng trỡnh iu khin o tn s ca xung (0000 9999, n v l Hz) c a vo chõn T1 ca vi iu khin v hin th tn s ca xung ny lờn cỏc LED 7 on (PULSE c ni vi chõn T1, LED7 LED4 c ni vi Port0, SEL IN1 c ni vi Port1). Giỏo trỡnh thc hnh vi x lý. 7 Biờn son: Phm Quang Trớ 1 Trỡnh t tin hnh thớ nghim: 1.1 Kt ni thit b thớ nghim. Quỏ trỡnh kt ni thit b thớ nghim tng t nh Bi 1. 1.2 S nguyờn ca h thng: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 A B C D E F G A B C D E F G AD0 A AD1 B AD2 C AD3 D AD4 E AD5 F AD6 G A B C D E F G A B C D E F G P1.3 P1.0 P1.1 P1.2 P1.3 P1.2 P1.1 P1.0 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.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 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz 2 3 4 5 6 7 8 9 1 RP1 10K +5V MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹO TAN SO XUNG) MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹO TAN SO XUNG)MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹO TAN SO XUNG) MAẽCH ẹIEU KHIEN TIMER/COUNTER (ẹO TAN SO XUNG) LED7 Q1 A1015 +5V LED6 Q2 A1015 +5V R2 1K R3 1K R4 56 R5 56 R6 56 R7 56 R8 56 R9 56 R10 56 LED5 Q3 A1015 +5V LED4 Q4 A1015 +5V R11 1K R12 1K C3 10uF R1 10k +5V A B U1(P3.5/T1) 1.3 V lu gii thut v vit chng trỡnh iu khin. ;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DO TAN SO XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> 7 SEGMENT (DP -> A) PORT1 -> SELECT LED; PULSE -> T1 PIN ;*************************************************** ORG 00H ;DIEM NHAP RESET SJMP MAIN ORG 0BH ;DIEM NHAP ISR TIMER0 LJMP T0ISR ORG 30H ;DIEM NHAP CHUONG TRINH CHINH MAIN: MOV TMOD,#51H ;TIMER1: COUNTER 16 BIT (MODE 1), TIMER0: TIMER 16 BIT (MODE 1) MOV TH0,#HIGH(-50000) ;NAP GIA TRI THOI GIAN TRE 50 MS MOV TL0,#LOW(-50000) SETB TR0 ;CHO TIMER BAT DAU CHAY MOV IE,#82H ;CHO PHEP NGAT TIMER0 HOAT DONG MP1: MOV 40H,#0 ;NAP GIA TRI BIEN DEM SO LAN NGAT TIMER0 MOV R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA HIEN THI MOV R6,TL1 MOV TH1,#0 ;XOA COUNTER 1, CHUAN BI CHO LAN DEM XUNG TIEP THEO MOV TL1,#0 SETB TR1 ;COUNTER BAT DAU DEM ACALL BIN16TOBCD ;DOI MA BIN SANG MA BCD ACALL BCD4TO7SEG ;DOI MA BCD SANG MA 7 DOAN MP2: ACALL DISP7SEGMUL4 ;HIEN THI GIA TRI LEN LED MOV A,40H CJNE A,#20,MP2 ;KIEM TRA DU 20 LAN NGAT = 1S CLR TR1 ;DUNG COUNTER SAU 1S -> SO XUNG TRONG 1S = TAN SO XUNG SJMP MP1 K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 2: Chương trình điều khiển đo tần số của xung (0000 – 9999, đơn vị là Hz) được đưa vào chân T1 của vi điều khiển và hiển thị tần số của xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. PUSH ACC PUSH B MOV B,#10 ACALL DIV16TO8 ;LAY R7,R6 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 ACALL DIV16TO8 ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG CHUC MOV B,#10 MOV A,R6 DIV AB ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG TRAM, ACC CHUA SO HANG NGAN SWAP A ;DUA SO HANG NGAN LEN 4 BIT CAO POP B ;LAY SO HANG TRAM TU STACK ORL A,B ;KET HOP SO HANG NGAN VA SO HANG TRAM MOV R7,A ;R7 = NGAN - TRAM POP ACC ;LAY SO HANG CHUC TU STACK SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK ORL A,B ;KET HOP SO HANG CHUC VA SO HANG DON VI MOV R6,A ;R6 = CHUC - DON VI POP B POP ACC RET ;*************************************************** DIV16TO8: ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: CLR C XCH A,R6 ;DICH BIT 7 CUA R6 VAO RLC A ;CARRY, BIT 0 CUA R6 XCH A,R6 ;BANG 0. XCH A,R7 ;DICH BIT CARRY VAO RLC A ;BIT 0 CUA R7 XCH A,R7 RLC A ;DICH BIT 7 CUA R7 VAO A. CJNE A,B,NOT_EQUAL ;XEM SO BIT DA DICH >= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = 0 TRONG R6. A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A. XCH A,R6 ORL A,#1 ;THUONG SO = 1 XCH A,R6 ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN. XCH A,B ;SAU 16 LAN DICH TA DUOC B = SO DU. POP ACC POP 02H RET ;*************************************************** BCD4TO7SEG: ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN). PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 2: Chương trình điều khiển đo tần số của xung (0000 – 9999, đơn vị là Hz) được đưa vào chân T1 của vi điều khiển và hiển thị tần số của xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 61H,A ;CAT BCD HANG CHUC VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: ;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN). PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0F7H ;MA QUET MOV R0,#63H ;DIA CHI VUNG MA HIEN THI DISP: MOV P0,@R0 ;XUAT MA HIEN THI MOV P1,A ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** T0ISR: ;ISR TIMER0 - 50MS CLR TR0 CLR TF0 MOV TH0,#HIGH(-50000) ;NAP GIA TRI THOI GIAN TRE 50 MS MOV TL0,#LOW(-50000) INC 40H ;TANG BIEN DEM SO LAN NGAT - 1 LAN = 50MS SETB TR0 RETI END K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 2: Chương trình điều khiển đo tần số của xung (0000 – 9999, đơn vị là Hz) được đưa vào chân T1 của vi điều khiển và hiển thị tần số của xung này lên các LED 7 đoạn (PULSE được nối với chân T1, LED7 – LED4 được nối với Port0, SEL IN1 được nối với Port1). Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí 1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) [...]... 12 13 14 15 16 17 U1(P3.5/T1) AT89C51 A B 1.3 V lưu gi i thu t và vi t chương trình i u khi n 1.4 Th c hi n l n lư t các bư c t 1.3 Giáo trình th c hành vi x n 1.8 tương t như bài trên 11 Biên so n: Ph m Quang Trí K H TH NG I U KHI N TIMER/COUNTER Bài 3: Chương trình i u khi n o r ng c a xung ( ơn v là ms) ư c ưa vào chân INT0 c a vi i u khi n và hi n th r ng c a xung này lên các LED 7 o n (PULSE... n phương pháp k t n i LED và nút nh n • Bài 4: Hãy vi t chương trình i u khi n m liên t c s lư ng xung ư c ưa vào chân T0 c a vi i u khi n và hi n th s lư ng xung này lên các LED 7 o n T l a ch n phương pháp k t n i thi t b t o xung và các LED 7 o n • Bài 5: Hãy vi t chương trình i u khi n o t n s c a xung ( ơn v tính là Hz) ư c ưa vào chân T0 c a vi i u khi n và hi n th giá tr t n s lên LED 7 o n... (NGÀN-TRAM - CHUC - DON VI) ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT ( . ;LAY SO HANG DON VI TU STACK K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị. XUNG) LED7 Q1 A1015 +5V LED6 Q2 A1015 +5V R2 1K R3 1K R4 56 R5 56 R6 56 R7 56 R8 56 R9 56 R10 56 LED5 Q3 A1015 +5V LED4 Q4 A1015 +5V R11 1K R12 1K C3 10uF R1 10k +5V A B U1(P3.5/T1) K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng. DOAN (4 LED 7 DOAN). K. HỆ THỐNG ĐIỀU KHIỂN TIMER/COUNTER. Bài 1: Chương trình điều khiển đếm liên tục số lượng xung (0000 – 9999) được đưa vào chân T1 của vi điều khiển và hiển thị số lượng

Ngày đăng: 09/05/2014, 21:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan