Đặt vấn đề về đồ án, khảo sát vấn đề đó,sau đó đưa ra cách giải quyết cũng như giải pháp cho đồ án. Chương 2 : Họ vi điều khiển 8051: Sơ lược về vi xử lý và vi điều khiển, ưu nhược điểm của các bộ vi điều khiển, cấu trúc của họ vi diều khiển 8051, tổ chức bộ nhớ, đưa ra các đặc điểm nổi bật của họ vi diều khiển này, cách sử dụng các chân của 8051… 10 Tieu luan Đồ án II Chương 3: Cảm biến nhiệt độ LM35 – Bộ biến đổi tương tự sang số ADC 0804: Nghiên cứu về cấu tạo, cách thức hoạt động của các linh kiện, ưu nhược điểm của các linh kiện này. Phân chia thời gian trong quá trình chuyển đổi dữ liệu. Cách ghép nối giữa LM35 với ADC0804.
Các linh kiện phụ trợ trong quá trình thiết kế mạch, đưa ra hình ảnh về những linh kiện đó. Chương 4: Khảo sát, thiết kế bài toán. Nhiệm vụ thiết kế bào toán, tính toán chức năng của từng khối, đưa ra sơ đồ khối và sơ đồ thuật toán của chương trình, cũng như chạy quá trình mô phỏng trên máy, để giúp cho việc làm mạch thật diễn ra thuật lợi hơn. 11 Tieu luan Đồ án II CHƯƠNG II: HỌ VI ĐIỀU KHIỂN 8051 2.
Sơ lược về vi xử lý và vi điều khiển. Bộ vi điều khiển và bộ vi xử lý đa năng. Nói đến vi xử lý là ta nói đến các bộ vi xử lý đa năng như họ Intel x86 ( 8086, 80286, 80386, 80486 và Pentium ) hoặc họ Motorola 680x0 ( 68000, 68020, 68030, 68040…. Các bộ vi xử lý này không có RAM, ROM và không có các cổng vào ra trên chip.
Khi sử dụng các bộ vi xử lý đa năng thì người dùng phải bổ sung thêm RAM, ROM và các cổng vào - ra bên ngoài. Bus dữ liệu CPU Cổng Bộ vi xử lý RAM ROM I/O Timer COM đa năng Port nối tiếp Bus địa chỉ Hình 2.1: Hệ vi xử lý đa năng Đối với các bộ vi điều khiển thì khác, bộ vi điều khiển có trên chip bộ vi xử lý đa năng, bộ nhớ RAM, ROM, các cổng vào - ra và bộ định thời. Hay nói một cách khác là bộ vi xử lý, RAM, ROM, cổng vào ra và bộ định thời đã được tích hợp trên một chíp vi điều khiển. Khi dùng bộ vi điều khiển ta không phải bổ sung thêm các bộ nhớ ngoài, các cổng vào ra hoặc bộ định thời để cho hệ thống hoạt động.
Bộ vi điều khiển với một dung lượng RAM, ROM trên chíp và cổng vào – ra đã trở nên rất thích hợp trong nhiều ứng dụng yêu cầu giá thành hạ và không gian sử dụng hạn chế. Các bộ vi điều khiển ngày càng được ứng dụng rộng rãi trong các thiết bị gia đình, thiết bị văn phòng, thiết bị tự động. 12 Tieu luan Đồ án II CPU RAM ROM Cổng I/O Timer COM nối tiếp Hình 2.2: Chíp vi điều khiển 2.2 Ưu nhược điểm của các bộ vi điều khiển. Các công việc được thực hiện bởi các bộ vi điều khiển thì không mới.
Điều mới là các thiết kế hiện thực với ít thành phần hơn so với các thiết kế trước đó. Các thiết kế trước đó đòi hỏi phải vài chục hoặc vài trăm IC để hiện thực thì nay chỉ cần một ít thành phần trong đó bao gồm bộ vi điều khiển. Số thành phần được giảm bớt, hiệu quả trực tiếp của tính khả lập trình của các bộ vi điều khiển và độ tích hợp cao trong công nghệ chế tạo vi mạch thường chuyển thành thời gian phát triển ngắn hơn, giá thành sản xuất thấp hơn, công suất tiêu thụ thấp hơn và độ tin cậy cao hơn. Vấn đề ở đây là tốc độ.
Các giải pháp dựa trên bộ vi điều khiển không bao giờ nhanh bằng giải pháp dựa trên các thành phần rời rạc. Những tình huống đòi hỏi phải đáp ứng thật nhanh ( cỡ n-sec) đối với các sự kiện (thường chiếm thiểu số trong các ứng dụng) sẽ được quản lí tồi khi dựa vào các bộ vi điều khiển. Tuy nhiên trong vài ứng dụng, đặc biệt là các ứng dụng liên quan đến con người, các khoảng thời gian trễ tính bằng n-sec, u-sec hoặc thậm chí m-sec là không quan trọng. Viêc giảm bớt các thành phần là một điều lợi như đã đề cập, các thao tác trong chương trình điều khiển làm cho thiết kế có thể thay đổi bằng cách thay đổi phần mềm.
Điều này có ảnh hưởng tối thiểu đến chu kì sản xuất. Do đó các bộ vi điều khiển có thể được ứng dụng rộng rãi trong các lĩnh vực 13 Tieu luan Đồ án II phục vụ cho con người, thay thế cho con người ở những nơi có điều kiện môi trường khắc nghệt. Để hiểu rõ hơn về các bộ vi xử lý nói chung cũng như các bộ điều khiển nói riêng, trong đề tài thiết kế hệ thống đo nhiệt độ nhiều phòng sử dụng họ vi điều khiển 8051 để lập trình và thiết kế cho hệ thống này.2 Cấu trúc của chíp vi điều khiển 8051.1 Sơ đồ khối bộ vi điều khiển và chức năng. Ngắt ngoài ETC ROM RAM Timer On - Chip On - Chip Vào Điều 1 chương trình bộ khiển Timer đế ngắt 2 m CPU Bộ tạo Bus 4 Cổng Cổng nối dao động điều khiển vào /ra tiếp P0 P1 P2 P3 TXD RXD Địa chỉ/ Dữ liệu 14 Tieu luan Đồ án II Hình 2.3: Sơ đồ khối bộ vi xử lý 8051 Chức năng các khối như sau: * Khối xử lý trung tâm: Đây là phần chính của bộ vi xử lý là khối xử lý trung tâm CPU(Central Processing Unit), đây là trái tim của hệ thống nó quản lí tất cả các hoạt động của hệ thống và thực hiện tất cả các thao tác trên dữ liệu.
Hầu hết các CPU chỉ bao gồm một tập các mạch logic thực hiện liên tục hai thao tác là: tìm nạp lệnh và thực thi lệnh. CPU có khả năng hiểu và thực thi các lệnh dựa trên một tập các mã nhị phân, mỗi một mã nhị phân biểu thị một thao tác đơn giản. Các lệnh này thường là các lệnh số học, lệnh logic, các lệnh di chuyển dữ liệu hoặc các lệnh rẽ nhánh được biểu thị bởi một tập các mã nhị phân và được gọi là tập lệnh. Khối này có chứa các thành phần chính sau: - Thanh ghi tích lũy (ký hiệu là A).
- Thanh ghi tích lũy phụ(ký hiệu là B) thường được dùng cho phép nhân và phép chia. - Khối logic số học ALU(Arithmetic Logical Unit). - Từ trạng thái chương trình PSW(Program Status Word). - Bốn băng thanh ghi.
- Con trỏ ngăn xếp SP(Stack Point) cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ở bên ngoài. Ngoài ra khối xử lý trung tâm còn chứa: Thanh ghi đếm chương trình PC, bộ giải mã lệnh, bộ điều khiển thời gian và logic. Các thanh ghi bên trong CPU có vai trò hết sức quan trọng. Nhiệm vụ của nó là lưu trữ tạm thời các thông tin, một đơn vị số học ALU có nhiệm vụ thực hiện các thao tác trên thông tin này, một đơn vị giải mã lệnh và điều khiển có nhiệm vụ xác định thao tác cần thực hiện và thiết lập các hoạt động cần thiết để thực hiện thao tác.
Việc tìm nạp một lệnh từ RAM hệ thống là một trong các thao tác cơ bản nhất mà CPU thực hiện. Việc tìm nạp lệnh được thực hiện theo các bước sau: - Nội dung của PC được đặt lên bus địa chỉ - Tín hiệu điều khiển READ được xác lập (chuyển sang trạng thái tích cực). 15 Tieu luan Đồ án II - Dữ liệu (opcode của lệnh) được đọc từ RAM và đưa lên bus dữ liệu. - Opcode được chốt vào thanh ghi lệnh bên trong CPU.
- PC được tăng để chuẩn bị tìm nạp lệnh kế từ bộ nhớ. Giai đoạn thực thi lệnh bao gồm việc giải mã opcode và tạo ra các tín hiệu điều khiển, các tín hiệu này điều khiển việc xuất nhập giữa các thanh ghi nội với ALU và thông báo để ALU thực hiện thao tác đã được xác định. Do các thao tác có tầm thay đổi rộng, phạm vi cho các giải thích vừa nêu trên có phần bị giới hạn và chỉ được áp dụng cho các thao tác đơn giản. Một chuỗi các lệnh được kết hợp để thực hiện một công việc có ý nghĩa được gọi là một chương trình hay phần mềm.
Mức độ mà những công việc được thực hiện đúng và có hiệu quả phần lớn được xác định bởi chất lượng của phần mềm, không phải bởi sự phức tạp của CPU. Vậy thì các chương trình điều khiển CPU trong khi làm việc đôi khi dẫn đến sai lầm, chính là do nhược điểm của người viết chương trình. Sau khi được reset thì CPU bắt đầu làm việc ở địa chỉ 0000h, là địa chỉ đầu được ghi trong thanh ghi chứa chương trình PC và sau đó thanh ghi này tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chương trình. * Bộ tạo dao động: Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động được lắp thêm vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc thạch anh.
Ngoài ra còn có thể đưa một tín hiệu giữ nhịp từ bên ngoài vào. Khi sử dụng thạch anh thì tần số tối đa của thạch anh mà chúng ta phải chú ý đến là 24MHz, thông thường chúng ta dùng thạch anh có tần số 11,0592MHz để làm giảm thiểu tới mức tối đa những lỗi nhỏ nhất trong quá trình làm việc của nó. * Khối điều khiển ngắt: Chương trình đang chạy có thể dừng lại nhờ một khối logic ngắt ở bên trong. Các nguồn ngắt có thể là do các biến cố bên ngoài, sự tràn của bộ định thời / bộ đếm, hay cũng có thể là giao diện nối tiếp.
Các ngắt đóng một vai trò quan trọng trong việc thiết kế và thực hiện các ứng dụng của bộ vi điều khiển. Các ngắt cho phép hệ thống đáp ứng các sự kiện theo cách không đồng bộ. Tất cả các ngắt đều có thể được thiết lập chế độ làm việc thông qua các hai thanh ghi sau: 16 Tieu luan Đồ án II IE – Interupt Enable IP – Interupt Priority Chương trình xử lý một ngắt được gọi là trình phục vụ ngắt ISR hay quản lý ngắt. ISR được thực thi nhằm đáp ứng một ngắt và trong trường hợp tổng quát thực hiện việc xuất nhập đối với một thiết bị.
Khi một ngắt xuất hiện việc thực thi chương trình chính tạm thời bị dừng và CPU sẽ thực hiện rẽ nhánh đến trình phục vụ ngắt ISR.