Đo khoảng thời gian giữa 2 sự kiện

27 194 0
Đo khoảng thời gian giữa 2 sự kiện

Đ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

Đo khoảng thời gian giữa 2 sự kiện

Đo khoảng thời gian kiện LỜI NÓI ĐẦU Bộ Vi xử lí hạt nhân hệ VXL,nó thực phép tính logic số học để điều khiển toàn hoạt động hệ: - Đọc lệnh từ ô nhớ,giải mã lệnh thực lệnh - Trao đổi số liệu với nhớ thiết bị vào - Có thể điều khiển từ số tín hiệu bên đẻ thực số chức đặc biệt thâm nhập nhớ,ngắt treo Một hệ VXL bao gồm phần: - Phần cứng - Phần mềm *) Phần cứng toàn kết cấu vật lí cấu thành nên hệ ROM, RAM, P… *) Phần mềm:Phần logic bao gòm hệ điều hành va chương trình ứng dụng(do người sử dụng viết)chương trình lưu trữ nhớ mã nhị phân máy tính.Một chương trình viết ngôn ngữ máy chuỗi byte nhị phân biểu diễn lệnh mã máy tính thực được.Hợp ngữ thay mã nhị phân ngôn ngữ máy mã gợi nhớ giúp ta dễ nhớ dễ lập trình BTL bao gồm: CHƯƠNG 1: Giới thiệu họ vi điều khiển 8051 1.1 Cấu trúc phần cứng 1.2 Sơ đồ chân chức chân CHƯƠNG 2: Ứng dụng đo khoảng thời gian xung ( f < 1000 Hz ) Page Đo khoảng thời gian kiện 2.1 Mạch tạo xung sử dụng time 555 2.2 Giới thiệu LCD 2.3 Lưu đồ thuật toán 2.4 Mạch đo chương trình hợp ngữ Với BTL em nhận có sai sót mong bảo Thầy để BTL em thành công, em xin chân thành cảm ơn ! Page Đo khoảng thời gian kiện CHƯƠNG 1: GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051 1.1 Cấu trúc phần cứng Đặc điểm chức hoạt động IC họ MSC-51 hoàn toàn tương tự Ở giới thiệu IC8951 họ IC vi điều khiển hãng Intel Mỹ sản xuất Chúng có đặc điểm chung sau: Các đặc điểm 8951 tóm tắt sau : • KB EPROM bên • 128 Byte RAM nội • Port xuất /nhập I/O bit • Giao tiếp nối tiếp • 64 KB vùng nhớ mã • 64 KB vùng nhớ liệu ngoại • Xử lí Boolean (hoạt động bit đơn) • 210 vị trí nhớ định vị bit • µs cho hoạt động nhân chia Sơ đồ khối 8951: Page Đo khoảng thời gian kiện Page Đo khoảng thời gian kiện 1.2 Sơ đồ chân chức chân 1.2.1 Sơ đồ chân 8951: Sơ đồ chân IC 89C51 1.2.2 Chức chân 8951: - 8951 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép (có nghĩa chân có chức năng), đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa Page Đo khoảng thời gian kiện a Các Port: Port : - Port port có chức chân 32 – 39 8951 Trong thiết kế cỡ nhỏ không dùng nhớ mở rộng có chức đường IO Đối với thiết kế cỡ lớn có nhớ mở rộng, kết hợp bus địa bus liệu Port 1: - Port port IO chân 1-8 Các chân ký hiệu P1.0, P1.1, P1.2, … dùng cho giao tiếp với thiết bị cần Port 1không có chức khác, chúng dùng cho giao tiếp với thiết bị bên Port : - Port port có tác dụng kép chân 21 - 28 dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng Port 3: - Port port có tác dụng kép chân 10 - 17 Các chân port có nhiều chức năng, công dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8951 bảng sau: Page Đo khoảng thời gian kiện b Các ngõ tín hiệu điều khiển : Ngõ tín hiệu PSEN (Program store enable): - PSEN tín hiệu ngõ chân 29 có tác dụng cho phép đọc nhớ chương trình mở rộng thường nói đến chân 0E\ (output enable) Eprom cho phép đọc byte mã lệnh - PSEN mức thấp thời gian Microcontroller 8951 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu chốt vào ghi lệnh bên 8951 để giải mã lệnh Khi 8951 thi hành chương trình ROM nội PSEN mức logic Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) : - Khi 8951 truy xuất nhớ bên ngoài, port có chức bus địa bus liệu phải tách đường liệu địa Tín hiệu ALE Page Đo khoảng thời gian kiện chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường địa liệu kết nối chúng với IC chốt - Tín hiệu chân ALE xung khoảng thời gian port đóng vai trò địa thấp nên chốt địa hoàn toàn tự động Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động chip dùng làm tín hiệu clock cho phần khác hệ thống Chân ALE dùng làm ngõ vào xung lập trình cho Eprom 8951 Ngõ tín hiệu EA\(External Access): - Tín hiệu vào EA\ chân 31 thường mắc lên mức mức Nếu mức 1, 8951thi hành chương trình từ ROM nội khoảng địa thấp Kbyte Nếu mức 0, 8951 thi hành chương trình từ nhớ mở rộng Chân EA\ lấy làm chân cấp nguồn 21V lập trình cho Eprom 8951 Ngõ tín hiệu RST (Reset) : -Ngõ vào RST chân ngõ vào Reset 8951 Khi ngõ vào tín hiệu đưa lên cao chu kỳ máy, ghi bên nạp giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset Các ngõ vào dao động X1, X2: - Bộ dao động tích hợp bên 8951, sử dụng 8951 người thiết kế cần kết nối thêm thạch anh tụ hình vẽ sơ đồ.Tần số thạch Page Đo khoảng thời gian kiện anh thường sử dụng cho 8951 12Mhz Chân 40 (Vcc) nối lên nguồn 5V Page Đo khoảng thời gian kiện CHƯƠNG 2: ỨNG DỤNG ĐO KHOẢNG THỜI GIAN GIỮA XUNG ( F < 1000 HZ ) 2.1 Mạch tạo xung dùng Time 555: 2.2 Giới thiệu LCD 2.2.1 Hoạt động LCD: Trong năm gần LCD ngày sử dụng rộng rãi thay dần cho đèn LED (các đèn LED đoạn hay nhiều đoạn) Đó nguyên nhân sau: • Các LCD có giá thành hạ Page 10 Đo khoảng thời gian kiện C E F 10 14 18 1C 80 C0 38 Bật hiển thị, tắt trỏ Bật hiển thị, nhấp nháy trỏ Tắt trỏ, nhấp nháy trỏ Dịch vị trí trỏ sang trái Dịch vị trí trỏ sang phải Dịch toàn hiển thị sang trái Dịch toàn hiển thị sang phải Ép trỏ Vũ đầu dòng thứ Ép trỏ Vũ đầu dòng thứ hai Hai dòng ma trận ⋅ Để gửi lệnh đến LCD ta phải đưa chân RS Đối với liệu bật RS = sau gửi sườn xung cao xuống thấp đến chân E phép chốt liệu LCD Điều đoạn mã chương trình Page 13 Đo khoảng thời gian kiện 2.2.4 Gửi mã lệnh liệu đến LCD có kiểm tra cờ bận Đoạn chương trình cách gửi lệnh đến LCD mà kiểm tra cờ bận (Busy Flag) Lưu ý phải đặt độ trễ lớn ảtình xuất liệu lệnh LCD Tuy nhiên, cách tốt nhiều hiển thị cờ bận trước xuất lệnh liệu tới LCD Dưới chương trình Lưu ý chương trình cờ bận D7 ghi lệnh Để đọc ghi lệnh ta phải đặt RS = 0, R/W = xung cao - xuống - thấp cho bít E để cấp ghi lệnh cho Sau đọc ghi lệnh, bít D7 (cờ bận) mức cao LCD bận thông tin (lệnh) xuất đến D7 = gửi liệu lệnh đến LCD Lưu ý phương phát không sử dụng độ trễ thời gian ta kiểm tra cờ bận trước xuất lệnh liệu lên LCD 2.3 Lưu đồ thuật toán: Page 14 Đo khoảng thời gian kiện Page 15 Đo khoảng thời gian kiện 2.4 Mạch đo chương trình hợp ngữ #INCLUDE ORG 0H LJMP MAIN ORG 03H MOV TMOD, #01 MOV TL0, #0H MOV TH0, #0H SETB TR0 JNB P3.2, $ CLR TR0 CLR TF0 MOV R0, TL0 MOV R1, TH0 MOV R2, #10H MOV R3, #27H Page 16 Đo khoảng thời gian kiện LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #0E8H MOV R3, #3H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #64H Page 17 Đo khoảng thời gian kiện MOV R3, #0H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #0AH MOV R3, #0H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, #'u' LCALL HIENTHI LCALL TRE MOV A, #'S' Page 18 Đo khoảng thời gian kiện LCALL HIENTHI LCALL TRE SJMP $ MAIN: MOV IE, #10000001B SETB TCON.0 MOV A,#38H ;LCD 5X7 , dong LCALL XLENH LCALL TRE MOV A,#0EH ;BAI HIEN THI VA NHAP NHAY CON TRO LCALL XLENH LCALL TRE SJMP $ XLEN H: MOV P2, A CLR P0.5 CLR P0.6 SETB P0.7 CLR P0.7 RET HIENTHI: MOV P2, A SETB P0.5 CLR P0.6 SETB P0.7 Page 19 Đo khoảng thời gian kiện CLR P0.7 RET TRE: MOV TMOD, #20H ;CHE DO 2, TIMER MOV TH1, #0DEH SETB TR1 LAP: JNB TF1,LAP CLR TR1 CLR TF1 RET ;====================================================== DIV16: RET ANL PSW, #0E7H MOV A, R3 ORL A, R2 JNZ DIV_OK SETB C DIV_OK: PUSH DPL Page 20 Đo khoảng thời gian kiện PUSH DPH PUSH B ACALL CR0R1 ACALL CR2R3 ACALL UDIV16 ACALL MR0R1 CLR C POP B POP DPH POP DPL RET CR0R1: MOV JB CLR A, R1 ACC.7, C0A 21H RET C0A: SETB 21H MOV CPL A, R0 A ADD A, #1 MOV R0, A MOV A, R1 CPL A Page 21 Đo khoảng thời gian kiện ADDC A, #0 MOV R1, A RET CR2R3 MOV JB CLR A, R3 ACC.7, C1A 22H RET C1A: SETB 22H MOV CPL A, R2 A ADD A, #1 MOV R2, A MOV A, R3 CPL A ADDC A, #0 MOV R3, A RET UDIV16: MOV R7, #0 MOV R6, #0 MOV B, #16 DIV_LOOP: CLR C Page 22 Đo khoảng thời gian kiện MOV RLC DIV_1: A, R0 A MOV R0, A MOV RLC MOV MOV RLC MOV MOV RLC MOV MOV CLR SUBB MOV MOV SUBB MOV CPL JNC MOV MOV A, R1 A R1, A A, R6 A R6, A A, R7 A R7, A A, R6 C A, R2 DPL, A A, R7 A, R3 DPH, A C DIV_1 R7, DPH R6, DPL MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A DJNZ B, MOV A, R5 MOV R1, A MOV A, R4 MOV R0, A MOV A, R7 MOV R3, A MOV A, R6 Page 23 Đo khoảng thời gian kiện MOV RET R2, A MR0R1: JB 21H, MR0R1B JB 22H, MR0R1A RET MR0 R1: JNB 22H, MR0R1A RET MR0R1A: MOV A, R0 CPL A ADD A, #1 MOV R0, A MOV A, R1 CPL A ADDC A, #0 MOV R1, A RET END Page 24 KẾT LUẬN Tới việc thiết kế hoàn thành Do khả thân hạn hẹp , thời gian có hạn nên tập thiết kế không tránh khỏi sai sót Mong Thầy bạn góp ý để tập lớn lần sau em ngày hoàn chỉnh Tài liệu tham khảo: Kĩ thuật Vi xử lý - Tác giả: Văn Thế Minh Cấu trúc lập trình họ vi điều khiển 8051 - Tác giả: Nguyễn Tăng Cường _ Phan Quốc Thắng Trang Web : WWW.8052.COM [...]... khoảng thời gian giữa 2 sự kiện PUSH DPH PUSH B ACALL CR0R1 ACALL CR2R3 ACALL UDIV16 ACALL MR0R1 CLR C POP B POP DPH POP DPL RET CR0R1: MOV JB CLR A, R1 ACC.7, C0A 21 H RET C0A: SETB 21 H MOV CPL A, R0 A ADD A, #1 MOV R0, A MOV A, R1 CPL A Page 21 Đo khoảng thời gian giữa 2 sự kiện ADDC A, #0 MOV R1, A RET CR2R3 MOV JB CLR A, R3 ACC.7, C1A 22 H RET C1A: SETB 22 H MOV CPL A, R2 A ADD A, #1 MOV R2, A MOV... trễ thời gian nào vì ta đang kiểm tra cờ bận trước khi xuất lệnh hoặc dữ liệu lên LCD 2. 3 Lưu đồ thuật toán: Page 14 Đo khoảng thời gian giữa 2 sự kiện Page 15 Đo khoảng thời gian giữa 2 sự kiện 2. 4 Mạch đo và chương trình hợp ngữ #INCLUDE ORG 0H LJMP MAIN ORG 03H MOV TMOD, #01 MOV TL0, #0H MOV TH0, #0H SETB TR0 JNB P3 .2, $ CLR TR0 CLR TF0 MOV R0, TL0 MOV R1, TH0 MOV R2, #10H MOV R3, #27 H... Page 16 Đo khoảng thời gian giữa 2 sự kiện LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #0E8H MOV R3, #3H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #64H Page 17 Đo khoảng thời gian giữa 2 sự kiện MOV R3, #0H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 MOV... P2, A CLR P0.5 CLR P0.6 SETB P0.7 CLR P0.7 RET HIENTHI: MOV P2, A SETB P0.5 CLR P0.6 SETB P0.7 Page 19 Đo khoảng thời gian giữa 2 sự kiện CLR P0.7 RET TRE: MOV TMOD, #20 H ;CHE DO 2, TIMER 1 MOV TH1, #0DEH SETB TR1 LAP: JNB TF1,LAP CLR TR1 CLR TF1 RET ;====================================================== DIV16: RET ANL PSW, #0E7H MOV A, R3 ORL A, R2 JNZ DIV_OK SETB C DIV_OK: PUSH DPL Page 20 Đo khoảng. .. MOV R0, A MOV A, R7 MOV R3, A MOV A, R6 Page 23 Đo khoảng thời gian giữa 2 sự kiện MOV RET R2, A MR0R1: JB 21 H, MR0R1B JB 22 H, MR0R1A RET MR0 R1: JNB 22 H, MR0R1A RET MR0R1A: MOV A, R0 CPL A ADD A, #1 MOV R0, A MOV A, R1 CPL A ADDC A, #0 MOV R1, A RET END Page 24 KẾT LUẬN Tới đây việc thiết kế đã hoàn thành Do khả năng bản thân còn hạn hẹp , thời gian có hạn nên bài tập thiết kế không tránh khỏi những... 22 Đo khoảng thời gian giữa 2 sự kiện MOV RLC DIV_1: A, R0 A MOV R0, A MOV RLC MOV MOV RLC MOV MOV RLC MOV MOV CLR SUBB MOV MOV SUBB MOV CPL JNC MOV MOV A, R1 A R1, A A, R6 A R6, A A, R7 A R7, A A, R6 C A, R2 DPL, A A, R7 A, R3 DPH, A C DIV_1 R7, DPH R6, DPL MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A DJNZ B, MOV A, R5 MOV R1, A MOV A, R4 MOV R0, A MOV A, R7 MOV R3, A MOV A, R6 Page 23 Đo khoảng. .. liệu nào lên LCD 2. 2.3 Gửi các lệnh và dữ liệu đến LCD với một độ trễ: *Các mã lệnh LCD: Mã (Hex) 1 2 4 6 5 7 8 A Lệnh đến thanh ghi của LCD Xoá màn hình hiển thị Trở về đầu dòng Giả con trỏ (dịch con trỏ sang trái) Tăng con trỏ (dịch con trỏ sang phải) Dịch hiển thị sang phải Dịch hiển thị sang trái Tắt con trỏ, tắt hiển thị Tắt hiển thị, bật con trỏ Page 12 Đo khoảng thời gian giữa 2 sự kiện C E F 10... dữ liệu thì bật RS = 1 sau đó gửi một sườn xung cao xuống thấp đến chân E để cho phép chốt dữ liệu trong LCD Điều này được chỉ ra trong đo n mã chương trình dưới đây Page 13 Đo khoảng thời gian giữa 2 sự kiện 2. 2.4 Gửi mã lệnh hoặc dữ liệu đến LCD có kiểm tra cờ bận Đo n chương trình trên đây đã chỉ ra cách gửi các lệnh đến LCD mà không có kiểm tra cờ bận (Busy Flag) Lưu ý rằng chúng ta phải đặt một... TRE MOV A, R2 MOV R0, A MOV A, R3 MOV R1, A MOV R2, #0AH MOV R3, #0H LCALL DIV16 MOV A, R0 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, R2 ORL A, #30H LCALL HIENTHI LCALL TRE MOV A, #'u' LCALL HIENTHI LCALL TRE MOV A, #'S' Page 18 Đo khoảng thời gian giữa 2 sự kiện LCALL HIENTHI LCALL TRE SJMP $ MAIN: MOV IE, #10000001B SETB TCON.0 MOV A,#38H ;LCD 5X7 , 2 dong LCALL XLENH LCALL TRE MOV A,#0EH ;BAI HIEN... hoặc đọc thông tin từ nó khi R/W = 1 4 Chân cho phép E (Enable).Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ liệu của nó Khi dữ liệu được cấp đến Page 11 Đo khoảng thời gian giữa 2 sự kiện chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liêu Xung này phải rộng tối thiểu là 450ns 5 Chân D0 - D7.Đây là 8 chân dữ

Ngày đăng: 10/05/2016, 11:54

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

  • Đang cập nhật ...

Tài liệu liên quan