Vi xử lý: Mạch đếm sản phẩm sử dụng họ 8051

Đồ án môn Vi xử lý . Đề tài nhằm mục đích thiết kế và chế tạo thành công mạch đếm sản phẩm sử dụng họ vi điều khiển 8051, số lượng sản phẩm đếm được nhập từ bàn phím, hiển thị kết quả đếm được bằng hệ thống LED 7 thanh và báo hiệu bằng tín hiệu đèn LED. NỘI DUNG . CHƯƠNG 1 . ĐẶT VẤN ĐỀ CHƯƠNG 2 . GIẢI QUYẾT VẤN ĐỀ 1 . Cơ sở lý thuyết 2 . Thiết kế và thi công . . .

pdf33 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2761 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Vi xử lý: 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
Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 1 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- …………ngày ……..tháng ……..năm 2011 Giáo viên hướng dẫn Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 2 NHẬN XÉT CỦA HỘI ĐỒNG CHẤM ĐIỂM --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- --- ----------------------------------------------------------------------------------------- …………ngày ……..tháng ……..năm 2011 Giáo viên phản biện Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 3 Ngày nay, khái niệm kỹ thuật số ñã trở thành quen thuộc với nhiều người, bởi vì sự phát triển của ngành kỹ thuật số này ñã có ảnh hưởng rất lớn ñến ngành kinh tế toàn cầu. Có người ñã nêu lên ý tưởng gọi nền kinh tế của thời ñại chúng ta là “ nền kinh tế kỹ thuật số “, “số hóa” ñã gần như vượt khỏi ranh giới của một thuật ngữ kỹ thuật . Nhờ có ưu ñiểm của xử lý số như ñộ tin cậy trong truyền dẫn, tính ña thích nghi và kinh tế của nhiều phần mềm khác nhau, tính tiện lợi trong ñiều khiển và khai thác mạng. Số hóa ñang là xu hướng phát triển tất yếu của nhiều lĩnh vực kỹ thuật và kinh tế khác nhau. Không chỉ trong lĩnh vục thông tin liên lạc và tin học. Ngày nay, kỹ thật số ñã và ñang thâm nhập mạnh mẽ vào Kỹ thuật ñiện tử, Điều khiển tự ñộng, phát thanh truyền hình, y tế, nông nghiệp…và ngay cả trong các dụng cụ sinh hoạt gia ñình. Ngay từ những ngày ñầu khai sinh, kỹ thuật số nói riêng và ngành ñiện tử nói chung ñã tạo ra nhiều bước ñột phá mới mẽ cho các ngàng kinh tế khác và còn ñảm bảo ñược yêu cầu của người dùng cả về chất lượng và dịch vụ. Đồng thời kiến thức về kỹ thuật số là không thể thiếu ñối với mỗi sinh viên, nhất là sinh viên ñiện tử. Công nghệ kĩ thuật số có nhiều ứng dụng rộng rãi trong thực tế, với nhiều những ứng dụng rất tiện ích sử dụng trong kĩ thuật, trong ñời sống, trong công nghiệp ở các nhà máy và xí nghiệp sản xuất… và cả những tiện nghi trong ngôi nhà của chúng ta. Một trong những ứng dụng tiện ích của kĩ thuật số ñó là chức năng ñếm với các mạch ñếm như ñếm sản phẩm, ñếm số người vào phòng, thang máy hay ñếm xe ra vào cổng… ñó ñều là những ứng dụng rất thực tế. Và trong bài ñồ án này em ñã ñược nghiên cứu về mạch ñếm sản phẩm. Bài báo cáo này ñuợc tìm kiếm từ nhiều nguồn khác nhau như: sách báo ,internet… Và do kiến thức còn hạn hẹp, nên trong quá trình thực hiện ñồ án em không thể tránh khỏi sai sót và ñề tài chưa ñựơc phát triển một cách hoàn hảo, mong quý thầy cô trong hội ñồng khảo thí bỏ qua và có hướng giúp ñỡ ñể em có thể hoàn chỉnh kiến thức của mình . Em xin chân thành cảm ơn..! Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 4 CHƯƠNG I: ĐẶT VẤN ĐỀ I.1 Lí do chọn ñề tài: Ngày nay việc nghiên cứu ứng dụng vi ñiều khiển vào các lĩnh vực cuộc sống khá phổ biến,ñiển hình là các loại vi ñiều khiển họ 8051.Ở trong công nghiệp cũng như trong các lĩnh vực liên quan ñếm sản phẩm thì ñã phát huy ñược lợi thế khi sử dụng vi ñiều khiển,việc ñếm sản phẩm ñã trở nên ñơn giản hơn, giảm bớt ñược nhiều sức lao ñộng và thời gian.Được sự gợi ý của giáo viên hướng dẫn NGUYỄN MINH QUÂN và qua sự tìm hiểu của các thành viên trong nhóm,nên chúng em ñã chọn ñề tài nghiên cứu và thiết kế mạch ñếm sản phẩm với ứng dụng của họ vi ñiều khiển 8051.Đây cũng là một cơ hội tốt ñể ứng dụng những kiến thức của môn VI XỬ LÝ ñã học vào thực tế. I.2 Mục tiêu của ñề tài Đề tài nhằm mục ñích thiết kế và chế tạo thành công mạch ñếm sản phẩm sử dụng họ vi ñiều khiển 8051,số lượng sản phẩm ñếm ñược nhập từ bàn phím,hiện thị kết quả ñếm ñược bằng hệ thống LED 7 thanh và báo hiệu bằng tín hiệu ñèn LED. I.3 Vấn ñề cần giải quyết +Tìm hiểu các tài liệu liên quan ñến các ñề tài nghiên cứu, ñưa ra các giải pháp tối ưu cho việc thiết kế chế tạo sản phẩm thực tế. +Thiết kế và chế tạo 1 board mạch gồm các khối: khối xử lí trung tâm dùng họ vi ñiều khiển 8051,khối cảm biến,khối hiện thị,bàn phím. +Tiến hành viết chương trình phần mềm phối hợp hoạt ñộng các khối dưới sự ñiều khiển của khối mạch chính chứa IC AT89S52 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 5 CHƯƠNG II: GIẢI QUYẾT VẤN ĐỀ II.1.Cơ sở lý thuyết: II.1.1 Tổng quan về họ vi ñiều khiển 8051 1. Giới thiệu chung về cấu trúc phần cứng 8051là IC vi ñiều khiển ,là vi mạch tổng quát của họ MCS-51, linh 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 Anod chung Đây là lọai ñèn dùng hiển thị các số từ 0 ñến 9, ñèn gồm 7 ñọan a, b, c, d, e, f, g, bên dưới mỗi ñọan là một led (ñèn nhỏ) hoặc một nhóm led mắc song song (ñèn lớn).Qui ước các ñọan cho bởi: Khi một tổ hợp các ñọan cháy sáng sẽ tạo ñược một con số thập phân từ 0 - 9. Led 7 ñoạn có hai loại là loại anot chung và catot chung: Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 24 LED anot chung LED catot chung Đối với led 7 ñoạn ta phải tính toán sao cho mỗi ñoạn của led 7 ñoạn có dòng ñiện từ 10....20mA. Với ñiện áp 5V thì ñiện trở cần dùng là 270Ω; công suất là 1,4 Watt. Bảng giá trị Led 7 Đoạn 8- Bộ chuyển ñổi SN74LS47 Là 1 IC giải mã dữ liệu , bộ ñệm ñầu vào bao gồm các cổng NAND và ba cổng vào AND-OR-IN. IC SN74LS47 vừa có tac dụng biến ñổi BCD ,vừa có tác dụng hạn chế dòng bảo vệ các thiết bị ñầu ra của nó.Cấu hình của SN54 / 74LS47 ñược thiết kế ñể chịu ñược ñiện áp tương ñối cao .Trong ñể tài này thì SN74LS47 biến ñổi tín hiệu nhận ñược từ AT89S52 ñể ñưa ñến hệ thống hiện thị là 4 LED 7 thanh. Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 25 Hinh: cấu trúc chân của SN74LS47 9-Bộ so sánh LM358P Là Ic cảm biến cấu tạo gồm các transistor phối ghép với nhau, tích hợp thành các bộ khuếch ñại ñầu dò, khối khuếch ñại một chiềuThiết bị này có thể ñược vận hành trực tiếp từ việc cung cấp tiêu chuẩn 5 V-ñược sử dụng trong các hệ thống kỹ thuật số và có tác dụng so sánh ñiện áp ở mức chuẩn ñã ñịnh sẵn và ñiện áp nhận ñược ở ñầu vào.Nó tích hợp như 1 bộ khuếch ñại , nó kiểm tra các thông số ñầu vào ñể báo cho khối xử lý trung tâm biết có sự sai khác nào so với tín hiệu chuẩn. Hình : sơ ñồ cấu trúc của LM358P Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 26 II.2.Thiết kế và thi công II.2.1 Thiết kế phần cứng 1. Sơ ñồ khối của sản phẩm 2. Chức năng các khối *Khối nguồn: là hệ thống ñiện áp cung cấp cho mạch , giúp cho mạch luôn hoạt ñộng, ñiện áp cung cấp cho mạch là :+5V và OV.Khối nguồn có thể là 1 mạch nguồn hoặc là 1 biến thế chuyển từ dòng xoay chiểu sang dòng 1 chiều có ñiệp áp +5V *Bàn phím: là 1 hệ thống gồm 16 phím (dạng bàn phím hexa). Thông tin số lượng sản phẩm sẽ ñược nhập ở ñây và tác ñộng ñến khối xử lý biết ñã sẵn sàng ñếm sau khi nhập xong. *Khối cảm biến : ñể cảm nhận mỗi sản phẩm ñi qua thì cảm biến phải có phần thu và phần phát. Phần thu phát ra ánh sáng hồng ngoại , phần thu nhận ánh sáng hồng ngoại. Hai bộ phận phát và thu hoạt ñộng chung tần số.Khi có sản phẩm ñi qua giữa phần phát và phần thu , ánh sáng hồng ngoại bị che bộ phận thụ sẽ hoạt ñộng ở tần số phát , từ ñó tạo ra 1 sự thay ñổi ñiện áp chuyển tới bộ so sánh , bộ so sánh tạo 1 xung tác ñộng tới bộ phận xử lý. *Khối xử lý :là bộ phận là 2 chức năng: +Phối ghép các khối khác nhau trong mạch , giúp cho các khối hoạt ñộng theo theo 1 chu trình nhất ñịnh. +Nhận tín hiệu từ bàn phím phân tích và gửi 1 xung kích thích cho khối KHỐI NGUỒN KHỐI XỬ LÝ BÀN PHÍM KHỐI HIỆN THỊ KHỐI CẢM BIẾN Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 27 cảm biến bắt ñầu ñếm, sau ñó nhận nhận tín hiệu ngược lại từ khối cảm biến, phân tích và chuyển tới khối hiện thị. * Khối hiện thị: bào gồm hệ thống 4 Led 7 thanh và bộ phận báo hiệu: +Hệ thống Led 7 thanh hiển thị số lượng sản phẩm nhập vào và giảm dần khi khối cảm biến ñếm. +Bộ phận báo hiệu :sáng trước khi ñếm và sau khi ñếm ñế báo hiệu cho người sử dụng biết ñã ñếm xong. 3. Sơ ñồ nguyên lý của mạch 0 4 1 2 3 5 6 7 8 9 ENTER XTAL218 XTAL119 ALE30 EA31 PSEN29 RST9 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/T21 P1.1/T2EX2 P1.23 P1.34 P1.45 P1.56 P1.67 P1.78 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 AT89C52 PROGRAM=dem_san_pham.hex SRCFILE=dem_san_pham.asm A7 QA 13 B1 QB 12 C2 QC 11 D6 QD 10 BI/RBO4 QE 9 RBI5 QF 15 LT3 QG 14 U2 7447 Q1 MPS5179 Q2 MPS5179 Q3 MPS5179 Q4 MPS5179 R1 10k R2 10k R3 10k R4 10kR12 10k C1 10u C2 33pF C3 33pF X1 CRYSTAL R14 10k R5 470R D2 LED-GREEN (Sơ ñồ nguyên lý ñược mô phỏng theo phương pháp ñếm xung) II.2.2 Thiết kế phần mềm ; Chương trình nạp cho IC ñược viết theo ngôn ngữ Assembly: co_phim equ 20h en_dem equ p3.3 donvi equ 21h chuc equ 22h tram equ 23h nghin equ 24h org 100h jmp chinh Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 28 chinh: mov sp,#50h mov psw,#00h mov r0,#0 mov nghin,#0 mov tram,#0 mov chuc,#0 mov donvi,#0 mov r6,#4 clr co_phim call hien_thi lap_chinh: nhan_gia_tri: call ban_phim jnb co_phim,cho_dem_lui clr co_phim cjne r0,#10,h_nghin ;nhan phim enter jmp dem_lui h_nghin: cjne r6,#4,h_tram ;nhap gia tri hang nghin call truyen_gt_r jmp cho_dem_lui h_tram: cjne r6,#3,h_chuc call truyen_gt_r jmp cho_dem_lui h_chuc: cjne r6,#2,h_donvi call truyen_gt_r jmp cho_dem_lui h_donvi:; cjne r6,#1,cho_dem_lui call truyen_gt_r jmp cho_dem_lui cho_dem_lui: call hien_thi cjne r6,#0,nhan_gia_tri mov r6,#4 Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 29 jmp nhan_gia_tri dem_lui: clr p3.7 lap_nghin: lap_tram: lap_chuc: lap_donvi: call hien_thi jnb en_dem,dem_lui ldl: jb en_dem,ldl dec donvi mov a,donvi cjne a,#0ffh,lap_donvi mov donvi,#9 dec chuc mov a,chuc cjne a,#0ffh,lap_chuc mov chuc,#9 dec tram mov a,tram cjne a,#0ffh,lap_tram mov tram,#9 dec nghin mov a,nghin cjne a,#0ffh,lap_nghin mov nghin,#0 mov tram,#0 mov chuc,#0 mov donvi,#0 setb p3.7 jmp lap_chinh ; truyen gia tri vao r truyen_gt_r: mov a,tram Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 30 mov nghin,a mov a,chuc mov tram,a mov a,donvi mov chuc,a mov a,r0 mov donvi,a dec r6 ret ; chuong trinh con nhan phim ban_phim: mov p1,#0f0h ; day 1 ra nua cao nop nop mov a,p1 ; nhan du lieu ve cjne a,#0f0h,co_phim_nhan jmp thoat co_phim_nhan: mov p1,#0fh ; day 1 ra nua thap mov r0,p1 orl a,r0 mov r0,a setb co_phim ; cho phim tha cho_tha_phim: mov p1,#0fh nop nop mov a,p1 cjne a,#0fh,cho_tha_phim phim0: cjne r0,#7eh,phim1 mov r0,#0 jmp thoat phim1: cjne r0,#0beh,phim2 mov r0,#1 jmp thoat Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 31 phim2: cjne r0,#0deh,phim3 mov r0,#2 jmp thoat phim3: cjne r0,#0eeh,phim4 mov r0,#3 jmp thoat phim4: cjne r0,#7dh,phim5 mov r0,#4 jmp thoat phim5: cjne r0,#0bdh,phim6 mov r0,#5 jmp thoat phim6: cjne r0,#0ddh,phim7 mov r0,#6 jmp thoat phim7: cjne r0,#0edh,phim8 mov r0,#7 jmp thoat phim8: cjne r0,#7bh,phim9 mov r0,#8 jmp thoat phim9: cjne r0,#0bbh,enter mov r0,#9 jmp thoat enter: cjne r0,#0dbh,thoat mov r0,#10 thoat: ret ; ket thuc chuong trinh con bat phim ; chuong trinh con hien thi so ra led 7 thanh hien_thi: ; hang nghin mov p2,nghin mov p0,#01h Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 32 call delay ; hang tram mov p2,tram mov p0,#02h call delay ; hang chuc mov p2,chuc mov p0,#04h call delay ; hang don vi mov p2,donvi mov p0,#08h call delay ret ; ket thuc chuong trinh con hien thi ; chuong trinh tre delay: push psw mov psw,#08h ;bank 1 mov r0,#10 dl1: mov r1,#60 dl2: djnz r1,dl2 djnz r0,dl1 pop psw ret end Đồ án vi xử lý GVHD:Nguyễn Minh Quân Nhóm 05:lớp ĐTVTA_K3 _______________ Trang 33 MỤC LỤC LỜI MỞ ĐẦU Trang CHƯƠNG I: ĐẶT VẤN ĐỀ I.1 Lí do chọn ñề tài………………………………………………………….04 I.2 Mục tiêu của ñề tài……………………………………………………….04 I.3 Vấn ñề cần giải quyết…………………………………………………….04 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 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 4-Tụ ñiện……………………………………...………………………….21 5 -Diode…………………………………..………………………………22 6- Led……………………………….……………………………………22 7- Led 7 ñoạn…………………………….………………………………22 8- Bộ chuyển ñổi SN74LS47…………..………………………………..24 9-Bộ so sánh LM358P…………………..……………………………….25 II.2.Thiết kế và thi công……………………..………………………………26 II.2.1 Thiết kế phần cứng………………...………………………………..26 1.Sơ ñồ khối của sản phẩm………………...……………………………26 2.Chức năng các khối ………………………..…………………………26 3.Sơ ñồ nguyên lý của mạch………………...…………………………..27 II.2.1 Thiết kế phần mềm……………………………...………………….27

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