Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng màn hình tinh thể lỏng (LCD)

34 398 0
Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng màn hình tinh thể lỏng (LCD)

Đ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

Báo cáo đồ án vi điều khiển TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ ****    **** BÁO CÁO ĐỒ ÁN VI ĐIỀU KHIỂN Giáo viên: Lê Anh Dũng Sinh viên thực hiện: Nguyễn Thị Dung Dương Văn Phong Nguyễn Bá Vịnh Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển NỘI DUNG Thiết kế đo khống chế nhiệt độ hiển thị hình tinh thể lỏng (LCD) Yêu cầu : Mạch điện tử thiết kế máy tính phần mềm chuyên dụng Sai số cho phép: ±1oC Thao tác điều khiển khống chế mô LED: LED màu đỏ sáng nhiệt độ môi trường nhỏ nhiệt độ khống chế; LED màu xanh sáng nhiệt độ môi trường lớn nhiệt độ khống chế; LED màu vàng sáng nhiệt độ môi trường nhiệt độ khống chế BÀI LÀM A LÍ THUYẾT I Giới thiệu vi điều khiển 8051 …………………………… II Cảm biến nhiệt độ LM335 …………………………………… 22 III Bộ chuyển đổi ADC0804 …………………………………… 23 IV Khối hiển thị LCD …………………………………………… 26 B MẠCH NGUYÊN LÝ ……………………………………………… 27 C CODE ……………………………………………………………… 27 D KẾT LUẬN………………………………………………………… 34 Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển A LÍ THUYẾT I Giới thiệu vi điều khiển 8051: IC vi điều khiển 89S52 có đặc điểm sau : - 128 byte RAM - port 8bit - Hai định thời 16 bit - Giao tiếp nối tiếp - 64KB không gian nhớ chương trình mở rộng - 64 KB khơng gian nhớ liệu mở rộng - Một xử lý bít (thao tác bit đơn) - 210 bit địa hóa vị trí bít 4kbyte ROM (được lập trình nhà sản xuất có 8051) Bộ nhân/chia 4µs CẤU TRÚC BÊN TRONG 89S52 Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển 1.1 Cấu tạo chân Tuỳ theo khả người (về kinh tế, kỹ thuật…) mà nhà sản xuất sản phẩm ứng dụng chọn kiểu chân ATMEL đưa Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển 1.2 Sơ đồ khối : Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển Phần vi điều khiển 89S52 xử lý trung tâm (CPU: central processing unit ) bao gồm : - Các ghi chức đặc biệt (SFR) - Đơn vị logic học (ALU : Arithmetic Logical Unit ) - cổng vào (I/O) - Bộ nhớ chương trình nhớ liệu Đơn vị xữ lý trung tâm nhận trực tiếp xung từ giao động, ngồi cịn có khả đưa tín hiệu giữ nhịp từ bên ngồi Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển Chương trình chạy cho dừng lại nhờ khối điêu khiển ngắt bên Các nguồn ngắt là: biến cố bên ngoài, tràn đếm định thời, giao diện nối tiếp Hai định thời 16 bit hoạt động đếm Các cổng (port0, port1, port2, port3 ) Sữ dụng vào mực đích điều khiển Ở cổng cịn có thêm đường dẫn điều khiển dùng để trao đổi với nhớ bên ngoài, để đầu nối giao diện nối tiếp,cũng đường ngắt dẫn bên Giao diện nối tiếp chứa truyền nhận không đồng làm việc độc lập với nhau.Tốc độ truyền qua cổng nối tiếp đặt dải rộng ấn định định thời Trong vi điều khiển 89S52 có hai thành phần quan trọng khác nhớ ghi : Bộ nhớ gồm có nhớ RAM nhớ ROM dùng để lưu trữ liệu mã lệnh Các ghi sữ dụng để lưu trữ thông tin q trình xữ lý Khi CPU làm việc thay đổi nội dung ghi Hình dạng thật AT89S52: Mô tả chức chân: Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển a port0 : port có hai chức chân từ chân 32 đến 39 thiết kế cỡ nhỏ ( khơng dùng nhớ mở rộng) có hai chức đường I/O Đối với thiết kế cỡ lớn với nhớ mở rộng kết hợp kênh bus b port1 : port1 port I/O chân từ 1-8 Các chân dùng cho thiết bị ngoại vi cần Port1 khơng có chức khác chúng dùng giao tiếp thiết bị c port2 : port2 port công dụng kép chân 21 đến 28 dùng đường xuất nhập byte cao bus địa 16 bit thiết kế dùng nhớ mở rộng thiết kế có nhiều 256 byte nhớ liệu d Port3 : port3 port công dụng kép chân 10 – 17 Các chân port có nhiều chức riêng, cơng dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8051/89S52 bảng sau: Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển e PSEN (Program Store Enable ) : 89S52 có tín hiệu điều khiển PSEN tín hiệu chân 29 Nó tín hiệu điều khiển cho phép nhớ chương trình mở rộng thường nối đến chân OE (Output Enable) EPROM phép đọc byte mã lệnh PSEN mức thấp thời gian lấy lệnh Các mã nhị phân chương trình đọc từ EPROM qua bus chôt vào ghi lệnh 89S52 để giải mã lệnh Khi thi hành chương trình ROM nội (89S52) PSEN mức thụ động( mức cao) f ALE (Address Latch Enable ) : Tín hiệu ALE chân 30 tương hợp với thiết bị làm việc vớicác xữ lý 8585, 8088, 8086, 8051 dùng ALE cách tương tự cho việc giải mã kênh bus địa liệu port dùng chế độ chuyển đổi nó: vừa bus liệu vừa bus thấp địa chỉ, ALE tín hiệu để chốt địa vào ghi bên đầu chu ký nhớ Sau đường port dùng để xuất nhập liệu sau chu kỳ nhớ Các xung tín hiệu chân 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 chân 8051 12MHz ALE có tần số 2MHz Chỉ ngoại trừ thi hành lệnh MOVX, xung ALE bị Chân làm ngõ vào cho xung lập trình cho EPROM 8051 g EA (External Access) : Trường đại học công nghiệp Hà Nội Page Báo cáo đồ án vi điều khiển Tín hiệu vào EA chân 31 thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, 8051 thi hành chương trình từ ROM nội khoảng địa thấp (4K) Nếu mức thấp, chương trình thi hành từ nhớ mở rộng Khi dùng 8031, EA nối mức thấp khơng có nhớ chương trình chip Nếu EA nối mức thấp nhớ bên chương trình 89S52 bị cấm chương trình thi hành từ EPROM mở rộng Người ta dùng chân EA làm chân cấp điện áp 21V lập trình cho EPROM 89S52 h SRT (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 89S52 tải nhưõng giá trị thích hợp để khởi động hệ thống i Các ngõ vào dao động chip : Như thấy hình , 89S52 có dao động chip Nó thường nối với thạch anh hai chân 18 19 Các tụ cần thiết vẽ Tần số thạch anh thông thường 12MHz j Các chân nguồn : 89S52 vận hành với nguồn đơn +5V Vcc nối vào chân 40 Vss (GND) nối vào chân 20 TỔ CHỨC BỘ NHỚ Trường đại học công nghiệp Hà Nội Page 10 Báo cáo đồ án vi điều khiển Mỗi ngắt dành cho vector ngắt kéo dài 8byte Về mặt lý thuyết, chương trình đủ ngắn, mã tạo chứa đủ byte, người lập trình hồn tồn đặt phần chương trình xử lý ngắt vector ngắt Tuy nhiên hầu hết trường hợp, chương trình xử lý ngắt có dung lượng mã tạo lớn 8byte nên vector ngắt, ta đặt lệnh nhảy tới chương trình xử lý ngắt nằm vùng nhớ khác Nếu không làm vậy, mã chương trình xử lý ngắt lấn sang, đè vào vector ngắt kế cận Cho phép ngắt cấm ngắt : M ỗi nguồn ngắt cho phép cấm qua ghi chức đặc biệt có địa bit IE địa A8H Thanh ghi IE ghi đánh địa bit, dùng lệnh tác động bit để tác động riêng rẽ lên bit mà không làm ảnh hưởng đến giá trị bit khác Cờ ngắt hoạt động độc lập với việc cho phép ngắt, điều có nghĩa cờ ngắt Trường đại học công nghiệp Hà Nội Page 20 Báo cáo đồ án vi điều khiển tự động đặt lên có kiện gây ngắt xảy ra, kiện có cho phép ngắt hay khơng Do vậy, trước cho phép ngắt, ta nên xóa cờ ngắt để đảm bảo sau cho phép, kiện gây ngắt khứ khơng thể gây ngắt Ví dụ trước cho phép ngắt timer0 mà timer chạy tràn (dù tràn hay nhiều lần) cờ TF0 1, sau ta cho phép ngắt timer0 gây ngắt cờ tràn (sự kiện tràn gây ngắt trường hợp tràn khứ, kiện ta quan tâm đến) Vì xóa cờ TF0 trước cho phép ngắt tràn timer0 Ngoại trừ cờ của ngắt nối tiếp cờ ngắt timer2, cờ ngắt khác tự động xóa CPU thực chương trình ngắt Nói đến ngắt khơng thể khơng nói đến mức ưu tiên ngắt Mức ưu tiên ngắt hiểu phân bậc, định xử lý ngắt hai hay nhiều ngắt xảy Ngắt ngồi (External Interrupt) Như nói trên, AT89S52 có ngắt INT0 INT1 Ngắt hiểu ngắt gây kiện mức lôgic (mức điện áp thấp, gần 0V) sườn xuống (sự chuyển mức điện áp từ mức cao mức thấp) xảy chân ngắt tương ứng (P3.2 với ngắt P3.3 với ngắt 1) Việc lựa chọn kiểu ngắt thực bit IT (Interrupt Type) nằm ghi TCON Đây ghi điều khiển timer bit LSB (bit0 3) dùng cho ngắt Khi bit ITx = ngắt ngồi tương ứng chọn kiểu ngắt theo sườn xuống, ngược lại bit ITx = ngắt ngồi tương ứng có kiểu ngắt ngắt theo mức thấp Các bit IE bit cờ ngắt ngồi, có tác dụng trường hợp kiểu ngắt chọn ngắt theo sườn xuống Khi kiểu ngắt theo sườn xuống chọn ngắt xảy lần có sườn xuống tín hiệu, sau tín hiệu mức thấp, có sườn lên, mức cao khơng có ngắt xảy có sườn xuống tiếp Trường đại học công nghiệp Hà Nội Page 21 Báo cáo đồ án vi điều khiển theo Cờ ngắt IE dựng lên có sườn xuống tự động bị xóa CPU bắt đầu xử lý ngắt Khi kiểu ngắt theo mức thấp chọn ngắt xảy tín hiệu chân ngắt mức thấp Nếu sau xử lý xong ngắt mà tín hiệu mức thấp lại ngắt tiếp, xử lý xong ngắt lần thứ n , tín hiệu lên mức cao thơi khơng ngắt Cờ ngắt IE trường hợp khơng có ý nghĩa Thơng thường kiểu ngắt hay chọn ngắt theo sườn xuống Ngắt timer AT89S52 có Timer Timer Timer Timer Các Timer Timer 16 bit, giá trị đếm max 65535 (đếm từ đến 65535).Ba timer có ngun lý hoạt động hồn tồn giống độc lập Các ngắt Timer xảy kiện tràn Timer, cờ tràn TFx đươc đặt 1.Khi ISR đáp ứng, cờ TFx tự động xóa phần mềm Ngắt cổng nối tiếp Ngắt cổng nối tiếp xảy cờ phát ngắt (TI) cờ ngắt thu (RI) đặt 1.ngắt phát xảy đệm truyền rỗng , ngắt thu xảy ký tự nhận xong đợi SBUF để đọc Các ngắt cổng nối tiếp khác ngắt timer.cờ gây ngắt PORT nối tiếp khơng bị xố phần cứng CPU chuyển tới ISR có nguồn ngắt cổng nối tiếp TI RI, nguồn ngắt phải xác định ISR cờ tạo ngắt xoá phần mềm II Cảm biến nhiệt độ LM335: Trường đại học công nghiệp Hà Nội Page 22 Báo cáo đồ án vi điều khiển Ðể đo nhiệt độ xác, tất nhiên cần có đầu dị thích hợp Ðầu dị cảm biến nhiệt độ có nhiệm vụ vận chuyển từ nhiệt độ qua tín hiệu điện Có nhiều loại cảm biến giới thiệu chương V Nhưng dựa vào lý thuyết thực tế mạch cần thiết kế ta dùng phương pháp đo IC cảm biến nhiệt độ Các IC cảm biến nhiệt độ có độ xác cao, dễ tìm giá thành rẽ Một số IC LM335, loại thơng dụng thị trường nay, đồng thời có nhưõng đặc tính làm việc phù hợp với thiết kế chi tiết mạch a LM335 có độ biến thiên theo nhiệt độ: 10mV / 1oC b Ðộ xác cao, tính cảm biến nhiệt độ nhạy, nhiệt độ 25 oC có sai số khơng q 1% Với tầm đo từ oC - 128oC, tín hiệu ngõ tuyến tính liên tục với ngưỡng thay đổi tín hiệu ngõ vào c Thơng số kỹ thuật: Định thang nhiệt độ theo độ celsius( C) Tín hiệu lối 10mv/0 c Ðộ xác đảm bảo : khơng 0,5 c Độ xác vùng nhiệt độ phịng: 0,250 c d Ðặc tính điện: Theo thông số nhà sản xuất LM335, quan hệ nhiệt độ điện áp ngõ sau: Vout = 0,01?ToK = 2,73 + 0,01ToC Vậy ứng với tầm hoạt động từ 0oC - 100oC ta có biến thiên điện áp ngõ là: Ở 0oC điện áp ngõ Vout = 2,73 (V) Ở 5oC điện áp ngõ Vout = 2,78 (V) Ở 100oC điện áp ngõ Vout = 3,73 (V) Tầm biến thiên điện áp tương ứng với nhiệt độ từ 0oC - 100oC 1V Trường đại học công nghiệp Hà Nội Page 23 Báo cáo đồ án vi điều khiển III Bộ chuyển đổi ADC0804 Bộ ADC0804 thiết bị CMOS tích hợp với chuyển đổi tương tự sang số bit, logic điều khiển tương thích Bộ chuyển đổi tương tự sang số sử dụng phương pháp chuyển đổi xấp xỉ, lối liệu song song, lối tương thích TTL Thiết bị loại trừ khả cần thiết để điều chỉnh điểm zero bên khả điều chỉnh tỉ số làm cho ADC dễ dàng giao tiếp với vi xử lý Các đặc điểm ADC0804 - Nguồn nuôi V, hiệu suất cao - Dãi tín hiệu lối vào tương tự 5V nguồn ni +5V Có thể mở rộng thang đo giải pháp kỹ thuật cho mạch cụ thể - Dễ dàng giao tiếp với vi xữ lý đầu co đệm trạng thái nên ghép trực tiếp vào kênh liệu hệ VXL - Tổng sai số chưa chỉnh ½ LSB - Thời gian chuyển đổi 100µs - Bus liệu bit - Các tín hiệu tương thích TTL - Tần số xung clock 10khz-1208khz - Đảm bảo sai số tuyến tính dãi nhiệt độ từ -40 0C - 85 0C - Bộ phát xung nhịp nằm chip - Không cần điều chỉnh điểm - Dòng tiêu thụ cỡ 1.9mA Trường đại học công nghiệp Hà Nội Page 24 Báo cáo đồ án vi điều khiển • Sơ đồ chân ADC 0804: * Ý nghĩa chân: - Các chân từ 11 đên 17 (DB7- DB1) : đầu số - /CS cho phép chọn IC hoạt động - /RD chân tác động từ bên để IC thực trình chuyển đổi - CLKin : Đầu vào xung clock - REF (+) : điện áp vào chuẩn +5V - REF (-) :điện áp vào chuẩn 0v - VCC - AGND, RGND: chân nối đất - Vref/2 : ½ điện áp chuẩn : nguồn cung cấp * Hoạt động chuyển đổi: Quá trình biến đổi bắt đầu mộ xung thấp ngắn hạn lối vào /WR Muốn thề điều kiện cần có mức thấp tín hiệu /CS Sau thời gian biến đổi 100s, lối /INTR chuyển sang mức thấp báo hiệu việc kêt thúc q trình biến đổi Sau qua mức thấp lối vào /RD đọc bit số liệu Sự truy nhập để đọc dẫn Trường đại học công nghiệp Hà Nội Page 25 Báo cáo đồ án vi điều khiển đến hậu tín hiệu /INTR chuyển trở lại mức cao Khi mà lối vào /RD chuyển sang mức thấp, lối /INTR chuyển sang thấp sau trình biến đổi kéo dài chu kì giữ nhịp giữ nhịp bên trong, tần số giữ nhịp 640khz, chi kì 12.5Пs • Ghép nối ADC0804 với VXL8951 - Kênh vào Analog nối vào đầu vào tương ứng ADC0804 Tín hiệu chọn chip(/CS) cho ADC0804 nối đất ta sử dụng ADC, chân liệu đầu ADC0804 nối với đầu vào AT89S52( port 1) - Tín hiệu đọc từ VXL đưa tới đầu vào /WR ADC Chân /CS đưa tín hiệu thấp vào ADC bắt đầu thực trình chuyển đổi - Khi biến đổi xong, ADC0804 dùng tín hiệu chân /INTR để báo cho VXL biết mã nhị phân tương ứng với mức cao tín hiệu đầu vào tạo Vì ta kết nối /INTR với đầu vào ngắt /INT0 8951 - bit liệu thường gặp ghép nối với bus liệu đầu vào hệ thống VXL - Tần số chuyển đổi ADC tính theo công thức sau: f= 1/(1,1,R,C) IV Khối hiển thị LCD: Với ưu điểm như: tiêu thụ dòng thấp, hiển thị hình ảnh/ ký tự linh hoạt tốt nhiều so với LED, hình tinh thể lỏng LCD sử dụng hầu hết thiết bị điều khiển công nghiệp để hiển thị trạng thái máy móc Ngày với cơng nghệ phát triển giá thành giá LCD giảm nhiều Do đó, LCD có nhiều chủng loại khác sử dụng rộng rãi Tất LCD sản xuất theo tiêu chuẩn chung, tích hợp module điều khiển (cho LCD) nên việc sử dụng khơng phức tạp Bộ điều khiển LCD cung cấp tập lệnh đùng để điều khiển LCD Điều khiển hoạt động LCD: Hoạt động LCD điều khiển thơng qua tín hiệu E, RS, RW Trường đại học công nghiệp Hà Nội Page 26 Báo cáo đồ án vi điều khiển - Tín hiệu E tín hiệu cho phép gửi liệu, Để gửi liệu đến LCD, chương trình phải thiết lập E=1, sau đặt trạng thái điều khiển thích hợp lên RS, RW bus liệu, cuối đưa E Hoạt động chuyển đổi từ cao xuống thấp cho phép LCD nhận liệu thời đường điều khiển bus liệu xem lệnh - Tín hiệu RS tín hiệu cho phép chọn ghi (Register Select) Khi RS=0, liệu coi lệnh hay địa đặc biệt (như xóa hình, đặt vị trí trỏ… ) Khi RS=1, liệu coi liệu dạng văn hiển thị hình - Tín hiệu RW tín hiệu “Đọc/ ghi” Khi RW =1, thong tin bus liệu ghi vào LCD Khi RW=0, chương trình đọc LCD Khi RW=0 chương trình đọc LCD - Bus liệu gồm đường tùy thuộc vào chế độ hoạt động mà người sử dụng lựa chọn (ở chương trình sử dụng bus liệu 8-bit) B MẠCH NGUYÊN LÝ: C CODE: #include #define ADC_DATA P1 #define ADC_CS P2_2 #define ADC_RD P2_1 #define ADC_WR P2_0 #define ADC_DONE P3_1 #define LCD_DATA P0 #define LCD_RS Trường đại học công nghiệp Hà Nội P2_4 Page 27 Báo cáo đồ án vi điều khiển #define LCD_RW P2_5 #define LCD_E P2_6 #define LED1 P3_3 #define LED2 P3_4 #define LED3 P3_5 #define UP P3_6 #define DOWN P3_7 //============================================= // khai bao bien va hang so #define N2 100 unsigned int nhietdo; int count,thamchieu; //============================================= // khai bao cac ham void Delay(unsigned int); void LCD_WriteCommand(unsigned char); void LCD_WriteData(unsigned char); void LCD_SendStringFlash(const unsigned char*); void LCD_Gotoxy(unsigned char,unsigned char); void Convert(); void Khongche(); //============================================= // dinh nghia cac ham void main() { EA=1;ET1=1; TMOD=0x20; TH1=TL1=-250; nhietdo=0; Trường đại học công nghiệp Hà Nội Page 28 Báo cáo đồ án vi điều khiển thamchieu=25; // cam LCD LCD_E = 0; // khoi tao LCD Delay(100); LCD_WriteCommand(0x30); LCD_WriteCommand(0x30); LCD_WriteCommand(0x30); LCD_WriteCommand(0x0C); LCD_WriteCommand(0x38); LCD_WriteCommand(0x01); LCD_Gotoxy(1,2); LCD_SendStringFlash("DO AN VDK!"); Delay(2000); LCD_WriteCommand(0x01); Delay(500); LCD_Gotoxy(1,0); LCD_SendStringFlash("Nhiet do: "); Convert(); LCD_Gotoxy(2,0); LCD_SendStringFlash("Khong che: "); TR1=1; while(1) { Khongche(); Convert(); } } Trường đại học công nghiệp Hà Nội Page 29 Báo cáo đồ án vi điều khiển //============================================= void Delay(unsigned int n) { unsigned int i,j; for(i=0;i

Ngày đăng: 06/09/2015, 17:49

Từ khóa liên quan

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

Tài liệu liên quan