ĐIỀU CHỈNH NHIỆT độ ở mức TUỲ ý

73 294 0
ĐIỀU CHỈNH NHIỆT độ ở mức TUỲ ý

Đ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 VI Xư Lý NHãM §T9K45 Mơc lơc Mơc lơc Lêi nãi ®Çu S¬ ®å hƯ thèng Nguyªn lÝ ho¹t ®éng cđa hƯ thèng Chi tiÕt c¸c phÇn tư hƯ thèng 3.1 Khèi vi ®iỊu khiĨn 8051 3.2 Khãi c¶m biÕn 63 a-ThiÕt kÕ c¶m biÕn 63 b- ThiÕt kÕ m¹ch chun ®ỉi ADC 64 c- IC giao tiÕp song song 8255 70 3.3 Bé hiĨn thÞ tinh thĨ láng LCD 73 Ch¬ng tr×nh hỵp ng÷ MCS51 Tµi liƯu tham kh¶o §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 Lêi nãi ®Çu Xt ph¸t tõ yªu cÇu ®Ị tµi: -øng dơng hä vi ®Iòu khiĨn 8051 ®Ĩ thùc hiƯn m¹ch ®IƯn vi ®Iòu khiĨn -Cã ghÐp nèi Rom,Ram ngo¹i -Sư dơng bé hiƯn thÞ LCD -Giao tiÕp víi thiÕt bÞ ngo¹I vi gåm:8 ®Çu vµo t¬ng tù,2 ®Çu sè 8bit,8 ®Çu logic -Cã giao diƯn víi m¸y tÝnh Xt ph¸t tõ nhu cÇu thùc tÕ s¶n xu¸t.Chóng em ®· thùc hiƯn hƯ thèng ®Iòu chØnh nhiƯt ®é víi møc ®Iòu chØnh ®ỵc ®a t ý Do thêi gian kh«ng nhiỊu,Ýt kinh nghiƯm nªn chóng em kh«ng thĨ tr¸nh ®ỵc sai sãt,v× vËy rÊt mong nhËn ®ỵc sù chØ d¹y cđa thÇy §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 I-s¬ ®å nguyªn lý cđa hƯ thèng: (trang bªn) II.Nguyªn lý ho¹t ®éng cđa hƯ thèng: HƯ thèng gåm khèi c¶m biÕn,khèi vi xư lý,khèi hiĨn thÞ,khèi nhí ngoµi, khèi ghÐp nèi Khèi c¶m biÕn nhiƯt gåm ®Çu c¶m biÕn nhiƯt,nhËn biÕt sù thay ®ỉi cđa nhiƯt ®é,biÕn ®ỉi thµnh tÝn hiƯu ®iƯn t¬ng øng.TÝn hiƯu ®ỵc ®a qua khèi khch ®¹i,tiÕp ®ã lµ bé ADC ®Ĩ chun tÝn hiƯu t¬ng tù thµnh tÝn hiƯu sè ®Ĩ ®a vµo khèi xư lý trung t©m,khèi nµy sÏ so s¸nh víi tÝn hiƯu chn ®ỵc ®© tõ khèi ghÐp nèi.Tõ kÕt qu¶ thu ®ỵc khèi xư lý nµy sÏ ®a hµnh ®éng ®Ĩ ®iỊu khiĨn c¸c thiÕt bÞ t¬ng øng ®Ĩ ®iỊu chØnh ®ỵc møc chn,tiÕp theo sÏ ®a khèi hiĨn thÞ III.Chi tiÕt c¸c phÇn tư cđa hƯ thèng: Khèi vi ®iỊu khiĨn A Giới Thiệu Cấu Trúc Phần Cứng Họ Msc-51 (8951) : - Đặc điểm chức hoạt động IC họ MSC-51 hoàn toàn tương tự Ở giới thiệu IC8951 họ IC vi điều khiển hãng Intel Mỹ sản xuất Chúng có đặc điểm chung sau: Các đặc điểm 8951 tóm tắt sau : √ KB EPROM bên √ 128 Byte RAM nội √ Port xuất /nhập I/O bit √ Giao tiếp nối tiếp √ 64 KB vùng nhớ mã √ 64 KB vùng nhớ liệu ngoại √ Xử lí Boolean (hoạt động bit đơn) √ 210 vò trí nhớ đònh vò bit √ µs cho hoạt động nhân chia §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 Sơ đồ khối 8951: INT1\ INT0\ SERIAL PORT TIMER TIMER TIME 128 byte RAM 8051\8052 INTERRUPT CONTROL OTHER REGISTER 128 byte RAM ROM 4K: 8031 4K: 8051 EPROM 4K: 8951 TIMER TIMER1 TIMER1 CPU BUS CONTROL I/O PORT SERIAL PORT OSCILATOR EA\ RST ALE\ PSEN\ P0 P P P Address\Data TXD RXD Khảo Sát Sơ Đồ Chân 8951, Chức Năng Từng Chân : a Sơ đồ chân 8951: §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 30pF 40 19 12 MHz Vcc XTAL.1 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 XTAL.2 18 PSEN\ 29 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 ALE 30 31 EA\ RST 8951 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 RD WR T1 T0 INT1 INT0 TXD RXD 17 16 15 14 13 12 11 10 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 P2 32 AD7 33 AD6 34 AD5 35 AD4 36 AD3 37 AD2 38 AD1 39 AD0 28 A15 27 A14 26 A13 25 A12 24 A11 23 A10 22 A9 21 A8 P2.0 Vss 20 Sơ đồ chân IC 8951 b Chức chân 8951: - 8951 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép (có nghóa chân có chức năng), đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus đòa Các Port:  Port : §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 - Port port có chức chân 32 – 39 8951 Trong thiết kế cỡ nhỏ không dùng nhớ mở rộng có chức đường IO Đối với thiết kế cỡ lớn có nhớ mở rộng, kết hợp bus đòa bus liệu  Port 1: - Port port IO chân 1-8 Các chân ký hiệu P1.0, P1.1, P1.2, … dùng cho giao tiếp với thiết bò cần Port chức khác, chúng dùng cho giao tiếp với thiết bò bên  Port 2: - Port port có tác dụng kép chân 21 - 28 dùng đường xuất nhập byte cao bus đòa thiết bò dùng nhớ mở rộng  Port 3: - Port port có tác dụng kép chân 10 - 17 Các chân port có nhiều chức năng, công dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8951 bảng sau: Bit Tên Chức chuyển đổi P3.0 RXT Ngõ vào liệu nối tiếp P3.1 TXD Ngõ xuất liệu nối tiếp P3.2 INT0\ Ngõ vào ngắt cứng thứ P3.3 INT1\ Ngõ vào ngắt cứng thứ P3.4 T0 P3.5 T1 Ngõ vào TIMER/COUNTER thứ P3.6 WR\ Ngõ vào TIMER/COUNTER thứ §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý P3.7 RD\ NHãM §T9K45 Tín hiệu ghi liệu lên nhớ Tín hiệu đọc nhớ liệu ** Các ngõ tín hiệu điều khiển:  Ngõ tín hiệu PSEN (Program store enable): - PSEN tín hiệu ngõ chân 29 có tác dụng cho phép đọc nhớ chương trình mở rộng thường nói đến chân 0E\ (output enable) Eprom cho phép đọc byte mã lệnh - PSEN mức thấp thời gian Microcontroller 8951 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu chốt vào ghi lệnh bên 8951 để giải mã lệnh Khi 8951 thi hành chương trình ROM nội PSEN mức logic  Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) : - Khi 8951 truy xuất nhớ bên ngoài, port có chức bus đòa bus liệu phải tách đường liệu đòa Tín hiệu ALE chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường đòa liệu kết nối chúng với IC chốt - Tín hiệu chân ALE xung khoảng thời gian port đóng vai trò đòa thấp nên chốt đòa hoàn toàn tự động 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 tín hiệu clock cho phần khác hệ thống Chân ALE dùng làm ngõ vào xung lập trình cho Eprom 8951  Ngõ tín hiệu EA\(External Access): - Tín hiệu vào EA\ chân 31 thường mắc lên mức mức Nếu mức 1, 8951 thi hành chương trình từ ROM nội khoảng đòa thấp Kbyte Nếu mức 0, 8951 thi hành chương trình từ nhớ mở rộng Chân EA\ lấy làm chân cấp nguồn 21V lập trình cho Eprom 8951 §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45  Ngõ tín hiệu RST (Reset) : -Ngõ vào RST chân ngõ vào Reset 8951 Khi ngõ vào tín hiệu đưa lên cao chu kỳ máy, ghi bên nạp giá trò thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset  Các ngõ vào dao động X1, X2: - Bộ dao động tích hợp bên 8951, sử dụng 8951 người thiết kế cần kết nối thêm thạch anh tụ hình vẽ sơ đồ Tần số thạch anh thường sử dụng cho 8951 12Mhz  Chân 40 (Vcc) nối lên nguồn 5V Cấu Trúc Bên Trong Vi Điều Khiển : I Tổ chức nhớ : FFFF FFFF FF 00 On - Chip 0000 0000 CODE Memory DATA Memory Enable via PSEN Enable via RD & WR Memory External Memory Bảng tóm tắt vùng nhớ 8951 §IỊU CHØNH NHIƯT §é ë MøC T ý b¸O C¸O VI Xư Lý NHãM §T9K45 10 Bản đồ nhớ Data Chip sau : Đòa byte Đòa bit Đòa byte 7F Đòa bit FF F0 F7 F6 F5 F4 F F2 F1 F0 B RAM đa dụng E0 E7 E6 E5 E4 E E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW 30 B8 - - - B B B B9 B8 C B A IP B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 A8 AF AC ABAA A9 A8 IE A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 99 không đòa hoá bit SBUF 27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B9A 99 98 SCON §IỊU CHØNH NHIƯT §é ë MøC T ý 10 b¸O C¸O VI Xư Lý NHãM §T9K45 11 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1 23 1F 1E 1D 1C 1B 1A 19 18 8D không đòa hoá bit TH1 22 17 16 15 14 13 12 11 10 8C không đòa hoá bit TH0 21 0F 0E 0D 0C 0B 0A 09 08 8B không đòa hoá bit TL1 20 07 06 05 04 03 02 01 00 8A không đòa hoá bit TL0 1F 89 không đòa hoá bit TMOD 24 27 26 25 24 23 22 21 20 Bank 18 17 88 8F 8E 8D 8C 8B8A 89 88 TCON Bank 87 không đòa hoá bit PCON Bank 83 không đòa hoá bit DPH 82 không đòa hoá bit DPL 10 0F 08 07 Bank ghi 81 không đòa hoá bit SP 00 (mặc đònh cho R0 -R7) 88 87 86 85 84 83 82 81 80 P0 RAM CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT Bộ nhớ 8951 bao gồm ROM RAM RAM 8951 bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ đòa hóa bit, bank ghi ghi chức đặc biệt - 8951 có nhớ theo cấu trúc Harvard: có vùng nhớ riêng biệt cho chương trình liệu Chương trình liệu chứa bên 8951 8951 kết nối với 64K byte nhớ chương trình 64K byte liệu Hai đặc tính cần ý la ø: §IỊU CHØNH NHIƯT §é ë MøC T ý 11 b¸O C¸O VI Xư Lý NHãM §T9K45 60 D,C,B = '1'/ '0' : BËt t¾t hiĨn thÞ, trá, nhÊp nh¸y DC = '1' / '0 : DÞch chun trá theo RL = '1' / '0': Ph¶i tr¸i DL = '1' / '0' : D÷ liƯu 8/4 bits, N = / : C¶ hai/ mét dßng BF = '1' : Tr¹ng th¸i bËn Tr¹ng th¸i cê bËn ( Busy Flag ) thĨ hiƯn tr¹ng th¸i hiƯn t¹i cđa bé ®iỊu khiĨn hiĨn thÞ, nÕu BF = '1' chØ r»ng chØ thÞ lƯnh tríc ®ã cha ®ỵc thùc hiƯn xong vµ chØ nµo BF = '0' mét lƯnh tiÕp theo míi ®ỵc phÐp viÕt tiÕp vµo bé ®iỊu khiĨn Do vËy tríc mçi lÇn truy nhËp ®Ĩ viÕt lªn bé hiĨn thÞ tr¹ng th¸i cê bËn BF b¾t bc ph¶i ®ỵc kiĨm tra Bé hiĨn thÞ chøa mét trá d÷ liƯu bªn trong, trá nµy tiÕn lªn phÝa tríc mét c¸ch tù ®éng mçi mét kÝ tù ®ỵc viÕt vµo, nhng còng cã thĨ ®ỵc ®Ỉt vµo vÞ trÝ bÊt kú ngêi dïng ®iỊu khiĨn §Þa chØ dßng 1: 00h ®Õn 27h §Þa chØ dßng 2: 40h ®Õn 67h Mçi bËt ®iƯn mét sè byte khëi t¹o cÇn ph¶i ®ỵc viÕt vµo ghi lƯnh ®Ĩ t¹o mét sè mỈc ®Þnh 3-Bé nhí ngoµi: Vi xử lý (Microprocessor) IC chuyên dụng xử lý liệu, điều khiển theo chương trình, muốn Microprocessor thực công việc người sử dụng phải lập trình hay viết chương trình Chương trình phải lưư trữ đâu để Microprocessor nhận lệnh thi hành, lúc xử lý chương trình Microprocessor cần nơi lưư trữ tạm thời liệu sau lấy để tiếp tục xử lý Nơi lưu trữ chương trình cho Microprocessor thực nơi lưu trữ tạm thời liệu nhớ Các nhớ Microprcessor IC, IC nhớ đọc liệu ra, ghi liệu vào đọc liệu Đôi nhớ Microprocessor không đủ để lưu trữ thông tin cần thiết chạy chương trình, phải dùng kỹ thuật mở rộng nhớ 8051 có khả mở rộng nhớ đến 64k byte nhớ chương trình 64k byte nhớ liệu bên Bộ nhớ chương trình nhớ Rom nhớ liệu nhớ Ram _ Bộ nhớ Ram chia làm loại Sram Dram Dram chế tạo dùng kỹ thuật MOS, có dung lượng nhớ lớn, công xuất tiêu tán thấp tốc độ hoạt động trung bình Sram liệu lưu trữ vào Flip- Flop Dram liệu lưu trữ mức tương đương với trình nạp xả tụ điện khoảng vài pF Bởi điện áp tụ suy giảm dần Dram đòi hỏi chu kỳ nạp lại §IỊU CHØNH NHIƯT §é ë MøC T ý 60 b¸O C¸O VI Xư Lý NHãM §T9K45 61 không muốn liệu gọi trình làm tươi Ram, khuyết điểm Dram so với Sram Bộ nhớ Rom có nhiều loại: PROM, EPROM, EEPROM EPROM lập trình người dùng, xóa lập trình lại nhiều lần nên đồ án chúng em dùng EPROM 2764 dùng SRAM 6264 Đặc điểm, sơ đồ chân bảng thật 2764 6264 hình SRAM 6264: nhớ chế tạo theo công nghệ CMOS, có dung lượng 65536 bit tổ chức thành 8192x8 bit (8KByte), điện áp cung cấp +5V, thời gian truy cập khoảng 150ns Ngõ vào/ra liệu dùng chung, ngõ vào/ra tương thích TTL Công suất tiêu tán trạng thái chờ thấp khoảng 0,1mW so với hoạt động bình thường 200mW Sơ đồ chân sơ đồ logic 6264 sau: N.C A12 A7 A6 A5 A4 A3 A2 A1 A0 DQ0 DQ1 DQ2 Vss 6264 Mode \ Pin Not Select Output Disable Read Write Vcc WE\ CE2 A8 A9 A11 OE\ A10 CE1\ DQ7 DQ6 DQ5 DQ4 DQ3 WE\ x x H H L A0-A12 6264 DQ0-DQ7 CE1\ CE2 OE\ WE\ CE1\ H x L L L CE2 x L H H H OE\ x x H L H Output Hi-Z Hi-Z Dout Din Từ sơ đồ chân cho ta thấy cá chân chia thành nhóm: + Vcc, GND : chân nguồn + Do đến D7: chân liệu + Ao đến A12 : chân đòa + §IỊU CHØNH NHIƯT §é ë MøC T ý 61 b¸O C¸O VI Xư Lý NHãM §T9K45 62 EPROM 2764: nhớ đọc chế tạo theo công nghệ NMOS, dùng nguồn đơn +5V, dung lượng nhớ 65536 bit, tổ chức thành 8192x8 bit (8KByte) 2764 loại EPROM xóa tia cực tím ghi lại nhiều lần Có hai kiểu họat động: bình thường chờ Ở trạng thái chờ, công suất tiêu thụ 132mW so với 525mW trạng thái đọc liệu, thời gian truy xuất 200ns Sơ đồ chân sơ đồ logic 2764 sau: Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND Vcc PGM\ N.C A8 A9 A11 OE\ A10 CE\ O7 O6 O5 O4 O3 2764 Mode (chế độ) Đọc Chờ Lập trình Kiểm tra Cấm lập trình CE\ L H L L H OE\ L x x L x A0-A12 2764 D0-D7 CE\ OE\ VPP PGM\ H x L H x VPP Vcc Vcc Vpp Vpp Vpp Ra (Output) Dout Hi-Z Din Do ut Hi-Z Bảng trạng thái - EPROM lập người lập trình sử dụng xóa để lập trình lại muốn -EPROM dùng mạch chứa sẵn chương trình điều khiển, tức xuất Data CPU tham khảo đến, ta quan tâm đến chế độ đọc chờ Dựa vào Mode hoạt động EPROM điều khiển chân sau: - PGM = Volt (Vcc ) - OE\ nối chân PSEN CPU - CE\ nối xuống CSO §IỊU CHØNH NHIƯT §é ë MøC T ý 62 b¸O C¸O VI Xư Lý NHãM §T9K45 63 + Chế độ đọc (Read Mode ): Chế độ thiết lập CE\ OE\ mức thấp, PGM mức cao Có hai ngõ vào điều khiển dùng để truy xuất Data từ ROM CE\ OE\ dùng để kiểm soát ngõ Data, đưa Data lên Data bus + Chế độ chờ (Stanby Mode ): Chế độ làm giảm công suất tiêu thụ thiết lập CE\ mức cao, chế độ Data trạng thái trở kháng cao độc lập *Giải mã đòa chỉ: Do 8051 thiết kế cần quản lý nhiều thiết bò ngoại vi, nhiều ô nhớ, muốn làm việc người ta phải cung cấp cho ô nhớ thiết bò ngoại vi tầm đòa cho thiết bò Vì cần có mạch giải mã đòa mạch điện Người ta thường dùng IC giải mã 74HC138 với ngõ nối tới ngõ vào chọn chip (CS\) IC nhớ Sau sơ đồ chân, bảng thật đặc điểm 74138: A B C G2A G2B G1 Y7 GND 74138 A B C Vcc Y0 Y1 Y2 Y3 Y4 Y5 Y6 74138 G2A\ G2B G1 Y0 Y7 S¬ ®« ch©n ENABLE G1 G2 x H L x H L H L H L H L H L H L H L H L INPUTS SELECT C B x x x x L L L L L H L H H L H L H H H H OUTPUTS A x x L H L H L H L H Y0 H H L H H H H H H H Y1 H H H L H H H H H H Y2 H H H H L H H H H H Y3 H H H H H L H H H H Y4 H H H H H H L H H H Y5 H H H H H H H L H H Y6 H H H H H H H H L H Y7 H H H H H H H H H L Bảng trạng thái sơ lược chân: - Ngõ vào A,B,C chân ngõ vào số nhò phân bit C bit có trọng số lớn nhất, A bit có trọng số nhỏ §IỊU CHØNH NHIƯT §é ë MøC T ý 63 b¸O C¸O VI Xư Lý NHãM §T9K45 64 - Các chân ngõ ra: Yo → Y7, tích cực mức thấp - Các chân điều khiển: G1,G2A, G2B IC hoạt động giải mã chân điều khiển đồng thời tích cực G1 tích cực mức cao; G 2A\ G2B\ tích cực mức thấp Khi chân không tích cực ngõ từ Yo → Y7 mức cao *Giải đa hợp đường liệu đường đòa chỉ: Khi dùng nhớ ngoài, port không port IO túy Nó kết hợp bus đòa bus liệu nên dùng tín hiệu ALE IC chốt để chốt byte thấp bus đòa bắt đầu chu kỳ nhớ Port2 cho byte cao bus đòa chúng em dùng IC chốt 74373 Sơ đồ chân, đặc điểm bảng trạng thái 74373 OE\ D0 D1 D2 D3 D4 D5 D6 D7 GND Vcc Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 G 74373 D0-D7 74373 Q0-Q7 OC \ G Sơ đồ chân Bảng trạng thái Output Control (OC) L L L H Enable G D OUTPUT H H L x H L x x H L Q0 HI-Z Đặc điểm _ 74LS373 gồm D-FF có ngõ trạng thái điều khiển chốt xuất liệu chân G OC Trong ứng dụng chân G nối với chân ALE 8051, chân OC nối mass _ IC chốt bit _ Các đệm ngõ trạng thái _ Tín hiệu điều khiển ngõ trạng thái chung §IỊU CHØNH NHIƯT §é ë MøC T ý 64 b¸O C¸O VI Xư Lý NHãM §T9K45 65 *Xếp chồng vùng nhớ chương trình liệu bên ngoài: Vì nhớ chương trình Rom nên xảy vấn đề bất tiện phát triển phần mềm cho 8051 tổ chức nhớ để sửa đổi chương trình ghi trở lại chứa nhớ Rom Cách giải xếp chồng vùng liệu chương trình Một nhớ Ram chứa chương trình liệu cách nối đường OE\ Ram đến ngõ cổng AND có ngõ vào PSEN\ RD\ Sơ đồ mạch hình sau cho phép nhớ Ram có chức vừa nhớ chương trình vừa nhớ liệu Vậy chương trình tải vào Ram (bằng cách ghi nhớ liệu) thi hành chương trình (bằng cách truy xuất nhớ chương trình) WR WR RAM RD PSEN OE\ §IỊU CHØNH NHIƯT §é ë MøC T ý 65 b¸O C¸O VI Xư Lý NHãM §T9K45 66 IV-v¨n b¶n ch¬ng tr×nh: ADC_WR BIT P1.0 ADC_INTR BIT P1.1 LCD_RS BIT P1.2 LCD_RW BIT P1.3 LCD_EN BIT P1.4 ;Dinh nghia cac hang so : nhan / truyen cho viec hoat dong : Cancel_Func EQU 200 UpdatePC_Func EQU 201 XL_Func EQU 202 OD_Func EQU 203 ReceiveError EQU 204 Test_Func EQU 205 Logic1_Func EQU 206 Logic2_Func EQU 207 Logic3_Func EQU 208 Logic4_Func EQU 209 ORG 00H LJMP MAIN ORG 23H LJMP SPisr ;ngat port noi tiep ORG 30H MAIN: ;dat che cho timer MOV TMOD,#21H ;timer mode1_16 bit,timer mode MOV TH0,#HIGH(-500) ;dat de tao tre 0.5ms bang timer MOV TL0,LOW(-500) ;khoi dong cho LCD LJMP INIT_LCD ;in dong chu "Initializing " MOV A,#'I' LCALL WRITE MOV A,#'n' LCALL WRITE MOV A,#'i' LCALL WRITE MOV A,#'t' LCALL WRITE MOV A,#'i' §IỊU CHØNH NHIƯT §é ë MøC T ý 66 b¸O C¸O VI Xư Lý LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL 67 WRITE A,#'a' WRITE A,#'l' WRITE A,#'i' WRITE A,#'z' WRITE A,#'i' WRITE A,#'n' WRITE A,#'g' WRITE A,#'.' WRITE A,#'.' WRITE A,#'.' WRITE A,#'.' WRITE MOV A,#2000 LOOP: LCALL DELAY DEC A JNZ LOOP CLR MOV SETB CLR LCALL MOV SETB CLR LCALL NHãM §T9K45 LCD_RS P0,#01H LCD_EN LCD_EN DELAY P0,#02H LCD_EN LCD_EN DELAY ;tre 1s ;LCD command mode ;clear display ;return home LCALL CONFIG SETB TR1 ;timer hoat dong SETB EA SETB ES BODY: ;phan than chinh cua main program MOV R0,#2 MOV R3,#2 CJNE R0,#0,Continue §IỊU CHØNH NHIƯT §é ë MøC T ý 67 b¸O C¸O VI Xư Lý NHãM §T9K45 68 Continue: ;xac nhan ham, du lieu va xu li MOV R6,R4 ;cat Func_ID va R6 MOV R5,R7 ;cat dlieu vaO R7 CJNE R5,Cancel_Func,SKIP1 LCALL Func_Cancel LJMP BODY SKIP1: CJNE R5,Test_Func,SKIP2 LCALL Func_Test LJMP BODY SKIP2: CJNE R5,UpdatePC_Func,SKIP3 LCALL Func_UpdatePC LJMP BODY SKIP3: CJNE R5,XL_Func,SKIP4 LCALL Func_XL LJMP BODY SKIP4: CJNE R5,OD_Func,SKIP5 LCALL Func_OD LJMP BODY SKIP5: CJNE R5,Logic1_Func,SKIP6 LCALL Func_Logic1 LJMP BODY SKIP6: CJNE R5,Logic2_Func,SKIP7 LCALL Func_Logic2 LJMP BODY SKIP7: CJNE R5,Logic3_Func,SKIP8 LCALL Func_Logic3 LJMP BODY SKIP8: LCALL Func_Logic4 LJMP BODY ;end of main program ;************************************************************************ ;ham DELAY ;************************************************************************ DELAY: ;tre 0.5ms dung timer mode SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;************************************************************************ ; ham khoi tao LCD ;************************************************************************ INIT_LCD: CLR LCD_RW CLR LCD_RS ;command mode §IỊU CHØNH NHIƯT §é ë MøC T ý 68 b¸O C¸O VI Xư Lý PUSH SETB CLR MOV LCALL NHãM §T9K45 69 ACC LCD_EN LCD_EN P0,#38H ;dlieu 8bit, dong(38h=00111000b) DELAY SETB LCD_EN CLR LCD_EN MOV P0,#0FH LCALL DELAY SETB LCD_EN CLR LCD_EN MOV P0,#01H LCALL DELAY SETB LCD_EN CLR LCD_EN MOV P0,#02H LCALL DELAY SETB LCD_EN CLR LCD_EN MOV P0,#80H LCALL DELAY ;bat dien, hien tro va nhap nhay ;clear display ;return home ;set add_display = 00 POP ACC RET ;************************************************************************ ;ham WRITE ;************************************************************************ WRITE: CLR LCD_RW SETB LCD_RS SETB LCD_EN CLR LCD_EN MOV P0,A LCALL DELAY RET ;************************************************************************ ;ham WRITE_S viet xau co dia chi DPTR chi ;************************************************************************ WRITE_S: PUSH PSW PUSH ACC WRITE_STR: MOV ACC,#00H §IỊU CHØNH NHIƯT §é ë MøC T ý 69 b¸O C¸O VI Xư Lý NHãM §T9K45 70 MOVC A,@A+DPTR JZ EXIT LCALL WRITE INC DPTR SJMP WRITE_STR EXIT: POP ACC POP PSW RET ;************************************************************************ ;ham Config ;************************************************************************ CONFIG: ;khoi tao 8255 MOV DPTR,#4003H ;4003h la dia chi cua CWR MOV A,#82H ;8255 mode 0,A ra, B vao, C MOVX @DPTR,A ;cho phep ngat MOV IE,#00H ;cam cac ngat ;dat che cho port noi tiep MOV SCON,#50H ;UART 8bit baudrate set by timer 1,cho phep thu MOV TH1,#-3 ;baudrate=9600 ;in chuoi "Nhom5 DT9 K45",0 STR: DB "Nhom5 DT9 K45",0 MOV DPTR,#STR LCALL WRITE_S ;in dong chu "Nhiet do: " MOV A,#'N' LCALL WRITE MOV A,#'h' LCALL WRITE MOV A,#'i' LCALL WRITE MOV A,#'e' LCALL WRITE MOV A,#'t' LCALL WRITE MOV A,#' ' LCALL WRITE MOV A,#'d' LCALL WRITE MOV A,#'o' LCALL WRITE MOV A,#':' LCALL WRITE MOV A,#' ' LCALL WRITE §IỊU CHØNH NHIƯT §é ë MøC T ý 70 b¸O C¸O VI Xư Lý NHãM §T9K45 71 CLR LCD_RS SETB LCD_EN CLR LCD_EN MOV P0,0C0H ;ve dau dong duoi,0Ch=1'1000000b LCALL DELAY ;in dong chu "Che do: " MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL MOV LCALL A,#'C' WRITE A,#'h' WRITE A,#'e' WRITE A,#' ' WRITE A,#'d' WRITE A,#'o' WRITE A,#':' WRITE A,#' ' WRITE ; -Kich cho ADC lam viec va doi de chuyen doi xong -CLR ADC_WR ;kich ADC lam viec SETB ADC_WR JB ADC_INTR,$ ;doi den chuyen doi xong ; -Doc gia tri ADC ma hoa vao chua A MOV DPTR,#4001H MOVX A,@DPTR ; Chuyen muc da duoc ma hoa tu ADC gia tri nhiet CLR ACC.7 RR A ; Chuyen gia tri nhiet A ma ASCII -MOV R0,A ;cat chu so hang don vi SWAP A ;trao noi dung A de ghi hang chuc truoc ANL A,#0FH ADD A,#30H ;lay ma ASCII chu so hang chuc CLR LCD_RS ;command mode SETB LCD_EN CLR LCD_EN MOV P0,#11 ;ve dong dau sau chu "Nhiet do: " LCALL WRITE ;viet chu so hang chuc LCD MOV A,R0 ;lay lai chu so hang don vi §IỊU CHØNH NHIƯT §é ë MøC T ý 71 b¸O C¸O VI Xư Lý ANL ADD LCALL NHãM §T9K45 72 A,#0FH A,#30H ;lay ma ASCII chu so hang don vi WRITE ;viet chu so hang don vi LCD RET ;************************************************************************ ;ngat port noi tiep SPisr: JB TI,END_SPisr DEC R0 CJNE R0,#0,RI_1 MOV R5,SBUF MOV R0,#2 CLR RI RETI RI_1: MOV R4,SBUP CLR RI RETI END_SPisr: CLR TI RETI ;************************************************************************ ;ham Transmit Ham gui di gia tri ghi B toi PC Transmit: CLR TI ;chac chan dem phat rong MOV SBUF,B RET ;************************************************************************ ;ham Func_Logic1 Func_Logic1: CPL P1.5 RET ;************************************************************************ ;ham Func_Logic2 Func_Logic1: CPL P1.6 RET ;************************************************************************ ;ham Func_Logic3 Func_Logic1: CPL P1.7 RET ;************************************************************************ Func_Test: §IỊU CHØNH NHIƯT §é ë MøC T ý 72 b¸O C¸O VI Xư Lý MOV NHãM §T9K45 73 B,#255 LCALL Transmit RET ;************************************************************************ UpdatePC_Func: PUSH ACC PUSH B PUSH DPL PUSH DPH PUSH R0 PUSH R1 PUSH CLR ADC_WR ;kich ADC lam viec SETB ADC_WR JB ADC_INTR,$ ;doi den chuyen doi xong ;Doc gia tri ADC ma hoa vao chua A MOV DPTR,#4001H MOVX A,@DPTR ;Chuyen muc da duoc ma hoa tu ADC gia tri nhiet MOV B,#25 MUL AB MOV R0,A ;cat byte thap vao R0 MOV A,B MOV B,#51 DIV AB MOV R1,A ;cat ket qua phan cao vao R1 MOV A,B ADD A,R0 ;lay lai byte thap MOV B,#51 DIV AB ADD A,R1 ;cong hai ket qua phan cao va phan thap ;Chuyen gia tri nhiet A ma ASCII MOV R0,A ;cat chu so hang don vi SWAP A ;trao noi dung A de ghi hang chuc truoc ANL A,#0FH ADD A,#30H ;lay ma ASCII chu so hang chuc CLR LCD_RS ;command mode SETB LCD_EN CLR LCD_EN MOV P0,#11 ;ve dong dau sau chu "Nhiet do: " LCALL WRITE ;viet chu so hang chuc LCD MOV A,R0 ;lay lai chu so hang don vi ANL A,#0FH ADD A,#30H ;lay ma ASCII chu so hang don vi §IỊU CHØNH NHIƯT §é ë MøC T ý 73 b¸O C¸O VI Xư Lý LCALL END NHãM §T9K45 74 WRITE ;viet chu so hang don vi LCD Tµi liƯu tham kh¶o Kü tht Vi Xư lý_V¨n ThÕ Minh_NXB Gi¸o dơc Hä vi ®iỊu khiĨn 8051 -Tèng V¨n On, Hoµng §øc H¶i- Nhµ xt b¶n Lao §éng – X· Héi; LËp tr×nh hỵp ng÷ ( Assembly ) vµ M¸y vi tÝnh IBM – PC - Ythayu & Charles Marut - Nhµ xt b¶n Gi¸o Dơc; Vi xư lÝ ®o lêng vµ ®iỊu khiĨn -Ng« Diªn LËp-Nhµ xt b¶n khoa häc vµ kÜ tht; Prorgamming and Interfaceing the 8051 Microcontroller KÜ tht ghÐp nèi m¸y tÝnh-ngun m¹nh giang §IỊU CHØNH NHIƯT §é ë MøC T ý 74 [...]... khởi động và truy xuất các thanh ghi timer : - Các Timer được khởi động 1 lần ở đầu chương trình để đặt mode hoạt động cho chúng Sau đó trong chương trình các Timer được bắt đầu, được xóa, các thanh ghi Timer được đọc và cập nhật … theo yêu cầu của từng ứng dụng cụ thể - Mode Timer TMOD là thanh ghi đầu tiên được khởi gán, bởi vì đặt mode hoạt động cho các Timer Ví dụ khởi động cho Timer 1 hoạt động... chế độ hoạt động của port nối tiếp : 1 Thanh ghi điều khiển port nối tiếp: Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ port nối tiếp (SCON) ở đòa chỉ 98H Sau đây các bản tóm tắt thanh ghi SCON và các chế độ của port nối tiếp : Bit Ký Đòa hiệu chỉ Mô tả SCON 7 SM0 9FH Bit 0 của chế độ port nối tiếp SM1 9EH Bit 1 của chế độ port nối tiếp SM3 9DH Bit 2 của chế độ port... bit 1 0 2 Mode tự động nạp 8 bit 1 1 3 Mode Timer tách ra : Timer 0 : TL0 là Timer 8 bit được điều §IỊU CHØNH NHIƯT §é ë MøC T ý 26 b¸O C¸O VI Xư Lý NHãM 5 §T9K45 27 khiển bởi các bit của Timer 0 TH0 tương tự nhưng được điều khiển bởi các bit của mode Timer 1 Timer 1 : Được ngừng lại - TMOD không có bit đònh vò, nó thường được LOAD một lần bởi phần mềm ở đầu chương trình để khởi động mode Timer Sau... và TF1 tương ứng - Timer 1 bò dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt nó vào một trong các mode khác Chỉ có nhược điểm là cờ tràn TF1 của Timer 1 không bò ảnh hưởng bởi các sự tràn của Timer 1 bởi vì TF1 được nối với TH0 - Mode 3 cung cấp 1 Timer ngoại 8 bit là Timer thứ ba của 8951 Khi vào Timer 0 ở mode 3, Timer có thể hoạt động hoặc tắt bởi sự ngắt nó ra ngoài và vào trong mode... khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ Ví dụ, lệnh sau: MOV SCON, #01010010B Khởi động port nối tiếp cho chế độ 1 (SM0/SM1=0/1), cho phép bộ thu (REN=1) và cờ ngắt phát (TP=1) để bộ phát sẳn sàng hoạt động 2 Chế độ 0 (Thanh ghi dòch đơn 8 bit) : Chế độ 0 được chọn bằng các thanh ghi các bit 0 vào SM1 và SM2 của SCON, đưa port nối tiếp vào chế độ thanh ghi dòch 8bit Dữ liệu nối... khởi động lại như thế bởi sự truy xuất các thanh ghi chức năng đặc biệt của Timer khác 2 Thanh ghi điều khiển timer TCON (timer control register) : - Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi Timer 0 và Timer 1 Thanh ghi TCON có bit đònh vò Hoạt động của từng bit được tóm tắt như sau : Bit Symb ol Bit Description Addres s TCON TF1 7 8FH Cờ tràn Timer 1 được set bởi... tín hiệu xung nhập xuống thấp ở S3P1 và trở về cao ở S6P1 Một chu kỳ máy S1 OSC S2 P1 P2 P1 S3 S4 P2 P1 S5 P2 P1 S6 P2 P1 P2 P1 ALE Bit Data Hợp Lệ Data Out S3P 1 Shift Clock WRITE to SBUF S6P1 Phóng to ALE Data Out RXD Shift Clock (TXD) §IỊU CHØNH NHIƯT §é ë MøC T ý 36 b¸O C¸O VI Xư Lý NHãM 5 §T9K45 37 Giản đồ thời gian Port nối tiếp phát ở chế độ 0 Việc thu được khởi động khi cho phép bộ thu (REN)... tốc độ baud thay đổi được) : Ở chế độ 1, port nối tiếp của 8951 làm việc như một UART 8 bit với tốc độ baud thay đổi được Một UART (Bộ thu phát đồng bộ vạn năng) là một dụng cụ thu phát dữ liệu nối tiếp với mỗi ký tự dữ liệu đi trước là bit start ở mức thấp và theo sau bit stop ở mức cao Đôi khi xen thêm bit kiểm tra chẵn lẻ giữa bit dữ liệu cuối cùng và bit stop Hoạt động chủ yếu của UART là chuyển... được xóa bởi phần mềm Chính vì vậy ta có thể lập trình chờ sau mỗi lần tràn ta sẽ xóa cờ TFx và quay vòng lặp khởi gán cho TLx/THx để Timer luôn luôn bắt đầu đếm từ giá trò khởi gán lên theo ý ta mong muốn - Đặc biệt những sự khởi gán nhỏ hơn 256 µs, ta sẽ gọi mode Timer tự động nạp 8 bit của mode 2 Sau khi khởi gán giá trò đầu vào THx, khi set bit TRx thì Timer sẽ bắt đầu đếm giá trò khởi gán và khi... TLx, cờ TFx tự động được set đồng thời giá trò khởi gán mà ta khởi gán cho Thx được nạp tự động vào TLx và Timer lại được đếm từ giá trò khởi gán này lên Nói cách khác, sau mỗi tràn ta không cần khởi gán lại cho các thanh ghi Timer mà chúng vẫn đếm được lại từ giá trò ban đầu c Các chế độ timer và cờ tràn (timer modes and overflow) : - 8951 có 2ø Timer là Timer 0 và timer 1 Ta dùng ký hiệu TLx và Thx

Ngày đăng: 23/06/2016, 17:45

Mục lục

  • Lêi nãi ®Çu

    • b Chức năng các chân của 8951:

      • Bit

        • 3. Cấu Trúc Bên Trong Vi Điều Khiển :

          • P

          • 5 . Hoạt Động Port Nối Tiếp :

          • Tóm tắt thanh ghi chế độ port nối tiếp

          • Các chế độ port nối tiếp

            • MOV SCON, #01010010B

            • S1 S2 S3 S4 S5 S6

              • SMOD=0

              • TF1

                • sơ lược về các chân:

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

Tài liệu liên quan