Đề tài Thiết kế Ohmmeter hiện thị số

PHẦN I 1

CẤU TRÚC CỦA MỘT HỆ THỐNG TẠO ẢNH QUANG TUYẾN 1

I. BÓNG X-QUANG 1

1. Nguyên lý hoạt động 1

2. Cấu tạo 1

II. KHỐI TẠO CAO THẾ 2

1. Khái niệm chung 2

2. Khối cao thế cao tần: 2

III. ĐIỀU KHIỂN THAM SỐ TRONG THIẾT BỊ X-QUANG 2

IV. THIẾT BỊ ĐỊNH VỊ CÓ HỘP CHUẨN TRỰC, LƯỚI VÀ SÀNG, BÀN BỆNH NHÂN VÀ CỘT BÓNG 3

1. Hộp chuẩn trực và lưới 3

2- Bàn bệnh nhân và cột bong 5

V. THIẾT BỊ GHI ẢNH 6

1- Phim X-quang 6

2- Caxet và bìa tăng quang 7

VI. THIẾT BỊ VÀ DỤNG CỤ BUỒNG TỐI 9

PHẦN II 11

CHỨC NĂNG CƠ BẢN CỦA CÁC THÀNH PẦN 11

TRONG HỆ THỐNG MÁY X-QUANG 11

I. BÓNG X-QUANG 11

II. KHỐI TẠO CAO THẾ 15

1. Biến áp cao thế 15

2. Chỉnh lưu cao thế 17

III. ĐIỀU KIỆN THAM SỐ TRANG THIẾT BỊ X –QUANG 21

1. Mạch điều khiển điện áp cao thế KV 21

2. Chỉ số KV 22

3. Mạch điều khiển dòng bóng X-quang 23

4. Điều khiển thời gian trong thiết bị X-quang 26

PHẦN III 29

CÁC MẠCH BẢO VỆ TRONG MÁY X-QUANG 29

I. KHÁI NIỆM 29

1. Các biện pháp kiểm soát trước khi phát tia 29

2. Các biện pháp kiểm soát trong lúc phát tia 29

3. Kiểm soát nhiệt độ ca tốt trong chế độ chụp 30

4. Kiểm soát tốc độ quay anốt – Mạch khởi động 30

5. Phòng ngừa quá KV và quá tải 31

6. Phòng ngừa quá dòng (mA) 31

7. Mạch bảo vệ bóng quá nóng 31

8. Chuyển tiếp đến chế độ hoạt động một cách an toàn 32

KẾT LUẬN 33

 

 

