BTL vi điều khiển điều khiển LED quay 8 hiệu ứng

44 534 4
BTL vi điều khiển   điều khiển LED quay 8 hiệu ứng

Đ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

Bài Tập Lớn môn Vi điều khiển,Điều khiển led quay 8 hiệu ứng.led 7 thanh quay nhiều hiệu ứng.tài liệu hướng dẫn làm mô phỏng trên proteus, .................................................................

Lời nói đầu Ngày với tiến khoa học kỹ thuật, đặc biệt ngành Kỹ thuật Điện tử, đời sống xã hội ngày phát triển dựa ứng dụng khoa học vào đời sống Vì mà công nghệ điện tử mang tính tự động ngày ứng dụng rộng rãi Trong có đóng góp không nhỏ kỹ thuật vi điều khiển Các vi điều khiển đựơc ứng dụng rộng rãi thâm nhập ngày nhiều lĩnh vực kỹ thuật đời sống xã hội Hầu hết thiết bị điều khiển tự động từ thiết bị văn phòng thiết bị gia đình dùng vi điều khiển nhằm đem lại tiện ghi cho người thời đại công nghiệp hóa đại hóa Cùng với hoạt động sản xuất quảng cáo đèn LED ngày phát triển Nhóm em chọn đề tài: “ Ứng dụng họ vi điều khiển 8051 xây dựng hệ thống điều khiển LED phát quang nhiều chế độ khác ”, đề tài gồm có: Chương 1: CƠ SỞ LÝ THUYẾT Chương 2: XÂY DỰNG HỆ THỐNG Chương 3: KẾT LUẬN Qua thời gian tìm hiểu làm tập lớn với bảo, hướng dẫn tận tình thầy ĐỖ DUY PHÚ nhóm em hoàn thành tập lớn Tuy nhiên vốn hiểu biết có hạn chưa có kinh nghiệm nên tập lớn nhóm em nhiều thiếu xót hạn chế mong thầy bảo để tập hoàn thiện Em xin chân thành cảm ơn ! MSV: hoàng : 0841040497 Trung : 0841040206 Nhóm sinh viên NHÓM 01 BTL_VI XỬ LÍ CHƯƠNG I : CƠ SỞ LÝ THUYẾT I Mục đích yêu cầu Ứng dụng họ vi điều khiển 8051 xây dựng hệ thống điều khiển LED phát quang hoạt động nhiều chế độ khác Hệ thống gồm có : + 01 Vi điều khiển 89C51RD2 + Mạch truyền thông chuẩn RS_232 ( Dùng vi mạch MAX232) + Ghép nối 08 LED với vi điều khiển + Ghép nối phím bấm + Ghép nối 02 cảm biến hồng ngoại Hoạt động : Khi ấn phím bấm tác động vào cảm biến hồng ngoại LED quay theo chế độ khác nhau, cảm biến hồng ngoại tác động dừng quay II Tổng quan họ Vi điều khiển 8051 Cấu trúc chức khối 8051 BTL_VI XỬ LÍ Hình 1: Sơ đồ cấu trúc 8051 - ROM: loại nhớ không liệu nguồn cung cấp, gọi nhớ chương trình bên có dung lượng 4Kbytes dùng để lưu giữ mã lệnh chương trình (phần mềm ứng dụng) - RAM: nhớ liệu bên có dung dung lượng 128 Bytes 8051, 256 Bytes 8052 dùng để lưu trữ liệu biến số, số, đệm truyền thông… - Timer0, Timer1(T0,T1): đếm thời gian đếm xung với 8052 có thêm timer2 - Serial port: cổng truyền thông nối tiếp có đặc điểm: truyền song công (tức khả vừa truyển, vừa nhận số liệu thời điểm), với phương thức truyền không đồng - OSC: phát xung nhịp nhằm tạo làm việc cách đồng cho hệ thống vi điều khiển - BUS: Khối điều khiển Bus địa (Address Bus), Bus liệu (Data Bus) Bus điều khiển (Control Bus) Sơ đồ khối ý nghĩa chân 8051 BTL_VI XỬ LÍ Hình 2: Sơ đồ chân 8051 - 8051 có cổng vào/ra số là: + P0 có bit P0.0 ÷ P0.7 + P1 có bit P1.0 ÷ P1.7 + P2 có bit P2.0 ÷ P2.7 + P3 có bit P3.0 ÷ P3.7 Ngoài chức chân I/O số P0 bit (D0 ÷ D7) bus liệu bit thấp (A0 ÷ A7) bus địa chỉ, P2 bit cao (A8 ÷ A15) bus địa cần thiết mở rộng thêm ngoại vi, nhớ cho 8051 - RESET (tín hiệu vào): dùng để khởi động lại toàn hệ thống chương trình chạy mà gặp lỗi (Ví dụ: Gặp phải vòng lặp vô hạn, chương trình bị treo, ) - RxD, TxD; hai chân nhận truyền số liệu cổng truyền thông nối tiếp (mức tín hiệu TTL) RxD (Receive Data), TxD (Transmit Data) - , : hai chân nhân tín hiệu yêu cầu ngắt từ bên khiển BTL_VI XỬ LÍ - : (Tín hiệu ) cho phép đọc liệu từ ngoại vi, nhớ liệu vi điều khiển - X1, X2: Dùng để tạo xung nhịp cho vi điều khiển - Vcc, GND: cấp nguồn cho vi điều khiển (Vcc = 5VDC) - : Là tín hiệu vào = 1: Vi điều khiển sử dụng nhớ chương trình bên nhớ chương trình bên ngoài, cụ thể sau:: + Nếu vi điều khiển có Kbytes nhớ chương trình bên với địa 0000H ÷ 0FFFH nhớ chương trình bên phải có địa 1000H ÷ FFFFH + Nếu vi điều khiển có Kbytes nhớ chương trình bên với địa 0000H ÷ 1FFFH nhớ chương trình bên phải có địa 2000H ÷ FFFFH = 0: Vi điều khiển sử dụng nhớ chương trình bên có địa 0000H ÷ FFFFH - ALE/: (Tín hiệu ra) tín hiệu chốt địa (Address Latch Enable), dùng để phân biệt P0 bus liệu bus địa vi điều khiển cần ghép nối thêm ngoại vi ALE = 1: P0 bus địa chỉ; ALE = 0: P0 bus liệu - PSEN: Có chức giống chân để đọc nhớ chương trình bên Không gian địa 8051 - 8051 có 16 bit địa (A0 ÷ A15) mà hóa 216 trạng thái (địa chỉ) Hay gọi không gian địa có 216 = 65536 địa chỉ, với địa 0000H địa cuối FFFFH Trong thực tế, nhớ thường có cấu trúc theo kiểu ô nhớ byte có địa cụ thể đọc/viết ô nhớ Nên không gian địa 8051 gọi 65536 bytes 64Kbytes Đơn vị dung lượng nhớ: 210 = 1K = 1024 216 = 26.210 = 64K Cấu trúc nhớ ghi 8051 có hai không gian địa tách biệt cho nhớ chương trình nhớ liệu phân biệt tín hiệu đọc/viết phần trình bày BTL_VI XỬ LÍ - Bộ nhớ chương trình ( Program memory ) - Bộ nhớ liệu ( Data memory) Phần truy cập trực tiếp gián tiếp: Phần có địa 00H 7FH chia làm nhiều phần: a Bộ nhớ chương trình (Program Memory) Hình 3: Không gian địa dành cho nhớ chương trình bên trong, 8051 b Bộ nhớ liệu (Data Memory) BTL_VI XỬ LÍ Hình 4: Bộ nhớ liệu trong, 8051 Phần truy nhập trực tiếp gián tiếp: Phần có địa 00H ÷ 7FH chia làm nhiều phần: - Phần 00H ÷ 1FH có 32 byte bao gồm dãy ghi, bank có ghi R0 ÷ R7 Phần 20H ÷ 2FH có 16 byte đánh địa theo bit (có 128 bit) Có hai cách truy nhâp tới bit hình bên Phần 30H ÷ 7FH có 80 byte dành cho người dung tự sử dụng Hình 5: Cách truy nhâp vùng nhớ đánh địa theo bit BTL_VI XỬ LÍ Hình 6: Phần RAM truy nhập trực tiếp Các ghi đặc biệt (SFRs: Special Function Registers) Bảng 1: Các ghi đặc biệt Ký hiệu *ACC *B *PSW SP DPTR DPL DPH Tên Thanh ghi chứa Thanh ghi B Thanh ghi từ trạng thái Con trỏ ngăn xếp (8 bit) Con trỏ liệu (16 bit): Byte thấp DPTR Byte cao DPTR BTL_VI XỬ LÍ Địa Chỉ 0E0H 0F0H 0D0H 81H 82H 83H *P0 *P1 *P2 *P3 *IP *IE TMOD *TCON *+T2CON TH0 TL0 TH1 TL1 +TH2 +TL2 +RCAP2H +RCAP2L *SCON SBUF PCON Chú ý : Thanh ghi đệm cổng P0 Thanh ghi đệm cổng P1 Thanh ghi đệm cổng P2 Thanh ghi đệm cổng P3 Thanh ghi điều khiển mức ưu tiên ngắt Thanh ghi cho phép/che ngắt Thanh ghi chọn chế độ cho Timer/Counter0,1 Thanh ghi điều khiển Timer/Counter0,1 Thanh ghi điều khiển Timer/Counter2 Byte cao đếm Timer/Counter0 Byte thấp đếm Timer/Counter0 Byte cao đếm Timer/Counter1 Byte thấp đếm Timer/Counter1 Byte cao đếm Timer/Counter2 Byte thấp đếm Timer/Counter2 Byte cao ghi Capture/Reload Timer/Counter2 Byte thấp ghi Capture/Reload Timer/Counter2 Thanh ghi điều khiển cổng truyền thông nối tiếp Bộ đếm cổng truyền thông nối tiếp Thanh ghi điều khiển công suất tiêu thụ 8051 80H 90H 0A0H 0B0H 0B8H 0A8H 89H 88H 0C8H 8CH 8AH 8DH 8BH 0CDH 0CCH 0CBH 0CAH 98H 99H 87H *: Chỉ ghi truy nhâp theo bit +: Chỉ ghi có 8052 Bảng : Nội dung ghi Reset Power on reset Thanh ghi *ACC *B *PSW DPTR DPH DPL *P0 *P1 *P2 *P3 *IP BTL_VI XỬ LÍ Nội dung (BIN) 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 1111 1111B 1111 1111B 1111 1111B 1111 1111B xxx0 0000B *IE TMOD *TCON *+T2CON TH0 TL0 TH1 TL1 +RCAP2H +RCAP2L *SCON SBUF PCON Chú ý : 0xx0 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B 0000 0000B ? 0xxx xxxxB với HMOS 0xxx x000B với CMOS x: không xác định *: Chỉ ghi truy nhâp theo bit - Thanh ghi PSW (program Status Word) CY AC F0 RS1 RS0 OV - P CY (PSW.7): Cờ nhớ AC (PSW.6): Cờ nhớ phụ (dung tính toán số BCD) F0 (PSW.5): Cờ dành cho người dùng RS1 (PSW.4): Dùng để lựa chọn dãy ghi sử dụng RS0 (PSW.3): Dùng để lựa chọn dãy ghi sử dụng OV (PSW.2): Cờ tràn (dùng tính toán số nguyên có dấu) - (PSW.1): Không dùng (dữ trữ) P (PSW.0): Cờ chẵn lẽ Bảng 3: Lựa chọn bank ghi sử dụng RS1 0 BTL_VI XỬ LÍ RS0 Bank ghi Dãy Dãy Địa 00H ÷ 07H 08H ÷ 0FH BTL_VI XỬ LÍ  CHẠY HIỆU ỨNG BTL_VI XỬ LÍ Viết chương trình ; Reset Vector org 0000h jmp Start org 002Bh jmp INT_T2 ;========================================================== button1 equ P2.0 button2 equ P2.1 button3 equ p2.2 button4 equ p2.3 LED8 equ P0 cambien1 equ P2.4 cambien2 equ P2.5 dem equ 40h dn equ 41h digit equ 42h in equ 43h out equ P1.0 ;========================================================== ;khai bao dinh nghia timer2 T2CON equ 0C8H TH2 equ 0CDH BTL_VI XỬ LÍ TL2 equ 0CCH RCAP2H equ 0CBH RCAP2L equ 0CAH TR2 equ T2CON.2 TF2 equ T2CON.7 ;========================================================== org 0100h Start: clr EA mov T2CON,#00h ; timer che auto reload mov TH2,#0D8h ; ngat tran 10ms mov TL2,#0EFH mov RCAP2H,TH2 mov RCAP2L,TL2 setb button1 ; ( button1 )  setb button2 ; ( button2 )  setb button3 ; ( button3 )  setb button4 ; ( button4 )  clr cambien1 ; ( cambien1 )  clr cambien2 ; ( cambien1 )  mov dem,#0 setb TR2 ; cho phep timer hoat dong setb ; cho phep ngat tran timer IE.5 setb EA BTL_VI XỬ LÍ here: sjmp here reti ;========================================================== ; Subrountine INT_T2 ; Chuong trinh phuc vu ngat tran timer ; Input : None ; Output : None ;========================================================== INT_T2: clr TF2 ; xoa co bao tran timer mov a,dem ; (a)  (dem) inc a ; ( a)  ( a ) + mov dem,a ; moi lan ngat tran 10ms ; thi dem=dem+1 mov a,dem cjne a,#10,KT_PHIM ;kiem tra du 100ms thi chay hieu ; ung lan mov dem,#0 lcall CHAY_HU KT_PHIM: ;neu ca cam bien cung ko bi tac dong thi bien in=1; ;========================================================== JNB sjmp cambien2,K1 ; nhay toi K1 neu ( cambien2 ) = K3 BTL_VI XỬ LÍ K1: JNB cambien1,K2 sjmp K3 ; nhay toi K2 neu ( cambien1 ) = K2: mov in,#0 ;========================================================== K3: JNB button1,nut1 ; nhay toi nut1 neu ( button1 ) = JNB button2,nut2 ; nhay toi nut2 neu ( button2 ) = JNB button3,nut3 ; nhay toi nut3 neu ( button3 ) = JNB button4,nut4 ; nhay toi nut4 neu ( button4 ) = JB cambien1,nut5 ; nhay toi nut5 neu ( cambien1 ) = JB cambien2,nut6 ; nhay toi nut6 neu ( cambien2 ) = sjmp down nut1: mov dn,#1 ;chương trinh nut1: dn=1 clr out ;bit out=0 mov digit,#0 ;digit=0 sjmp down ; nhảy xuống chương trình down mov dn,#2 ; chương trinh nut2: dn=2 clr out ; bit out=0 mov digit,#0 ; digit=0 sjmp down ; nhảy xuống chương trình down dn,#3 ; chương trinh nut3: dn=3 nut2: nut3: mov BTL_VI XỬ LÍ clr out ;bit out=0 mov digit,#0 ;digit=0 sjmp down ; nhảy xuống chương trình down mov dn,#4 ; chương trinh nut4: dn=4 clr out ;bit out=0 mov digit,#0 ;digit=0 sjmp down ; nhảy xuống chương trình down nut4: nut5: ; chương trinh nut5 mov a,in cjne a,#0,down lcall dao_th JB out,EN ;nhảy tới EN (out) =1 mov dn,#5 ;(dn)=5 sjmp down ;nhảy tới down (a)≠0 EN: mov dn,#0 sjmp down nut6: ;(dn)=0 ; chương trinh nut6 mov a,in cjne a,#0,down lcall dao_th JB out,EN1 ;nhảy tới EN1 (out) =1 mov dn,#6 ;(dn)=6 sjmp down ;nhảy tới down (a)≠0 EN1: BTL_VI XỬ LÍ mov dn,#0 down: reti ;========================================================== ;Subrountine dao_th ;chuong trinh dao tien hieu chan P1.0 sau moi lan cam bien 1, cam bien tac dong ; Input : ; Output : ;========================================================== dao_th: mov a,in cjne a,#0,down ; nhay toi down neu (a) ≠ cpl out ; (out)=( ) mov in,#1 ret ;========================================================== ;subrountine CHAY_HU ;chuog trinh kiem tra tin hieu nut bam de chay cac hieu ung ; Input : ; Output : ;========================================================== CHAY_HU: mov a,dn ; (a)  (dn) cjne a,#1,KT1 ; nhay toi KT1 neu (a) ≠ lcall HU1 sjmp KT6 BTL_VI XỬ LÍ KT1: cjne a,#2,KT2 ; nhay toi KT2 neu (a) ≠ lcall HU2 ;gọi ctc HU2 sjmp KT6 KT2: cjne a,#3,KT3 lcall HU3 sjmp KT6 ; nhay toi KT3 neu (a) ≠ KT3: cjne a,#4,KT4 lcall HU4 sjmp KT6 ; nhay toi KT4 neu (a) ≠ KT4: cjne a,#5,KT5 lcall HU5 sjmp KT6 ; nhay toi KT5 neu (a) ≠5 KT5: cjne a,#6,KT6 lcall HU6 sjmp KT6 ; nhay toi KT6 neu (a) ≠6 KT6: ret ;============================================================== ;subrountine HU1 ;============================================================== HU1: BTL_VI XỬ LÍ ; chương trinh HU1 mov dptr,#m1 ;bien tro tới mảng m1 mov a,digit ;a=digit movc a,@a+dptr ;a=m1[digit] (truy xuất tới phần tử thứ digit ;của mảng m1) mov LED8,a ; Port LED8=m1[digit] mov a,digit ;a=digit inc a ; a=a+1 mov digit,a ;digit=a cjne a,#9,THE_END1 ; kiểm tra neu a khác thi nhảy tới THE_END1 mov digit,#0 ; neu a=9 thi thuc hien digit=0 mov a,#0 ;a=0 THE_END1: mov digit,a ret ;============================================================= ;subrountine HU2 ;============================================================== HU2: mov dptr,#m2 mov a,digit movc a,@a+dptr mov LED8,a mov a,digit inc a mov digit,a cjne a,#9,THE_END2 mov digit,#0 BTL_VI XỬ LÍ mov a,#0 THE_END2: mov digit,a ret ;============================================================= ;subrountine HU3 ;============================================================== HU3: mov dptr,#m3 mov a,digit movc a,@a+dptr mov LED8,a mov a,digit inc a mov digit,a cjne a,#9,THE_END3 mov digit,#0 mov a,#0 THE_END3: mov digit,a ret ;============================================================== ;subrountine HU4 ;============================================================== HU4: mov dptr,#m4 BTL_VI XỬ LÍ mov a,digit movc a,@a+dptr mov LED8,a mov a,digit inc a mov digit,a cjne a,#8,THE_END4 mov digit,#0 mov a,#0 THE_END4: mov digit,a ret ;============================================================== ;subrountine HU5 ;============================================================== HU5: mov dptr,#m5 mov a,digit movc a,@a+dptr mov LED8,a mov a,digit inc a mov digit,a cjne a,#8,THE_END5 mov digit,#0 mov a,#0 BTL_VI XỬ LÍ THE_END5: mov digit,a ret ;============================================================== ;subrountine HU6 ;============================================================== HU6: mov dptr,#m6 mov a,digit movc a,@a+dptr mov LED8,a mov a,digit inc a mov digit,a cjne a,#8,THE_END6 mov digit,#0 mov a,#0 THE_END6: mov digit,a ret ;============================================================== ; subroutine khai bao cac mang chay hieu ung m1: db 0FFH,0FEH,0fCH,0F8H,0F0H,0E0H,0C0H,80H,00H m2: db 0FFH,07FH,03FH,1FH,0FH,07H,03H,01H,00H m3: db 0FFH,0E7H,0C3H,81H,00H,81H,0C3H,0E7H,0FFH m4: db 0FCH,0F9H,0F3H,0E7H,0CFH,9FH,3FH,7EH BTL_VI XỬ LÍ m5: db 55H,0AAH,55H,0AAH,55H,0AAH,55H,0AAH m6: db 3FH,9FH,0CFH,0E7H,0F3H,0F9H,0FCH,07EH ;============================================================== END BTL_VI XỬ LÍ CHƯƠNG III : KẾT LUẬN Về sở lý thuyết Cơ sở lý thuyết tập lớn ứng dụng họ vi điều khiển 8051 xây dựng hệ thống điều khiển LED phát quang hoạt động nhiều chế độ khác dựa giáo trình KỸ THUẬT VI XỬ LÝ- Đỗ Duy Phú Thực nghiệm Sau trình tìm hiểu làm tập lớn nhóm em hoàn thành tập thu kết là: - Mạch thực nghiệm chạy proteus chạy theo yêu cầu đề Tài liệu tham khảo: [1] Giáo trình kỹ thuật vi xử lí – ĐỖ DUY PHÚ [2] Kỹ thuật vi điều khiển – LÊ VĂN DOANH VÀ PHẠM KHẮC CHƯƠNG BTL_VI XỬ LÍ [...]... BTL_ VI XỬ LÍ 1 3 Xây dựng thuật toán  KHỞI TẠO BTL_ VI XỬ LÍ 1 PHỤC  VỤ NGẮT TRÀN TIMER 2 BTL_ VI XỬ LÍ 1 BTL_ VI XỬ LÍ 1 BTL_ VI XỬ LÍ 1 BTL_ VI XỬ LÍ 1  THUẬT TOÁN CHẠY HIỆU ỨNG BTL_ VI XỬ LÍ 1  THUẬT TOÁN ĐẢO TÍN HIỆU BTL_ VI XỬ LÍ 1  THUẬT TOÁN HIỆU ỨNG BTL_ VI XỬ LÍ 1 BTL_ VI XỬ LÍ 1  CHẠY HIỆU ỨNG BTL_ VI XỬ LÍ 1 3 Vi t chương trình ; Reset Vector org 0000h jmp Start org 002Bh jmp INT_T2 ;==========================================================... hóa 5) Thạch anh : BTL_ VI XỬ LÍ 1 Thạch anh là bộ dao động khá ổn định để tạo ra tần số dao động cho vi điều khiển Các loại thạch anh hay sử dụng là: 8Mhz,12Mhz, 16Mhz….mỗi loại sẽ cho ra 1 xung nhịp khác nhau 6) LED : 7) Nút ấn: CHƯƠNG II : XÂY DỰNG HỆ THỐNG VI ĐIỀU KHIỂN BTL_ VI XỬ LÍ 1 1 Sơ đồ khối 2 Sơ đồ nguyên lý BTL_ VI XỬ LÍ 1 BTL_ VI XỬ LÍ 1 3 Xây dựng thuật toán  KHỞI TẠO BTL_ VI XỬ LÍ 1 PHỤC... chế độ làm vi c của cổng truyền thông SM0 0 0 1 1 SM1 0 1 0 1 Chế độ 0 1 2 3 Khung dữ liệu 8- bit Shift Register 8- bit UART 9-bit UART 9-bit UART Tốc độ Baud Oscillator/12 Cài đặt bởi timer 1(*) Oscillator/64(*) Cài đặt bởi timer 1(*) III Các linh kiện được sử dụng 1) Vi điều khiển: Vi điều khiển được sử dụng trong bài là 1 chip 89 C51 Đặc điểm chung của nó là : - 8 KB EPROM bên trong 1 28 Byte RAM nội... GATE=0 thì cho phép T/C làm vi c + GATE=1 thì T/C được phép làm vi c nếu INTx=1 BTL_ VI XỬ LÍ 1 Các chế độ làm vi c M1 M0 Chế độ Mô tả 0 0 0 Bộ đếm 13bit 0 1 1 Bộ đếm 16bit 1 0 2 Chế độ Auto - Reload 1 1 3 Timer0 là bộ đếm 8bit Time1 dừng Thanh ghi TCON TF1 TCON TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1 (TCON.7): Cờ báo bộ đếm Timer/Counter 1 bị tràn TR1 (TCON.6): Bit cho phép T/C1 làm vi c TF0 (TCON.5): Cờ báo... ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện + Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp  Vi mạch Max 232: BTL_ VI XỬ LÍ 1 Do hãng MAXIM sản suất, là vi mạch chuyên dùng trong giao diện nối tiếp với máy tính Chúng có nhiệm vụ đổi mức TTL ở lối vào mức +10V hoặc -10V ở phía truyền và các mức +3 +15V hoặc -3…-15V thành mức TTL ở phía nhận Vi mạch... Timer 1 BTL_ VI XỬ LÍ 1 EX1: Cho phép/cấm ngăt ngoài INT 1 ET0: Cho phép/cấm ngăt Timer 0 EX0: Cho phép/cấm ngăt ngoài INT 0 7 Địa chỉ vectơ ngắt STT Nguồn gây ngắt Địa chỉ 1 IE0 0003H 2 TF0 000BH 3 IE1 0013H 4 TF1 001BH 5 RI_TI 0023H 6 TF2+EXF2 002BH 8. Cổng vào ra song song (I/O Port) 80 51 có 4 cổng vào ra song song có tên lần lượt là P0, P1, P2, P3 tất cả các cổng này đều là cổng ra vào 2 chiều 8 bit... truyền nhận dữ liệu đều có tên là SBUF SCON là thanh ghi bit được dùng để lập trình vi c đóng khung dữ liệu, xác định chế độ làm vi c của cổng truyền thông nối tiếp Bảng dưới đây mô tả chi tiết các bit khác nhau của thanh ghi SCON : Bit 7 6 5 4 3 2 1 0 Tên SM0 SM1 SM2 REN TB8 RB8 TI RI Địa chỉ 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H Chức năng Xác định chế độ cổng nối tiếp (bit 0) Xác định chế độ cổng nối tiếp... ;========================================================== button1 equ P2.0 button2 equ P2.1 button3 equ p2.2 button4 equ p2.3 LED8 equ P0 cambien1 equ P2.4 cambien2 equ P2.5 dem equ 40h dn equ 41h digit equ 42h in equ 43h out equ P1.0 ;========================================================== ;khai bao dinh nghia timer2 T2CON equ 0C8H TH2 equ 0CDH BTL_ VI XỬ LÍ 1 TL2 equ 0CCH RCAP2H equ 0CBH RCAP2L equ 0CAH TR2 equ T2CON.2 TF2 equ T2CON.7... : Cổng nối tiếp trong 80 51 chủ yếu được dùng trong các ứng dụng có yêu cầu /truyền thông với máy tính, hoặc với 1 vi điều khiển khác Liên quan đến cổng nối tiếp chủ yếu có 2 thanh ghi : SCON và SBUF Ngoài ra, một thanh ghi khác là thanh ghi PCON (không đánh địa chỉ bít) có bít 7 tên là SMOD quy định tốc độ truyền của cổng nối tiếp có gấp đôi lên (SMOD=1) hay không (SMOD=0) BTL_ VI XỬ LÍ 1 Cổng có đặc... Đặc điểm chung của nó là : - 8 KB EPROM bên trong 1 28 Byte RAM nội 4 Port xuất/nhập I/O 8 bit Giao tiếp nối tiếp 64 KB vùng nhớ mã hóa ngoài 64 KB vùng nhớ dữ liệu ngoại BTL_ VI XỬ LÍ 1 - Xử lý Boolean (hoạt động trên bit đơn) 210 vị trí nhớ có thể định vị bit 4μs cho hoạt động nhân hoặc chia Sơ đồ chân của IC 89 C51: 2) Mạch truyền thông chuẩn RS232 : Là một chuẩn giao tiếp nối tiếp dùng định dạng

Ngày đăng: 08/06/2016, 01:30

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

Tài liệu liên quan