Đồ án Mạch đếm sản phẩm sử dụng họ 8051

MỤC LỤC

LỜI MỞ ĐẦU

Trang

CHƯƠNG I: ĐẶT VẤN ĐỀ

I.1 Lí do chọn đềtài .04 4

I.2 Mục tiêu của đềtài .04 4

I.3 Vấn đềcần giải quyết .04 4

CHƯƠNG II: GIẢI QUYẾT VẤN ĐỀ

II.1.Cơsởlý thuyết .05

II.1.1 Tổng quan vềhọvi điều khiển 8051 .05 5

1.Giới thiệu chung vềcấu trúc phần cứng .05

2.Giới thiệu chung vềcấu trúc bên trong . .07

II.1.2 Tìm hiểu IC AT89S52 . .10

1.Cấu trúc phần cứng . .10

2.Cấu trúc bên trong . .13

II.1.3.Các linh kiện thường dùng cho đềtài . .20

1-Điệntrở: . . 20

2-Biến trở . . 20

3-Transistor . .21 1

4-Tụ điện . .21 1

5 -Diode . 22

6- Led . 22

7- Led 7 đoạn . 22

8- Bộchuyển đổi SN74LS47 . .24 4

9-Bộso sánh LM358P . .25 5

II.2.Thiết kếvà thi công . 26

II.2.1 Thiết kếphần cứng . .26 6

1.Sơ đồkhối của sản phẩm . 26 6

2.Chức năng các khối . 26 6

3.Sơ đồnguyên lý của mạch . .27 7

II.2.1 Thiết kếphần mềm . .27 7

 

 

