MỤC LỤC
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. 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).
Nó vẫn có thể được sử dụng bởi port nối tiếp như bộ tạo tốc độ baund hoặc nó có thể được sử dụng bằng bất cứ cách nào không cần ngắt (vì nó không còn được nối với TF1). “sự kiện “, timer dùng đếm sự kiện được xác định bằng phần mềm bằng cách đọc các thanh ghi TLx/THx vì giá trị 16 bit trong các thanh ghi này tăng thêm 1 cho mỗi sự kiện. Phương pháp mới đơn giản nhất để bắt đầu (cho chạy) và dừng các timer là dùng các bit điều khiển chạy :TRx trong TCON, TRx bị xóa sau khi reset hệ thống.
Sau đó trong thân chương trình các timer được cho chạy, dừng , các bit cờ được kiểm tra và xóa, các thanh ghi timer được đọc và cạp nhật. Ví dụ các lệnh sau khi khởi động timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động trên chíp cho việc địng khoảng thời gian.
Trong một số ứng dụng cần đọc giá trị trong các thanh ghi timer đang chạy. Vì phải đọc 2 thanh ghi timer “sai pha” có thể xẩy ra nếu byte thấp tràn vào byte cao giữa hai lần đọc. Giải pháp là đọc byte cao trước, kế đó đọc byte thấp rồi đọc byte cao lại một lần nữa.
Khoảng thời gian ngắn nhất có thể có bị giới hạn không chỉ bởi tần số xung nhịp của timer mà còn bởi phần mềm. Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp là : SBUF và SCON. Thanh ghi điều khiển port nối tiếp (SCON) ở địa chỉ 98H là thanh ghi có địa chỉ bit chứa các bit trạng thái và các bit điều khiển.
Các bit điều khiển đặt chế độ hoạt động cho port nối tiếp, và các bit trạng thái báo cáo kết thúc việc phát hoặc thu ký tự. Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể được lập trình để tạo ngắt. Tần số làm việc của port nối tiếp còn gọi là tốc độ baund có thể cố định (lấy từ bộ giao động của chip).
Nếu sử dụng tốc độ baud thay đổi, timer 1 sẽ cung cấp xung nhịp tốc độ baud và phải được lập trình.
Đây là hai thanh ghi riêng biệt thanh ghi chỉ ghi để phát và thanh ghi để thu. Trước khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ.
Mặc nhiên, sau khi reset hệ thống, tốc độ baud chế độ là 2 tần số bộ dao động chia cho 64. Tốc độ baud cũng ảnh hưởng bởi 1 bit trong thanh ghi điều khiển nguồn cung cấp (PCON). Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của timer 1.
ORL data,#data (3,1):OR một dữ liệu trực tiếp với một dữ liệu tức thời. MOV data,Rn (2,2): Chuyển nội dung thanh ghi Rn vào một dữ liệu trực tieáp. MOV data,data (3,2): Chuyển một dữ liệu trực tiếp vào một dữ liệu trực tieáp.
MOV data,@Ri (2,2): Chuyển một dữ liệu gián tiếp vào một dữ liệu gián tieáp. MOV data,#data (3,2): Chuyển một dữ liệu tức thời vào một dữ liệu trực tieáp. MOV @Ri,data (2,2): Chuyển một dữ liệu trực tiếp vào một dữ liệu gián tieáp.
CJNE A,data,rel (3,2): So sánh dữ liệu trực tiếp với A và nhảy nếu không baèng. CJNE Rn,#data,rel (3,2): So sánh dữ liệu tức thời với nội dung thanh ghi Rn và nhảy nếu không bằng. CJNE @Ri,#data,rel (3,2): So sánh dữ liệu tức thời với dữ liệu gián tiếp và nhảy nếu không bằng.
Đối tượng cần đo là đại lượng vật lý,dựa vào các đặc tính của đối tượng cần đo mà ta chọn một loại cảm biến phù hợp để biến đổi thông số đại lượng vật lý cần đo thành đại lượng điện ,đưa vào mạch chế biến tín hiệu(gồm:bộ cảm biến,hệ thống khuếch đại,xử lý tín hiệu). Bộ chuyển đổi tín hiệu sang số ADC(Analog Digital Converter) làm nhiệm vụ chuyển đổi tín hiệu tương tự sang tín hiệu số và kết nối với vi xử lý. Bộ vi xử lý có nhiệm vụ thực hiện những phép tính và xuất ra những lệnh trên cơ sở trình tự những lệnh chấp hành đã thực hiện trước đó.
Bộ dồn kênh tương tự (multiplexers) và bộ chuyển ADC được dùng chung tất cả các kênh. Dữ liệu nhập vào vi xử lý sẽ có tín hiệu chọn đúng kênh cần xử lý đê đưa vào bộ chuyển đổi ADC và đọc đúng giá trị đặc trưng của nó qua tính toán để có kết quả của đại lượng cần đo. Việc sử dụng các IC cảm biến nhiệt để đo nhiệt độ là một phương pháp thông dụng được nhóm sử dụng trong tập luận văn nầy,nên ở đây chỉ giới thiệu về IC cảm biến nhiệt.
IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp.Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ,tạo ra điện áp hoặc dòng điện,tỉ lệ thuận với nhiệt độ tuyệt đối.Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo.Sự tác động của nhiệt độ tạo ra điện tích tự do và các lổ trống trong chất bán dẫn. Bằng sự phá vỡ các phân tư û, bứt các electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện các lỗ trống. Làm cho tỉ lệ điện tử tự do và lổ trống tăng lên theo qui luật hàm mũ với nhiệt độ.
Sau khi kích xung start thì bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start, ngừ ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tớnh từ cạnh xuống của xung start). Lúc này bit cơ trọng số lớn nhất (MSB) được đặt lên mức 1, tất cả các bit còn lại ở mức 0, đồng thời tạo ra điện thế có giá trị Vref/2, điện thế này được so sánh với điện thế vào in. Tương tự như vậy bit kế tiếp MSB được đặt lên 1 và tạo ra điện thế có giá trị Vref/4 và cũng so sỏnh với điện ỏp ngừ vào Vin.
Quỏ trỡnh cứ tiếp tục như vậy cho đến khi xác định được bit cuối cùng. Trong suốt quá trình chuyển đổi chân OE được đặt ở mức 1, muốn đọc dữ liệu ra chân OE xuống mức 0. Trong suốt quá trình chuyển đổi nếu có 1 xung start tác động thì ADC sẽ ngưng chuyển đổi.