Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
778,5 KB
Nội dung
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử LỜI NÓI ĐẦU Ngày với phát triển khoa học công nghệ toàn giới Các thiết bị dùng cảm biến đếm sản phẩm nhà máy, phân xưởng công nghiệp,… hàng ngày trở lên phong phú đa dạng, từ thiết bị đơn giản đến phức tạp đại phát triển mạnh mẽ Trên toàn giới nói chung đất nước Việt Nam nói riêng có phát triển ! loại cảm biến sử dụng rộng rãi nhiều lĩnh vực đời sống từ phố nhà máy,khu công nghiệp , …nó đóng vai trò quan trọng thiếu,cảm biến thiết kế từ đơn giản đến phúc tạp để đáp ứng nhu cầu sử dụng người việc đếm phân loại sản phẩm Với hướng dẫn tận tình cô Vũ Thị Thu Hương Cùng thầy cô giáo khoa Điện Tử với cố gắng chúng em hoàn thành đề tài thời gian Vì thời gian hiểu biết hạn chế nên thực đề tài hạn chế, chúng em mong thầy cô giáo bạn đóng góp ý kiến để đề tài hoàn chỉnh Chúng em xin chân thành cảm ơn! Hà Nội, ngày 20 tháng 05 năm 2010 Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Cổng nối tiếp Cổng nối tiếp RS 232 loại giao diện phổ biến, rộng rãi Nó có tên gọi khác cổng COM 1, COM để tự cho ứng dụng khác Giống cổng máy in, cổng nối tiếp RS 232 sử dụng thuận tiện việc ghép nối máy tính với thiết bị ngoại vi Việc truyền liệu qua cổng RS 232 tiến hành theo cách nối tiếp, nghĩa bít liệu gửi nối tiếp với đường dẫn Trước hết loại truyền có khả dùng cho khoảng cách lớn hơn, khả gây nhiễu nhỏ đáng kể dùng cổng song song Việc dùng cổng song song có nhược điểm đáng kể cáp truyền nhiều sợi, đắt tiền, nữa, mức tín hiệu nằm khoảng – 5v tỏ không thích ứng với khoảng cách lớn 1.2 Cấu trúc cổng nối tiếp Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Mức tín hiệu chân cổng nối tiếp thường nằm khoảng -12V đến +12V bit liệu đảo ngược lại Mức điện áp mức logic nằm khoảng -3V -12V mức logic nằm khoảng từ +3V +12V Trạng thái tĩnh đường dẫn có mức điện áp -12V Bằng tốc độ baud, ta thiết lập tốc độ truyền liệu giá trị thông thường 300, 600, 1200, 2400, 4800, 9600, 19200 baud Ký hiệu baud số lượng bit truyền 1s Một vấn đề cần quan tâm khuôn mẫu (Format) truyền liệu cần phải thiết lập bên gửi bên nhận thông số truyền thiết lập máy tính câu lệnh DOS Ngày nay, Windows có chương trình hỗ trợ, thông số truyền liệu như: tốc độ baud, số bit liệu, số bit dừng, bit chẵn lẻ (parity) thiết lập cách đơn giản 1.3 Sự trao đổi đường dẫn liệu Cũng cổng máy in, đường dẫn tín hiệu riêng biệt cho phép trao đổi qua lại địa máy tính PC, trường hợp này, người ta thường sử dụng vi mạch có độ tích hợp cao để hợp nhiều chức chip Ở máy tính PC thường có thu/ phát không đồng vạn (UART) để điều khiển trao đổi thông tin máy tính thiết bị ngoại vi, phổ biến vi mạch 8250 hãng NSC Bộ UART có 10 ghi để điều khiển tất chức việc nhập vào, xuất liệu theo cách nối tiếp Chi Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử tiết ghi sau: b ghi trạng thái Modem (địa sở + 6) Thanh ghi có chức thông báo trạng thái đường dẫn bắt tay Điều ý ghi có bit D4, D5, D6, lối vào đường dẫn CTS, DSR R1 đảo c ghi điều khiển đường truyền (địa sở + 3) - C1, C0: Đặt số bit từ: C1C0 = 00- bit C1C0 = 01- bit C1C0 = 10- bit C1C0 = 11- bit - C2: bit dừng: C2 =0: bit dừng C2= 1: 1,5 bit dừng - C3: Bit parity C3 = 0: Không kiểm tra chẵn lẻ C3 = 1: Có kiểm tra chẵn lẻ - C4: Loại parity C4 = 0: Parity lẻ (kiểm tra tổng số bit lẻ) C4 = 1: Parity chẵn (kiểm tra tổng số bit chẵn) - C5: Stick bit (Thường không sử dụng) C5 = 0: Không có stick bit C5 = 1: Stick bit - C6: Đặt break (bit nghỉ dừng) C6 = 0: Normal Output- bình thường C6 = 1: Gửi break- dừng -C7 (DLAB- Division Latch Access Bit) C7 = 1: Cho phép truy nhập ghi chứa số chia tốc độ baud/ byte thấp (Địa 3F8) Cho phép truy nhập ghi chứa số chia tốc độ baud/ byte cao (Địa 3F9) C7 = 0: Cho phép truy nhập ghi đệm đọc/ viết ( Địa 3F8) Cho phép truy nhập ghi cho phép ngắt (Địa 3F9) d Thanh ghi trạng thái đường truyền (địa sở + 5) Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử S0: Đặt thành liệu nhận S1: Tín hiệu làm dừng phát S2: Lỗi chẵn lẻ S3: Lỗi khung truyền S4: Lỗi tràn S5: Đặt thành ký tự nạp vào đệm truyền S6: Đặt thành đệm truyền trống rỗng S7 = e ghi cho phép ngắt( địa sở +1) D0 = 1: Cho phép ngắt nhận ký tự D1 = 1: Cho phép ngắt đệm truyền rỗng D2 = 1: Cho phép ngắt thay đổi trạng thái đường truyền D3 = 1: Cho phép ngắt thay đổi trạng thái Modem D4 = D5 = D6 = D7 = f Thanh ghi nhận dạng ngắt (Địa sở + 2): D7 = D6 = D5 = D4 = D3 = g Thanh ghi chứa số địa tốc độ baud (byte thấp - địa sở) Thanh ghi gồm bit, chứa phần thấp số chia tốc độ baud Số chia tốc độ baud tính theo công thức: Số chia tốc độ baud = 1843200/(16x tốc độ baud cần thiết lập) h Thanh ghi chứa số chia tốc độ baud ( byte cao- địa sở + 1) Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử i Thanh ghi đệm đọc/ viết (địa sơ sở) Module vào bit dùng cổng nối tiếp Hạt nhân Module vi mạch CDP 6402 Vi mạch đảm nhiệm chức thu phát không đồng vạn (UART) Trong mạch thực tế,nhóm thực sử dụng IC AT89S52 (trong cấu trúc IC có UART) Ngoài ra, phần cứng Module sử dụng vi mạch MAX 232 làm nhiệm vụ chuyển đổi mức từ TTL sang RS232 ngược lại Chi tiết vi mạch 89S52 MAX232 trình bày 2.1 Vi mạch MAX232 MAX232 có hai điều khiển đường truyền nhận truyền liệu hình Các điều khiển đường truyền dùng cho TxD gọi T1 T2 Trong nhiều ứng dụng có cặp dùng Ví dụ T1 R1 dùng với cho trường hợp TxD RxD 8051, cặp R2 T2 không dùng đến Bộ điều khiển T1 MAX232 có gắn T1in T1 out chân số 11 tương ứng Chân T1in phía TTL nối tới chân RxD điều khiển, T1out phía RS232 nối tới chân RxD đầu nối DB RS232 Bộ điều khiển đường R1 có gán R1in R1out chân số 13 12 tương ứng Chân R1in (chân số 13) phía RS232 nối tới chân TxD đầu nối DB RS232 chân R1out (chân số 12) phía TTL Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử nối tới chân RxD vi điều khiển Nối ghép modem rỗng nối ghép mà chân TxD bên phát nối với RxD bên thu ngược lại MAX 232 cần có tụ điện giá trị từ đến 22 uF.Giá trị thường dùng 22uF 2.2 Vi mạch AT89S52 2.2.1 Chức khối AT89S52 Bộ vi điều khiển AT89S52 gồm khối chức sau đây: -CPU bao gồm: +Thanh ghi tích lũy A +Thanh ghi tích lũy B: dùng cho phép nhân phép chia +Đơn vị logic học (ALU- Arithmetic Logical Unit) +Từ trạng thái chương trình (PSW- Program Status Word) +Bốn băng ghi +Con trỏ ngăn xếp -Bộ nhớ chương trình (Bộ nhớ Rom) gồm Kb Flash -Bộ nhớ liệu (Bộ nhớ Ram) gồm 256 bytes -Bộ UART : chức truyền nhận nối tiếp Nhờ khối này, AT89S52 giao tiếp với cổng COM máy tính -Ba Timer/ Counter 16 bit thực chức định đếm kiện -WDT (Watch Dog Timer) -Khối điều khiển ngắt với nguồn ngắt nguồn ngắt -Bộ lập trình (ghi chương trình lên Flash Rom) cho phép người sử dụng nạp chương trình cho chip mà không cần nạp chuyên dụng -Bộ chia tần số với hệ số chia 12 -Bốn Port xuất nhập với 32 chân 2.2.2 Sơ đồ chức chân AT89S52 Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử - Port (P0.0- P0.7): Port gồm chân, chức xuất nhập ra, Bus đa hợp liệu địa (AD0- AD7), chức sử dụng AT89S52 giao tiếp với thiết bị có kiến trúc bus - Port (P1.0- P1.7): Đối với 8051, chức Port chức xuất nhập, Port khác, Port1 xuất nhập theo bit theo byte Riêng dòng 89Sxx, chân P1.5, P1.6, P1.7 dùng để nạp ROM theo chuẩn ISP, chân P1.0 P1.1 dùng cho Timer - Port 2: Port Port công dụng kép: đường xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng - Port 3: Mỗi chân Port chức xuất nhập có chức riêng, cụ thể sau: - PSEN (Program Store Enable): Chức chân điều khiển phép nhớ chương trình mở rộng thường kết nối đến chân /OE (Output Enable) EPROM phép đọc byte mã lệnh PSEN mức thấp thời gian đọc lệnh Các mã nhị phân chương trình đọc từ EPROM qua bus chốt vào ghi lệnh vi điều khiển để giải mã lệnh Khi thi hành chương trình ROM nội PSEN mức thụ động (mức cao) - ALE (Address Latch Enable): Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử ALE tín hiệu để chốt địa vào ghi bên nửa đầu chu kỳ nhớ Sau đó, đường Port dùng để xuất nhập liệu nửa sau chu kỳ nhớ Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động chip dùng làm nguồn xung nhịp cho hệ thống Nếu xung thạch anh dùng cho chip 12 MHz ALE có tần số MHz - EA (External Access): - EA thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, - vi điều khiển thi hành chương trình từ ROM nội Nếu mức thấp, chương - trình thi hành từ nhớ mở rộng - RST (Reset): - Ngõ vào RST chân ngõ reset 8051 Khi tín hiệu đưa lên - mức cao (trong chu kỳ máy), ghi vi điều khiển - tải giá trị thích hợp để khởi động hệ thống - XTAL1, XTAL2: - AT89S52 có dao động chip, thường nối với dao động - thạch anh có tần số lớn 33 MHz, thông thường 12MHz - Vcc, GND 2.2.3 Hoạt động định thời a.Giới thiệu: - AT89S52 có định thời (Timer) 16 bit, định thời có chế độ hoạt - động Người ta sử dụng định thời để: Định khoảng thời gian, đếm kiện, - tạo tốc độ baud cho port nối tiếp b Các ghi định thời - - Các ghi Timer Timer 1: - + Thanh ghi chế độ Timer (TMOD): - Thanh ghi TMOD chứa hai nhóm bit dùng để đặt chế độ làm việc cho Timer - Timer Đồ án môn đo lường điều khiển GNMT Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử +Thanh ghi điều khiển Timer (TCON): Thanh ghi TCON chứa bit trạng thái bit điều khiển cho Timer Timer + Các ghi chứa giá trị định thời: Các Timer Timer Timer 16 bit, Timer có ghi bit dùng để chứa giá trị khởi tạo giá trị thời Timer Cụ thể, Timer có TH0 TL0; Timer có TH1 TL1 Điểm cần ý ghi không định địa bit Đồ án môn đo lường điều khiển GNMT 10 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 2.2.4 Port nối tiếp a Giới thiệu: AT89S52 có Port nối tiếp chip hoạt động nhiều chế độ khác nhau, nhiều tốc độ khác Chức chủ yếu Port nối tiếp thực chuyển đổi song song sang nối tiếp với liệu xuất chuyển đổi nối tiếp sang song song với liệu nhập để giao tiếp với máy tính qua cổng nối tiếp thiết bịn tương tự Port nối tiếp hoạt động song công ( thu phát đồng thời) đệm lúc thu cho phép ký tự thu giữ ký tự thứ hai nhận Nếu CPU đọc ký tự thứ trước ký tự thứ hai thu đầy đủ liệu không bị b Các ghi Port nối tiếp Có hai ghi chức đặc biệt cho phép phần mềm truy xuất đến port nối tiếp là: SBUF SCON + Thanh ghi điều khiển Port nối tiếp (SCON- Serial Controller): Thanh ghi điều khiển port nối tiếp (SCON) địa 98H ghi có định địa bit, chứa bit trạng thái bit điều khiển liên quan tới port nối tiếp Các bit điều khiển đặt chế độ hoạt động cho Port nối tiếp, bit trạng thái báo cáo kết thúc việc phát thu ký tự Các bit trạng thái kiểm tra phần mềm lập trình để tạo ngắt Đồ án môn đo lường điều khiển GNMT 11 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Trước sử dụng Port nối tiếp phải khởi động SCON để chọn chế độ + Thanh ghi đệm truyền nhận Port nối tiếp (SBUF- Serial Buffer): Thanh ghi có chức đệm ký tự chúng nhận từ port nối tiếp truyền từ port nối tiếp, việc truyền nhận qua port nối tiếp thực chất việc truy xuất ghi c Trao đổi liệu qua port nối tiếp Thao tác trao đổi liệu qua port nối tiếp bao gồm thao tác sau: - Khởi tạo cổng nối tiếp: Thao tác bao gồm việc như: + Truy xuất SCON để đặt thông số chế độ hoạt động, cho phép thu + Thiết lập xóa bit SMOD ghi PCON để đặt hệ số chia tốc độ baud + Truy xuất ghi Timer Timer để đặt tốc độ baud cho port nối tiếp (chỉ với chế độ 3) - Kiểm tra cờ TI (khi truyền) kiểm tra cờ RI (khi nhận) - Ghi/ đọc byte liệu SBUF Đồ án môn đo lường điều khiển GNMT 12 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 2.2.5 Xử lý ngắt AT89S52 có nguồn ngắt: - Ngắt đến từ chân /INT0 - Ngắt đến từ chân /INT1 - Ngắt Timer - Ngắt Timer - Ngắt Timer - Ngắt Port nối tiếp nguồn ngắt xóa Reset đặt riêng phần mềm bit ghi cho phép ngắt (IE), ghi ưu tiên ngắt (IP) - Thanh ghi ưu tiên ngắt (IP): Mỗi nguồn ngắt lập trình riêng để đặt vào hai mức ưu tiên qua ghi chức đặc biệt địa bit IP (Interrupt Priority: ưu tiên ngắt) địa B8H Đồ án môn đo lường điều khiển GNMT 13 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Các Vector ngắt: Khi ngắt chấp nhận, giá trị nạp vào PC gọi Vector ngắt Nó địa bắt đầu chương trình phục vụ ngắt ISR (Interrupt Service Rountine) tương ứng với nguồn tạo ngắt Các Vector ngắt liệt kê sau: Khi đến ngắt, cờ gây ngắt tự động bị xóa phần cứng, ngoại trừ RI TI phải xóa phần mềm Giao tiếp với cảm biến hồng ngoại Cảm biến hồng ngoại (IR sensor) dùng phổ biến ứng dụng thực tế Tùy ứng dụng khác người ta dùng kỹ thuật khuếch đại điều chế điện, điều chế quang… để nâng cao độ nhạy, độ tin cậy… cảm biến Trong sơ đồ mạch nguyên lý, khuếch đại thuật toán làm việc so sánh , biến trở 20K có chức điều khiển điện áp so sánh Mỗi có vật qua tức có che/ không che khuất tia hồng ngoại diode phát lên phototransistor có chuyển mức từ sang đầu khuếch đại thuật toán gây ngắt INT1 Đồ án môn đo lường điều khiển GNMT 14 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử CHƯƠNG II:TRÌNH TỰ THIẾT KẾ ĐỒ ÁN 2.1 Sơ đồ nguyên lý VCC R 330 R1 10K + IR U 1A 12 R2 20K - U 4F LM 358 39 38 37 36 35 34 33 32 D1 LED R3 220 U2 O P T O IS O L A T O R -A 13 IS O 74LS14 P 0 /A D P /A D P /A D P /A D P /A D P /A D P /A D P /A D P /A P /A P 2 /A P /A 1 P /A P /A P /A P /A P P 1 P P P P P P P /R X D P /T X D P /IN T P 3 /IN T P /T P /T P /W R P /R D C4 10uF VCC 31 1 M h z C2 33P RST E A /V P P U3 C 1+ C 15 C 2+ C 2- C5 10uF 10 11 12 13 14 15 16 17 V+ 16 VCC V- 15 10 R 2O U T G N D T IN IR 19 30 X T A L A L E /P R O G XTA L2 PSEN Y1 C1 33P 21 22 23 24 25 26 27 28 C6 10uF VCC C7 10uF 14 13 T1O U T R IN R IN 11 R 1O U T T IN T O U T M A X232 VCC C3 AT89C 51 10uF SW RESET IN O U T VCC R 330 GND 1 C8 2200uF C9 104 C 10 100uF Đồ án môn đo lường điều khiển GNMT C 11 100uF J1 CON2 U L M C /T O 2 15 COM1 R5 10K S W O N -O F F P1 D2 LED Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 2.2 Sơ đồ mạch in: Chương trình nạp cho AT89S52 #include #include unsigned int sp; unsigned char x; void main(void) { IE=0x84; IT1=1; SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; while(1) { x=_getkey(); while(x!='@'); sp=0; } } void ngatngoai_1(void) interrupt { ++sp; printf("%d",sp); } Đồ án môn đo lường điều khiển GNMT 16 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Giao diện chương trình đếm sản phẩm Chương trình đếm sản phẩm viết ngôn ngữ VB Option Explicit Dim sp As String Dim st As Boolean Private Sub cmdFinish_Click() st = False End Sub Private Sub cmdOpen_Click() Dim iReturnValue As Variant iReturnValue = Shell("Notepad " & "C:\Theodoisosanpham.txt", 1) End Sub Private Sub cmdSave_Click() If Dir("C:\Theodoisosanpham.txt") "" Then Open "C:\Theodoisosanpham.txt" For Append As #2 Else Open "C:\Theodoisosanpham.txt" For Output As #2 End If Đồ án môn đo lường điều khiển GNMT 17 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Print #2, Format(Now, "ddd dd-mmm-yyyy hh:nn:ss") & " So san pham la: " & sp Close #2 End Sub Private Sub cmdReset_Click() Dim iResponse As Integer iResponse = MsgBox("Ban co muon thiet lap lai so san pham khong?", _ vbYesNo + vbQuestion, "Dem San Pham") If iResponse = Then Open "C:\Theodoisosanpham.txt" For Append As #2 Print #2, "Thoi diem thiet lap lai so san pham: " & Format(Now, "ddd dd-mmm-yyyy hh:nn:ss") Close #2 txtDisplay = MSComm1.Output = "@" End If If iResponse = Then End If End Sub Private Sub cmdStart_Click() st = True End Sub Private Sub Form_Load() sp = st = False MSComm1.CommPort = MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = MSComm1.RThreshold = MSComm1.SThreshold = MSComm1.PortOpen = True End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim iResponse As Integer iResponse = MsgBox("Ban co chac chan muon thoat khoi chuong trinh khong?", _ vbOKCancel + vbQuestion, "Dem San Pham") Đồ án môn đo lường điều khiển GNMT 18 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử If iResponse = Then Cancel = True If iResponse = Then MSComm1.PortOpen = False End If End Sub Private Sub mnuFileOpen_Click() Call cmdOpen_Click End Sub Private Sub mnuFileSave_Click() Call cmdSave_Click End Sub Private Sub Timer1_Timer() Label4.Caption = Time$ If (st = True) Then Call Arlam Else End If End Sub Sub Arlam() If IsDate(Text2.Text) And (Time$ = Text2.Text) Then Call cmdSave_Click ElseIf IsDate(Text3.Text) And (Time$ = Text3.Text) Then Call cmdSave_Click ElseIf IsDate(Text4.Text) And (Time$ = Text4.Text) Then Call cmdSave_Click Else End If End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then sp = MSComm1.Input txtDisplay.Text = sp End If End Sub Đồ án môn đo lường điều khiển GNMT 19 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử PHỤ LỤC Đồ án môn đo lường điều khiển GNMT 20 Lớp LTCĐĐH ĐT1_K3 [...]... Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then sp = MSComm1.Input txtDisplay.Text = sp End If End Sub Đồ án môn đo lường điều khiển và GNMT 19 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử PHỤ LỤC Đồ án môn đo lường điều khiển và GNMT 20 Lớp LTCĐĐH ĐT1_K3 ... của diode phát lên phototransistor sẽ có sự chuyển mức từ 1 sang 0 ở đầu ra của bộ khuếch đại thuật toán gây ra ngắt ngoài INT1 Đồ án môn đo lường điều khiển và GNMT 14 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử CHƯƠNG II:TRÌNH TỰ THIẾT KẾ ĐỒ ÁN 2.1 Sơ đồ nguyên lý VCC R 4 330 R1 10K 3 + IR U 1A 12 R2 20K 1 2 - U 4F LM 358 1 2 3 4 5 6 7 8 4 1 3 39 38 37 36 35 34 33 32 D1 LED 8... SMOD của thanh ghi PCON để đặt hệ số chia của tốc độ baud + Truy xuất các thanh ghi của các bộ Timer 1 và Timer 2 để đặt tốc độ baud cho port nối tiếp (chỉ với chế độ 1 và 3) - Kiểm tra cờ TI (khi truyền) và kiểm tra cờ RI (khi nhận) - Ghi/ đọc byte dữ liệu ở SBUF Đồ án môn đo lường điều khiển và GNMT 12 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 2.2.5 Xử lý ngắt AT89S52 có 6... ngắt này được xóa khi Reset và được đặt riêng bằng phần mềm bởi các bit trong các thanh ghi cho phép ngắt (IE), thanh ghi ưu tiên ngắt (IP) - Thanh ghi ưu tiên ngắt (IP): Mỗi nguồn ngắt được lập trình riêng để đặt vào một trong hai mức ưu tiên qua thanh ghi chức năng đặc biệt được địa chỉ bit IP (Interrupt Priority: ưu tiên ngắt) ở địa chỉ B8H Đồ án môn đo lường điều khiển và GNMT 13 Lớp LTCĐĐH ĐT1_K3... 9 C3 AT89C 51 10uF SW 1 RESET IN O U T 3 VCC R 6 330 GND 2 1 1 C8 2200uF C9 104 C 10 100uF Đồ án môn đo lường điều khiển và GNMT C 11 100uF 2 J1 CON2 U 5 L M 7 8 0 5 C /T O 2 2 0 15 5 9 4 8 3 7 2 6 1 COM1 R5 10K S W 2 O N -O F F P1 D2 LED Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 2.2 Sơ đồ mạch in: 3 Chương trình nạp cho AT89S52 #include #include unsigned int... 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- Serial Controller): Thanh ghi điều khiển port nối tiếp (SCON) ở địa chỉ 98H là thanh ghi có định địa chỉ bit, chứa các bit trạng thái và các bit điều khiển liên quan tới port nối tiếp Các bit điều khiển đặt chế độ hoạt động cho Port nối tiếp, các bit trạng thái báo cáo kết... khuếch đại điều chế điện, điều chế quang… để nâng cao độ nhạy, độ tin cậy… của cảm biến Trong sơ đồ mạch nguyên lý, bộ khuếch đại thuật toán làm việc như một bộ so sánh , biến trở 20K có chức năng điều khiển điện áp so sánh Mỗi khi có một vật đi qua tức là có sự che/ không che khuất tia hồng ngoại của diode phát lên phototransistor sẽ có sự chuyển mức từ 1 sang 0 ở đầu ra của bộ khuếch đại thuật toán gây... main(void) { IE=0x84; IT1=1; SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; while(1) { do x=_getkey(); while(x!='@'); sp=0; } } void ngatngoai_1(void) interrupt 2 { ++sp; printf("%d",sp); } Đồ án môn đo lường điều khiển và GNMT 16 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử 4 Giao diện chương trình đếm sản phẩm 5 Chương trình đếm sản phẩm viết bằng ngôn ngữ VB Option Explicit Dim sp... Sub Private Sub cmdSave_Click() If Dir("C:\Theodoisosanpham.txt") "" Then Open "C:\Theodoisosanpham.txt" For Append As #2 Else Open "C:\Theodoisosanpham.txt" For Output As #2 End If Đồ án môn đo lường điều khiển và GNMT 17 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử Print #2, Format(Now, "ddd dd-mmm-yyyy hh:nn:ss") & " So san pham la: " & sp Close #2 End Sub Private Sub cmdReset_Click()... Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim iResponse As Integer iResponse = MsgBox("Ban co chac chan muon thoat khoi chuong trinh khong?", _ vbOKCancel + vbQuestion, "Dem San Pham") Đồ án môn đo lường điều khiển và GNMT 18 Lớp LTCĐĐH ĐT1_K3 Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử If iResponse = 2 Then Cancel = True If iResponse = 1 Then MSComm1.PortOpen = False End If End Sub Private Sub mnuFileOpen_Click()