pdf33 trang | Chia sẻ: lethao | Lượt xem: 7544 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Mạch đếm sản phẩm sử dụng họ 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
inh kiện ñầu tiên của họ này ñược hãng sản xuất Intel ñưa ra thị trường . IC 8051 có các ñặc trưng ñược tóm tắt như sau: • 4 KB EPROM bên trong. • 128 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ã ngoài • 64 KB vùng nhớ dữ liệu ngoại. • 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. Hình : Sơ ñồ chân của vi ñiều khiển 8051 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 6 Port 0 : Port0 (P0.0-P0.7) có số chân từ 32-39 . Port 0 có 2 chức năng: -Port xuất nhập dữ liệu (P0.0-P0.7) → không sử dụng bộ nhớ ngoài và bus ñịa chỉ byte thấp và bus dữ liệu ña hợp (AD0-AD7) → có sử dụng bộ nhớ ngoài. -Port0 ñóng vai trò xuất nhập dữ liệu thì phải sử dụng các ñiện trở kéo bên ngoài. Port1: Port1(P1.0-P1.7) có số chân từ 1 -8. Port có chức năng xuất nhập dữ liệu (P1.0-P1.7) →sử dụng hoặc không sử dụng bộ nhớ ngoài Port 2: Port(P2.0-P2.7) có số chân từ 21-28.Port có 2 chức năng :port xuất nhập dữ liệu(p2.0-P2.7) không sử dụng bộ nhớ ngoài và bus ñịa chỉ cao(A8-A5) có sử dụng bộ nhớ ngoài Port 3: Port 3( P3.0-P3.7) có số chân từ 10-17.Có 2 chức năng: Khi không hoạt ñộng xuất / nhập,các chân của port3 có nhiều chức năng riêng (mỗi chân có chức năng riêng liên quan ñến ñặc trưng cụ thể của 8051) *Bảng chức năng của port3 và 2 chân của P1.0 , P1.1 của port. Bit Tên Địa chỉ bit Chức năng P3.0 RxD B0H Chân nhận dữ liệu của bit nối tiếp P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp P3.2 B2H Ngõ vào ngắt ngoài 0 P3.3 B3H Ngõ vào ngắt ngoài 1 P3.4 T0 B4H Ngõ vào của bộ ñịnh thời /ñiểm 0 P3.5 T1 B5H Ngõ vào của bộ ñịnh thời /ñiểm1 P3.6 B6H Điều khiển ghi bộ nhớ dữ liệu P3.7 B7H Điều khiển ñọc bộ nhớ dữ liệu P1.0 T2 90H Ngõ vào của bộ ñịnh thời /ñiểm 2 P1.1 T2EX 91H Nạp lại /thu nhận của bộ ñịnh thời 2 * Chân PSEN: - PSEN cho phép bộ nhớ chương trình,chân số 29 - là tín hiệu cho phép truy xuất (ñọc) bộ nhớ chương trinh (ROM) ngoài - Là mức xuất tích cực ở mức thấp PSEN =0 → trong thời gian CPU tìm - nạp lệnh từ ROM ngoài ,PSEN =1 → CPU sử dụng ROM trong. * Chân ALE : - ALE cho phép chốt ñịa chỉ,chân số 30 -Là tín hiệu cho phép chốt ñịa chỉ ñể thực hiện việc giải ña hợp cho bus ñịa chỉ byte thấp và byte dữ liệu ña hợp (AD0-AD7). Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 7 * Chân EA: Là chân truy xuất ngoài - Là tín hiệu cho phép truy xuất ngoài (sử dụng )bộ nhớ chương trình ROM ngoài. - Là tín hiệu nhập tích cực ở mức thấp EA =0 sử dụng chương trình ROM ngoài,AE=1 sử dụng chương trình ROM trong. *Chân XTAL1,XTAL2: tinh thể thạch anh chân số 18,19 -Dùng ñể nối thạch anh với mạch dao ñộng tạo xung clock bên ngoài cung cấp xung clock cho chíp hoạt ñộng . - XTAL1 Ngõ vào mạch tạo xung clock trong chíp - XTAL2 Ngõ ra mạch tạo xung clock trong chip f =12MHz f tần số danh ñịnh Chân RST: thiết lập lại là chân số 9 - Là tín hiệu cho phép thiết lập lại trạng thái ban ñầu cho hệ thống - Là tín hiệu nhập tích cực mức cao RST=0 chip 8051 hoạt ñộng bình thường, RTS=1 chip 8051 ñược thiết lập lại trạng thái ban ñầu Chân Vcc, GND: Nguồn cung cấp ñiện chân số 40-20 -Cung câp nguồn ñiện cho chip hoạt ñộng - Vcc =+5V±10% và GND=0V 2.Giới thiệu chung về cấu trúc bên trong *Sơ ñồ khối bên trong 8051 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 8 Hình : sơ ñồ cấu trúc bên trong của 8051 *Tổ chức bộ nhớ của 8051 Bộ nhớ bên trong 8051 bao gồm RAM và ROM.RAM bao gồm nhiều thành phần: lưu trữ ña dụng,phần lưu trữ ñịa chỉ hoá từng bank thanh ghi và các thanh ghi chức năng ñặc biệt. 8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương trình và dữ liệu.Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 8051 vẫn có thể kết nối 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu mở rộng. RAM trong 8051 ñược phân chia như sau: - các bank thanh ghi có ñịa chỉ từ 00H ñến 1FH. - RAM ñịa chỉ hoá từng bít có ñịa chỉ từ 20H ñến 2FH. - RAM ña dụng từ 30H ñến 7FH. - Các thanh ghi chức năng ñặc biệt từ 80H ñến FFH. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 9 - Hình : Tổ chức bộ nhớ của 8051 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 10 II.1.2 Tìm hiểu IC AT89S52 1.Cấu trúc phần cứng a.Sơ ñồ chânAT89S52 Hình 1: Sơ ñồ chân của IC AT89S52 *Sơ ñồ khối của AT89S52 Hình 2:Sơ ñồ khối AT89S52 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 RESET XTAL1 XTAL2 RXD TXD INT0 INT1 T0 T1 WR RD GND VCC PSEN ALE/P EA/VP Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 11 b. Chức năng các chân của AT89S52 AT89C51 có tất cả 40 chân có chức năng như các ñường xuất nhập. Trong ñó có 24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng), mỗi ñường có thể hoạt ñộng như ñường xuất nhập hoặc như ñường ñiều khiển hoặc là thành phần của các bus dữ liệu và bus ñịa chỉ. #Các cổng xuất nhập - Port 0: Port 0 là port có 2 chức năng ở các chân 32 - 39 của 8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các ñường I/O. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó ñược kết hợp giữa bus ñịa chỉ và bus dữ liệu. - Port 1: Port 1 là port I/O trên các chân 1-8. Các chân ñược ký hiệu P1.0, P1.1, p1.2, ... p1.7 có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ ñược dùng cho giao tiếp với các thiết bị bên ngoài. - Port 2: Port 2 là 1 port có tác dụng kép trên các chân 21- 28 ñược dùng như các ñường xuất nhập hoặc là byte cao của bus ñịa chỉ ñối với các thiết bị dùng bộ nhớ mở rộng. - Port 3: Port 3 là port có tác dụng kép trên các chân 10-17. Các chân của port này có nhiều chức năng, các công dụng chuyển ñổi có liên hệ với các ñặc tính ñặc biệt của 8951 như ở bảng sau: Bảng 1: Chức năng của các chân của Port 3 # Các ngõ tín hiệu ñiều khiển - Ngõ tín hiệu PSEN (Program Store Enable): PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép ñọc bộ nhớ chương trình mở rộng thường ñược nối ñến chân OE\ (Output Enable) của EPROM Bit Tên Chức năng chuyển ñổi P3.0 RXT Ngõ vào dữ liệu nối tiếp. P3.1 TXD Ngõ xuất dữ liệu nối tiếp. P3.2 INT0\ Ngõ vào ngắt cứng thứ 0 P3.3 INT1\ Ngõ vào ngắt cứng thứ 1 P3.4 T0 Ngõ vào củaTIMER/COUNTER thứ 0 P3.5 T1 Ngõ vào củaTIMER/COUNTER thứ 1 P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài P3.7 RD\ Tín hiệu ñọc bộ nhớ dữ liệu ngoài Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 12 cho phép ñọc các byte mã lệnh. PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã lệnh của chương trình ñược ñọc từ EPROM qua bus dữ liệu và ñược chốt vào thanh ghi lệnh bên trong 8951 ñể giải mã lệnh. Khi 8951 thi hành chương trình trong EPROM nội PSEN sẽ ở mức logic 1. - Ngõ tín hiệu ñiều khiển ALE (Address Latch Enable): Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus ñịa chỉ và bus dữ liệu do ñó phải tách các ñường dữ liệu và ñịa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu ñiều khiển ñể giải ña hợp các ñường ñịa chỉ và dữ liệu khi kết nối chúng với IC chốt. Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 ñóng vai trò là ñịa chỉ thấp nên chốt ñịa chỉ hoàn toàn tự ñộng. Các xung tín hiệu ALE có tốc ñộ bằng 1/6 lần tần số dao ñộng trên chip và có thể ñược dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE ñược dùng làm ngõ vào xung lập trình cho EPROM trong 8951. - Ngõ tín hiệu EA\(External Access): Tín hiệu vào EA\ ở chân 31 thường ñược mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 8951 thi hành chương trình từ EPROM nội trong khoảng ñịa chỉ thấp 4 Kbyte. Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ ñược lấy làm chân cấp nguồn 12V khi lập trình cho EPROM trong 8951. - Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951. Khi ngõ vào tín hiệu này ñưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong ñược nạp những giá trị thích hợp ñể khởi ñộng hệ thống. Khi cấp ñiện mạch tự ñộng Reset. R ESET V C C 10K R 2 100 R 1 1 3 2 4 P 104 C 6 + 10uF C 3 Hình 3: Mạch Reset hệ thống Trạng thái của tất cả các thanh ghi của 8051 sau khi reset hệ thống ñược tóm tắt trong bảng sau: Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 13 Bảng 2: Trạng thái các thanh ghi sau khi Reset Quan trọng nhất trong các thanh ghi trên là thanh ghi ñếm chương trình, nó ñược ñặt lại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt ñầu ở ñịa chỉ ñầu tiên trong bộ nhớ trong chương trình: ñịa chỉ 0000H. Nội dung của RAM trên chip không bị thay ñổi bởi lệnh reset. Các ngõ vào bộ dao ñộng X1,X2: Bộ dao ñộng ñược ñược tích hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ. Tần số thạch anh thường sử dụng cho 8951 là 12Mhz. Chân 40 (Vcc) ñược nối lên nguồn 5V. 2.Cấu trúc bên trong a. Tổ chức bộ nhớ (Organizational memory) Bộ nhớ trong 8951 bao gồm EPROM và RAM. RAM trong 8951 bao gồm nhiều thành phần: phần lưu trữ ña dụng, phần lưu trữ ñịa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng ñặc biệt. Họ 8951 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 8951 nhưng 8951 vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu. * Bản ñồ bộ nhớ Data trên chip như sau: Thanh ghi Nội dung Thanh ghi Nội dung Đếm chương trình 0000H IP XXX00000B Tích lũy 00H IE 0XX00000B B 00H Các thanh ghi ñịnh thời 00H PSW 00H SCON 00H SP 07H SBUF 00H DPTR 0000H PCON(HMOS) 0XXXXXXXB Port 0-3 FFH PCON(CMOS) 0XXX0000B Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 14 Hình 5:Bản ñồ bộ nhớ Data trên chip AT89S52 Hai ñặc tính cần chú ý là: - Các thanh ghi và các port xuất nhập ñã ñược ñịnh vị (xác ñịnh) trong bộ nhớ và có thể truy xuất trực tiếp giống như các ñịa chỉ bộ nhớ khác. - Ngăn xếp bên trong Ram nội nhỏ hơn so với Ram ngoại như trong các bộ Microcontroller khác. *RAM bên trong AT89S52 ñược phân chia như sau: 1 Các bank thanh ghi có ñịa chỉ từ 00H ñến 1FH. 2 RAM ñịa chỉ hóa từng bit có ñịa chỉ từ 20H ñến 2FH. 3 RAM ña dụng từ 30H ñến 7FH. + Vùng RAM ña dụng: Từ hình vẽ cho thấy 80 byte ña dụng chiếm các ñịa chỉ từ 30H ñến 7FH, 32 byte dưới từ 00H ñến 1FH cũng có thể dùng với mục ñích tương tự (mặc dù các ñịa chỉ này ñã có mục ñích khác). Mọi ñịa chỉ trong vùng RAM ña dụng ñều có thể truy xuất tự do dùng kiểu ñịa chỉ trực tiếp hoặc gián tiếp. + RAM có thể truy xuất từng bit: AT89S52 chứa 210 bit ñược ñịa chỉ hóa, trong ñó có 128 bit có chứa các byte chứa các ñịa chỉ từ 20H ñến 2FH và các bit còn lại chứa trong nhóm thanh ghi có chức năng ñặc biệt. Ý tưởng truy xuất từng bit bằng phần mềm là các ñặc tính mạnh của microcontroller xử lý chung. Các bit có thể ñược ñặt, xóa, AND, OR, … , với 1 lệnh Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 15 ñơn. Đa số các microcontroller xử lý ñòi hỏi một chuỗi lệnh ñọc - sửa - ghi ñể ñạt ñược mục ñích tương tự. Ngoài ra các port cũng có thể truy xuất ñược từng bit. 128 bit có chứa các byte có ñịa chỉ từ 00H -1FH cũng có thể truy xuất như các byte hoặc các bit phụ thuộc vào lệnh ñược dùng. + Các bank thanh ghi : 32 byte thấp của bộ nhớ nội ñược dành cho các bank thanh ghi. Bộ lệnh 89S52 hổ trợ 8 thanh ghi có tên là R0 - R7 và theo mặc ñịnh sau khi reset hệ thống, các thanh ghi này có các ñịa chỉ từ 00H - 07H. Các lệnh dùng các thanh ghi RO - R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức năng tương ứng dùng kiểu ñịa chỉ trực tiếp. Các dữ liệu ñược dùng thường xuyên nên dùng một trong các thanh ghi này. Do có 4 bank thanh ghi nên tại một thời ñiểm chỉ có một bank thanh ghi ñược truy xuất bởi các thanh ghi RO - R7 ñể chuyển ñổi việc truy xuất các bank thanh ghi ta phải thay ñổi các bit chọn bank trong thanh ghi trạng thái. b.Các thanh ghi (the registers) Các thanh ghi nội của AT89S52 ñược truy xuất ngầm ñịnh bởi bộ lệnh. Các thanh ghi trong AT89S52 ñược ñịnh dạng như một phần của RAM trên chip vì vậy mỗi thanh ghi sẽ có một ñịa chỉ (ngoại trừ thanh ghi bộ ñếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác ñộng trực tiếp). Cũng như R0 ñến R7, AT89S52 có 21 thanh ghi có chức năng ñặc biệt (SFR: Special Function Register) ở vùng trên của RAM nội từ ñịa chỉ 80H - FFH. Chú ý: tất cả 128 ñịa chỉ từ 80H ñến FFH không ñược ñịnh nghĩa, chỉ có 21 thanh ghi có chức năng ñặc biệt ñược ñịnh nghĩa sẵn các ñịa chỉ. Ngoại trừ thanh ghi A có thể ñược truy xuất ngầm như ñã nói, ña số các thanh ghi có chức năng ñiệt biệt SFR có thể ñịa chỉ hóa từng bit hoặc byte. Thanh ghi trạng thái chương trình (PSW: Program Status Word): Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 16 Từ trạng thái chương trình ở ñịa chỉ D0H ñược tóm tắt như sau: Bit Symbol Address Description PSW.7 CY D7H Cary Flag PSW.6 AC D6H Auxiliary Cary Flag PSW.5 F0 D5H Flag 0 PSW4 RS1 D4H Register Bank Select 1 PSW.3 RS0 D3H Register Bank Select 0 00=Bank 0; address 00H07H 01=Bank 1; address 08H0FH 10=Bank 2; address 10H17H 11=Bank 3; address 18H1FH PSW.2 OV D2H Overlow Flag PSW.1 - D1H Reserved PSW.0 P DOH Even Parity Flag Chức năng từng bit trạng thái chương trình - Cờ Carry CY (Carry Flag): - Cờ nhớ có tác dụng kép. Thông thường nó ñược dùng cho các lệnh toán học: C=1 nếu phép toán cộng có sự tràn hoặc phép trừ có mượn và ngược lại C=0 nếu phép toán cộng không tràn và phép trừ không có mượn. - Cờ Carry phụ AC (Auxiliary Carry Flag):Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC ñược set nếu kết quả 4 bit thấp nằm trong phạm vi ñiều khiển 0AH - 0FH. Ngược lại AC=0. - Cờ 0 (Flag 0): Cờ 0 (F0) là 1 bit cờ ña dụng dùng cho các ứng dụng của người dùng - Những bit chọn bank thanh ghi truy xuất: + RS1 và RS0 quyết ñịnh dãy thanh ghi tích cực. Chúng ñược xóa sau khi reset hệ thống và ñược thay ñổi bởi phần mềm khi cần thiết. Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ ñược chọn Bank tích cực tương ứng là Bank 0, Bank1, Bank2, Bank3. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 17 RS1 RS0 BANK 0 0 0 0 1 1 1 0 2 1 1 3 + Cờ tràn OV (Over Flag): Cờ tràn ñược set sau một hoạt ñộng cộng hoặc trừ nếu có sự tràn toán học. Khi các số có dấu ñược cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này ñể xác ñịnh xem kết quả có nằm trong tầm xác ñịnh không. Khi các số không có dấu ñược cộng bit OV ñược bỏ qua. Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 thì bit OV=1. + Bit Parity (P) : Bit tự ñộng ñược set hay Clear ở mỗi chu kỳ máy ñể lập Parity chẵn với thanh ghi A. Sự ñếm các bit 1 trong thanh ghi A cộng với bit Parity luôn luôn chẵn. Ví dụ A chứa 10101101B thì bit P set lên 1 ñể tổng số bit 1 trong A và P tạo thành số chẵn. Bit Parity thường ñược dùng trong sự kết hợp với những thủ tục của Port nối tiếp ñể tạo ra bit Parity trước khi phát ñi hoặc kiểm tra bit Parity sau khi thu. + Thanh ghi B : Thanh ghi B ở ñịa chỉ F0H ñược dùng cùng với thanh ghi A cho các phép toán nhân chia. Lệnh MUL AB sẽ nhận những giá trị không dấu 8 bit trong hai thanh ghi A và B, rồi trả về kết quả 16 bit trong A (byte cao) và B(byte thấp). Lệnh DIV A,B lấy A chia B, kết quả nguyên ñặt ở A, số dư ñặt ở B. Thanh ghi B có thể ñược dùng như một thanh ghi ñệm trung gian ña mục ñích. Nó là những bit ñịnh vị thông qua những ñịa chỉ từ F0H - F7H. + Con trỏ Ngăn xếp SP (Stack Pointer) : Con trỏ ngăn xếp là một thanh ghi 8 bit ở ñịa chỉ 81H. Nó chứa ñịa chỉ của của byte dữ liệu hiện hành trên ñỉnh ngăn xếp. Các lệnh trên ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp (PUSH) và lấy dữ liệu ra khỏi ngăn xếp (POP). Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP. Ngăn xếp của 8031/8051 ñược giữ trong RAM nội và giới hạn các ñịa chỉ có thể truy xuất bằng ñịa chỉ gián tiếp, chúng là 128 byte ñầu của AT89S52 Để khởi ñộng SP với ngăn xếp bắt ñầu tại ñịa chỉ 60H, các lệnh sau ñây ñược dùng: MOV SP , #5F Với lệnh trên thì ngăn xếp của 8951 chỉ có 32 byte vì ñịa chỉ cao nhất của RAM Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 18 trên chip là 7FH. Sở dĩ giá trị 5FH ñược nạp vào SP vì SP tăng lên 1 là 60H trước khi cất byte dữ liệu. Khi Reset AT89S52, SP sẽ mang giá trị mặc ñịnh là 07H và dữ liệu ñầu tiên sẽ ñược cất vào ô nhớ ngăn xếp có ñịa chỉ 08H. Nếu phần mềm ứng dụng không khởi ñộng SP một giá trị mới thì bank thanh ghi1 có thể cả 2 và 3 sẽ không dùng ñược vì vùng RAM này ñã ñược dùng làm ngăn xếp. Ngăn xếp ñược truy xuất trực tiếp bằng các lệnh PUSH và POP ñể lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET, RETI) ñể lưu trữ giá trị của bộ ñếm chương trình khi bắt ñầu thực hiện chương trình con và lấy lại khi kết thúc chương trình con ... + Con trỏ dữ liệu DPTR (Data Pointer): Con trỏ dữ liệu (DPTR) ñược dùng ñể truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở ñịa chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao). Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở ñịa chỉ 1000H: MOV A , #55H MOV DPTR, #1000H MOV @DPTR, A Lệnh ñầu tiên dùng ñể nạp 55H vào thanh ghi A. Lệnh thứ hai dùng ñể nạp ñịa chỉ của ô nhớ cần lưu giá trị 55H vào con trỏ dữ liệu DPTR. Lệnh thứ ba sẽ di chuyển nội dung thanh ghi A (là 55H) vào ô nhớ RAM bên ngoài có ñịa chỉ chứa trong DPTR (là 1000H) - Các thanh ghi Port (Port Register): Các Port của AT89S52 bao gồm Port 0 ở ñịa chỉ 80H, Port1 ở ñịa chỉ 90H, Port2 ở ñịa chỉ A0H, và Port3 ở ñịa chỉ B0H. Tất cả các Port này ñều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp. - Các thanh ghi Timer (Timer Register): AT89C51 có chứa hai bộ ñịnh thời/bộ ñếm 16 bit ñược dùng cho việc ñịnh thời ñược ñếm sự kiện. Timer 0 ở ñịa chỉ 8AH (TLO: byte thấp) và 8CH ( THO: byte cao). Timer1 ở ñịa chỉ 8BH (TL1: byte thấp) và 8DH (TH1 : byte cao). Việc khởi ñộng timer ñược SET bởi Timer Mode (TMOD) ở ñịa chỉ 89H và thanh ghi ñiều khiển Timer (TCON) ở ñịa chỉ 88H. Chỉ có TCON ñược ñịa chỉ hóa từng bit. - Các thanh ghi Port nối tiếp (Serial Port Register): AT89S52 chứa một Port nối tiếp cho việc trao ñổi thông tin với các thiết bị nối tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi ñệm dữ liệu nối tiếp (SBUF) ở ñịa chỉ 99H sẽ giữ cả hai dữ liệu truyền Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 19 là dữ liệu nhập. Khi truyền dữ liệu ghi lên SBUF, khi nhận dữ liệu thì ñọc SBUF. Các mode vận khác nhau ñược lập trình qua thanh ghi ñiều khiển Port nối tiếp (SCON) ñược ñịa chỉ hóa từng bit ở ñịa chỉ 98H. - Các thanh ghi ngắt (Interrupt Register): AT89S52 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi bị reset hệ thống và sẽ ñược cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở ñịa chỉ A8H. Cả hai ñược ñịa chỉ hóa từng bit. Thanh ghi ñiều khiển nguồn PCON (Power Control Register): Thanh ghi PCON không có bit ñịnh vị. Nó ở ñịa chỉ 87H chứa nhiều bit ñiều khiển. Thanh ghi PCON ñược tóm tắt như sau: 1 Bit 7(SMOD): Bit có tốc ñộ Baud ở mode 1, 2,3 ở Port nối tiếp khi set. 2 Bit 6, 5, 4: Không có ñịa chỉ. 3 Bit 3 (GF1): Bit cờ ña năng 1. 4 Bit 2 (GF0): Bit cờ ña năng 2. 5 Bit 1* (PD): Set ñể khởi ñộng mode Power Down và thoát ñể reset. 6 Bit 0*(IDL): Set ñể khởi ñộng mode Idle và thoát khi ngắt mạch hoặc reset. Các bit ñiều khiển Power Down và Idle có tác dụng chính trong tất cả các IC họ MSC-51 nhưng chỉ ñược thi hành trong sự biên dịch của CMOS. c. Bộ nhớ ngoài (External Memory) AT89S52 có khả năng mở rộng bộ nhớ lên ñến 64K byte bộ nhớ chương trình và 64K byte bộ nhớ dữ liệu ngoài. Do ñó có thể dùng thêm RAM và EPROM nếu cần. Khi dùng bộ nhớ ngoài, Port 0 không còn chưc năng I/O nữa. Nó ñược kết hợp giữa bus ñịa chỉ (A0 - A7) và bus dữ liệu (D0 - D7) với tín hiệu ALE ñể chốt byte của bus ñịa chỉ chỉ khi bắt ñầu mỗi chu kỳ bộ nhớ. Port2 ñược cho là byte cao của bus ñịa chỉ. d. Các tập lệnh của AT89S52 Tập lệnh củaAT89S52 ñược chia thành 5 nhóm: • Số học. • Logic. • Chuyển dữ liệu. • Chuyển ñiều khiển. Chi tiết tệp lệnh của họ 8051 có thể tham khảo trong “Họ vi ñiều khiển” của tác giả Tống Văn Ôn và Hoàng Đức Hải. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 20 II.1.3.Các linh kiện thường dùng cho ñề tài: 1-Điện trở: Điện trở là linh kiện thụ ñộng có tác dụng cản trở cả dòng và áp. Điện trở ñựơc sử dụng rất nhiều trong các mạch ñiện tử. R =ρℓ/S Trong ñó ρ là ñiện trở suất của vật liệu S là thiết diện của dây. ℓ là chiều dài của dây. Điện trở là ñại lượng vật lí ñặc trưng cho tính chất cản trở dòng ñiện của một vật thể dẫn ñiện. Nó ñược ñịnh nghĩa là tỉ số của hiệu ñiện thế giữa hai ñầu vật thể ñó với cường ñộ dòng ñiện ñi qua nó: Trong ñó: U : là hiệu ñiện thế giữa hai ñầu vật dẫn ñiện, ño bằng vôn (V). I : là cường ñộ dòng ñiện ñi qua vật dẫn ñiện, ño bằng ămpe (A). R : là ñiện trở của vật dẫn ñiện, ño bằng Ohm (Ω). 2-Biến trở Là 1 ñiện trở thay ñổi ñược , có tác dụng là thay ñổi ñiện áp theo yêu cầu của người sử dụng. Ở trong ñề tài này nó có tác dụng kiểm soát ñộ sáng của Led phát quang và tốc ñộ nhận tín hiệu của led thu hồng ngoại. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 21 3-Transistor: C1815 là Transistor BJT gồm ba miền tạo bởi hai tiếp giáp p–n, trong ñó miền giữa là bán dẫn loại p. Miền có mật ñộ tạp chất cao nhất, kí hiệu n+ là miền phát (emitter). Miền có mật ñộ tạp chất thấp hơn, kí hiệu n, gọi là miền thu (collecter). Miền giữa có mật ñộ tạp chất rất thấp, kí hiệu p, gọi là miền gốc (base). Ba chân kim loại gắn với ba miền tương ứng với ba cực emitter (E), base (B), collecter (C) của transistor. 4-Tụ ñiện: Tụ ñiện là một linh kiện thụ ñộng cấu tạo của tụ ñiện là hai bản cực bằng kim loại ghép cách nhau một khoảng d ở giữa hai bản tụ là dung dịch hay chất ñiện môi cách ñiện có ñiện dung C. Đặc ñiểm của tụ là cho dòng ñiện xoay chiều ñi qua, ngăn cản dòng ñiện một chiều. Công thức tính ñiện dung của tụ: C = ε.S/d ε là hằng số ñiện môi S là ñiện tích bề mặt tụ m2 d là bề giày chất ñiện môi Tụ ñiện phẳng gồm hai bàn phẳng kim loại diện tích ñặt song song và cách nhau một khoảng d. ÷ Cường ñộ ñiện trường bên trong tụ có trị số E = 0 δ ε ε 0ε = 8.86.10-12 C2/ N.m2 là hằng số ñiện môi của chân không. ε là hằng số ñiện môi tương ñối của môi trường; ñối với chân không ε = 1, giấy tẩm dầu = 3,6, gốm = 5,5; mica = 4 ÷ 5 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 22 5-Diode: Diode ñược cấu tạo gồm hai lớp bán dẫn p-n ñược ghép với nhau. Diode chỉ hoaït ñộng dẫn dòng ñiện từ cực anot sang catot khi áp trên hai chân ñược phân cực thuận (VP>VN) và lớn hơn ñiện áp ngưỡng. Khi phân cực ngược (VP<VN) thì Diode không dẫn ñiện. Là diode thông dụng nhất, dùng ñể ñổi ñiện xoay chiều – thường là ñiện thế 50Hz ñến 60Hz sang ñiện thế một chiều. Diode này tùy loại có thể chịu ñựng ñược dòng từ vài trăm mA ñến loại công suất cao có thể chịu ñược ñến vài trăm ampere. Diode chỉnh lưu chủ yếu là loại Si. Hai ñặc tính kỹ thuật cơ bản của Diode chỉnh lưu là dòng thuận tối ña và ñi ngược tối ña (Điện áp sụp ñổ). Hai ñặc tính này do nhà sản xuất cho biết. 6- Led: Led là một dạng diode phát quang, khi phân cực thuận thì led phát sang, phân cực nghịch thì led không sáng. Kí hiệu: 7- Led 7 ñoạn Là 7 con LED sắp xếp theo hình mẫu. Một chán của các con led ñược nối chung với nhau (Anod chung hoặc Katod chung), các chân còn lại ñược ñưa ra ngoài ñể phần cực cho các con led. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 23 a 7 b6 c 4 d2 e 1 f9 g10 cc 3cc 8 Dp 5 U1 led 7 doan Katod chung a 7 b6 c 4 d2 e 1 f9 g10 ca 3ca 8 Dp 5 U2 led 7 doan

Các file đính kèm theo tài liệu này:

  • pdfVI XỬ LÝ - Mạch đếm sản phẩm sử dụng họ 8051.pdf