1. Trang chủ
  2. » Luận Văn - Báo Cáo

Máy tính cộng trừ nhân chia hiển thị LCD

38 3,8K 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 310,53 KB

Nội dung

Máy tính cộng trừ nhân chia hiển thị LCD

ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HỒNG PHI LONG-LỚP 05CDT1 TRANG 1 LỜI NĨI ĐẦU  Ngày nay với sự tiến bộ của khoa học kỹ thuật cộng với sự phát triển mạnh mẽ của cơng cụ máy tính. Đã thay đổi phương thức sản suất đi theo một chiều hướng mới đó là thời kỳ mà các dây chuyền, các máy sản xuất đã chuyển sang bán tự động hoặc tự động hố hồn tồn. Đối với các thiết bị tự động thì các chip vi điều khiển, các bộ vi xử lí trung tâm đóng vai trò hết sức quan trọng là đầu não điều khiển mọi hoạt động của thiết bị. Tuy nhiên với những thiết bị khơng đòi hỏi độ phức tạp trong xữ lí cao thì các chip VĐK như họ 8051, PIC sử dụng rất tiện lợi, giá thành thấp. Với mục đích của đồ án VĐK là nhằm giúp sinh viên làm quen, n ắm được cách thức điều khiển một thiết bị thực tế bằng vi điều khiển. Em chọn chíp VĐK 89C51 cho đề tài của mình là: “Máy tính cộng trừ nhân chia hiển thị LCD” Qua một thời gian tìm hiểu, thiết kế với sự cố gắng của bản thân và đặc biệt là sự hướng dẩn của thầy Lê Xứng và các thầy giáo trong bộ mơn đến nay em đã hồn thành đồ án VĐK này. Em rất chân thành cảm ơn các thầy cơ! Đà Nẵng, ngày 12 tháng 6 năm 2009 Sinh viên thực hiện Hồng phi long ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 2 MỤC LỤC Chương I: GIỚI THIỆU ĐỀ TÀI Chương II: GIỚI THIỆU BỘ VI ĐIỀU KHIỂN 89C51 VÀ CÁC LINH KI ỆN LIÊN QUAN . A.GIỚI THIỆU BỘ VĐK AT89C51 2.1.Giới thiệu chung . 2.2. Lịch sử phát triển của vi điều khiển . 2.3 Khảo sát vi điều khiển 8051 . 2.3.1.Cấu trúc bên trong của IC 8951 2.3.2.Chức năng của các chân vi điều khiển 2.3.3.Hoạt động của bộ định thời 2.3.4.Hoạt động ngắt 2.3.5.Tập lệnh họ 8051. B.CÁC LINH KIỆN LIÊN QUAN Đ ẾN MACH THIẾT KẾ Chương III: THIẾT KẾ MẠCH & CHƯƠNG TRÌNH . 3.1.Sơ đồ mạch thiết kế 3.2. Sơ đồ khối chương trình 3.3.Mã nguồn chương trình………………………………………………………… ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 3 Chương I GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu LCD Trong những năm gần đây màn hình tinh thể lỏng LCD ngày càng được sử dụng rộng rãi và đang dần thay thế các đèn LED. Đó là vì các nguyên nhân sau: -Màn hình LCD có giá thành hạ. -Khả năng hiển thị số ,ký tự và đồ hoạ tốt hơn nhiều so với đèn LED -Sử dụng thêm một bộ điều khiển làm tươi LCD và như vậy giải phóng CPU khỏi công việc này.còn đối với đèn LED luôn cần CPU để duy trì việc hiển thị dữ liệu. -Dễ dàng lập trình các ký tự và đồ hoạ. 1.2Đặt vấn đề: Ngày nay máy tính điện tử đã trở nên phổ biến và không thể thiếu được đối với học sinh cũng như sinh viên .Chính vì lý do trên nên em chọn đề tài ~Máy tính điện tử hiển thị LCD~ một trong những ứng dụng đơn giản của LCD. Nội dung chính của đồ án của em là có thể thực hiện các phép toán đơn gi ản như Cộng, trừ, nhân, chia,có thể thực hiện cộng từ 1 số sau đó phát triển thêm cộng được nhiều số hơn nữa,và có thể giao tiếp với máy tính để hiển thị số lên LCD Khi nghiên cứu đề tài này em muốn phát huy những ứng dụng của vi điều khiển nhàm tạo ra sản phẩm của chính mình,trong quá trình phát tri ển đồ án em có cơ hội nghiên cứu kỹ hơn về vi diều khiển ,phát hiện nhiều về khả năng ứng dụng của vi điều khiển, đồng thời phát huy tính sáng t ạo ,khả năng giải quyết một vấn đề yêu cầu đặt ra. Sơ đồ chương trình: Đợi xử lý Đọc phím kết quả Display No push ấn phím ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 4 CHƯƠNG II: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN VÀ CÁC LINH KIỆN LIÊN QUAN A.GIỚI THIỆU VỀ HỌ VI ĐIỀU KHIỂN 89C51: 2.1.Giới thiệu chung Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống. Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó. Trong các thiếh bị điện và điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba … Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuy ền tự động. Các hệ thống càng "thông minh" thì vai trò c ủa hệ vi điều khiển càng quan trọng. 2.2. Lịch sử phát triển của vi điều khiển Bộ vi điều khiển thực ra, là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung. Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide- Semiconductor) , mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao. Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas Instruments vừa là nơi phát minh vừa là nhà sản xuất. Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận phụ trợ khác cần thiết như : bộ nhớ dữ liệu , bộ nhớ chương trình , bộ chuển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, hối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí. Mãi đến năm 1976 công ty INTEL (Interlligen -Elictronics). Mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048. Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên m ột chip. Các công ty khác c ũng lần lược cho ra đời các bộ vi điều khiển 8bit tương tự như 8048 và hình thành h ọ vi điều khiển MCS-48 (Microcontroller -sustem-48). Đến năm 1980 công ty INTEL cho ra đ ời thế hệ thứ hai của bộ vi điều khiển đơn chip với tên gọi 8051. Và sau đó hàng lo ạt các vi điều khiển cùng loại với 8051 ra đời và hình thành họ vi điều khiển MCS-51 . Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và h ầu hết các công ty hàng đầu thế giới chế tạo. Đứng đầu là công ty INTEL và r ất nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS, OKI … Ngoài ra còn có các công ty khác c ũng có những họ vi điều khiển riêng như: Họ 68HCOS của công ty Motorola Họ ST62 của công ty SGS-THOMSON Họ H8 của công ty Hitachi Họ pic cuả công ty Microchip 2.3 Khảo sát vi điều khiển 8051 IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau : - 4kbyte ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051) - 128 byte RAM ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HỒNG PHI LONG-LỚP 05CDT1 TRANG 5 - 4port I10 8bit - Hai bộ định thời 16bit - Giao tiếp nối tiếp - 64KB khơng gian b ộ nhớ chương trình mở rộng - 64 KB khơng gian b ộ nhớ dữ liệu mở rộng - một bộ xử lí luận lí (thao tác trên các bit đơn) - 210 bit được địa chỉ hóa - bộ nhân / chia 4 s 2.3.1.Cấu trúc bên trong của IC 8951 Phần chính của vi điều khiển 8051 là bộ xử lí trung tâm (CPU: central processing unit ) bao gồm : - Thanh ghi tích lũy A - Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia - Đơn vị logic học (ALU : Arithmetic Logical Unit ) - Từ trạng thái chương trình (PSW : Prorgam Status Word) - Bốn băng thanh ghi - Con trỏ ngăn xếp - Ngồi ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic. - Đơn vị xử lí trung tâm nhận trực tiếp xung từ bộ giao động, ngồi ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngồi. Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là : các biến cố ở bên ngồi , sự tràn bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp. Hai bộ định thời 16 bit hoạt động như một bộ đếm. Các cổng (port0, port1, port2, port3 ). S ử dụng vào mục đích điều khiển. Ở cổng 3 có thêm các đư ờng dẫn điều khiển dùng để trao đổi với một bộ nhớ bên ngồi, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn bên ngồi. Hçnh 2.1. Så âäư khäúi ca bäü vi âiãưu khiãøn Âiãưu khiãøn ngàõt CPU RAM ROM Thiãút bë Näúi tiãúp Thiãút bë Song song Ngưn âäưng häưư ngoi Ngàõt ngoi Âäưng häư näüi Bus dỉỵ liãûu, âëa chè, âiãưu khiãøn Cạc bäü âënh thåìi Giao tiãúp Song song Giao tiãúp Näúi tiãúp ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 6 Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qu ổng nối tiếp có thể đặt trong vảy rộng và được ấn định bằng một bộ định thời. Trong vi điều khiển 8051 / 8031 có hai thành ph ần quan trọng khác đó là bộ nhớ và các thanh ghi : Bộ nhớ gồm có bộ nhớ Ram và bộ nhớ Rom (chỉ có ở 8031) dùng để lưu trữ dữ liệu và mã lệnh. Các thanh ghi sử dụng để lưu trữ thông tin trong quá trình x ử lí. Khi CPU làm việc nó làm thay đổi nội dung cuả các thanh ghi. 2.3.2.Chức năng của các chân vi điều khiển a.Port0 : là port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ nhỏ ( không dùng bộ nhớ mở rộng ) có hai chức năng như các đường IO. Đối với các thiết kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giữ a các bus ) b.Port1 : port1 là một 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 … có th ể dùng cho các thi ết bị ngoài nếu cần. Port1 không có ch ức năng khác, vì vậy chúng ta chỉ được dùng trong giao ti ếp với các thiết bị ngoài. c.Port2 : port2 là một port công 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 kế dùng bộ nhớ mở rộng. d.Port3 : port3 là một port công 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ín đặc biệt của 8051 / 8031 như ở bảng sau : VCC U1 AT89C51 9 18 19 20 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 2810 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 GND PSEN ALE/PROG EA/VPP VCC P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 C3 10u 7408 & /RD Address Bus Max232 7408 Address & Data Bus 74573 8255 & Ram C210u 12Mz VCC R2 100 R1 10K C110u SW1 SW Hình 2.2 : Sơ Đồ Chân 8051 ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 7 Bit Tên Chức năng chuyển đổi P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INTO INT1 TO T1 WR RD Dữ liệu nhận cho port nối tiếp Dữ liệu phát cho port nối tiếp Ngắt 0 bên ngoài Ngắt 1 bên ngoài Ngõ vào của timer/counter 0 Ngõ vào của timer/counter 1 Xung ghi bộ nhớ dữ liệu ngoài Xung đọc bộ nhớ dữ liệu ngoài Bảng 2.1 : Chức năng của các chân trên port3 e.Chân PSEN (Program Store Enable ) : 8051 / 8031 có 4 tín hi ệu điều khiển PSEN là tín hiệu ra trên chân 29. Nó là tín hi ệu điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE (Output Enable) c ủa một EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus và đư ợc chốt vào thanh ghi lệnh của 8051 để giải mã lệnh. Khi thi hành chương tr ình trong ROM nội (8051) PSEN sẽ ở mức thụ động (mức cao). f.Chân ALE (Address Latch Enable ) : Tín hiệu ra ALE trên chân 30 tương h ợp với các thiết bị làm việc với các xử lí 8585, 8088, 8086, 8051 dùng ALE m ột cách tương tự cho làm việc giải các kênh các bus địa chỉ và dữ liệu khi port 0 được dùng trong chế độ chuyển đổi của nó : vừa là bus dữ liệu vừa là búyt thấp của địa chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong n ữa đầu của chu kỳ bộ nhớ. Sau đó, các đường port 0 dùng để xuất hoặc nhập dữ liệu trong nữa sau chu kỳ của bộ nhớ. 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à nguồn xung nhịp cho các hệ thống. Nếu xung trên 8051 là 12MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh MOVX, một xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung l ập trình cho EPROM trong 8051. g. Chân EA (External Access) : Tín hiệu vào EA trên chân 31 thư ờng được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8051 thi hành c hương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA luôn đư ợc nối mức thấp vì không có bộ nhớ chương trình trên chip. Nếu EA được nối mức thấp bộ nhớ bên trong chương trình 8051 sẽ bị cấm và chương trình thi hành từ EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 8051. h.Chân RST(reset) Ngõ vào RST trên chân 9 là ngõ reset c ủa 8051. Khi tín hi ệu này được đưa lên múc cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong 8051 đư ợc tải những giá trị thích hợp để khởi động hệ thống. i.Chân XTAL: ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 8 Các ngõ vào bộ dao động trên chip :Như đã thấy trong các hình trên , 8051 có m ột bộ dao động trên chip. Nó thư ờng được nối với thạch anh giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ. Tần số thạch anh thông thư ờng là 12MHz. j.Các chân nguồn : 8051 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss (GND) đư ợc nối vào chân 20. 2.3.3.Hoạt động của bộ định thời 2.3.3.1.Giới thiệu. Một định nghĩa đơn giản của timer là một chuỗi các flip-flop chia đôi tần số nối tiếp với nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp. Ngõ ra của tần số cuối làm nguồn xung nhịp cho flip-flop báo tràn của timer (flip-flop cờ). Giá trị nhị phân trong các flip-flop của timer có thể xem như số đếm số xung nhịp (hoặc các sự kiện) từ khi khởi động timer. Ví dụ timer 16 bit sẽ đếm lên từ 0000H đến FFFFH. Cờ báo tràn sẽ lên 1 khi số đếm tràn từ FFFFH đến 0000H. 8051 có 2 timer 16 bit, m ỗi timer có bốn cách làm việc. Người ta sử dụng các timer để : a) định khoảng thời gian, b) đếm sự kiện hoặc c) tạo tốc độ baud cho port nối tiếp trong 8051 Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở một khoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa chương trình để thực hiện một tác động như kiểm tra trạng thái của các cửa ngõ vào hoặc gửi các sự kiện ra các ngõ ra. Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ : đo độ rộng xung). Đếm sự kiện dùng để xác định số lần xẩy ra của một sự kiện. Một "sự kiện" là bất cứ tác động ngoài nào có thể cung cấp một chuyển trạng thái trên một chân của 8051. Các timer cũng có thể cung cấp xung nhịp tốc độ baud cho port nối tiếp trong 8051 Truy xu ất timer của 8051 dùng 6 thanh ghi ch ức năng đặc biệt cho trong bảng sau: SFR MỤC ĐÍCH ĐỊA CHỈ Địa chỉ hóa từng bít TCON TMOD TL0 TL1 TH0 TH1 Điều khiển timer Chế độ timer Byte thấp của timer 0 Byte thấp của timer 1 Byte cao của timer 0 Byte cao của timer 1 88H 89H 8AH 8BH 8CH 8DH có không không không không không Bảng 2.2: Thanh ghi ch ức năng đặc biệt dùng timer. 2.3.3.2. Thanh ghi ch ế độ timer (TMOD) Thanh ghi TMOD ch ứa hai nhóm 4 bit dùng đ ể đặt chế độ làm việc cho timer 0 và timer 1. ĐỒ ÁN VI ĐIỀU KHIỂN SVTH : HỒNG PHI LONG-LỚP 05CDT1 TRANG 9 Bit 7 6 5 4 3 2 1 0 Tên Timer Mơ t ả GATE 1 Bit (Mở) cổng, khi lên 1 timer ch ỉ chạy khi INT1 ở mức cao. C/T 1 Bit chọn chế độ counter/timer 1=bộ đếm sự kiện 0=bộ định khoảng thời gian M1 1 Bit 1 của chế độ(mode) M0 1 Bit 0 của chế độ 00: chế độ 0 : timer 13 bit 01: chế độ 1 : timer 16 bit 10: chế độ 2 : tự động nạp lại 8255A bit 11: chế độ 3 : tách timer GATE 0 Bit (mở) cổng C/T 0 Bit chọn counter/timer M1 0 Bit 1 của chế độ M0 0 Bit 0 của chế độ Bảng 2.3: Tóm tắt thanh ghi TMOD 2.3.3.3. Thanh ghi đi ều khiển timer (TCON) Thanh ghi TCON ch ứa các bit trạng thái và các bit đi ều khiển cho timer 0 và timer 1. Bảng 2.4: Tóm tắt thanh ghi TCON +TF1: (địa chỉ 8Fh) cờ tràn bộ định thời 1. Được set bởi phần cứng khi bộ định thời/ đếm bị tràn, được xố bởi phần mềm hoặc bởi phần cứng khi trình phục vụ ngắt được trỏ đến. +TR1:(địa chỉ byte8Eh) bit điều khiển bộ định thời 1 hoạt động. Được set/ xố bởi phần mềm để điều khiển bộ định thời hoạt động hoặc ngưng hoạt động. +TF0(địa chỉ byte8Dh) cờ tràn của bộ định thời 0. +TR0(địa chỉ byte8C) bit điều khiển bộ định thời 0 hoạt động. +IE1:( địa chỉ byte8Bh) cờ ngắt ngồi 1 tác động cạnh. Được set bởi phần cứng khi phát hiện có ngắt ngồi 1 tác động cạnh; được xố bởi phần cứng khi ngắt được xử lý. +IT1(địa chỉ byte8Ah)bít điều khiển chọn loại ngắt. Được set/ xố để xác định ngắt ngồi thuộc loại tác động cạnh xuống hay tác động mức thấp. +IE0(địa chỉ byte89h) cờ ngắt ngồi 0 tác động cạnh. +IT0(địa chỉ byte88h)bit điều khiển chọn loại ngắt (kích khởi cạnh hoặc mức). 2.3.3.4Các chế độ định thời và cờ tràn: -Ta chỉ xét đến chế độ định thời loại 0,1,2. Các mode của bộ định thời được thiết lập ở bit 0,1 và 4,5 ở thanh ghi TMODE(đ ã xét ở trên). a)Chế độ định thời 13-bit(chế độ 0): 0 12 3 4 567 IT0IE0 IT1IE1 TR0TF0 TR1TF1 N VI IU KHIN SVTH : HONG PHI LONG-LP 05CDT1 TRANG 10 tng thớch vi 8048 (cú trc 8051) Ba bit cao ca TLX (TL0 v/hoc TL1) khụng dựng b)Ch nh thi 16-bit(ch 1): Hot ng nh timer 16 bit y . C bỏo trn l bit TFx trong TCON cú th c hoc ghi bng phm mm. MSB ca giỏ tr trong cỏc thanh ghi timer l bit 7 c a THx v LBS l bit 0 ca TLx. Cỏc thanh ghi timer (Tlx/THx) cú th c c hoc ghi bt c lỳc no bng phm mm. c)Ch t np li 8 bit(ch 2): TLx hot ng nh mt timer 8 bit, trong khi ú THx v n gi nguyờn giỏ tr c np. Khi s m trn t FFH n 00H, khụng nhng c timer c set m giỏ tr trong THx ng thi c np vo TLx. Vic m tip tc t giỏ tr ny lờn n FFH xung 00H v np li . ch ny rt thụng dng vỡ s trn timer xy ra trong nhng khong thi gian nht nh v tun hon mt khi ó khi ng TMOD v THx. d)Vn xung clock: +Ngun xung clock c qut inh bi bit C/ thanh ghi TMOD n u nú mc logic 0 thỡ ngun xung c ly mch dao ng bờn trong chip (t n s thch anh chia cho 12 ú l u vo ca ngun xung ). +Nu bit trờn mc logic cao thỡ ngun xung c ly bờn ngoi thụng qua chõn P3.4 v P3.5. 2.3.4.Hot ng ca ngt : +Ngt l s xy ra ca mt iu kin - mt s kin - lm cho chng trỡnh hin hnh b tm dng, chng trỡnh khỏc c thc hin. +Cng chớnh vỡ vy nờn ta cú cm giỏc l chip cú khó n ng x lý nhiu chng trỡnh mt lỳc lm nõng cao tớnh hi u qu ca con vi iu khin, nht l trong k thut ỏp ng s kin vi yờu cu cp nht mt cỏch t ng. +Chng trỡnh x lý khụng cú s dng ngt . TLx(5bit) THx(8 bit) TFx Xung clock Xung clock TFx THx(8 bit) TLx(8bit) TLx(8bit) THx(8 bit) TFx Xung clock Reload CHặNG TRầNH CHấNH Timer [...]... dữ liệu Các bít dữ liệu Các bít dữ liệu Bảng 12.2: Các mã lệnh LCD Mã Lệnh đến thanh ghi của LCD (Hex) 1 Xóa màn hình hiển thị 2 Trở về đầu dòng 4 Dịch con trỏ sang trái 6 Dịch con trỏ sang phải 5 Dịch hiển thị sang phải 7 Dịch hiển thị sang trái Tắt8con trỏ ,tắt hiển thị A Tắt hiển thị, bật con trỏ C Bật hiển thị, tắt con trỏ E Bật hiển thị, Nhấp nháy con trỏ F Tắt con trỏ,nhấp nháy con trỏ 10 Dịch vị... ÁN VI ĐIỀU KHIỂN Trình tự thực hiện chương trình : Wait Process Result Display ` Push button Push button Note Action SVTH : HOÀNG PHI LONG-LỚP 05CDT1 Process TRANG 21 ĐỒ ÁN VI ĐIỀU KHIỂN Sơ đồ khối chương trình: Bắt đầu khởi tạo LCD Đợi xử lý Nu mb op KTra Phím Nhập vào kết quả Kiểm tra số nhập vào a hoặc b ấn phím “=” Phép toán :+,-,*,/ Hiển thị kq Hiển toán cập nhật số thị phép hiển thị số kết thúc... void main() { initialize(); clear(); // Clear Lcd outputstring("WELCOME " ); delay_ms(1000); lcd_ command(0x01); lcd_ command(0x06); outputstring(" DO AN VDKHIEN " ); lcd_ command(0xCE); lcd_ command(0x07); outputstring("HOANG PHI LONG 05CDT1"); SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 25 ĐỒ ÁN VI ĐIỀU KHIỂN delay_ms(1200); lcd_ command(0x01); lcd_ command(0x82); lcd_ command(0x06); outputstring("START"); delay_ms(800);... VI ĐIỀU KHIỂN -Mã nguồn Đồ Án Vi Điều khiên //viết bằng ngôn ngữ C #include sfr DATA = 0xA0; sbit RS = 0xB5; sbit RW = 0xB6; sbit E = 0xB7; void initialize(); // LCD` s initialize Fu nction void clear(); // LCd` s clear Function void lcd_ command(unsigned char a); // Control command of LCD void lcd_ write(unsigned char a); // Writing data command void lcd_ check_busy();... LONG-LỚP 05CDT1 TRANG 14 ĐỒ ÁN VI ĐIỀU KHIỂN f) LCD Mô tả các chân của LCD LCD được nói trong mục này có 14 chân, chức năng của các chân được cho trong bảng 12.1 Vị trí của các chân được mô tả trên hình 12.1 cho nhiều LCD khác nhau 1 Chân VCC, VS S và VE E : Các chân VCC, VS S và VE E : Cấp dương nguồn - 5v và đất tương ứng thì VEE được dùng để điều khiển độ tương phản của LCD 2 Chân chọn thanh ghi RS (Register... 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 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ữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD Để hiển thị các chữ cái và... convert_int_char(kq3); } lcd_ command(0xC0); SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 29 ĐỒ ÁN VI ĐIỀU KHIỂN // outputkey(kq2); convert_int_char(kq1); outputkey(' '); } void initialize() { bien = 0x38; // 8 Bit signal + 2 Column + 5 x 10 bit (Use led) lcd_ command(bien); bien = 0x0E; lcd_ command(bien); bien = 0x01; // Clear disp lay lcd_ command(bien); // Writing data bien = 0x8f; // Display address lcd_ command(bien);... is on lcd_ command(bien); } void lcd_ command(unsigned char a) { lcd_ check_busy(); DATA = a; RS = 0; RW = 0; E = 1; E = 0; } void lcd_ check_busy() { P2_7 = 1; RS = 0; RW = 1; while(1){ E=0;//cho nay la cho sai cua cac chuong trinh khac E=1;// cu tuong la giong nhu xuat du lieu la e=1 sau do e=0 delay_ms(80); SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 30 ĐỒ ÁN VI ĐIỀU KHIỂN if(P2_7==0) break; } } void lcd_ write(unsigned... có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ Bảng 12.2 liệt kê các mã lênh Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn sàng nhân thông tin Cờ bận là D7 và có thể được đọc khi R/W = 1 và RS = 0 như sau: SVTH : HOÀNG PHI LONG-LỚP 05CDT1 TRANG 15 ĐỒ ÁN VI ĐIỀU KHIỂN Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công... trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD 3 Chân đọc/ ghi (R/W) Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc

Ngày đăng: 25/04/2013, 13:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w