intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình hình thành ứng dụng phân tích chất lượng nông sản bằng kỹ thuật điều chỉnh nhiệt p9

Chia sẻ: Dsadf Fasfas | Ngày: | Loại File: PDF | Số trang:10

74
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sau bốn tháng thực hiện với nhiều cố gắng và nỗ lực của bản thân cùng với sự hướng dẫn tận tình của cô Nguyễn Thị Hoài Sơn, thầy Nguyễn Văn Hồng, đến nay báo cáo tốt nghiệp của em đã hoàn thành đúng thời gian qui định và đúng yêu cầu đặt ra là thiết kế một mạch đo, điều khiển và hiển thị nhiệt độ khí sấy dùng vi điều khiển. Để thực hiện được yêu cầu trên em đã nghiên cứu, tìm hiểu những vấn đề về vi điều khiển, vi xử lý, các phương pháp đo...

Chủ đề:
Lưu

Nội dung Text: Giáo trình hình thành ứng dụng phân tích chất lượng nông sản bằng kỹ thuật điều chỉnh nhiệt p9

  1. *C¸c chØ dÉn cña hîp ng÷: • Ch d n include ©y là ch d n cho ch ng tr×nh d ch bi t n i l u gi th vi n c¸c thanh ghi . CÊu tróc: #include Khi viÕt ch ng tr×nh cho MCS51 #include • Ch d n ORG : Ch d n này gióp cho ch ng tr×nh d ch bi t c m· l nh theo sau ch d n này. c ghi vào t a ch nào trong ROM. • Ch d n END: Ch d n này th«ng b¸o cho ch ng tr×nh d ch bi t ch ng tr×nh ®· k t thóc. • ChØ dÉn EQU: §−îc dïng ®Ó ®Þnh nghÜa mét h»ng sè. ChØ dÉn EQU kh«ng sö dông « nhí ®Ó cÊt d÷ liÖu, mµ thùc hiÖn g¸n mét h»ng sè cho nh·n sao cho khi nh·n xuÊt hiÖn trong ch−¬ng tr×nh th× gi¸ trÞ h»ng sè sÏ ®−îc thay thÕ cho nh·n. • ChØ dÉn DB: DB lµ chØ dÉn d÷ liÖu 8 bit vµ ®−îc sö dông hÕt søc réng r·i khi lËp tr×nh hîp ng÷, 8 bit d÷ liÖu ®−îc ®Þnh nghÜa cã thÓ ë d¹ng thËp ph©n, nhÞ ph©n , Hexa hay Ascii. §èi víi d÷ liÖu thËp ph©n th× cã “D” sau sè thËp ph©n, sè nhÞ ph©n th× cã ch÷ “B” vµ d÷ liÖu d¹ng Hexa th× cã ch÷ “H” vµ dï d÷ liÖu ë d¹ng nµo th× hîp ng÷ lu«n chuyÓn vÒ d¹ng hexa. §Ó lËp tr×nh cho 8051 cã rÊt nhiÒu phÇn mÒm nh−ng c¸c lËp tr×nh khuyªn lµ khi lËp tr×nh cho 8051 nªn sö dông phÇn mÒm Reads51. Sau khi ch¹y file reads51.exe ta cã giao diÖn cña reads51 sau ®ã vµo Project chän New project vµ ®Æt tªn sau ®ã nhÊn ok. TiÕp theo nhÊn chuét ph¶i vµo tªn vµ chän Create New Module ®Æt tªn vµ lùa chän ng«n ng÷ lËp tr×nh. Sau khi lËp tr×nh xong nhÊn F2 ®Ó dÞch ra file Hex Giao diÖn cña Read51 nh− sau:
  2. H×nh 5.6 - Giao diÖn cña Reads51. Sau khi lËp tr×nh vµ dÞch ch−¬ng tr×nh xong ta tiÕn hµnh n¹p ch−¬ng tr×nh vµo chÝp. §Ó n¹p ch−¬ng tr×nh cho bÊt kú mét chÝp vi ®iÒu khiÓn nµo th× ®Òu cÇn cã mét ch−¬ng tr×nh ®Ó n¹p. §èi víi hä 8051 phÇn mÒm ®−îc sö dông phæ biÕn ®ã lµ EZDL víi c¸c phiªn b¶n EZDL.4, EZDL.4.1, EZDL.4.2. Sau khi ch¹y file EZDL.4.1.exe nhÊn vµo send, chän file cÇn n¹p cã ®u«i .hex vµ ok, thÕ lµ ch−¬ng tr×nh sÏ ®−îc n¹p vµo chÝp Giao diÖn cña phÇn mÒm n¹p chÝp cña 8051 nh− sau: H×nh 5.7 - Giao diÖn cu¶ phÇn mÒm EZDL.4.1. Sau ®©y lµ ch−¬ng tr×nh ®o vµ ®iÒu khiÓn nhiÖt ®é khÝ sÊy:
  3. 5.2.3. Ch−¬ng tr×nh ®o vµ ®iÒu khiÓn nhiÖt ®é khÝ sÊy n«ng s¶n d¹ng h¹t. ; ------------- READS51 generated header -------------- ; created : 15:56:56, Friday, November 25, 2005 ; ----------------------------------------------------- ; CHUONG TRINH DIEU KHIEN NHIET DO KHI SAY NONG SAN DANG HAT ; SVTH : NGUYEN THI THU HIEN - LOP TDH46 ; GVHD : Ths.NGUYEN THI HOAI SON #include ORG 0000H LJMP MAIN ORG 0003H LJMP Interrupt0 ORG 0013H LJMP Interrupt1 ; Nhay den ngat ngoai INT1 ; Chuong trinh chinh MAIN: MOV R7,#50 MOV P0,#0ffh ; Chon P0 lam cong vao MOV IE,#10000110B ; Cho phep ngat ngoai 0,1 MOV IP,#00000001B ; Uu tien ngat mgoai0 MOV R5,#0 ; De dem so ngat 0 xay ra MOV R4,#00h ; Thanh ghi thap cua T0 MOV R3,#DCh ; Thanh ghi cao cua T0 ACALL Display Back: MOV A,#CBh ACALL Command CLR P1.4 ; Cho CS = 0 de kich hoat chip CLR P1.3
  4. nop nop nop SETB P1.3 ; Gui xung thap len cao toi WR de bat dau chuyen doi Here1: JB P3.7,Here1 ;Cho ket thuc chuyen doi khi INT=0 CLR P1.2 ; Ket thuc chuyen doi cho phep doc du lieu RD=0 MOV R6,P0 ; Luu tru gia tri doc duoc tu ADC MOV A,P0 ; Doc du lieu vao A ACALL Ascii ; Chuyen doi tu so Hexa ra ma Ascii ACALL Delay SETB P1.2 SJMP Back ; Chuong trinh con hien thi len LCD nhiet do dat va nhiet do lo say Display: Acall LCD_init ACALL Ndodat ACALL Ndolo RET ; Chuong trinh con tao tre Delay: MOV R0,#FFH Delay1: MOV R1,#FFH Delay2: NOP NOP DJNZ R1,Delay2 DJNZ R0,Delay1 RET
  5. ; Chuong trinh con khoi tao LCD LCD_init: MOV A,#38H ; LCD 2 dong ma tran 5x7 ACALL Command ; Goi chuong trinh con lenh MOV A,#0CH ; Bat hien thi, tat con tro ACALL Command MOV A,#01H ; Xoa man hinh ACALL Command MOV A,#06H ;Dich hien thi sang phai ACALL Command MOV A,#80H ; Dua con tro tro ve dau dong thu nhat ACALL Command RET ; Chuong trinh con hien thi nhiet do dat Ndodat: MOV R1,#11 MOV DPTR,#STR1 Read1: CLR A ; Xoa A MOVC A,@A+DPTR ; Xuat mot ki tu ACALL Datastr INC DPTR DJNZ R1,Read1 MOV A,R7 ACALL Ascii RET ; Chuong trinh con hien thi nhiet do lo say Ndolo: MOV A,#C0H ; Dua con tro ve dau dong thu 2
  6. ACALL Command ; Xuat lenh MOV R1,#11 MOV DPTR,#STR2 Read2: CLR A ; Xoa A MOVC A,@A+DPTR ; Xuat mot ki tu ACALL Datastr INC DPTR ; Tang Dptr DJNZ R1,Read2 RET ; Chuong trinh de LCD thuc hien lenh Command: ACALL Ready MOV P2,A ; Dua du lieu thanh ghi A ra cong P2 CLR P3.5 ; RS = 0, Cho phep thu hien lenh CLR P3.6 ; RW = 0, Cho phep ghi lenh SETB P3.4; E = 1 CLR P3.4 ; E = 0 RET ; Chuong trinh de LCD viet du lieu Datastr: ACALL Ready MOV P2,A ; Dua du lieu thanh ghi A ra cong P2 SETB P3.5; RS =1, Cho phep lam viec voi du lieu CLR P3.6 ; RW = 0, Cho phep ghi du lieu SETB P3.4; E = 1 CLR P3.4 ; E = 0 RET
  7. ; Chuong trinh kiem tra LCD da thuc hien xong lenh chua Ready: SETB P2.7; LCD dang ban CLR P3.5 ; RS=0 SETB P3.6; RW=1 Back1: CLR P3.4 ; E=0 SETB P3.4 ; E=1 JB P2.7,Back1 ;P2.7#0 quay ve BACK1 RET ; Chuong trinh chuyen doi tu so nhi phan ra ma Ascii Ascii: ; Chuyen doi tu so nhi phan ra BCD va luu vao o nho co dia chi ;30H,31H,32H MOV B,#10 DIV AB MOV R2,A MOV 32H,B MOV A,R2 MOV B,#10 DIV AB MOV 31H,B MOV 30H,A ; Chuyen tu BCD ra Acsii va cho hien thi len LCD MOV A,30H ORL A,#30H ACALL Datastr MOV A,31H ORL A,#30H
  8. ACALL Datastr MOV A,32H ORL A,#30H ACALL Datastr RET ; Chuong trinh vi dieu khien lam viec khi co ngat ngoai INT0 ORG 100H Interrupt0: ; dieu khien thyristor ; R6 luu tru gia tri tu ADC ; R7 luu tru gia tri nhiet do dat SETb P1.5 MOV TMOD,#01 ; Chon Timer0 che do 1 (16bit) ACALL NapT0 ACALL DelayT0 CLR P1.5; Kich thyristor CLR C; Xoa co nho De chi tru R7 cho R6 (khong phai tru cho co nho) MOV A,R7; Dua noi dung R7 vao A SUBB A,R6; Tru noi dung thanh ghi A cho noi dung thanh ghi R6 va co nho JNZ next1; Neu R6=R7 thi giu nguyen goc mo truoc do SJMP Wait Next1: JNC next2 ; Co nho khong duoc dat (R6 > R7) ; R6
  9. AGAIN : JNB TF0,AGAIN; Kiem tra co bo dinh thoi CLR TR0 ; Dung Timer0 CLR TF0 ; Xoa co bo dinh thoi 0 RET ; Chuong trinh VDK lam viec khi co ngat ngoai INT1 ORG 200H Interrupt1: Start: MOV A,P1 ACALL Delay ; Goi chuong trinh tao tre ANL A,#11000000B CJNE A,#00000000B,Case1 ; Neu la phim tang thi thuc hien tang nhiet ;do dat CJNE R7,#100,Tang SJMP Jump1 Tang: INC R7 ; Tang gia tri trong thanh ghi R7 Jump1: ACALL LCD_init ACALL Ndodat case1: CJNE A,#01000000B,Case2 ;Neu la phim giam thi thuc hien giam nhiet ;do dat CLR C MOV A,R7 SUBB A,R6 CJNE A,#0,Giam SJMP Jump2 Giam: DEC R7 ; Giam gia tri trong thanh ghi R7 Jump2: ACALL LCD_init ACALL Ndodat ; Goi chuong trinh hien thi nhiet do dat
  10. Case2:CJNE A,#10000000B,Start ; Neu la phim lua chon thi hien thi nhu ban ;dau khoi dong ACALL Ndolo RETI STR1: DB "N DO DAT :" STR2: DB "N DO BUONG:" END
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2