doc58 trang | Chia sẻ: lethao | Lượt xem: 2383 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế Ohmmeter hiện thị số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
rô khi Rx = 0. Có các cách mắc R2 sau: biến trở R2 mắc nối tiếp với cơ cấu chỉ thị biến trở R2 mắc song song với cơ cấu chỉ thị Như vậy, trước khi đo ta phải ngắn mạch AB ( nối tắt điện trở RX - động tác chặp 2 que đo ) và điều chỉnh R2 ( nút Adj của đồng hồ VOM ) để cho kim chỉ thị của Ohm kế chỉ 0Ω 2.4.4. Phương pháp cân chỉnh Ohmmet biến trở R2 mắc song song với cơ cấu chỉ thị Mỗi lần đo ta cho Rx à 0 bằng cách điều chỉnh R2 để cho: Việc chỉnh giá trị điện trở R2 có tác dụng khi Eb có sự thay đổi thì sự chỉ thị giá trị điện trở Rx sẽ không thay đổi. Ví dụ : Cho mạch điện đo điện trở như sơ đồ bên . Biết rằng Eb = 1.5V ; R1 = 15 kΩ ; Imax = 50 A và Rm = R2 = 1 kΩ Xác định giá trị của điện trở RX khi dòng điện qua cơ cấu đo là Im = Imax Xác định giá trị của điện trở RX khi dòng điện qua cơ cấu đo là 25 mA Nguyên tắc: chuyển từ giới hạn đo này sang giới hạn đo khác bằng cách thay đổi điện trở vào của ôm kế một số lần xác định sao cho khi Rx = 0 kim chỉ thị vẫn bảo đảm lệch hết thang đo (nghĩa là dòng qua cơ cấu chỉ thị bằng giá trị định mức của cơ cấu từ điện đã chọn). Thường mở rộng giới hạn đo của ôm kế bằng cách dùng nhiều nguồn cung cấp và các điện trở phân nhánh dòng (điện trở shunt) cho các thang đo khác nhau. 2.4.5. Phương pháp mở rộng thang đo Ohmmet 2.5. Đo điện trở Phương pháp so sánh Dùng cầu đo Wheatstone để xác định giá trị điện trở được chính xác hơn và thường được dùng trong phòng thí nghiệm Có hai loại cầu là Cầu đơn (Wheatstone): thường dùng cầu đơn để đo các điện trở có giá trị trung bình hoặc giá trị lớn. Cầu kép (Kelvin) được sử dụng cầu kép để đo điện trở nhỏ và rất nhỏ. 1. Đo điện trở dùng cầu đơn (Wheatstone) Chỉnh các giá trị điện trở R1 , R2 , R3 cho đến khi điện kế G chỉ zero Để cầu Wheatstone cân bằng , ta thay đổi tỷ số giữa R1/ R2 và thay đổi giá trị điện trở R3. R1 , R2 , R3 là các điện trở mẫu G là điện kế chỉ thị 0 RX là điện trở cần đo Khi R3 = R2 thì Rx = R1à thường R1 có độ chính xác cao, nhiều mức điều chỉnh và được khắc độ trực tiếp Ưu điểm: kết quả đo điện trở RX không phụ thuộc vào nguồn cung cấp cho mạch điện. Nhược điểm: thao tác phức tạp, độ chính xác phụ thuộc vào điện kế G và các điện trở mẫu. * Đo điện trở mở rộng thang đo cầu đơn (Wheatstone) Có thể mở rộng giới hạn đo của cầu bằng cách tạo ra R3 có nhiều giá trị lớn nhỏ hơn nhau 10 lần R5 là chiết áp điều chỉnh độ nhạy của chỉ thị. Cho K ở vị trí 1 để chỉnh thô, bảo vệ quá dòng cho chỉ thị (những lúc không thể cân bằng cầu do dòng quá lớn) Cho K ở vị trí 2 để chỉnh tinh sao cho cầu cân bằng hoàn toàn. Tuỳ vào dải giá trị điện áp cần đo chọn giá trị của R3 phù hợp bằng cách xoay công tắc. Phải chọn điện áp cung cấp sao cho ở bất kỳ vị trí điều khiển nào và với bất kỳ điện trở Rx thì dòng qua chỉ thị không vượt quá dòng cho phép của chỉ thị. 2.Đo điện trở dùngcầuđôi (Kelvin) Cầu đôi để đo điện trở nhỏ (khoảng dưới 1Ω) thường không thuận tiện và sai số lớn vì bị ảnh hưởng của điện trở nối dây và điện trở tiếp xúc...à sử dụng cầu kép để đo điện trở nhỏ và rất nhỏ. các điện trở R1; R2; R3; R4 và R là điện trở của các nhánh cầu ; Rx là điện trở cần đo và R0 là điện trở mẫu chính xác cao Để tránh điện trở tiếp xúc khi nối các điện trở vào mạch bằng cách chế tạo R0 và Rx dưới dạng các điện trở 4 đầu. Đo Rx chỉ cần thay đổi giá trị R0 và tỉ số R1 / R2 để cân bằng cầu. 2.6. Phương pháp đo biến đổi thẳng Là phương pháp đo có sơ đồ cấu trúc theo kiểu biến đổi thẳng, nghĩa là không có khâu phản hồi. Trước tiên đại lượng cần đo X được đưa qua một hay nhiều khâu biến đổi và cuối cùng được biến đổi thành số Nx. Còn đơn vị của đại lượng đo X0 cũng được biến đổi thành số N0 (ví dụ khắc độ trên mặt dụng cụ đo tương tự). Quá trình này được gọi là quá trình khắc độ theo mẫu N0 được ghi nhớ lại. Sau đó diễn ra quá trình so sánh giữa đại lượng cần đo với đơn vị của chúng. Quá trình này được thực hiện bằng một phép chia Nx/N0. Kết quả đo được thể hiện bằng biểu thức được cụ thể hóa như sau: Quá trình đo như vậy được gọi là quá trình đo biến đổi thẳng. Thiết bị đo thực hiện quá trình này gọi là thiết bị đo biến đổi thẳng. Trong thiết bị này tín hiệu đo X và X0 sau khi qua khâu biến đổi BĐ (có thể là một hay nhiều khâu nối tiếp ) đưa đến bộ biến đổi tương tự số A/D ta có Nx và N0. Sau khi nhân với đơn vị X0 ta nhận được kết quả đo như ở biểu thức như trên.Dụng cụ đo biến đổi thẳng thường có sai số tương đối lớn vì tín hiệu qua các khâu biến đổi sẽ có sai số bằng tổng các sai số của các khâu. Vì thế thường sử dụng dụng cụ đo kiểu này ở các nhà máy, xí nghiệp công nghiệp để đo và kiểm tra các quá trình sản xuất với độ chính xác yêu cầu không cao lắm. 2.7. Phương pháp đo kiểu so sánh Là phương pháp đo có sơ đồ cấu trúc theo kiểu mạch vòng nghĩa là có khâu phản hồi. Trước tiên đại lượng đo X và đại lượng mẫu X0 được biến đổi thành một đại lượng vật lý nào đó (ví dụ dòng hay áp chẳng hạn) thuận tiện cho việc so sánh. Quá trình so sánh được diễn ra trong suốt quá trình đo. Khi hai đại lượng bằng nhau ta đọc kết quả ở mẫu sẽ suy ra giá trị đại lượng cần đo. Quá trình đo như vậy gọi là quá trình đo kiểu so sánh. Thiết bị đo thực hiện quá trình này gọi là thiết bị đo kiểu so sánh (hay thiết bị bù).Hình vẽ trên chỉ rõ sơ đồ khối của một thiết bị đo như vậy. Tín hiệu đo X được so sánh với một tín hiệu XK tỉ lệ với đại lượng mẫu X0. Qua bộ biến đổi số - tương tự D/A tạo ra tín hiệu XK. Qua bộ so sánh ta có: Tùy thuộc vào cách so sánh mà ta có các phương pháp sau đây: - So sánh cân bằng: Là phép so sánh mà đại lượng cần đo X và đại lượng mẫu X0 sau khi biến đổi thành đại lượng XK được so sánh với nhau sao cho luôn có ∆X = 0 tức là: Như vậy thì XK là một đại lượng thay đổi sao cho khi X thay đổi luôn đạt được kết quả ở (1.4). Nghĩa là phép so sánh luôn ở trạng thái cân bằng. Trong trường hợp này độ chính xác của phép đo phụ thuộc vào độ chính xác của XK và độ nhạy của thiết bị chỉ thị cân bằng. Ví dụ: Cầu đo, điện thế kế cân bằng… - So sánh không cân bằng: Nếu đại lượng XK là một đại lượng không đổi, lúc đó ta có: Nghĩa là kết quả của phép đo được đánh giá theo đại lượng ∆X .Tức là biết trước XK, đo ∆X có thể suy ra X = XK + ∆X. Rõ ràng phép đo này có độ chính xác phụ thuộc vào phép đo ∆X, mà giá trị ∆X càng nhỏ (so với X) thì độ chính xác phép đo càng cao. Phương pháp này thường được sử dụng để đo các đại lượng không điện như đo nhiệt độ, đo ứng suất… So sánh không đồng thời: Việc so sánh được thực hiện như sau: Đầu tiên dưới tác động của đại lượng đo X gây ra một trạng thái nào đó trong thiết bị đo. Sau đó thay X bằng đại lượng mẫu XK sao cho trong thiết bị đo cũng gây ra đúng trạng thái như khi X tác động, trong điều kiện đó rõ ràng ta có X = XK. Khi đó độ chính xác của X hoàn toàn phụ thuộc vào độ chính xác của XK. Phương pháp này chính xác vì khi thay XK bằng X ta vẫn giữ nguyên mọi trạng thái của thiết bị đo và loại được mọi ảnh hưởng của điều kiện bên ngoài đến kết quả đo. 3. Hướng nghiên cứu đề tài Cơ sở lý thuyết của các phương pháp đo điện trở ở trên được đưa ra làm nền tảng định hướng cho các nghiên cứu đo lường sử dụng công nghệ tương tự với cơ cấu chỉ thị cơ. Ngày nay, khoa học công nghệ phát triển, công nghệ số cũng phát triển mạnh và dần trở thành xu hướng của thời đại, nhất là sử dụng vi xử lý, vi điều khiển, các thiết bị khả trình để tạo ra các thiết bị đo lường số có độ chính xác, gọn nhẹ và dễ xử dụng. Ở đề tài này chúng em được thầy Phạm Ngọc Thắng định hướng và chúng em phát triển ý tưởng thiết kế Ohmmeter dùng vi điều khiển PIC 16F877A. Đo điện trở bằng mạch phân áp và dùng bộ chuyển đổi ADC để xử lý thông tin đo, dùng vi điều khiển PIC thông qua chương trình được lập sẽ đưa ra hiển thị giá trị cần đo trên LCD. Dựa trên cơ sở của các phương pháp đo đã trình bày ở trên chúng em đã chọn phương pháp đo biến đổi thẳng vì: - phương pháp này dễ thực hiện với điều kiện và khả năng của chúng em - Mạch không quá phức tạp, dễ hiểu, dễ lắp ráp và lập trình phù hợp với thời gian, tiến độ học tập. Tuy nhiên, phương pháp này có nhược điểm là độ chính xác chưa cao, xử lý sai số chưa tốt. CHƯƠNG II: XỬ LÝ THÔNG TIN ĐO Một số linh kiện sử dụng để xử lý thông tin đo. 2.1. Giới thiệu về vi điều khiển PIC 16F877A 1 . Sơ đồ chân của vi điều khiển PIC16F877A 2. Một vài thông số về vi điều khiển PIC 16F877A Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kỳ xung clock. Tốc độ hoạt động tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số Port I/O là 5 với 33 chân I/O. Các đặc tính ngoại vi bao gồm các khối chức năng sau: Timer0: Bộ đếm 8 bit với bộ chia tần số 8 bit . Timer1: Bộ đêm 16 bit với bộ chia tấn số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. Timer2: : Bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/so sánh/ điều chế độ rộng xung. Các chuẩn giao tiếp nối tiếp SSP(Synchronous Serial Port), SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. Cổng giao tiếp song song PSP(Parallel Slave Port) với các chân điều khiển RD,WR,CS ở bên ngoài. Các đặc tính Analog: - 8 Kênh chuyển đổi ADC 10 bit. - Hai bộ so sánh. Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: Bộ nhớ flash với khả năng ghi xóa 100.000 lần. Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần. Dữ liệu bộ nhớ EEPROM có thể lưu trũ trên 40 năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua hai chân Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã chương trình. - Chế độ Sleep. - Có thể hoạt động với nhiều dạng Oscilator khác nhau 3. Tổ chức bộ nhớ Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu ( Data Memory). + Bộ nhớ chương trình của vi điều khiển PIC 16F877A là bộ nhớ flash, dung lượng 8K word (1word = 14bit) và được phân thành nhiều trang ( từ page 0 đến page 3). Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh ( vì một lệnh sau khi mã hóa sẽ có dung lượng 1Word (14 bit). Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình có dung lượng 13 bit (PC ). Khi vi điều khiển được reset, bộ đếm chương trình sé chỉ đến địa chỉ 0000h (Reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ Stack và không được được địa chỉ hóa bởi bộ đếm chương trình. + Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia làm nhiều Bank. Đối với PIC 16F877A bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFR ( Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng ví dụ như thanh ghi STATUS sé được đặt ở tất các các bank của bộ nhớ dư liệu giúp thuận tiện tỏng quá trình truy xuất và làm giảm bớt lệnh của chương trình. Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau: 4. Các thanh ghi chức năng đặc biệt Các thanh ghi chức năng đặc biệt ( Special Funtion Resgister ) được sử dụng bởi CPU và các bộ ngoại vi để điều khiển các hoạt động được yêu cầu của thiết bị. Những thanh ghi này có chức năng như RAM tĩnh . Danh sách những thanh ghi này được trình bày ở bảng dưới . Các thanh ghi chức năng đặc biệt có thể được chia thành hai loại : phần trung tâm (CPU ) và phần ngoại vi . 4.1.Thanh ghi trạng thái Thanh ghi trạng thái chứa các trạng thái số học của bộ ALU , trạng thái RESET và những bit chọn dãy thanh ghi cho bộ nhớ dữ liệu . Thanh ghi trạng thái có thể là đích cho bất kì lệnh nào , giống như những thanh ghi khác . Nếu thanh ghi trạng thái là đích cho một lệnh mà ảnh hưởng đến các cờ Z, DC hoặc C , và sau đó những bit này sẽ được vô hiệu hoá . Những bit này có thể được set hoặc xoá tuỳ theo trạng thái logic của thiết bị . Hơn nữa hai bit TO và PD thì không cho phép ghi , vì vậy kết quả của một lệnh mà thanh ghi trạng thái là đích có thể khác hơn dự định .Ví dụ , CLRF STATUS sẽ xoá 3 bit cao nhất và đặt bit Z . Lúc này các bit của thanh ghi trạng thái là 000u u1uu ( u = unchanged ). Chỉ có các lệnh BCF, BSF, SWAPF và MOVWF được sử dụng để thay đổi thanh ghi trạng thái , bởi vì những lệnh này không làm ảnh hưởng đến các bit Z, DC hoặc C từ thanh ghi trạng thái . Đối với những lệnh khác thì không ảnh hưởng đến những bit trạng thái này . 4.2. Thanh ghi OPTION_REG Thanh ghi OPTION_REG là thanh ghi có thể đọc và ghi , mà chứa những bit điều khiển khác nhau để cấu hình cho bộ chia TMR0 / bô WDT , ngắt bên ngoài ( INT ) , TMR0 4.3 . Thanh ghi INTCON Thanh ghi INTCON là thanh ghi có thể đọc hoặc ghi chứa các bit cho phép ngắt và các cờ ngắt . 4.4. Thanh ghi PIE1 Thanh ghi PIE1 chứa những bit cho phép ngắt riêng lẻ cho các thiết bị ngoại vi 4.5. Thanh ghi PIR1 Thanh ghi PIR1 chứa những bit cờ riêng lẻ cho các ngắt ngoại vi 4.6. Thanh ghi PIE2 Thanh ghi PIE2 chứa các bit cho phép ngắt riêng lẻ các thiết bị ngoại vi , ngắt xung đột bus SSP , và ngắt cho hoạt động ghi vào EEPROM . 4.7. Thanh ghi PCON Thanh ghi PCON ( Power Control ) chứa các bit cờ cho phép sự lựa chọn khác nhau giữa Power-on Reset ( POR ) , Brown-out Reset ( BOR ) , Watchdog Reset và một reset ngoại MCLR 5.8. Ngăn xếp Ngăn xếp của họ PIC16F87X có 8 mức và mỗi mức có độ rộng 13 bit . Chiều dài ngăn xếp khong phải là một phần không gian cuả chương trình hoặc dữ liệu và con trỏ ngăn xếp thì không chho phép đọc hoặc ghi . Bộ đếm chương trình ( PC ) được cất vào ngăn xếp khi lệnh thực hiện lệnh CALL , hoặc khi có một ngắt được yêu cầu . Ngăn xếp được lấy ra khi thực hiện các lệnh RETURN , RETLW hoặc RETFIE . PCLATH không bị ảnh hưởng bởi các lệnh PUSH hoặc POP. Hoạt động của ngăn xếp giống như vùng đệm vòng . Điều này có nghĩa là sau khi ngăn xếp đã cất vào 8 lần , lần cất vào thứ 9 sẽ được ghi chồng lên lần cất vào đầu tiên . Lần cất vào thứ mười sẽ được ghi chồng lên lần cất vào thứ hai ( và cứ như thế ) . 5. Các cổng xuất nhập của PIC 16F877A 5.1. PORTA và thanh ghi TRISA PORTA có độ rộng 6 bit , là port vào ra hai chiều .Thanh ghi dữ liệu trực tiếp tương ứng là TRISA . Cho tất cả các bit của TRISA là 1 thì các chân tương ứng ở PORTA là ngõ vào. Cho tất cả các bit của TRISA là 0 thì các chân tương ứng ở PORTA là ngõ ra . Việc đọc các thanh ghi của PORTA sẽ đọc trạng thái của những chân , ngược lại việc ghi lên nó sẽ ghi qua port chốt . Tất cả những hoạt động ghi là các hoạt động đọc-điều chỉnh-ghi . Bởi vậy , dữ liệu được ghi đến port có nghĩa là những chân của port là đọc , giá trị được chỉnh sửa và được ghi vào port chốt dữ liệu . Chân RA4 được đa hợp với xung clock ngoài ở ngõ vào của Timer0 thành chân RA4/T0CKI. Chân RA4/T0CKI là ngõ vào có một Trigger Schmitt và một ngõ ra có dạng thoát mở . Tất cả những chân khác của PORTA có ngõ vào TTL và có ngõ ra điều khiển CMOS . Những chân khác của PORTA được đa hợp với ngõ vào tương tự và ngõ vào tương tự VREF . Hoạt động của mỗi chân được chọn bằng cách xoá hoặc đặt những bit điều khiển trong thanh ghi ADCON1 ( A/D Control Register1 ). Thanh ghi TRISA điều khiển hướng của những chân RA , ngay cả khi chúng được sử dụng như ngõ vào tương tự . Người sử dụng cần phải chắc rằng những bit trong thanh ghi TRISA luôn luôn được đặt khi sử dụng chúng như ngõ vào tương tự . 5.2. PORTB và thanh ghi TRISB PORTB có độ rộng 8 bit , là port vào ra hai chiều . Ba chân của PORTB được đa hợp với chức năng lập trình mức điện thế thấp (Low Voltage Programming ) : RB3/PGM , RB6/PGC và RB7/PGD . Mỗi chân của PORTB có một điện trở kéo lên yếu ở bên trong. Một bit điều khiển đơn có thể mở tất cả những điện trở kéo lên này. Điều này được thực hiện bằng cách xóa bit RBPU(OPTION_REG) Những điện trở kéo lên này sẽ tự động tắt khi các chân của port được cấu hình như ngõ ra . Các điện trở này bị cấm khi có một Power-on Reset . Bốn chân của PORTB , RB7:RB4, có một ngắt để thay đổi đặc tính . Chỉ những chân được cấu hình như ngõ vào mới có thể gây ra ngắt này . Những chân vào ( RB7:RB4 ) được so sánh với giá trị được chốt trước đó trong lần đọc cuối cùng của PORTB. Các kết quả không phù hợp ở ngõ ra trên chân RB7: RB4 được OR với nhau để phát ra một ngắt Port Change RB với cờ ngắt là RBIF ( INTCON ). Ngắt này có thể đánh thức thiết bị từ trạng thái nghỉ( SLEEP ). Trong thủ tục phục vụ ngắt, người sử dụng có thể xóa ngắt theo cách sau: a) Đọc hoặc ghi bất kì lên PORTB . Điều này sẽ kết thúc điều kiện không hòa hợp . b) Xóa bit cờ RBIF . 5.3. PORTC và thanh ghi TRISC PORTC có độ rộng là 8 bit , là port hai chiều . Thanh ghi dữ liệu trực tiếp tương ứng là TRISC . Cho tất cả các bit của TRISC là 1 thì các chân tương ứng ở PORTC là ngõ vào . Cho tất cả các bit của TRISC là 0 thì các chân tương ứng ở PORTC là ngõ ra. PORTC được đa hợp với vài chức năng ngoại vi , những chân của PORTC có đệm Trigger Schmitt ở ngõ vào . Khi bộ I2C được cho phép , chân 3 và 4 của PORTC có thể được cấu hình với mức I2C bình thường , hoặc với mức SMBus bằng cách sử dụng bit CKE (SSPSTAT) . Khi những chức năng ngoại vi được cho phép , chúng ta cần phải quan tâm đến việc định nghĩa các bit của TRIS cho mỗi chân của PORTC. Một vài thiết bị ngoại vi ghi đè lên bit TRIS để tạo nên một chân ở ngõ ra , trong khi những thiết bị ngoại vi khác ghi đè lên bit TRIS thì sẽ tạo nên một chân ở ngõ vào. Khi những bit TRIS ghi đè bị tác động trong khi thiết bị ngoại vi được cho phép, những lệnh đọc-thay thế-ghi ( BSF , BCF , XORWF ) với TRISC là nơi đến cần phải được tránh . Người sử dụng cần phải chỉ ra vùng ngoại vi tương ứng để đảm bảo cho việc đặt TRIS bit là đúng . 5.4 – PORTD và thanh ghi TRISD PORTD và TRISD không có đối với PIC16F873 hoặc PIC16F876 . PORTD là port 8 bit với đệm Trigger Schmitt ở ngõ vào . Mỗi chân có thể được cấu hình riêng lẻ như một ngõ vào hoặc ngõ ra.PORTD có thể được cấu hình như port của bộ vi xử lý rộng 8 bit ( parallel slave port ) bằng cách đặt bit điều khiển PSPMIDE ( TRISE ).Trong chế độ này , đệm ở ngõ vào là TTL . 5.5 – PORTE và thanh ghi TRISE PORTE và TRISE không có đối với PIC16F873 hoặc PIC16F876 . PORTE có ba chân (RE0/RD/AN5 , RE1/WR/AN6 , và RE2/CS/AN7 ) mỗi chân được cấu hình riêng lẻ như những ngõ vào hoặc những ngõ ra . Những chân này có đệm Trigger Schmitt ở ngõ vào . Những chân của PORTE đóng vai trò như những ngõ vào điều khiển vào ra cho port của vi xử lý khi bit PSPMODE ( TRISE ) được set . Trong chế độ này , người sử dụng cần phải chắc rằng những bit TRISE được set, và chắc rằng những chân này được cấu hình như những ngõ vào số . Cũng bảo đảm rằng ADCON1 được cấu hình cho vào ra số . Trong chế độ này , những đệm ở ngõ vào là TTL. Những chân của PORTE được đa hợp với những ngõ vào tương tự . Khi được chọn cho ngõ vào tương tự , những chân này sẽ đọc giá trị ‘0’ . TRISE điều khiển hướng của những chân RE chỉ khi những chân này được sử dụng như những ngõ vào tương tự . Người sử dụng cần phải giữ những chân được cấu hình như những ngõ vào khi sử dụng chúng như những ngõ vào tương tự . 5.6 . Parallel Slave Port Parallel Slave Port ( PSP ) thì không có đối với PIC16F873 hoặc PIC16F876 . PORTD hoạt động như port phụ song song có độ rộng 8 bit hoặc port vi xử lý khi bit điều khiển PSPMODE (TRISE) được đặt . Trong chế độ phụ , nó được đọc và ghi không đồng bộ thông qua tín hiệu điều khiển ở ngõ vào RD của chân RD RE / 0 và tín hiệu điều khiển ở ngõ vào WR của chân WR RE / 1 .PSP có thể ghép nối trực tiếp với bus dữ liệu của vi xử lý 8 bit . Bộ vi xử lý bên ngoài có thể đọc hoặc ghi vào chốt PORTD như bộ chốt 8 bit . Khi bit PSPMODE được đặt thì chân RD RE / 0 là ngõ vào RD, chân WR RE / 1 là ngõ vào WR và chân CS RE / 2 là ngõ vào CS (chọn chip ). Trong hoạt động này , những bit dữ liệu trực tiếp tương ứng của thanh ghi TRISE (TRISE ) phải được cấu hình như những ngõ vào . Những bit cấu hình của bộ A/D là PCFG3:PCFG0 ( ADCON1 ) phải được đặt để cấu hình cho những chân RE2:RE0 như I/O số . Thực tế có hai bộ chốt 8 bit : một cho dữ liệu ở ngõ ra và một cho dữ liệu ở ngõ vào . Người sử dụng có thể ghi dữ liệu 8 bit vào bộ chốt dữ liệu của PORTD và đọc dữ liệu từ bộ chốt ( chú ý rằng chúng có cùng địa chỉ ) . Trong chế độ này , thanh ghi TRISE được bỏ qua , khi những thiết bị ngoài đang điều khiển hướng của luồng dữ liệu . Hoạt động ghi vào PSP xuất hiện khi cả CS và WR được dò thấy ở mức thấp lần đầu tiên . Khi cả CS và WR trở về mức cao khi đó bit cờ trạng thái IBF ( Input Buffer Full ) ( TRISE ) được bật tại chu kỳ xung clock Q4 , chu kỳ kế tiếp là Q2 , báo hiệu việc ghi đã hoàn thành . Bit cờ ngắt PSPIF ( PIR1 ) cũng được bật tại chu kỳ xung clock Q4 . IBF chỉ có thể được xóa bằng cách đọc bộ chốt ngõ vào của PORTD. Bit cờ trạng thái IBOV ( Input Buffer Overflow ) (TRISE) được bật nếu lần ghi thứ hai vào PSP được thực hiện khi byte trước đó chưa được đọc ra khỏi vùng đệm . Hoạt động đọc từ PSP xuất hiện khi cả CS và RD được dò thấy ở mức thấp lần đầu tiên . bit cờ trạng thái OBF ( Output Buffer Full ) (TRISE ) bị xóa ngay lập tức báo hiệu rằng bộ chốt của PORTD đang chờ đọc dữ liệu bởi bus ngoại . Khi một trong hai chân CS và RD trở về mức cao, bit cờ ngắt PSPIF được bật tại chu kỳ xung clock Q4 , chu kỳ kế tiếp là Q2 , báo hiệu rằng việc đọc đã hòan thành . Bit OBF vẫn được giữ ở mức thấp cho đến khi dữ liệu được ghi vào PORTD bởi vi chương trình của người sử dụng . Khi không hoạt động trong chế độ PSP , những bit IBF và OBF được giữ nguyên . Tuy nhiên nếu trước đó bit IBOV đã được bật nó phải được xóa bằng vi chương trình. Một ngắt được phát ra và được chốt vào bit cờ PSPIF khi hoạt động đọc hoặc ghi hoàn thành . Bit PSPIF phải được xóa bằng vi chương trình của người sử dụng và ngắt không được cho phép bằng cách xóa bit cho phép ngắt PSPIE ( PIE) . 6. Hoạt động định thời I – Bộ định thời TIMER0 Bộ định thời/bộ đếm Timer0 có các đặc tính sau : - Bộ định thời / bộ đếm 8 bit - Cho phép đọc và ghi - Bộ chia 8 bit lập trình được bằng phần mềm - Chọn xung clock nội hoặc ngoại - Ngắt khi có sự tràn từ FFh đến 00h - Chọn cạnh cho xung clock ngoài Bên dưới là sơ đồ khối của bộ định thời Timer0 và bộ chia dùng chung với WDT . Chế độ định thời (Timer) được chọn bằng cách xóa bit T0CS ( OPTION_REG ) . Trong chế độ định thời , bộ định thời Timer0 sẽ tăng dần sau mỗi chu kỳ lệnh ( không có bộ chia ) . Nếu thanh ghi TMR0 được ghi thì sự tăng sẽ bị ngăn lại sau hai chu kỳ lệnh.Chế độ đếm (Counter) được chọn bằng cách set bit T0SC ( OPTION_REG ) Trong chế độ đếm , Timer0 sẽ tăng dần ở mỗi cạnh lên hoặc cạnh xuống của chân RA4/T0CKI . Sự tăng cạnh được xác định bởi bit Timer0 Source Edge Select , T0SE (OPTION_REG ) . Bộ chia chỉ được dùng chung qua lại giữa bộ định thời Timer0 và bộ định thời Watchdog . Bộ chia không cho phép đọc hoặc ghi . 1 – Ngắt Timer0 Ngắt TMR0 được phát ra khi thanh ghi TMR0 tràn từ FFh đến 00h . Sự tràn này sẽ set bit T0IF (INTCON) . Ngắt này có thể được giấu đi bằng cách xóa đi bit T0IE (INTCON) . Bit T0IF cần phải được xóa trong chương trình bởi thủ tục phục vụ ngắt của bộ định thời Timer0 trước khi ngắt này được cho phép lại . 2 – Sử dụng Timer0 với xung clock ngoại Khi bộ chia không được sử dụng , clock ngoài đặt vào thì giống như bộ chia ở ngõ ra. Sự đồng bộ của chân T0CKI với clock ngoài được thực hiện bằng cách lấy mẫu bộ chia ở ngõ ra trên chân Q2 và Q4. Vì vậy thưc sự cần thiết để chân T0CKI ở mức cao trong ít nhất 2 chu kỳ máy và ở mức thấp trong ít nhất 2 chu kỳ máy. 3 – Bộ chia Thiết bị PIC16F87X chỉ có một bộ chia mà được dùng chung bởi bộ định thời 0 và bộ định thời Watchdog. Một khi bộ chia được ấn định cho bộ đinh thời 0 thì không có bộ chia cho bộ định thời Watchdog và ngược lại. Bộ chia không được đọc hoặc ghi. Các bit PSA và PS2:PS0 trong thanh ghi OPTION_REG xác đinh bộ chia được ấn định cho bộ định thời nào và tỉ số chia. II - Bộ định thời TMR1 : Bộ định thời 1 là một bộ định thời/bộ đếm 16 bit gồm hai thanh ghi TMR1H( byte cao) và TMR1L ( byte thấp ) mà có thể đọc hoặc ghi . Cặp thanh ghi này tăng số đếm từ 0000h đến FFFFh và một tràn sẽ xuất hiện khi có sự chuyển số đếm từ FFFFh xuống 0000h . Ngắt, nếu được phép có thể phát ra khi có số đếm tràn và được đặt ở bit cờ ngắt TMR1IF. Ngắt có thể được phép hoặc cấm bằng cách đặt hoặc xóa bit cho phép ngắt TMR1IE. Bộ định thời Timer1 có thể được cấu hình để hoạt động một trong hai chế độ sau: - Định thời một khoảng thời gian ( Timer ) - Đếm sự kiện ( Counter ) Việc lựa chọn một trong hai chế độ được xác định bằng cách đặt hoặc xóa bit chọn clock TMR1CS. Trong chế độ định một khoảng thời gian, bộ định thời tăng số đếm lên sau mỗi chu kỳ lệnh. Trong chế độ đếm sự kiện, bộ định thời tăng sau mỗi cạnh lên của clock ngoài đặt vào. Bộ định thời 1 có thể được phép hoặc cấm bằng cá

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

  • docThiết kế Ohmmeter hiện thị số.doc