Nghiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bít

43 387 0
Nghiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bít

Đ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

-2- giáo dục đào tạo trờng đại học bách khoa hà nội Lời cam đoan Tôi xin cam đoan luận văn kết nghiên cứu thân dới hớng dẫn TS Nguyễn Linh Giang Nếu có sai phạm, xin hoàn toàn chịu trách nhiệm luận văn thạc sỹ khoa học Nghiên cứu, thiết kế hệ điều hành vi điều khiển bít ngành: xử lý thông tin truyền thông M số: vũ trung kiên Ngời hớng dẫn khoa học: TS Nguyễn Linh Giang hà nội 2006 Ngời làm cam đoan Vũ Trung Kiên -3- Mục lục -42.2.1 Tổng quan ngôn ngữ lập trình cho vi điều khiển 39 2.2.2 Những vấn đề với ngôn ngữ C viết cho vi điều khiển 42 Chơng - thiết Lời cam đoan Danh mục ký hiệu, chữ viết tắt Danh mục bảng kế hệ vi điều khiển 49 3.1 Xác định yêu cầu thiết kế 50 3.2 Lựa chọn cấu hình cho hệ thống 51 Lời nói đầu 3.2.1 Lựa chọn điều khiển trung tâm 51 3.2.2 Giao diện ngời sử dụng 52 3.2.3 Các thiết bị mô trình hoạt động tiến trình 53 3.3 Thiết kế mạch điện 58 Chơng - Tổng 3.4 Đo thử kiểm tra lỗi 59 Danh mục hình vẽ, đồ thị quan hệ điều hành 11 1.1 Khái niệm hệ điều hành (OS-Operating System) 11 1.1.1 Khái niệm 11 1.1.2 Chức hệ điều hành 11 1.1.3 Các thành phần hệ điều hành 13 1.2 Quản lý tiến trình 16 1.2.1 Các trạng thái tiến trình 16 1.2.2 Khái niệm tài nguyên găng đoạn tới hạn 17 1.2.3 Hiện tợng bế tắc 19 1.3 Lập lịch cho CPU 20 1.3.1 Khái niệm CPU 20 1.3.2 Các trạng thái tiến trình liên quan đến CPU 20 1.3.3 Lập lịch cho CPU 22 1.4 Quản lý nhớ 25 1.4.1 Yêu cầu phải quản lý nhớ 25 1.4.2 Các sơ đồ quản lý nhớ 26 Chơng - Vi điều khiển ngôn ngữ lập trình cho vi điều khiển 28 2.1 Vi điều khiển 28 2.1.1 Vi xử lý vi điều khiển 28 2.1.2 Tổ chức nhớ vi điều khiển 30 2.1.3 Các định thời 35 2.1.4 Bộ xử lý ngắt 37 2.2 Ngôn ngữ lập trình cho vi điều khiển 39 Chơng - Thiết kế hệ điều hành .60 4.1.1 Mục đích yêu cầu thiết kế 60 4.1.2 Mục đích 60 4.1.2 Yêu cầu 63 4.2 Trình tự thiết kế hệ điều hành 64 4.3 Xây dựng tiến trình 65 4.3.1 Xây dựng tác vụ tơng ứng tiến trình 65 4.3.2 Giải toán tài nguyên găng 69 4.4 Lập lịch cho CPU 71 4.4.1 Sự kiện chuyển trạng thái tiến trình 71 4.4.2 Lập lịch cho CPU 80 4.5 Quản lý nhớ 83 Kết luận kiến nghị .86 Tài liệu tham khảo 87 -5- -6- Danh mục ký hiệu, chữ viết tắt Danh mục bảng STT Chữ viết tắt Chữ đầy đủ FCFS First Come First Served FIFO First In First Out LIFO Last In First Out MCS Micro Controller System OS RTOS RR Round Robbin SJF Shortest Job First SRT Shortest Remain Time 10 uC Bảng 1.1 Trạng thái tiến trình 19 Bảng 1.2 Thời gian thực tiến trình 25 Operating System Real Time Operating System Micro Controller Bảng 1.3 Thời gian chờ tiến trình 25 Bảng 2.1 Bộ nhớ liệu chíp AT89S52 33 -7- -8Hình 4.5 Các tiến trình đợc phân bổ thời gian CPU 71 Hình 4.6 Chuyển tiến trình kiện time out 73 Danh mục hình vẽ, đồ thị Hình 4.7 Các tiến trình đợc phân bổ thời gian CPU khác 74 Hình 4.8 Ngời sử dụng lệnh vào thời điểm khác 75 Hình 4.9 Chuyển cá tiến trình kiện interrupt 76 Hình 1.1 Các trạng thái tiến trình 17 Hình 1.2 Các trạng thái tiến trình liên quan đến CPU 20 Hình 1.3 Sơ đồ thực tiến trình 21 Hình 1.4 Sơ đồ tổ chức hàng đợi tiến trình 22 Hình 1.5 Sơ đồ Grant 25 Hình 2.1 Sơ đồ khối vi điều khiển AT89S52 29 Hình 2.2 Tổ chức nhớ vi điều khiển 30 Hình 2.3 Sơ đồ ghép nối AT89S52 với EPROM 31 Hình 2.4 Sơ đồ ghép nối AT89S52 với RAM 34 Hình 2.5 Giải mã địa cho vi mạch nhớ 34 Hình 2.6 Bộ nhớ liệu đọc nh nhớ chơng trình 35 Hình 2.7 Hoạt động Timer0 Timer1 chế độ 36 Hình 2.8 Các nguồn ngắt AT89S52 38 Hình 3.1 Trình tự thiết kế phần cứng cho hệ thống 49 Hình 3.2 Sơ đồ khối hệ vi điều khiển 51 Hình 3.3 Ghép nối vi điều khiển với RAM 52 Hình 3.4 Giao diện ngời sử dụng hệ vi điều khiển 53 Hình 3.5 Hiển thị LED đoạn kỹ thuật quét 54 Hình 3.6 Ghép nối ma trận LED hệ vi điều khiển 57 Hình 3.7 Nguyên tắc xếp chữ ma trận LED 58 Hình 4.1 Các tác vụ đợc thực đồng thời (song song) 62 Hình 4.2 Các tác vụ đợc thực luân phiên liên tục 62 Hình 4.3 Giản đồ xung P1 69 Hình 4.4 Chốt lại giá trị P1 70 Hình 4.9 Mô tả trạng thái tài nguyên tiến trình 77 Hình 4.10 Các tài nguyên cần lu dừng tiến trình 78 Hình 4.11 Phân bổ ngăn xếp cho tiến trình 79 Hình 4.12 Lập lịch cho tiến trình thực quét chữ ma trận LED 81 Hình 4.13 Lập lịch cho tiến trình quét số LED đoạn 81 Hình 4.14 Lập lịch cho tiến trình điều khiển LCD 82 Hình 4.15 Lập lịch cho tiến trình thời gian thực 82 Hình 4.16 Tổ chức nhớ ROM hệ vi điều khiển 83 Hình 4.17 Thay đổi vị trí đặt chơng trình phục vụ ngắt 84 Hình 4.18 Phân bổ nhớ ROM 85 Hình 4.19 Phân bổ nhớ RAM 85 -9- -10- Lời nói đầu xã hội, môn học hệ nhúng đợc đa vào giảng dạy trờng Cao đẳng Đại học Tuy nhiên để có hiệu qủa giảng dạy tốt Cùng với phát triển khoa học kỹ thuật, cụm từ tự động hoá trở nên phổ thông Từ máy móc tự động nhà máy xí nghiệp cần có phơng pháp nghiên cứu thiết kế tắc cần phải có thiết bị phục vụ qua trình thí nghiệm thay cho sức lao động công nhân, từ đồ gia dụng tự động gia Trờng Đại học Công nghiệp Hà nội trờng đào tạo cử nhân đình giúp ích cho ngời nội trợ nói chung thiết bị có khả tự động hoá kỹ s thực hành Trong chơng trình đào tạo có môn kỹ thuật vi điều xuất khắp nơi Một câu hỏi đặt với nhiều ngời nhờ đâu mà khiển, coi tảng để tiếp cận với hệ thống nhúng sử dụng vi thiết bị có khả tự động đợc? Để trả lời câu hỏi cần phải điều khiển có hệ điều hành Việc nghiên cứu để đa vào giảng dạy môn thiết kế từ có cụm từ tự động hoá đời hệ điều hành cho hệ vi điều khiển phù hợp với yêu cầu Trớc kia, cha có công nghệ bán dẫn, phần tử có tiếp điểm Với hớng dẫn TS Nguyễn Linh Giang, khuôn khổ luận văn đợc đầu nối với theo mạch logic tạo hệ này, mạnh dạn nghiên cứu nguyên tắc thiết kế hệ điều thống tự động, nhiên khả đáp ứng tính tự động hệ thống hành hệ vi điều khiển không cao Công nghệ bán dẫn đời, giải đợc hạn chế đáp ứng (tốc độ) phần tử có tiếp điểm nhiên phải chờ đến có xuất vi xử lý, hệ thống có tính tự động hoá cao đời Đặc trng hệ thống đợc mô tả công thức đơn giản: Phần cứng + Phần mềm = ứng dụng Theo công thức tuỳ biến thành Nội dung luận văn bao gồm chơng, đó: Chơng 1: Giới thiệu tổng quan hệ điều hành Chơng 2: Giới thiệu vi điều khiển đợc sử dụng để viết hệ điều hành ngôn ngữ lập trình cho vi điều khiển phần phần cứng phần mềm cho ứng dụng khác Thông thờng Chơng Thiết kế phần cứng hệ vi điều khiển phần mềm thành phần đợc tuỳ biến Chơng Thiết kế hệ điều hành cho hệ vi điều khiển Một hệ thống với vi xử lý giả suy nghĩ hành động ngời lý đơn giản chúng hoạt động theo chơng trình ngời thiết kế đa vào mà chơng trình thuật toán ý nghĩ ngời lập trình Nh để hệ thống có tính thông minh, tự động hoá cao phần mềm viết cho vấn đề quan trọng Do thời gian khả có hạn nên luận văn nhiều thiếu sót Rất mong đợc góp ý thông cảm thầy giáo, cô giáo Hà nội, ngày 30 tháng 10 năm 2006 Học viên Một hệ thống với phần cứng nhng đợc viết hệ điều hành khả trở nên mạnh nhiều so với hệ thống có chơng trình Với mục đích không ngừng đáp ứng nhu cầu Vũ Trung Kiên -11- Chơng - Tổng quan hệ điều hành -12Để đạt đợc mục tiêu hệ điều hành phải thực chức sau đây: 1.1 Khái niệm hệ điều hành (OS-Operating System) 1.1.1 Khái niệm Khó có khái niệm hay định nghĩa xác hệ điều hành, hệ điều hành phận đợc nhiều đối tợng khai thác nhất, họ ngời sử dụng thông thờng, lập trình viên, ngời quản lý hệ thống tuỳ theo mức độ khai thức hệ điều hành mà họ đa khái niệm khác - Tạo hệ thông mở rộng bao gồm thành phần vật lý thành phần logic: Nh biết, hệ thống khả trình (ví dụ nh máy tính) gồm phận nh: Processor, Memory, I/O Device, Bus, vv, để đối thoại khai thác máy tính ngời sử dụng phải hiểu đợc chế hoạt động phận phải tác động trực tiếp vào tất nhiên số 0,1 (ngôn ngữ máy) Điều khó ngời sử dụng hệ điều hành phải che đậy chi tiết phần cứng máy tính máy tính mở rộng, máy tính mở Khái niệm 1: Hệ điều hành hệ thống chơng trình với chức giám rộng có đầy đủ chức máy tính thực nhng đơn giản dễ sát điều khiển việc thực chơng trình ngời sử dụng quản lý phân sử dụng Theo cần tác động vào máy tính thực ngời sử dụng cần chia tài nguyên cho nhiều chơng trình ngời sử dụng đồng thời cho việc tác động vào máy tính mở rộng chuyển đổi thông tin điều khiển từ máy khai thác chức hệ thống máy tính ngời sử dụng thuận lợi hiệu tính Mục đích chức kà: Giúp ngời sử dụng khai thức chức phần cứng máy tính dễ dàng hiệu Khái niệm 2: Hệ điều hành chơng trình đóng vai trò nh giao diện ngời sử dụng phần cứng máy tính quản lý điều khiển phần cứng nh thực tất chơng trình - Quản lý tài nguyên hệ thống: Tài nguyên hệ thống là: prrocessor, Memory, I/O Device , tài nguyên mà hệ điều hành dùng để cấp phát cho tiến trình, chơng Khái niệm thứ hai gần với hệ điều hành sử dụng máy trình trình điều khiển hoạt động hệ thống Khi ngời sử dụng tính khái niệm thứ lại gần với hệ thống đo lờng điều cần thực chơng trình hay chơng trình cần nạp thêm tiến khiển công nghiệp sử dụng điều khiển khả trình (Ví dụ nh vi điều trình vào nhớ hệ điều hành phải cấp phát không gian nhớ cho chơng khiển) trình, tiến trình để chơng trình, tíên trình nạp đợc vào nhớ hoạt 1.1.2 Chức hệ điều hành động đợc Trong môi trờng hệ điều hành đa nhiệm có nhiều chơng Có thể nói hệ điều hành hệ thống chơng trình đóng vai trò trung gian ngời sử dụng phần cứng Nhiệm vụ cung cấp môi trờng thuận lợi để ngời sử dụng dễ dàng thực chơng trình ứng dụng họ máy tính khai thác triệt để chức phần cứng trình, tiến trình đồng thời cần đợc nạp vào nhớ nhng không gian lu trữ củâ nhớ có giới hạn hệ điều hành phải tổ chức cấp phát nhớ cho hợp lý để đảm bảo tất chơng trình tiến trình cần để đợc nạp vào nhớ để hoạt động Ngoài hệ điều hành phải tổ chức bảo vệ không gian nhớ cấp cho chơng trình tiến trình để tránh truy cập bất hợp lệ tranh -13- -14- chấp nhớ chơng trình, tiến trình, đặc biệt tiến trình đồng thời Trong trình hoạt động lý tiến trình tiếp hoạt động hệ thống Đây nhiệm vụ quan trọng hệ rục hoạt động đợc hệ điều hành phải tạm dừng tiến trình thu hồi tài nguyên điều hành mà tiến trình chiếm giữ, sau diều kiện thuận lợi hệ điều hành Trong trình hoạt động hệ thống đặc hệ thống đa ngời phải tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động kết thúc dùng đa chơng trình, đa tiến trình Còn xuất tợng khác, Trong hệ thống có nhiều tiến trình hoạt động song song hệ điều hành nhiều chơng trình, tiến trình đồng thời sử dụng không gian nhớ hau tập phải giải vấn đề tranh chấp tài nguyên tiến trình, phối tin (dữ liệu, chơng trình) Trong trờng hợp hệ điều hành phải tổ processor cho tiến trình, giúp tiến trình trao đổi thông tin hoạt động chức việc chia sẻ giám sát việc truy xuất đồng thời tài nguyên nói đồng với nhau, đảm bảo nguyên tắc tất tiến trình đợc khởi tạo phải cho việc sử dụng tài nguyên có hiệu nhng tránh đợc mát đợc thực kết thúc đợc liệu làm hỏng tập tin Hai dẫn chứng điển hình giúp chúng thấy vai trò hệ điều hành việc quản lý tài nguyên hệ thống sau chúng thấy việc cấp phát, chia sẻ, bảo vệ tài nguyên hệ điều hành công việc khó khăn phức tạp Hệ điều hành chi phí nhiều cho công việc nói để đát đợc Tóm lại, phận quản lý tiến trình hệ điều hành phải thực nhứng nhiệm vụ sau đây: Tạo lập, huỷ bỏ tiến trình Tạm dừng, tái kích hoạt động tiến trình mục tiêu: Trong trờng hợp tất chơng trình, tiến trình cần đợc Tạo chế thông tin liên lạc tiến trình cấp phát tài nguyên để hoạt động sớm muộn đợc cấp phát đợc Tạo chế đồng hoá tiến trình đa vào trạng thái hoạt động 1.1.3 Các thành phần hệ điều hành 1.1.3.1 Thành phần quản lý tiến trình Hệ điều hành phải có nhiệm vụ tạo lập tiến trình đa vào danh sách 1.1.3.2 Thành phần quản lý nhớ Bộ nhớ tài nguyên quan trọng hệ thống, thiết bị lu trữ mà CPU truy xuất trực tiếp đợc Các chơng trình ngời sử dụng muốn thực đợc CPU quản lý tíên trình hệ thống Khi tiến trình kết thúc hệ điều hành phải loại bỏ trwocs hết phải đợc hệ điều hành nạp vào nhớ chính, chuyển đổi địa tiến trình lhỏi danh sác quản lý tiến trình hệ thống sử dụng chơng trình thành địa mà CPU truy xuất Hệ điều hành phải cung cấp đầy đủ tài nguyên để tiến trình vào hoạt động đợc phải đảm bảo đủ tài nguyên để trì hoạt động tiến trình Khi chơng trình, tiến trình có yêu cầu đợc nạp vào nhớ hệ điều tiến trình kết thúc Khi tiến trình kết thúc hệ điều hành phải thu hồi tài hành phải cấp phát không gian nhớ cho Khi chơng trình, tiến trình kết thúc nguyên mà hệ điều hành cấp cho tiến trình hệ điều hành phải thi hồi lại không gian nhớ cấp phát cho chơng trình, tiến trình trớc -15- -16- Trong hệ thống đa chơng hay đa tiến trình, nhớ tồn nhiều Phát xử lý lỗi: trình trao đổi liệu thờng xảy lỗi nh: chơng trình/ nhiều tiến trình, hệ điều hành phải thực nhiệm vụ bảo vệ thiết bị vào/ra cha sẵn sàng, đờng truyền hỏng, vv, hệ điều hành phải tạo vùng nhớ cấp phát cho chơng trình/tiến trình, tránh vi phạm chế thích hợp để phát lỗi sớm khằc phục lỗi vừa xảy vùng nhớ Tóm lại, phận quản lý nhớ hệ điều hành thực 1.2 Quản lý tiến trình nhiệm vụ sau: Tiến trình chơng trình xử lý, sở hữu trỏ lệnh, lập Cấp phát, thu hồi vùng nhớ ghi biến Để hoàn thành nhiệm vụ mình, tiến trình có Chi nhận trạng thái nhớ thể yêu cầu số tài nguyên hệ thống nh: CPU, nhớ thiết bị Bảo vệ nhớ 1.2.1 Các trạng thái tiến trình Trạng thái tiến trình thời điểm đợc xác định hoạt động Quyết định tiến trình đợc nạp vào nhớ 1.1.3.3 Thành phần quản lý vào Một mục tiêu hệ điều hành giúp ngời sử dụng khai thức hệ thống máy tính dễ dàng hiệu quả, thao tác trao đổi thông tin thiết bị xuất / nhập phải suốt ngời sử dụng Để thực đợc điều hệ điều hành phải tồn phận điều thời tiến trình thời điểm Trong suốt khoảng thời gian tồn hệ thống, tiến trình thay đổi trạng thái nhiều nguyên nhân nh: Chờ đợi kiện xảy ra, đợi thao tác vào/ra hoàn tất, hết thời gian xử lý Tại thời điểm, tiến trình nhận trạng thái sau: khiển thiết bị, phận phối hợp CPU để quản lý hoạt động trao - Khởi tạo (new): Tiến trình đợc tạo lập đổi thông tin hệ thóng, chơng trình ngời sử dụng ngời sử dụng với - Sẵn sàng (ready): Tiến trình chờ đợc cấp phát CPU để xử lý thiết bị xuâts/nhập - Thực (runing): Tiến trình đợc xử lý Bộ phận điều khiển thiết bị thực nhiệm vụ sau: Gởi mã lệnh điều khiển đến thiết bị: Hệ điều hành điều khiển thiết bị mã điều khiển, trớc bắt đầu trình trao đổi liệu với thiết bị hệ điều hành phải gởi mã điểu khiển đến thiết bị Tiếp nhận yêu cần ngắt (Interrupt) từ thiết bị cần trao đổi với hệ thống phát tín hiệu yêu cầu ngắt, hệ điều hành tiếp nhận yêu cầu ngắt từ thiết bị, xem xết thực thủ tục để đáp ứng yêu cầu thiết bị - Đợi (waiting): Tiến trình phải dừng thiếu tài nguyên chờ kiện - Kết thúc (halt): Tiến trình hoàn tất công việc xử lý Các trạng thái tiến trình đợc biểu diễn qua sơ đồ (hình 1.1) -17- -18Sản xuất thông tin chứa NextP; Runing Ready New Halt While Counter = n Skip; Buffer [In]:=NextP; In:= In + mod n; Waiting Until false; (Tiến trình C) Hình 1.1 Các trạng thái tiến trình Repeat While Counter = Skip; Hệ điều hành quản lý hoạt động tiến trình hệ thống thông NextC:= Buffer [Out]; qua khối mô tả tiến trình (process control block - PCB) Khối mô tả tiến trình bao Out:= Out + mod n; gồm thành phần: - Số thứ tự tiến trình Lấy thông tin chứa NextC - Con trỏ trạng thái tiến trình (cho biết trạng thái tiến trình) Until false; - Vùng nhớ lu trữ giá trị ghi mà tiến trình sử dụng - Thông tin tài nguyên tiến trình sử dụng đợc phép sử dụng 1.2.2 Khái niệm tài nguyên găng đoạn tới hạn Chúng ta xem thuật toán sau: ltem = ; Type Var Buffer: array [0 n-1] of ltem; End; Nhận xét: Vì hai tiến trình P C song hành nên xảy trờng hợp thời điểm, tiến trình P tăng biến Counter lên (Counter:= Counter + 1) tiến trình C lại giảm biến Counter (Counter:= Counter 1) dẫn tới kết sai Nh biến Counter trờng hợp đợc gọi tài nguyên găng Đoạn trình sử dụng biến Counter gọi đoạn tới hạn In Out: n-1 Định nghĩa: Counter: n - Các tài nguyên logic vật lý phân bổ cho tiến trình song hành tài Begin (Tiến trình P) Repeat nguyên găng Các đoạn trình sử dụng tài nguyên găng gọi đoạn tới hạn (Critical Section) -19- -20- Có tợng chờ đợi vòng tròn 1.2.3 Hiện tợng bế tắc 1.2.3.3 Các mức phòng tránh bế tắc 1.2.3.1 Khái niệm bế tắc Giả sử có hai tiến trình P1 P song hành sử dụng tài nguyên r1 r, đợc điều khiển hai đèn hiệu S1 S Tại thời điểm, tài nguyên Để tránh tợng bế tắc, thông thờng hệ thống áp dụng ba mức: - Ngăn chặn: áp dụng biện pháp để hệ thống rơi vào trạng thái bế tắc phục vụ cho hoạt động tiến trình Xét trạng thái: Bảng 1.1 Trạng thái tiến trình - Dự báo tránh bế tắc: áp dụng biện pháp để kiểm tra tiến trình xem có bị rơi vào trạng thái bế tắc hay không Nếu có thông báo trớc bế P1 Thời điểm P2 Wait (S1) t1 Wait (S2) t2 Wait (S2) t3 1.3 Lập lịch cho CPU t4 Wait (S1) 1.3.1 Khái niệm CPU tắc xảy - Nhận biết khắc phục: Tìm cách phát giải Nhận xét: Tại vị trí trên, sau thời điểm t3, tiến trình P1 rơi vào trạng thái CPU loại tài nguyên quan trọng máy tính Mọi tiến trình muốn chờ tài nguyên r2 đợc P2 sử dụng; Sau thời điểm t4, tiến trình P2 rơi vào hoạt động đợc phải có phục vụ CPU (để xử lý, tính toán ) Thời gian trạng thái chờ tài nguyên r1 đợc tiến trình P1 sử dụng đây, mà CPU phục vụ cho tiến trình hoạt động đợc gọi CPU hai tiến trình rơi vào trạng thái chờ đợi vô hạn hệ thống gặp bế tắc Nh bế tắc trạng thái hai nhiều tiến trình chờ đợi số kiện tác động đặc biệt từ bên chờ đợi Tại thời điểm định, có tiến trình đợc phân phối CPU để hoạt động (thực lệnh mình) 1.3.2 Các trạng thái tiến trình liên quan đến CPU vô hạn Trong chế độ đa chơng trình, có ba trạng thái tiến trình liên quan mật 1.2.3.2 Điều kiện xảy bế tắc hệ thống thiết đến CPU bao gồm: Hiện tợng bế tắc xảy hệ thống tồn điều kiện: Runing Ready - Có tài nguyên găng - Có tợng giữ đợi, có tiến trình giữ số tài nguyên đợi tài nguyên bổ sung đợc giữ tiến trình khác - Không có hệ thống phân phối lại tài nguyên: Việc sử dụng tài nguyên Waiting không bị ngắt Hình 1.2 Các trạng thái tiến trình liên quan đến CPU -58- -59- P00 P01 P02 P03 P04 P05 P06 P07 3.4 Đo thử kiểm tra lỗi P17 P16 Đối với đối tợng nh hệ vi điều khiển đo thử kiểm tra lỗi P15 dụng cụ thông thờng nh đồng hồ, máy sóng cha đủ lý P14 hệ thống khả trình Cách tốt để kiểm tra viết đoạn P13 chơng trình cho khối hệ thống kiểm tra hoạt động khối P12 P11 P10 Hình 3.7 Nguyên tắc xếp chữ ma trận LED Để hiển thị dòng chữ ma trận LED cần có nhớ để lu lại font tất chữ Font chữ hiểu byte liệu cần xuất Port để ma trận sáng theo chữ Trong khuôn khổ luận văn xây dựng font chữ đơn giản gồm 26 chữ không dấu, font đợc nạp vào ROM, cần thay đổi kiểu chữ xây dựng nạp lại cho ROM 3.3 Thiết kế mạch điện Để đảm bảo đợc yêu cầu kỹ thuật, mỹ thuật mạch điện thiết bị phải đợc thiết kế máy phần mềm vẽ mạch chuyên dụng Trên thực tế có nhiều phần mềm thiết kế mạch nh Protel, Orcad, Circuit Maker phần mềm có điểm mạnh riêng, nhiên để thiết kế hệ thống Protel tỏ có u thể th viện phần mềm có đủ linh kiện cần cho hệ thống, mạch lớp trở lên phần mềm tỏ tối u hoá đờng mạch tốt Nh đề cập mục 2, công việc thiết kế đợc chia thành hạng mục là; Thiết kế xử lý trung tâm, thiết kế giao diện ngời sử dụng thiết kế thiết bị mô hoạt động tiến trình Quá trình kiểm tra phát khối có lỗi khắc phục khối -60- Chơng - Thiết kế hệ điều hành -61} } 4.1.1 Mục đích yêu cầu thiết kế Ví dụ 3: 4.1.2 Mục đích #include Trên thực tế, hệ thống nhúng có công việc cần phải thực lặp lặp lại liên tục, xem xét ví dụ sau đây: Ví dụ 1: int counter; void main (void) int counter0; int counter1; void job0 (void) _task_ { os_create (1); /* đặt task trạng thái sẵn sàng */ { while (1) { /* lặp vô tận */ counter = 0; counter0++; /* tăng biến counter */ while (1) /* lặp vô tận */ } { } counter++; /* tăng biến counter */ void job1 (void) _task_ } { } while (1) { /* lặp vô tận */ Ví dụ 2: counter1++; /* tăng biến counter */ } int counter; } void main (void) { counter = 0; while (1) /* lặp vô tận */ Trong ví dụ 1, câu lệnh counter++ đợc đặt vòng lặp vô tận chơng trình Khi thực chơng trình này, vi điều khiển thực tác vụ tăng giá trị biến counter lên Chơng trình minh hoạ cho chơng trình đơn tác vụ { check_serial_io (); process_serial_cmds (); check_kbd_io (); process_kbd_cmds (); Trong ví dụ 2, có tới tác vụ đợc luân phiên thực lặp lặp lặp lại liên tục Cách viết nh ví dụ mở rộng đợc khả vi điều khiển nhiên có vấn đề tồn tính đáp ứng hệ thống Giả thiết chơng trình đợc thực thi tác vụ check_kbd_io()thì có byte liệu đến từ cổng nối tiếp hệ thống phải xử lý byte liệu -62- -63- nghĩa cần phải thực tác vụ process_serial_cmds().Hạn chế lúc với đáp ứng khắt khe vê thời gian Với hệ thống chơng đợc khắc phục cách viết ví dụ trình điều khiển viết theo cấu trúc đơn giản (ví dụ 1, ví dụ 2) tỏ Trong ví dụ 3, vi điều khiển thực thi tác vụ có tên job0, tác vụ khởi tạo cho tác vụ job1 job2 đồng thời nhiệm vụ đáp ứng đợc Vấn đề đợc giải hệ thống có hệ điều hành tăng biến counter0 Sau thực xong task 0, CPU chuyển sang Trờng Đại học Công nghiệp sở đào tạo có gắn thực task task sau lại quay trở lại thực task ý tởng chia kết hoạt động đào tạo thực tiễn xã hội cao Việc đa vào giảng dạy thời gian xử lý CPU thành khe thời gian thích hợp luân môn thiết kế hệ điều hành vi điều khiển việc cần thiết phiên thực tác vụ ý tởng hệ điều hành đa nhiệm (hình vào thời điểm mà công nghệ tự động hoá phát triển mạnh nh 4.2) Trên thực tế tổ chức tác vụ cách hợp lý phân chia thời gian CPU hợp lý cho tác vụ cho thực thi tác vụ 4.1.2 Yêu cầu này, tác vụ khác không bị ảnh hởng cảm giác dờng nh tất tác Do đặc thù hệ điều hành thời gian thực (RTOS - Real Time vụ đợc thực đồng thời (hình 4.1) Operating System) đợc thiết kế hệ vi điều khiển bít thiết kế để task phục vụ công tác thí nghiệm sở đào tạo nên hệ điều hành phải có task số yêu cầu cụ thể sau: - Phải thực thi đồng thời đợc nhiều chơng trình nạp nhớ ROM task nh chức hệ điều hành đa nhiệm t1 t2 tn time - Phải có đáp ứng tức với tác động ngời sử dụng nh yêu cầu Hình 4.1 Các tác vụ đợc thực đồng thời (song song) hệ điều hành thời gian thực - Kích thớc nhân hệ điều hành chơng trình đợc nạp sẵn task nhớ ROM không đợc vợt Kb Bộ nhớ RAM dành cho hệ task điều hành tối đa Kb 256 byte task - Hệ điều hành đợc viết ngôn ngữ C hợp ngữ nhúng t1 t2 tn time trình dịch C, ngôn ngữ học sinh đợc học trợc học môn thiết kế hệ điều hành vi điều khiển Các thành phần hệ điều hành Hình 4.2 Các tác vụ đợc thực luân phiên liên tục đợc viết thành module, thuận tiện cho ngời học soát lỗi thay đổi Trong thực tế gặp nhiều hệ thống đo lờng điều khiển tự Đứng góc độ ngời sử dụng hệ thống phải thực đợc động hoá mà hệ thống thờng phải xử lý nhiều công việc nhiệm vụ đồng thời quét hiển thị thông tin ma trận LED; quét hiển thị -64- -65- thời gian LED đoạn hiển thị thông tin cần thiết hình thời gian CPU cách hợp lý để tận dụng tối đa khả làm việc CPU; tinh thể lỏng Khi có tác động ngời sử dụng phím nhấn, hệ thống phân bổ nhớ cho tiến trình cách khoa học để không bị xung đột phải có đáp ứng tức việc thông báo lên LCD thay đổi thông tin mục đích phần Công việc phần công việc: theo phím nhấn LED Lập lịch cho CPU quản lý nhớ 4.2 Trình tự thiết kế hệ điều hành 4.3 Xây dựng tiến trình Do đặc trng hệ vi điều khiển bit một hệ thống nhỏ phục vụ trình thí nghiệm nên hệ điều hành viết cho không qua phức tạp 4.3.1 Xây dựng tác vụ tơng ứng tiến trình 4.3.1.1 Nguyên tắc xây dựng tác vụ trình dịch C Với hệ điều hành kiểu thiết kế theo nguyên tắc Module hoá, nghĩa liệt kê module có hệ điều hành, thiết kế chúng, sau liên kết chúng lại Các bớc tiến hành nh sau: -Bớc 1: Từ mục đích yêu cầu thiết kế, liệt kê module cần thiết cho hệ Trình dịch C cho phép xây dựng tới 16 tác vụ, 16 tác vụ luân phiên thực hiện, hệ thống có tới 16 tiến trình Các tác vụ đợc trình dịch C định nghĩa nh sau : điều hành void name (void) -Bớc 2: Thiết kế module đồng thời chạy thử module để đảm Trong đó: bảo tính xác chúng trớc đợc liên kết name tên tác vụ - Bớc 3: Liên kết module hệ điều hành task ID số hiệu tác vụ (task ID- đến 15) - Bớc 4: Chạy thử kiểm tra kết Ví dụ: Bớc bớc hai bớc quan trọng Thông thờng hai void init (void) bớc đợc thực đồng thời có module công việc liên kết module khác Công việc bớc bớc gồm phần chính: - Thiết kế chơng trình thờng trú nhớ ROM, hệ điều hành hoàn tất chơng trình trở thành tiến trình song song Công việc _task_ _task_ task ID task Khi thực hiện, CPU thực task trớc tiên, task đợc dùng để khởi tạo không khởi tạo cho task khác Để khởi tạo cho task, trình dịch C cung cấp sắn hàm os_create(task ID) Ví dụ cần khởi tạo task câu lệnh tơng ứng là: os_create(5) bao gồm việc giải tài nguyên găng đoạn tới hạn Công việc gọi xây dựng tiến trình Để không khởi tạo task (đa task vào trạng thái dừnghalt), trình dịch C cung cấp sẵn hàm os_delete (task ID) - Thiết kế nhân hệ điều hành Công việc thực chất làm để quản lý, phân bổ tài nguyên cho tiến trình hoạt động Hai tài nguyên quan trọng thời gian CPU nhớ Phân bổ Ví dụ cần dừng task câu lệnh tơng ứng là: os_delete (5) -66- -67- 4.3.1.2 Xây dựng tác vụ { biến giây = 0; Nh đề cập chơng 3, hệ thống phần cứng đợc thiết kế với Tăng biến phút lên đơn vị; thành phần bao gồm (1): - Hệ thống hiển thị thông tin ma trận LED bao gồm ma trận LED if (biến phút == 60) { - Đồng hồ thời gian thực hiển thị LED Biến phút = 0; - Giao diện ngời sử dụng gồm hình tinh thể lỏng LCD Tăng biến lên đơn vị; phím nhấn if (biến == 24) { Với hệ thông chia thành tác vụ nh sau: biến giờ=0; - Tác vụ (task 0) : Dùng để khởi tạo cho tác vụ khác } - Tác vụ (task 1): Dùng để nhận lệnh điều khiển từ ngời sử dụng, từ } gửi tín hiệu điều khiển cho tác vụ khác - Tác vụ (task 2): Dùng để hiển thị thông báo LCD phục vụ ngời điều khiển } } Tác vụ (task 5): - Tác vụ (task 3): Tác vụ thời gian, tác vụ cung cấp thời gian thực cho tác vụ Giả thiết cần hiển thị x phút y giây: while(1) - Tác vụ (task 4) : Dùng để quét thông số phút, giây theo thời gian thực lên LED - Tác vụ (task 5) : Dùng để quét thông tin cần hiển thị ma trận /*lặp vô tận*/ { cập nhật thời gian thực vào hai biến x y; phut_hang_don_vi=x%10; phut_hang_chuc LED Giải thuật tác vụ nh sau: giay_hang_don_vi=y%10; giay_hang_chuc Tác vụ (task 4): while (1) =x/10; =x/10; P1=M[x/10]; //xuất mã số hàng chục lên /* lặp vô tận */ LED thứ P2.0=1; //cấp nguồn để LED thứ sáng { Trễ giây (dùng định thời); Tăng biến giây lên đơn vị; if (biến giây == 60) Trễ 30ms; //chu kỳ quét nhở 1/14 giây -68P1=M[x%10]; //xuất mã số hàng đơn vị lên LED thứ hai -69Xuất mã dòng chữ thứ tám lên cột ma trận LED (Port 0,2,3); P2.1=1; //cấp nguồn để LED thứ hai sáng Dòng thứ tám sáng; Trễ 30ms; //chu kỳ quét nhở 1/14 giây Trễ 30ms; chu kỳ quét nhỏ 1/24 giây P1=M[y/10]; //xuất mã số hàng chục lên } LED thứ ba 4.3.2 Giải toán tài nguyên găng P2.2=1; //cấp nguồn để LED thứ ba sáng Trễ 30ms; //chu kỳ quét nhở 1/14 giây P1=M[y/%0]; //xuất mã số đơn vị LED 4.3.2.1 Tài nguyên găng hệ thống Nh đề cập phần thiết kế phần cứng, Port vi điều khiển đợc thiết kế để quét hàng cho ma trận LED đợc dùng để quét thứ t P2.3=1; //cấp nguồn để LED thứ t sáng Trễ 30ms; //chu kỳ quét nhở 1/14 giây cho LED Chu kỹ thuật quét tơng đơng đợc chọn 30 ms Giản đồ xung Port mô tả nh hình 4.3 } to -Tác vụ (task 5) : while(1) //lặp vô tận { 30ms t2 Thời điểm cần xuất giá trị 00001011 Port để quét hàng ma trận LED Xuất mã dòng chữ thứ lên cột ma trận LED (Port 0,2,3); Dòng thứ sáng; t1 Trễ 30ms; chu kỳ quét nhỏ 1/24 giây Xuất mã dòng chữ thứ hai lên cột ma trận LED (Port 0,2,3); Dòng thứ hai sáng; Thời điểm cần xuất giá trị 00101011 Port để quét LED đoạn 30ms t3 Trễ 30ms; chu kỳ quét nhỏ 1/24 giây Xuất mã dòng chữ thứ ba lên cột ma trận LED (Port 0,2,3); Dòng thứ ba sáng; Trễ 30ms; chu kỳ quét nhỏ 1/24 giây Hình 4.3 Giản đồ xung P1 Sau xuất giá trị lên Port để quét hàng, tác vụ có câu lệnh trễ 30 ms Trong khoảng thời gian CPU chuyển sang thực tác vụ -70- -71- khác nhng riêng tài nguyên I/O Port không đợc sử dụng vào mục đích khác Trong khoảng thời gian 30ms này, giả thiết CPU chuyển sang thực tác vụ tác vụ làm công việc xuất giá trị lên Port để quét LED đoạn Nh Port tài nguyên găng toán đoạn chơng trình sử dụng Port đoạn chơng trình tới hạn 4.4 Lập lịch cho CPU 4.4.1 Sự kiện chuyển trạng thái tiến trình 4.4.1.1 Sự kiện(event) Khái niệm kiện toán cụ thể hiểu điểm thời gian mà tiến trình đợc thực thi (running), bị dừng Có 4.3.2.2 Giải pháp giải tài nguyên găng Nh trình bày chơng 1, có nhiều phơng pháp để giải thể có số loại kiện sau: nhiên hầu hết phơng pháp đa giải pháp giải cho - Time out tiến trình vào đoạn tới hạn nó, tiến trình lại phải chờ Một hệ thống có hệ điều hành đa nhiệm có khả thực thi nhiều tác Các giải pháp không phù hợp với toán hai tiến trình có vụ lúc Tuy nhiên điều thấy khía cạnh ngời sử dụng hệ tài nguyên găng tiến trình làm nhiệm vụ hiển thị kỹ thuật điều hành khái cạnh ngời thiết kế việc phân chia thời quét Nếu tiến trình phải chờ tiến trình khỏi đoạn tới hạn gian CPU cho tiến trình để tạo cảm giác nh tiến trình tần số quét bị thay đổi, điều cháp nhận đợc thực Việc phân chia thời gian cho CPU làm cách đơn Hiện thời gian sử dụng Port hai tiến trình 30 ms nhiên thời gian tác động đến Port tiến trình vài micro giây (thời gan thực lệnh) Nếu nh dùng vi mạch chốt để lu lại giá giản dùng định thời, định khoảng thời gian chia cho tiến trình khoảng thời gian để thực Khoảng thời gian gọi time out trị Port cho tiến trình khác P1 không bị chiếm giữ liên Time out =100 ms tục 30 ms đồng nghĩa với việc loại trừ đợc tài nguyên găng hệ thống (hình 4.4) 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 30 29 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 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/A15 P3.3/INT1 P3.2/INT0 P3.0/RXD P3.1/TXD ALE PSEN P3.5/T1 P3.4/T0 EA X1 X2 RST P3.7/RD P3.6/WR 8 13 12 11 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 19 18 17 16 15 14 13 12 Tới hàng ma trận LED task task task LE 74HC573 OE 15 14 9 17 16 11 31 19 18 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 LE 74HC573 OE 19 18 17 16 15 14 13 12 Tới LED đoạn t Hình 4.5 Các tiến trình đợc phân bổ thời gian CPU Trên hình 4.5 mô tả tiến trình đợc phân phối khoảng thời gian 100 ms Theo 100 ms đầu CPU thực thi task 0, task task trạng thái chờ, kết thúc 100 ms, CPU chuyển dừng task 0, Hình 4.4 Chốt lại giá trị P1 -72chuyển sang thực task 2, task trạng thái chờ, kết thúc 200 ms, CPU -73Có thể mô tả hoạt động chơng trình hình 4.6 dừng task 2, chuyển sang thực task Hết 100ms, xảy ngắt định thời Giải pháp tạo time out để luân phiên thực tiến trình sử dụng ngắt định thời theo giải thuật sau: /*phần khởi tạo*/ -khởi tạo cho định thời chế độ 2(chế độ tự nạp lại) với giá trị ban đầu=giátrị nạp lại=-100 task task -Cho phép ngắt định thời task counter=0; t /*chơng trình phục vụ ngắt định thời 0*/ ISRtimer0(){ if(counter[...]... 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 H×nh 2.4 S¬ ®å ghÐp nèi AT89S52 víi RAM Dành cho các thanh ghi đặc biệt (SFR) Address Bus (A0- A15) Data Bus (D0-D7) 2764 PSEN OE WR RD D0-D7 A0-A12 CS EPROM 8KBytes text CS 6264 OE WE D0-D7 A0-A12 C 0 B 1 A 2 RAM CS 3 Bank 1 4 5 E 6 E 7 Tíi c¸c vi m¹ch Select another EPROM/RAM ROM/RAM kh¸c E 80 RAM 8KBytes CS CS 74HC1 38 RAM OE WE WR Bank... bé vi ®iỊu khiĨn ®−ỵc t×m thÊy trong c¸c øng dơng nhá cßn vi xư lý n»m trong c¸c hƯ thèng m¸y tÝnh AT89S52 lµ bé vi ®iỊu khiĨn 8 bit, ®−ỵc chÕ t¹o bëi h·ng ATMEL theo kiÕn tróc cđa 80 51 -29- -302.1.2 Tỉ chøc bé nhí cđa vi ®iỊu khiĨn Intermal Devices Oscillatior Memory AT89S52 có bộ nhớ theo cấu trúc Harvard: có những vùng cho bộ nhớ I/O devices riêng biệt cho chương trình và dữ liệu Như đã nói ở trên, ... Bus FFFFH ROM 64Kb Bộ nhớ chương trình (64Kb) I/O devices Memory RAM 64Kb Bộ nhớ chương trình (8Kb) Extermal Devices Bộ nhớ dữ liệu (64Kb) 1FFFH 00FFH 256 bytes Bộ nhớ trong 0000H Bộ nhớ ngoài H×nh 2.1 S¬ ®å khèi cđa bé vi ®iỊu khiĨn AT89S52 H×nh 2.2 Tỉ chøc bé nhí cđa vi ®iỊu khiĨn Trªn h×nh 2.1 lµ s¬ ®å khèi cđa bé vi ®iỊu khiĨn nµy, theo ®ã bé vi ®iỊu 2.1.2.1 Bé nhí ch−¬ng tr×nh khiĨn cã ®Çy ®đ... cả bộ nhớ chương CPU ROM 8Kb RAM 256 byte Timer0 Timer1 Timer2 (16 bit) UART Interrupt Controller trình và dữ liệu có sẵn ở trên chip tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế Khi thiết kế các ứng dụng đòi hỏi bộ nhớ lớn người ta có thể dùng bộ nhớ ngoài với dung lượng lên tới 64 Kbytes cho bộ nhớ chương trình và cho 64 Kbytes bộ nhớ dữ liệu (hình 2.2) System Bus FFFFH ROM 64Kb Bộ nhớ... AT89S52 nối với chân /WE của RAM (hình 2.10) Nếu có nhiều vi mạch ROM và RAM cùng được ghép nối với AT89S52 thì có thể dùng thêm vi mạch giải mã 74LS1 38 (hình 2.5) AT89S52 có 3 Timer 16 bit, mỗi Timer có bốn chế độ hoạt độïng Người ta sử dụng các Timer để: Đònh khoảng thời gian, đếm sự kiện hoặc tạo tốc độ baud cho port nối tiếp trong Như đã nói ở trên, bộ nhớ chương trình và bộ nhớ dữ liệu của AT89S52... ta g¸n: P0=00100010B; L1 L2 L3 L4 L5 L6 L7 L8 C16 C17 C 18 C19 C20 C21 C22 C23 17 18 19 20 21 22 23 24 C17 C 18 C19 C20 C21 C22 C23 C24 1 2 3 4 5 6 7 8 C8 C9 C10 C11 C12 C13 C14 C15 C1 C2 C3 C4 C5 C6 C7 L1 L2 L3 L4 L5 L6 L7 L8 C9 C10 C11 C12 C13 C14 C15 C16 V× kh«ng thĨ t¹i mét thêi ®iĨm tÊt c¶ c¸c m¾t xÕp theo h×nh ch÷ H ®Ịu C1 C2 C3 C4 C5 C7 C8 1 2 3 4 5 7 8 Gi¶ sư ta cÇn xÕp ch÷ H mµu ®á trªn ma trËn... ®¬n vµ ®©y ch×nh lµ bé vi ®iỊu khiĨn Nh− vËy ®Ĩ ph©n biƯt hai kh¸i niƯm vi xư lý vµ vi ®iỊu khiĨn th× cÇn ph¶i xem xÐt trªn 2 ph−¬ng diƯn: KiÕn tróc phÇn cøng vµ lÜnh vùc øng dơng PhÇn cøng cđa mét bé vi ®iỊu khiĨn lµ mét bé vi xư lý, bé nhí, c¸c thiÕt bÞ vµo/ra Vi ®iỊu khiĨn cã ®đ nh÷ng thµnh phÇn c¬ b¶n cđa mét hƯ m¸y tÝnh nªn bé vi ®iỊu khiĨn cã thĨ ho¹t ®éng ®éc lËp ®−ỵc cßn vi xư lý th× kh«ng Xt... có đòa chỉ từ 20H đến 2FH AT89S52 có 1 28 bit có chứa các byte đònh đòa chỉ theo bit từ 20H đến 2FH Ý tưởng truy xuất từng bit bằng phần mềm là các đăëc tính mạnh của các bộ vi điều khiển nói chung Các bit có thể được đặt, xóa, AND, OR, , với 1 H×nh 2.3 S¬ ®å ghÐp nèi AT89S52 víi EPROM 2.1.2.2 Bé nhí d÷ liƯu lệnh đơn a.Bé nhí d÷ liƯu trªn chip - RAM đa dụng từ 30H đến FFH AT89S52 cã 256 bytes Ram nh−... CS7 MC74F1 38 RTS ®iỊu hµnh tuy nhiªn ®Ĩ ®¶m b¶o c¸c yªu cÇu nh− mơc 1 ®· nªu th× cã thĨ chän bé vi ®iỊu khiĨn AT89S52 lµ bé xư lý trung t©m nh÷ng lý do sau: -AT89S52 lµ mét bé vi ®iỊu khiĨn, trªn bé vi ®iỊu khiĨn nµy ®· tÝch hỵp s½n bé nhí ROM, bé nhí RAM, c¸c bé ®Þnh thêi, bé xư lý ng¾t, khèi ®iỊu khiĨn vµo/ra, ®©y lµ nh÷ng tµi nguyªn c¬ b¶n dïng ®Ĩ vi t mét hƯ ®iỊu hµnh NÕu chän mét bé vi xư lý th×... 1FH 32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi Bộ lệnh AT89S52 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 thanh ghi chức năng đặc biệt từ 80 H đến FFH -33- -34- B¶ng 2.1 Bé nhí d÷ liƯu trªn chÝp cđa AT89S52 FF b Bé nhí d÷ liƯu ngoµi FF Port 0 Vùng RAM đa dụng D0-D7 74HC373 EA 80 51 O D G ALE Port 2

Ngày đăng: 13/08/2016, 11:15

Từ khóa liên quan

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

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

Tài liệu liên quan