Luận văn Chuẩn RS-485

 Mô tả sơ đồ chân : Sơ đồ chân của 8951 tương tự như 8051 (trình bày sau ).

 + Port 0 : gồm các chân từ 32 -39 ( P0.0 đến P0.7 ) . Port này có chức năng kép. Thông thường port này được dùng làm port I/O. Nếu có sử dụng bộ nhớ ngoài thì Port này được dùng để multiplex giữa địa chỉ phần thấp và data bus.

+ Port 1 : gồm các chân từ 1 - 8 ( P1.0 - P1.7 ) . Port này chỉ có chức năng duy nhất là giao tiếp I/O.

 + Port 2 : gồm các chân từ 22 - 28 ( P2.0-P2.7 ) . Đây cũng là port có chức năng kép, ngoài chức năng là port I/O , port 2 còn được dùng làm địa chỉ phần cao cho address bus .

 + Port 3 : gồm các chân 10-17 ( P3.0-P3.7 ) . Port này cũng có chức năng kép. Ngoài chức năng I/O, các chân port còn có các chức năng đặc biệt :

 

doc154 trang | Chia sẻ: maiphuongdc | Lượt xem: 2102 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Luận văn Chuẩn RS-485, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
n XTAL1 và XTAL2. Xung clock cho các hoạt động bên trong của AT89C51 sẽ có tần số bằng tần số của thạch anh chia cho 12. Thông thường, người ta hay dùng thạch anh 12MHz để tần số xung clock là 1MHz, tương ứng với một chu kỳ máy tốn 1ms nên rất dễ tạo một timer thời gian thực chính xác. Tuy nhiên trong mạch lại dùng thạch anh 11,059MHz là để tạo baudrate chính xác. Hoạt động tạo baudrate có thể giải thích như sau : đối với họ MCS-51TM, người ta phải dùng một timer (thường là timer1) và tốc độ tràn của nó sẽ tạo ra baudrate. Khi đó, ta có công thức: BAUDRATE = TỐC ĐỘ TRÀN TIMER1 ¸ 12 Ví dụ, giả sử ta muốn có tốc độ 1200 baud thì tính như sau : 1200 = tốc độ tràn timer1 ¸ 12 Þ tốc độ tràn timer1 = 1200x32 = 38,4KHz Nếu thạch anh có tần số 12MHz thì timer1 được clock với tần số 1MHz hay 1000KHz. Để có tốc độ tràn là 38,4KHz thì timer1 phải tràn sau mỗi 1000 ¸ 38,4 = 26,04 xung clock (làm tròn là 26). Do timer đếm lên và sẽ tràn khi chuyển từ FFh sang 00h, cần phải nạp số -26 vào timer và thế là baudrate được tạo ra. Như ta đã thấy, trong phép tính trên có làm tròn, điều này dẫn đến sai số trong baudrate tạo ra. Từ đó ta cần phải tìm thạch anh có tần số sau cho baudrate tạo ra không có sai số để việc truyền thông đảm bảo chính xác. Qua các phép tính thì thạch anh 11,059MHz cho baudrate rất chính xác. Bảng sau sẽ cho thấy sự so sánh sai số khi dùng thạch anh 12MHz và thạch anh 11,059MHz trong một số baudrate thông dụng : BAUDRATE TẦN SỐ THẠCH ANH SMOD GIÁ TRỊ NẠP BAUDRATE THỰC SỰ SAI SỐ 9600 2400 1200 19200 9600 2400 1200 12,000MHz 12,000MHz 12,000MHz 11,059MHz 11,059MHz 11,059MHz 11,059MHz 1 0 0 1 0 0 0 -7(F9H) -13(F3H) -26(E6H) -3(FDH) -3(FDH) -12(F4H) -24(E8H) 8923 2404 1202 19200 9600 2400 1200 7% 0,16% 0,16% 0 0 0 0 (Nếu SMOD = 1 thì baudrate = tốc độ tràn timer1 ¸ 16) Mạch reset gồm C3, R2 cho tác vụ auto-reset (reset khi mới cấp nguồn). Ngoài ra còn có R1 và SW1 cho tác vụ manual-reset (reset bằng tay khi ấn phím SW1 bất cứ khi nào). Chân P3.2 và P3.3 là ngõ ra của Port3 cũng đồng thời là ngõ vào của ngắt ngoài. Trong thiết kế đã thiết kế sẵn dùng để phục vụ chương trình nếu cần thiết. Chân P3.0 va P3.1 là chân RXD và TXD dùng để nối với 75176 để thực hiện đổi sang chuẩn RS-485 . Port1 và port2 dùng để quét phím,trong đó có hai chân dư của port2 là p2.7, p2.8 dùng để phát tín hiệu ra LED đơn phục vu cho chương trình. Port0 dùng để mở rộng port thông qua IC 74573. 5 IC 74573 dùng để mở rộng port phục vụ cho việc hiển thị bảng led thông qua port 0. Port 0 được kéo dòng nhờ thanh điện trở 10k kéo lên nguồn VCC. 1 IC 74138 dùng làm chốt ,kết hợp với chân WR của VXL điều khiển việc mở rộng port. 2 IC 7402 dùng để mơ rộng port. 1 IC 75176 dùng để chuyền tin hiệu TTL thành tín hiệu visai và ngược lại trong mạng RS-485. 1 IC 555 tạo xung nhịp dùng để điều khiển việc xuất nhập dữ liệu trong mạng RS-485. Sơ đồ mạch phần xử lý trung tâm Khối giao tiếp với máy tính: Sơ đồ khối: Chuyển TTL thành VISAI Chuyển visai thành TTL Chuyển TLT thành RS-232 Sơ đồ mạch: Sơ đồ mạch phần giao tiếp máy tính Phần giao tiếp : Về chương trình điều khiển đã được trình bày ở phần giao tiếp với vi xử lý . Có một yếu tố lưu ý ở đây là em dùng IC 555 để điều khiển thu phát, phương pháp này có lợi thế về phần mềm điều khiển thu, phát. Lưu đồ giải thuật và chương trình điều khiển: 1 Chương trình điều khiển: ACC . . . . . D ADDR 00E0H A AGAIN . . . . C ADDR 08CFH A AMON. . . . . C ADDR 03E2H A BACK. . . . . C ADDR 0897H A BACK2 . . . . C ADDR 08A0H A BACK3 . . . . C ADDR 08A5H A BCDTO7SEG . . C ADDR 0178H A C_LED . . . . C ADDR 017DH A C_MT1 . . . . C ADDR 0187H A C_MT2 . . . . C ADDR 018CH A CA. . . . . . C ADDR 06E1H A CDDL. . . . . C ADDR 03A9H A CE. . . . . . C ADDR 06F2H A CHECK . . . . C ADDR 0798H A CHECKAMON . . C ADDR 03EEH A CHECKCD . . . C ADDR 0364H A CHECKCDDL . . C ADDR 03B5H A CHECKCO . . . C ADDR 037FH A CHECKDAY. . . C ADDR 0235H A CHECKDT . . . C ADDR 02DDH A CHECKED . . . C ADDR 07EEH A CHECKKD . . . C ADDR 0427H A CHECKKLB. . . C ADDR 0349H A CHECKKLV. . . C ADDR 039AH A CHECKNOI. . . C ADDR 032EH A CHECKOK . . . C ADDR 0840H A CHECKPRA. . . C ADDR 03D0H A CHECKRO . . . C ADDR 040CH A CHECKSERI . . C ADDR 026BH A CHECKSHC. . . C ADDR 02C2H A CHECKSON. . . C ADDR 0445H A CHECKSX . . . C ADDR 0313H A CHECKTLT. . . C ADDR 02F8H A CHIEUDAY. . . C ADDR 0358H A CO. . . . . . C ADDR 0373H A COPY. . . . . C ADDR 0727H A DATA0 . . . . C ADDR 080AH A DATA1 . . . . C ADDR 0856H A DELAY2MS. . . C ADDR 0882H A DICHCE. . . . C ADDR 06FEH A DONE. . . . . C ADDR 08DCH A DUNGTICH. . . C ADDR 02D1H A ENTER . . . . C ADDR 0759H A ER. . . . . . C ADDR 06C2H A EXIT. . . . . C ADDR 08DEH A EXITDATA0 . . C ADDR 082CH A EXITETER. . . C ADDR 0777H A EXITGM. . . . C ADDR 046CH A EXITNS. . . . C ADDR 0491H A EXITT_CH. . . C ADDR 083FH A F0. . . . . . B ADDR 00D0H.5 A Trên đây là các chương trình điều khiển trên vi xử lý tuy nhiên em chỉ trình bày lưu đồ giải thuật của một số chương trình chính. Chương trình chính: Sau khi nhấn nút RESET phần cứng chương trình sẽ được thực thi như sơ đồ khối sau (xem hình) Trong đó, toàn bộ các công việc thực thi như phân loại dữ liệu, truyền nhận… đều được thực thi trong phần giải mã. Chương trình con quét phím: Thực hiện việc quét hàng và cột để tìm xem có phím nào bị nhấn hay không. Kết quả trả về thông qua cờ carry : C = 1 nếu có phím bị nhấn và mã hex nằm trong nibble thấp của thanh ghi tích lũy, C = 0 nếu không có phím nào bị nhấn. Giải thuật : GET_KEY Mã quét = 11111110B (quét cột 0) Có bit hàng = 0 ? Giảm Số đếm Số đếm = 0 ? Sai Đúng Sai Đúng Số đếm = 8 Xuất mã quét ra port1 Nhập port2 vào ACC 1 Dịch trái mã quét (quét cột kế) 2 Xóa cờ C = 0 Số thứ tự cột = 8 - Số đếm Mã phím = số thứ tự cột Số đếm = 8 Dịch MSB của ACC vào cờ C 1 C = 0 ? Mã phím = số thứ tự cột + 8 Giảm Số đếm Số đếm = 0 ? C = 1 Cất mã phím vào ACC RET 2 Sai Đúng Sai Đúng Chương trình con có nhiệm vụ chống rung phím, bằng cách lặp lại GET_KEY khoảng 50 lần. Nếu như 50 lần đều trả về C = 1 thì tức là có một phím được ấn, còn nếu có một lần C = 0 thì đó là rung động và bộ đếm được reset. Sau khi đã phát hiện có phím ấn, IN_HEX sẽ chờ một khoảng thời gian tương ứng 50 lần gọi GET_KEY để đảm bảo rằng không còn rung cho lần gọi GET_KEY kế tiếp. Ở đây em thiết kế việc xuất Led xen vô thời gian chờ trong chương trình chống rung . Chương trình giải mã một số phím chức năng đặc biệt : Phím ENTER: Phím ENTER có chức năng rất quan trọng trong bàn phím khi được thực thi những dữ liệu hiễn thị trên bảng led sẽ được chuyển vô “buffer ” . Kế đó dữ liệu sẽ được truyền về PC , Dữ liệu trong “buffer” và trên bảng led sẽ được xóa. Sau đó nhận tín hiệu trên PC trả về, nếu dữ liệu gởi đi có lỗi trùng lặp sẽ thông báo lên bảng led. ENTER Ghi dữ liệu vào "buffer" (32H-39H) vào (44H,4BH) A=99 ? Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A) Truyền dữ liệu lên máy tính Xử lý tín hiệu nhận được Báo hiệu tiếp tục nhập dữ liệu Báo hiệu trùng dữ liệu đúng Sai đúng Sai Sơ đồ khối Phím End : Phím end có chức năng báo cho PC biết đã nhập xong thông số của một bình Gas. Khi bấm phím này vi xử lý sẽ truền một tín hiệu về cho máy tính, khi nhận được tín hiệu này, PC sẽ tạo thêm dòng mới để nhận Bình Gas mới đồng thời trả tín hiệu xác nhận về cho vixử lí biết. Khi nhận được tín hiệu này trên bảng Led sẽ hiện “OK”. Sơ đồ khối: Sai đúng Phím New: Khi ta nhập số liệu của bỉnh Gas nếu có trùng lặp số sêri sẽ được nhận báo lỗi trùng lặp, hoặc khi kiểm tra từ bàn phím một bình gas đã nhập nào đó mà thấy bị sai một thông số… Khi đó ta nhấn phím New để nhập đè lên hoặc nhập mới. Nguyên tắc hoạt động : Đầu tiên khi bấm phím kít sẽ gửi lên tín hiệu thông báo cho PC biết nhập tín hiệu mới. Khi nhận được tín hiệu này PC sẽ kết hợp với điều kiện kiểm tra tự động có sẵn ở mỗi lần nhập để tìm đến bình gas cần sửa chữa hoặc cần nhập đè lên. New A=99 ? Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A) Truyền dữ liệu lên máy tính Xử lý tín hiệu nhận được Báo hiệu tiếp tục nhập dữ liệu đúng Sai Sơ đồ khối: Phím CHECK: Phím này dùng để kiểm tra dữ liệu đã nhập có hai chế độ kiểm tra nếu để mặc định nghĩa là chỉ bấm Check không thì sẽ kiểm tra được số liệu của bình gas vừa nhập. Còn nếu bấm số sêri rồi bấm CHECK ta sẽ nhận được số liệu của bình gas có số seri tương ứng. Khi nhấn phím CHECK đèn Led màu đỏ sẽ sáng báo hiệu cho biết đang trong chế độ check. Sai đúng Sơ đồ khối: Các phím hiển thị thông số của các bình gas hoàn toàn tương tự nhau vì thế em chỉ nêu chế độ hoạt động của một phím, Phím seri:Khi nhấn phím này, đầu tiên vi xử lý sẽ kiểm tra tín hiệu Check (cờ F0) nếu không có (F0 = 0) hiển thị SR lên bảng led rồi đợi nhập số liệu của thông số này. Nếu có tín hiệu check(F0 = 0) sẽ hiển thị SR trên bảng Led đồng thời nhận số liệu hiển thị của thông số này trên PC truyền xuống. đúng Sơ đồ khối: Một số phím có chức năng phụ khác như OK, NOT OK dùng để nhập số liệu của các thông số phụ, khi nhấn phím này ở trên bảng led 7 đoạn sẽ hiện số 1 hoặc số 0 ở vị trí bên trái của bảng hiển thị. Phím copy dung để ghi lại các số lịeu trên bảng led 7 đoạn và phím Paste dùng để lấy các số liệu đã copy hiển thị lại trên bảng led. Hai phím này phục vụ cho việc nhập các thông số có tính chất lặp đi lặp lại. Phím CE và phím CA có chức năng hoàn toàn tương tự như phím C và CA của máy tính cá nhân … Ngoài ra còn một số chương trình mang tính quyết định phục vụ chung cho tất cả các phím bấm. Đó là các chuơng trình truyền, nhận, chương trình con nhập số, chương trình xuất led. Chương trình con nhập số: Chương trình trên PC được viết bằng ngôn ngữ Delphi 5 Khi khởi động chương trình sẽ hiện lên một Form dùng để thiết lập chế độ hoạt động của hệ thống: Để bắt đầu làm việc ta nháy chuột vào Run chọn Comport để thiết lập cổng giao tiếp. Cổng giao tiếp ở đay bao gồm 2 cổng Com1 và Com2 với chế dộ default tương thích với chế độ lảm việc dưới kit vixử lý là: Tốc độ truyền:9600 Số bit dữ liệu là 8 Số bit stop:1 Không có bit kiểm tra chẵn lẻ. Sau khi chọn xong cổng truyền thông ta chọn tiep chế độ làm việc, ở giới hạn của luận văn là chỉ giao tiếp với bàn phím . Ta nháy tiếp chuột váo File tại đây có hai chế độ làm việc của bàn phím. Ta bắt đầu công việc một cách binh thường có thể hiểu bắt đầu một đợt nhập số liệu của bình gas. Lúc này ta chọn New trên thanh công cụ. Vì một lý do gì đó công việc bị gián đoạn hoặc cùng một lô bình mà ta chưa kiểm tra xong. Lúc này ta chon Auto Load Khi hoạt động dữ liệu thu thập được lưu vào máy tính một cách tự động và được quản lý dưới dạng cơ sở dữ liệu. Bất cứ khi nào cần yêu cầu truy suất trực tiếp từ bàn phím của máy tính hay từ bàn phím ở xưởng làm việc đều được. Sau đây là bảng quản lý: Tại danh sách này em có làm 3 hình thức quản lý đó là Quản lý theo bình cần sơn Quản lý theo binh cân kiểm định Quản lý theo bình cân tìm khi biết số seri. Khi ta chọn chế độ nào thì sẽ có bảnh danh sách thốnh kê tương ứng hiện lên. Ví dụ tại đây ta cần thống kê những bình đã đến hạn kiểm định. Theo như bảng trên có nghĩa là tronh những bình đang lưu trữ không có bình cần kiểm định. Còn khi ta cần có chi tiết về lý lịch của một bình nào đó ta nháy chuột vào” tìm kiếm” khi đó sẽ hiện lên một trang lý lịch chi tiết của bình gas đó Ta có thể thiết lập thêm nhiều hình thức quản lý khác nhưng do thực tế công việc chỉ yêu cầu có ba hình thức quản lý như trên. Đánh giá và mở rộng đề tài: Do điều kiện kinh phí và thời gian lên em chỉ làm một bàn phím trong khi công việc thực tế yêu cầu tới ba bàn phím. Tuy nhiên ba bàn phím này vêmặt chức năng không khác nhau nhiều và việc quản lý dữ liệu trên máy tính cũng không có gì khác biệt. Để có thể kết nối ba bàn phím vào hệ thống ta chỉ việc thêm vào chương trình chính trên máy tính việc hỏi vòng cho từng bàn phím một. Mỗi bàn phím được gán cho một địa chỉ khác nhau, khi bàn phím nào nhận được lệnh hỏi thi sẽ được trả lời. Các bàn phím khác không nhận được lệnh hỏi đúng địa chỉ thì không được. Trong thiết kế của em, bàn phím của em có địa chỉ là 99 . Tuy nhiên phương pháp này chỉ áp dụng được cho những công việc giao tiếp với số lượng byte trao đổi một lần thấp và không đòi hỏi liên tục. Còn những công việc đòi hỏi tốc độ và dung lượng cao quản lý cơ sở dữ liệu lớn thi ta phải lập trình đa tuyến và dùng cơ sở dữ liệu quản lý . CHƯƠNG I: Giới thiệu IC sử dụng trong bài Vi xử lý AT89C51: . Caáu taïo chaân Tùy theo khả năng (về kinh tế, kỹ thuật, …) mà các nhà sản xuất các sản phẩm ứng dụng có thể chọn một trong 3 kiểu chân do ATMEL đưa ra. 2.2. Sô ñoà khoái Mô tả sơ đồ chân : Sơ đồ chân của 8951 tương tự như 8051 (trình bày sau ). + Port 0 : gồm các chân từ 32 -39 ( P0.0 đến P0.7 ) . Port này có chức năng kép. Thông thường port này được dùng làm port I/O. Nếu có sử dụng bộ nhớ ngoài thì Port này được dùng để multiplex giữa địa chỉ phần thấp và data bus. + Port 1 : gồm các chân từ 1 - 8 ( P1.0 - P1.7 ) . Port này chỉ có chức năng duy nhất là giao tiếp I/O. + Port 2 : gồm các chân từ 22 - 28 ( P2.0-P2.7 ) . Đây cũng là port có chức năng kép, ngoài chức năng là port I/O , port 2 còn được dùng làm địa chỉ phần cao cho address bus . + Port 3 : gồm các chân 10-17 ( P3.0-P3.7 ) . Port này cũng có chức năng kép. Ngoài chức năng I/O, các chân port còn có các chức năng đặc biệt : Bit Tên Chức năng P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu phát cho port nối tiếp P3.2 /INT0 Ngắt ngoài 0 P3.3 /INT1 Ngắt ngoài 1 P3.4 T0 Ngõ vào của Timer/Counter 0 P3.5 T1 Ngõ vào của Timer/Counter 1 P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài Bảng 1-Bảng chức năng port 3 + Chân /PSEN (Program Store Enable) : (chân 29 ) là tín hiệu tác động mức thấp, có chức năng điều khiển truy xuất bộ nhớ ngoài, thường được nối với chân OE của ROM ngoài. Khi thực thi chương trình thì chân /PSEN vẫn giữ ở tích cực mức thấp. + Chân /EA ( External access ) : ( chân 31) thường nối lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, vi xử lý thực hiện chương trình từ ROM nội trong khoảng địa chỉ thấp (4KB). Nếu ở mức thấp, chương trình thi hành từ bộ nhớ mở rộng. Nếu /EA nối xuống mức thấp,bộ nhớ bên trong chương trình sẽ bị cấm và chương trình thi hành từ bộ nhớ mở rộng. + Chân ALE ( Address Latch Enable ) : (chân 30 ) là tín hiệu dùng để chốt địa chỉ byte thấp vào thanh ghi bên ngoài trong nữa chu kỳ đầu bộ nhớ, ở nữa sau chu kỳ bô nhớ, các đường port 0 được dùng để xuất nhập dữ liệu . Các xung nhịp của tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip. + Chân RST ( Reset) : Ngõ vào RST trên chân 9 là ngõ RESET của VXL, chân này tác động ở mức cao. 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 bên trong sẽ được nhận các giá trị thích hợp để khởi động các hệ thống . + Nguồn : 8951 và 8051 hoạt động với nguồn +5V DC ( chân 40 ) và GND ( chân 20). + Bộ dao động trên chip : XTAL1 là đầu vào và đầu ra tương ứng của bộ khuếch đại đảo được dùng làm bộ dao động nội on-chip. Có thể dùng thạch anh hay bộ cộng hưởng ceramic đều được. Để lái vi điều khiển từ nguồn xung clock bên ngoài, XTAL2 phải được để trống trong khi XTAL1 nối đến nguồn lái. Không có yêu cầu gì về duty cycle nhưng phải chú ý đến thời gian tối đa và tối thiểu của mức điện áp cao cũng như mức điện áp thấp. Tổ chức bộ nhớ chương trình : AT89C51 tổ chức bộ nhớ thành những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. AT89C51 có 4K ROM nội và chỉ có 128 bytes bộ nhớ RAM. Tuy nhiên bộ nhớ chương trình và bộ nhớ dữ liệu có mở rộng lên đến 64 Kbyte. Bộ nhớ RAM nội được tổ chức 2 vùng : Vùng RAM : gồm các bank thanh ghi có địa chỉ từ 00H đến 1FH, RAM địa chỉ hoá từng bit có địa chỉ từ 20H-2FH Vùng RAM đa dụng : có địa chỉ từ 30H-7FH . + Các thanh ghi chức năng đặc biệt có địa chỉ từ 80H-FFH . + Các từ trạng thái chương trình Bit Ký hiệu Địa chỉ Chức năng PSW.7 CY D7H Cờ nhớ PSW.6 AC D6H Cờ nhớ phụ PSW.5 F0 D5H Cờ 0 PSW.4 RS1 D4H Bit 1 chọn thanh ghi PSW.3 RS0 D3H Bit 0 chọn thanh ghi 00:bank 0 01:bank 1 02:bank 2 03:bank 3 PSW.2 0V D2H Cờ tràn PSW.1 D1H Dự trữ PSW.0 PORT D0H Cờ parity chẳn Từ trạng thái chương trình . FF 89 88 8A 87 D0 B0 A8 A0 A0 B8 F0 E0 82 83 F7 F6 F5 F4 F3 F2 F1 F0 E7 E6 E5 E4 E3 E2 E1 E0 D7 D6 D5 D4 D3 D2 D1 D0 IP - - - BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 IE P2 SBUFF P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL DP P0 P3 B0 AF - - AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Không được địa chỉ hoá bit 9F 9E 9D 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 Không được địa chỉ hoá bit Không được địa chỉ hoá bit Không được địa chỉ hoá bit Không được địa chỉ hoá bit Không được địa chỉ hoá bit 8F 8E 8D 8C 8B 8A 89 88 Không được địa chỉ hoá bit Không được địa chỉ hoá bit Không được địa chỉ hoá bit Không được địa chỉ hoá bit 87 86 85 84 83 82 81 80 80 81 RAM đa dụng 7F 7E 7D 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D 2C 2B 2A 29 99 28 27 26 25 24 23 22 21 98 20 1F 1E 1D 1C 1B 1A 19 90 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 8C 8B 08 07 06 05 04 03 02 01 00 Bank 3 Bank 2 Bank 1 Bank thanh ghi 0 (mặc định cho R0-R7) Tóm tắt bộ nhớ dữ liệu trên chip. Các cờ nhớ : CY (carry flag): cờ nhớ thường dùng cho các lẹnh số học. Ngoài ra nó còn có thể được xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. AC (auxiliary carry flag): cờ nhớ phụ được sử dụng khi cộng các số BCD. Flag 0 (bit F0) : cờ sử dụng chung dành cho người lập trình . 0V (overlow flag) : cờ tràn được set khi có 1 phép toán đang thi hành bị tràn. Các thanh ghi lệnh : Thanh ghi A (Accumulator): thanh ghi tích luỹ. Thanh ghi B : là thanh ghi đệm đa dụng có địa chỉ F0H . Thanh ghi SP (Stack Pointer) : địa chỉ 81H chứa các địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Con trỏ ngăn xếp được truy xuất trực tiếp bằng lệnh POP và PUSH. Data Pointer (DPTR) : được dùng để truy xuất bộ nhớ ngoài. DPTR là một thanh ghi 16 bit và được phân ở các địa chỉ 82H (DPL-byte thấp) và 83H (DPH-byte cao). Các thanh ghi Port : P0 ở địa chỉ 80H. P1 ở địa chỉ 90H. P2 ở địa chỉ A0H. P3 ở địa chỉ B0H. Các thanh ghi này được địa chỉ hoá từng bit . Thanh ghi timer : vi xử lý có 2 bộ timer/counter 16 bit dùng cho việc định thời hoặc đếm sự kiện. Timer 0 : gồm 2 thanh ghi TL0 (8AH) và TH0 (8CH). Timer 1 : gồm 2 thanh ghi TL1 (8AH) và TH1 (8CH). Việc vận hành timer được set bởi thanh ghi TMOD (89H) và thanh ghi điều khiển TCON (88H) , thanh ghi này được địa chỉ hoá từng bit . TCON Gate C ¤ M1 M0 Gate C ¤ M1 M0 Thanh ghi đệm SBUF : (99H) dùng để đệm data nối tiếp cho việc truyền và nhận data. Thanh ghi SCON : (98H) được địa chỉ hoá từng bit, có chức năng điều khiển port nối tiếp . Thanh ghi SCON : SM0 SM1 SM2 REN TB8 RB8 TI RI Thanh ghi ngắt IE : có 5 nguồn ngắt, và 2 mức ưu tiên ngắt. Các ngắt bị cấm sau khi reset hệ thống và được điều khiển, cho phép ngắt bởi thanh ghi IP, các thanh ghi này được địa chỉ hoá từng bit . Thanh ghi IE : EA _ ET2 ES ET1 EX1 ET0 EX0 Thanh ghi ngắt ưu tiên IP : Điều khiển mức ngắt ưu tiên bằng cách set bit tương ứng trong thanh ghi IP .Thanh ghi này có 8 bit như sau : _ _ PT2 PS PT1 PX1 PT0 PX0 Thanh ghi PCON : ở địa chỉ 87H chứa nhiều bit điều khiển (bảng Bit Ký hiệu Ý nghĩa 7 SMOD Bit tăng tốc độ baud, nếu được set thì tốc độ baud tăng gấp đôi trong các mod 1,2,3. 6 - Không định nghĩa 5 - Không định nghĩa 4 - Không định nghĩa 3 GF1 Bit cờ đa dụng 1 2 GF0 Bit cờ đa dụng 0 1 DP Giảm công suất, được set để kích hoạt mod giảm công suất, chỉ thoát khi reset. 0 IDL Mode chờ, set để hoạt node chờ, chỉ thoát khi reset hệ thống. Bảng tóm tắt các bit của thanh ghi PCON. SFR Mục đích Địa chỉ Địa chỉ hoá từng bit TCON Điều khiển timer 88H Có TMOD Chế độ timer 89H Không TL0 Byte thấp của timer 0 8AH Không TL1 Byte thấp của timer 1 8BH Không TH0 Byte cao của timer 0 8CH Không TH1 Byte cao của timer 1 8DH Không Các thanh ghi đặc biệt điều khiển truy xuất timer. Bit Ký hiệu Timer Mô tả 7 GATE 1 Bit mở cổng, khi lên 1, timer chỉ chạy khi INT1 ở mức cao 6 C/T 1 Chọn chế độ: 1: chế độ đếm sự kiện. 0: chế độ định thì. 5 M1 1 Bit1 chọn Mode hoạt động. Với M1 M0 là : 00 : mode 0. 01 : mode 1. 10 : mode 2. 11 : mode 3. 4 M0 1 Bit0 chọn Mode hoạt động 3 GATE 0 Bit mở cổng 2 C/T 0 Bit chọn counter/timer 1 M1 0 Bit1 chọn Mode hoạt động 0 M0 0 Bit 0 chọn Mode hoạt động Bảng tóm tắt thanh ghi TMOD. Bit Ký hiệu Địa chỉ bit Mô tả(1= cho phép, 0= cấm) IE.7 EA 0AFH Cho phép/cấm toàn bộ. IE.6 -- 0AEH Không định nghĩa. IE.5 ET2 0ADH Cho phép ngắt timer 2 (8052). IE.4 ES 0ACH Cho phép ngắt port nối tiếp. IE.3 ET1 0ABH Cho phép ngắt timer1. IE.2 EX1 0AAH Cho phép ngắt ngoài1. IE.1 ET0 0A9H Cho phép ngắt timer 0. IE.0 EX0 0A8H Cho phép ngắt ngoài 0. Tóm tắt thanh ghi IE. Bit Ký hiệu Địa chỉ Mô tả TCON.7 TF1 8FH Cờ báo tràn timer1 , đặt bởi phần cứng khi tràn, được xoá bởi phần mềm hoặc phần cứng khi bộ timer xử lý đến chương trình phục vụ ngắt. TCON.6 TR1 8EH Bit cho phép timer1 chạy. Đặt xoá bởi phần mềm khi timer chạy hoặc dừng. TCON.5 TF0 8DH Cờ báo tràn timer 0. TCON.4 TR0 8CH Bit cho phép timer 0 chạy TCON.3 IE1 8BH Cờ ngắt 1 bên ngoài, đặt bởi phần cứng khi phát hiện cạnh xuống ở INT1, xoá bằng phần mềm hoặc phần cứng khi timer chỉ đến chương trình phục vụ ngắt. TCON.2 IT1 8AH Cờ kiểu ngắt 1 ngoài, được set hoặc xoá bằng phần mềm bởi cạnh xuống hoặc mức thấp được kích hoạt bởi sự ngắt ngoài. TCON. 1 IE0 89H Cờ ngắt bên ngoài 0. TCON.0 IT0 88H Cờ ngắt Timer0 . Bảng tóm tắt thanh ghi TCON. Bit Ký hiệu Địa chỉ bit Mô tả(1= cho phép, 0= cấm) IP.7 -- -- Không định nghĩa. IP.6 -- -- Không định nghĩa. IP.5 PT2 0BDH Ưu tiên ngắt từ timer 2 (8052). IP.4 PS 0BCH Ưu tiên ngắt từ port nối tiếp. IP.3 PT1 0BBH Ưu tiên ngắt từ timer1. IP.2 PX1 0BAH Ưu tiên ngắt ngoài1. IP.1 PT0 0B9H Ưu tiên ngắt từ timer 0. IP.0 PX0 0B8H Ưu tiên ngắt ngoài 0. Bảng tóm tắt thanh ghi IP. Bit Ký hiệu Địa chỉ bit Mô tả(1= cho phép, 0= cấm) SCON.7 SM0 9FH Bit 0 của chế độ port nối tiếp. SCON.6 SM1 9EH Bit 1 của chế độ port nối tiếp. SCON.5 SM2 9DH Bit 2 của chế độ port nối tiếp. SCON.4 REN 9CH Cho phép thu . SCON.3 TB8 9BH Bit phát thứ 8, bit 9 được phát trong Mode 2 và 3 hoặc để kiểm tra . SCON.2 RB8 9AH Bit thu thứ 8, bit 9 thu được ở Mode 2 và 3 hoặc để kiểm tra. SCON.1 TI 99H Cờ ngắt phát . SCON.0 RI 98H Cờ ngắt thu . Bảng tóm tắt thanh ghi chế độ port nối tiếp. Cheá ñoä löôøi Trong chế độ lười, CPU rơi vào trạng thái “ngủ” trong khi tất cả thiết bị ngoại vi vẫn còn tích cực. Chế độ này được tạo ra bằng phần mềm. Nội dung của RAM on-chip và giá trị của các SFR vẫn được giữ nguyên. Kết thúc chế độ lười bằng cách kích hoạt một ngắt hoặc reset phần cứng. Chú rằng khi kết thúc chế độ lười bằng cách reset phần cứng thì thông thường vi điều khiển sẽ gọi lại chương trình mà nó vừa thoát, cho đến hai chu kỳ máy trước khi thuật toán reset chiếm quyền điều khiển. Phần cứng cấm truy cập RAM nội trong trường hợp này nhưng không cấm truy cập đến các chân port, do đó có thể xảy ra những trường hợp không mong muốn. Để loại bỏ trường hợp này, lệnh ngay sau lệnh gọi chế độ lười không nên là lệnh ghi port hay ghi bộ nhớ ngoài. 2.8. Cheá ñoä haï nguoàn Trong chế độ hạ nguồn, bộ dao động ngừng, và lệnh gọi hạ nguồn là lệnh cuối cùng được thực thi. RAM on-chip và SFR duy trì giá trị của nó cho đến khi kết thúc chế độ hạ nguồn. Kết thúc chế độ hạ nguồn chỉ bằng một cách duy nhất : reset phần cứng. Reset sẽ tạo lại giá trị cho SFR nhưng không thay đổi nội dung của RAM on-chip. Không nên reset trước khi Vcc phục hồi mức điện áp thông thường của nó và phải giữ đủ lâu để bộ dao động phục hồi và ổn định. 2.9. Traïng thaùi cuûa moät soá chaân trong cheá ñoä löôøi vaø cheá ñoä haï nguoàn 2.10. Các thông số kỹ thuật MAX 232: Họ IC từ MAX220-MAX249 được sản xuất cho truyền thông EIA/TIA-232E và V.28/V.24, cụ thể là cho những ứng dụng mà không có sẵn điện áp ±12V. Họ IC này đặc biệt thích hợp cho những hệ thống dùng pin có công suất thấp, do chúng có chế độ hạ nguồn làm giảm công suất tiêu tán xuống dưới 5mW. MAX225, MAX233, MAX235, MAX245-MAX247 không cần các linh kiện ph

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

  • docRS-845.doc