• Hoạt động
Ta đặt cho hệ thống trong dải đo từ 150C đến 400C nếu hệ thống đo được trong khoảng này và báo về bộ xử lý thì sẽ không có hiện tượng gì xảy ra, khi hệ thống đo đo được giá trị ngoài khoảng này thì hệ thống sẽ xử lý và đưa ra cảnh báo ở ngoài loa, nếu hệ thống đang hoạt động mà ấn stop thì giá trị đo được sẽ được lưu lại cho lần đo tiếp theo.
Việc đo và tính toán được thực hiện qua các thiết bị như cảm biến các con IC, các transistor và loa cảnh báo, cùng một số thiết bị khác
43 trang |
Chia sẻ: lylyngoc | Lượt xem: 4504 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng họ điều khiển ghép nối 04 LED 7 thanh để hiển thị số đo nhiệt độ dung vi mạch LM35, ADC0808, khoảng đo (-55 – 125)◦C, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đề tài
Ứng dụng họ điều khiển ghép nối 04 LED 7 thanh để hiển thị số đo nhiệt độ dung vi mạch LM35, ADC0808, khoảng đo (-55 – 125)◦C
Mục Lục
Lời nói đầu
Với sự tiến bộ của con người, với sự phát triển của khoa học kỹ thuật thì các nghành công nghiệp phát triển mạnh mẽ, các hệ thống ứng dụng ra đời, điều đó cũng đặt ra yêu cầu cao về chất lượng, độ chính xác. Một trong những hệ thống được ứng dụng nhiều nhất là: hệ thống đo điều khiển và hiển thị ra led 7 thanh.Các hệ thống đang ngày dần được tự động hóa với những kỹ thuật như vi xử lý, vi điều khiển… đang ngày một làm cho các bộ tự động dần trở nên tốt hơn đảm bảo yêu cầu hơn.
Trong quá trình sản xuất ở các nhà máy,xí nghiệp; quá trình điều khiển nhiệt độ trong các phòng, hội nghị, các khu chung cư, việc đo và khống chế nhiệt độ tự động là yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt được nhiệt độ làm việc của các hệ thống, dây chuyền sản xuất… thì giúp chúng ta biết được tình trạng làm việc theo yêu cầu và có những xử lý kịp thời để tránh hư hỏng và giải quyết các sự cố sảy ra.Yêu cầu của các hệ thống là phải đảm bảo chính xác, kịp thời và nhanh, hệ thống làm việc ổn định ngay cả khi có nhiễu và do tác động khác.
Hà Nội ngày 24 tháng 12 năm 2012
Đề tài:
Ứng dụng họ điều khiển ghép nối 04 LED 7 thanh để hiển thị số đo nhiệt độ dung vi mạch LM35, ADC0808, khoảng đo (-55 – 125)◦C, Hệ số gồm có:
01 vi điều khiển 89C51RD2
Mạch truyền thong chuẩn RS – 232 (dùng vi mạch MAX232)
Ghép nối 04 LED bảy thanh.
Ghép nối phần với vi mạch LM35,ADC0808.
Ghép nối loa cảnh bảo ngưỡng thấp, ngưỡng cao.
Hai nút RUN, STOP.
Hoạt động: Khi ấn RUN, hệ thống thực hiện đo nhiệt độ, còn khi ấn STOP, hệ thống lưu lưu lại giá trị đo cuối cùng.
Quá trình thực hiện:
Xây dựng mạch nguyên lý.
Làm mạch in.
Lắp linh kiện và kiểm tra phần cứng.
Xây dựng thuật toán.
Viết chương trình.
Thực nghiệm.
PHẦN I: CƠ SỞ LÝ THUYẾT
Chương I: Tổng quan về vi điều khiển
Giới thiệu về các họ vi xử lý và các họ điều khiển thông dụng
Lịch sử phát triển của bộ vi xử lý và bộ vi điều khiển
Sự ra đời và phát triển nhanh chóng của kĩ thuật vi điện tử mà đặc trưng là kĩ thuật vi xử lý đã tạo ra một bước ngoặt quan trọng trong sự phát triển của khoa học tính toán, điều khiển vi xử lý thông tin.Kĩ thuật vi xử lý đóng vai trò rât quan trọng trong tất cả các lĩnh vực của cuộc sống và khoa học kĩ thuật, đặc biệt là lĩnh vực tin học và tự động hoá.
Năm 1971, hãng Intel đã cho ra đời bộ vi xử lý( microprocessor ) đầu tiên trên thế giới tên gọi là Intel – 4004/4 bit, nhằm đáp ứng nhu cầu cấp thiết của một công ty kinh doanh là hãng truyền thông BUSICOM. Intel-4004 là kết quả của một ý tưởng quan trọng trong kĩ thuật vi xử lý số. Đó là một kết cấu logic mà có thể thay đổi được chức năng của nó bằng chương trình ngoài chứ không phát triển theo hướng tạo ra một cấu trúc cứng chỉ thực hiện một số chức năng nhất định như trước đây. Sau đó, các bộ vi xử lý mới liên tục được đưa ra thị trường ngày càng được phát triển, hoàn thiện hơn trong các thế hệ về sau.
Vào năm 1972, hãng Intel đưa ra bộ vi xử lý 8 bit đầu tiên với tên Intel 8008/8 bit. Từ năm 1974 – 1975, Intel chế tạo các bộ vi xử lý 8-bit 8080 và 8085A. Cũng vào khoảng thời gian này, một loạt các hãng khác trên thế giới cũng đã cho ra đời các bộ vi xử lý tương tự như : 6800 của Motorola với 5000 Tranzitor, signetics 6520, 1801 của RCA, kế đến là 6502 của hãng MOS Technology và Z80 của hãng Zilog.
Các bộ vi điều khiển
2.1. Các bộ vi điều khiển và các bộ xử lý nhúng.
Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển (VĐK ) và so sánh chúng với các bộ vi xử lý cùng dạng chung Pentium và các bộ vi xử lý 86 khác. Chúng ta cùng xem xét vai trò của các bộ vi điều khiển trong thị trường các sản phẩm nhúng. Ngoài ra, chúng ta còn cung cấp một số tiêu chuẩn vể cách lựa chọn một bộ vi điều khiển như thế nào.
Bộ vi điều khiển so với bộ vi xử lý cùng dùng chung
Sự khác nhau giữa một bộ vi điều khiển và một bộ vi xử lý là gì? Bộ xử lýở đây là cá bộ vi xử lý công dụng chung như họ Intel là 86(8086, 80286, 80386, 80486 và Pentium) hoặc họ Motorola là 680 là ( 68000, 68010, 68020, 68030, 68040 vv...) Những bộ vi xử lý này không có RAM, ROM và không có các cổng vào ra trên chíp.Với lý do đó mà chúng được gọi chung là các bộ vi xử lý công dụng chung.
Hình: Hệ thống vi xử lý được so sánh với hệ thống vi điều khiển
a)Hệ thống vi xử lý công dụng chung
b) Hệ thống vi điều khiển
Như thiết kế hệ thống sử dụng bộ vi xử lý công dụng chung chẳng hạn như Pentium hay 68040 phải bổ xung thêm RAM, ROM, các cổng vào ra và các bộ định thời ngoài để làm cho chúng hoạt động được. Mặc dù việc bổ sung RAM, ROM và các cổng vào ra bên ngoài làm cho hệ thống cồng kềnh và đắt hơn, nhưng chúng có ưu điểm là linh hoạt chẳng hạn như người thiết kế có quyền quyết định về số lượng RAM, ROM và các cổng vào ra cần thiết phù hợp với bài toán trong tam tay của mình. Điều này không thể có được với các bộ vi điều khiển. Một bộ vi điều khiển có một CPU (một bộ vi xử lý) cùng với một lượng cố định RAM, ROM, các cổng vào ra và một bộ định thời tất cả trên cùng một chíp. Hay nói cách khác là bộ xử lý RAM, ROM các cổng vào ra và bộ định thời đều được nhúng với nhau trên một chíp; do vậy người thiết kế không thể bổ xung thêm bộ nhớ ngoài , cổng vào ra hoặc bộ đinh thời cho nó. Số lượng cố định của RAM, ROM trên chíp và số các cổng vào – ra trong các bộ vi điều khiển làm cho chúng trở nên lý tưởng với nhiều ứng dụng mà trong đó giá thành và không gian lại hạn chế. Trong nhiều ứng dụng , ví dụ như điều khiển TV từ xa thì không cần công suất tính toán của bộ vi xử lý 486 hoặc thâm chí như 8086. Trong rất nhiều ứng dụng thì không gian nó chiếm, công suất nó tiêu tốn và giá thành trên một đợn vie là những cân nhắc nghiêm ngặt hơn nhiều so với công suất tính toán. Những ứng dụng thường yêu cầu một số thao tác vào-ra để đọc các tín hiệu tắt- mở những bit nhất định. Điều thú vị là một số nhà sản xuất các bộ vi điều khiển đã đi xa hơn là tích hợp cả một bộ chuyển đổi ADC và các ngoại vi khác vào trong bộ điều khiển.
Chương II:Tổng quan về họ vi điều khiển 8051
Họ vi điều khiển 8051
Giới thiệu chung
Họ vi điều khiển 8051(còn gọi là C51) là một trong những họ vi điều khiển thông dụng nhất. Bộ vi điều khiển này có 128 byte RAM,4K byte ROM trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ratất cả được đặt trên một chíp. Lúc ấy nó được coi là một “hệ thống trênchíp”. 8051 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả 4 cổng vào-ra I/O mỗi cổng rộng 8bit. Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte,nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051.Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượngROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất. Điềunày quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độvà dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào.
Sơ đồ cấu trúc chung của họ 8051
Interrupt control : Điều khiển ngắt.
Other registers : Các thanh ghi khác.
ROM : là loại bộ nhớ không mất dữ liệu khi mất nguồn cung cấp, được gọi là nhớ chương trình bên trong .
RAM : là bộ nhớ dữ liệu bên trong có dung lượng 128Byte dùng để lưu trữ dữ liệu như biến số, hằng số, bộ đệm truyền thông.
Timer 2, 1 , 0 : Bộ định thời 2 , 1 , 0
CPU : Đơn vị điều khiển trung tâm.
Oscillator : Mạch dao động.
Bus control: Điều khiển Bus
I/O ports: Các ports vào/ ra
Serial port: port nối tiếp
Address/data : địa chỉ/ dữ liệu.
Sơ đồ chân của 8051
Chức năng :
Chân 40 nối dương nguồn 5V
Chân 20 nối đất (Mass,GND)
Chân 29 (PSEN): là tín hiệu điều khiển xuất ra của 8051, nó cho phép chọn bộ nhớ ngoài và được nối chung với chân OE (output) của EPROM ngoài để cho phép đọc các byte của chương trình ( ở đây là đọc các lệnh- khác với đọc dữ liệu).
Chân 30 (ALE) là tín hiệu điều khiển xuất ra của 8051, nó cho phép kênh Bus địa chỉ và Bus dữ liệu của Port 0.
Chân 31 (EA) được đưa xuống thấp cho phép chọn bộ nhớ mã ngoài đối với 8051.
P0 từ chân 39-> 32 tương ứng là các chân P0_0 -> P0_7
P1 từ chân 1->8 tương ứng với các chân P1_0 -> P1_7
P2 từ chân 21->28 tương ứng là các chân P2_0->P2_7
P3 từ chân 10->17 tương ứng là các chân P3_0->P3_7
Riêng cổng 3 có 2 chức năng ở mỗi chân như trên hình vẽ :
P3.0 – RxD : chân nhận dữ liệu nối tiếp khi giao tiếp với RS232 (COM)
P3.1 – TxD : phân truyền dữ liệu nối tiếp khi giao tiếp RS232
P3.2 – INT0 : interupt 0, ngắt ngoài 0.
P3.3 – INT1 : interupt 1 ngắt ngoài 1.
P3.4 – T0 : Timer 0 đầu vào timer 0.
P3.5 – T1 : Timer 1 đầu vào timer 1.
P3.6 – WR : Điều khiển ghi dữ liệu
P3.7 – RD : Điều khiển đọc dữ liệu
Chân 18,19 nối với thạch anh tạo thành mạch dao động cho vi điều khiển, vi xử lý.
Tần số thạch anh thường dùng trong các ứng dụng là 12Mhz và 11.092MHz (Giao tiếp với cổng COM), tần số tối đa là 24Mhz.
Cổng vào ra song song (I/O Port)
8051 có 4 cổng vào ra song song có tên lần lượt là P0, P1, P2, P3 tất cả các cổng này đều là cổng ra vào 2 chiều 8 bit. Các bít của mỗi cổng là một chân trên chíp như vậy mỗi cổng sẽ có 8 chân trên chíp. Hướng dữ liệu dùng cổng đó làm cổng ra hay cổng vào là độc lập giữa các cổng và giữa các chân trong cùng 1 cổng.
Các chân P0 không có điện trở treo cao (pullup resistor) bên trong, mạch lái tạo mức cao chi có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/ dữ liệu. Như vậy với chức năng ra thông thường, P0 là cổng ra open drain, với chức năng vào, P0 là cổng cao trở. Nếu muốn sử dụng cổng P0 làm cổng vào /ra thông dụng thì ta phải thêm trở tử 4K7 đến 10K. Các cổng P1, P2, P3 đều có điện trở pullup bên trong, do đó có thể dùng với chức năng cổng vào/ra thông thường mà không cần thêm điện trở bên ngoài.
Cổng truyền thông nối tiếp ( Serial Port) :
Cổng nối tiếp trong 8051 chủ yếu được dùng trong các ứng dụng có yêu cầu truyền thông với máy tính, hoặc với 1 vi điều khiển khác. Liên quan đến cổng nối tiếp chủ yếu có 2 thanh ghi : SCON và SBUF. Ngoài ra, một thanh ghi khác là thanh ghi PCON (không đánh địa chỉ bít) có bít 7 tên là SMOD quy định tốc độ truyền của cổng nối tiếp có gấp đôi lên (SMOD=1) hay không (SMOD=0).
Cổng có đặc điểm :
Truyền song công : có nghĩa là tại một thời điểm có thể vừa truyền vừa nhận dữ liệu.
Phương thức truyền không đồng bộ: là dữ liệu được truyền đi theo từng kí tự.
Bộ đệm truyền nhận dữ liệu đều có tên là SBUF
SCON là thanh ghi bit được dùng để lập trình việc đóng khung dữ liệu, xác định chế độ làm việc của cổng truyền thông nối tiếp.
Bảng dưới đây mô tả chi tiết các bit khác nhau của thanh ghi SCON :
Bit
Tên
Địa chỉ
Chức năng
7
SM0
9FH
Xác định chế độ cổng nối tiếp (bit 0)
6
SM1
9EH
Xác định chế độ cổng nối tiếp (bit 1)
5
SM2
9DH
Cho phép truyền thông đa xử lý
4
REN
9CH
Bít cho phép nhận
3
TB8
9BH
Sử dụng trong chế độ 2 và 3
2
RB8
9AH
Sử dụng trong chế độ 2 và 3
1
TI
99H
Cờ truyền :nhận được sau khi truyền xong 1 byte
0
RI
98H
Cờ nhận: Nhận được sau khi nhận đủ 1 byte
Các chế độ làm việc của cổng truyền thông
SM0
SM1
Chế độ
Khung dữ liệu
Tốc độ Baud
0
0
0
8-bit Shift Register
Oscillator/12
0
1
1
8-bit UART
Cài đặt bởi timer 1(*)
1
0
2
9-bit UART
Oscillator/64(*)
1
1
3
9-bit UART
Cài đặt bởi timer 1(*)
Giới thiêu về Vi điều khiển 89C51
AT 89C51 là họ vi xử lý do hãng Intel sản xuất. Các sản phẩm AT89C51 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những tập lệnh số học 8 bit gồm cả lệnh nhân và chia. Nó cung cấp những hỗ trợ mở rộng trên chip dùng cho những biến 1 bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra từng bit trực tiếp trong hệ thống điều khiển.
AT89C51 cung cấp những đặc tính chuẩn như : 4 Kbyte bộ nhớ chỉ đọc có thế xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIME/COUNTER 16 Bit, 5 vecto ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.
Các đặc điểm của chip AT89C51 được tóm tắt như sau :
4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xóa
Tần số hoạt động từ: 0Hz đến 24MHz
3 mức khóa bộ nhớ lập trình
2 bộ Timer/counter 16 bit
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit.
Giao tiếp nối tiếp
64KB vùng nhớ mã ngoài
64KB vùng nhớ dữ liệu ngoại
4µs cho hoạt động nhân hoặc chia
Chương 3: CHUẨN RS232
Giới thiệu
Được xây dựng phục vụ chủ yếu trong việc ghép nối điểm – điểm giữa hai thiết bị đầu cuối (DTE, Data Terminal Equipment).mặc dù tính năng hạn chế nhưng chuẩn RS232 có từ lâu đời nhất vì thế nên nó được sử dụng rộng rãi. Ngày nay mỗi máy tính cá nhân có vài cổng RS232( cổng com) có thể sử dụng nối các thiết bị ngoại vi hoặc với các máy tính khác.
Ưu điểm của giao diện nối tiếp RS232+ Khả năng chống nhiễu của các cổng nối tiếp cao+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
3. Những đặc điểm cần lưu ý trong chuẩn RS232+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-15V. Hiện nay đang được cố định trở kháng tải trong phạm vi từ-7000Ω- 3000Ω+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -15V, mức logic 0
từ -3V đến 15V+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)+ Các lối vào phải có điện dung nhỏ hơn 2500pF+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
+ Các giá trị tốc độ truyền dữ liệu chuẩn : 50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400....56600,115200 bps
Quá trình dữ liệu
Quátrình truyền dữ liệu
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the . Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng.
b) Tốc độ Baud
Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau
( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200, Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền.
c) Bit chẵn lẻ hay Parity bit
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xungthêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ.Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1" được gửi trongmột khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9... Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi.
IC MAX232
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Max232 là IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp trong đó hai kênh truyền cho chuẩn RS232. Dòng tín hiệu được thiết kế cho chuẩn RS232 . Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện ( hình như là 15KV). Ngoài ra Max232 còn được thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ.
Chương IV: LED BẢY THANH
Giới thiêu chung led 7 thanh
LED 7 thanh được dùng nhiều trong các mạch hiện thị thông báo, hiện thị số, kí tự đơn giản... LED 7 được cấu tạo từ các LED đơn sắp xếp theo các thanh nét để có thể biểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và A đến F chả hạn. LED 7 thanh dùng để hiện số thì rất đẹp và dễ nhìn. Tùy vào kích thước của số và kí tự mà mỗi thanh được cấu tạo bởi một hay nhiều LED đơn. Các LED đơn đó được ghép và được đặt tên bằng các chữ cái a...g và có một dấu chấm dot ( dấu chấm này có thể sáng và tắt tùy theo yêu cầu) được cấu tạo bởi 1 LED đơn. Qua đó người ta chỉ cần 8 bit tương ứng với 8 LED đơn để điều khiển được và hiện thị số từ 0 đến 9 và các kí tự từ A đến F.
Ở trên là hình dạng LED7 ngoài thực tế và trong mạch nguyên lý và cấu tạo.
Cấu tạo của LED chúng ta nhìn trên rất đơn giản chúng chỉ gồm các LED đơn được xếp lại với nhau thành hình như trên hình vẽ. Các LED đơn này chỉ chung nhau Anot hoặc Katot và riêng nhau các chân con lại Anot hặc Katot. Nhiệm vụ của chúng ta là cho sáng các LED đơn đó để cho nó thành số hay kí tự đơn giản.
Hiện nay LED 7 được sản xuất theo 2 kiểu là Anot chung và Katot chung và được điều khiển làm việc tương tự như bơm dòng hay nuốt dòng của các LED đơn có trong LED7 (Thường hay thiết kế theo kiểu bơm dòng cho LED). Thông thường trong các mạch thiết kế thực tế người thiết kế thường hay sử dụng loại Anot chung. Phương pháp ghép nối là cấp dòng, đảo trạng thái thông qua đệm và quét LED
Ghép nối led 7 thanh
Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký tự mong muốn.Các ICs điều khiển đều khó khả năng sinh dòng kém tức là dòng đầu ra của các chân ICs nhỏ hơn khả năng nuốt dòng. Do vậy, nếu ghép nối trực tiếp các net với các chân cổng IC thì loại Anode chung là thích hợp hơn cả. Cần phải chú ý dòng dồn về ICs quá mức chịu được thì cũng không được vì làm nóng và dei ICs điều khiển
* 2 cách ghép nối thường dùng:
+ Cách 1 : Dùng trực tiếp các chân điều khiển (vi xử lý)
Đối với cách này thì nhìn thì rất tốn chân của vi xử lý. Và dòng của LED sẽ dồn tất cả về vi xử lý. Nếu một hệ thống lớn thì cách này không ổn vì ảnh hưởng đến vi xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn tới chết ( chúng ta tưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ các chân vi xử lý mà tất cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì lúc đó dòng trong 1 thời điểm khá lớn vượt quá ngưỡng cho phép của vi xử lý.
Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ). Các này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản như hiện thị LED, đếm số từ 0 đến 9 ... chả hạn.
+ Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh
Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7. Đối với cách này thì trông rất ổn. Vừa tiếp kiệm được chân vi xử lý và tránh được dòng dồn về vi xử lý (dòng ở đây được dồn về 7447). Đây là cách mà người thiết kế thường dùng trong các hệ thống cần đến hiện thị.
Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị các giá trị số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A đến F trong hệ thống để báo trạng thái của hệ thống. Các giá trị hiện thị bao gồm nhiều chữ số tức là chúng ta phải dùng đến nhiều LED7 ghép lại thì mới hiện thị được nhiều số. Ví dụ như muốn hiện thị số 123 chả hạn thì chúng ta phải dùng đến 3 LED 7 thanh ghép lại.
Như vậy để ghép nhiều LED 7 thanh thay vì chung ta phải dùng 8 chân riêng rẽ cho mỗi LED. Ví dụ để hiện thị được 3 chữ số lên LED 7 (123 chả hạn) khi đó ta sẽ mất 3x8 = 24 chân dữ liệu điều khiển để hiện thị được 3 chữ số. Như vậy sẽ rất tốn chân vi xử lý, do vậy người ta dùng chung các đường dữ liệu cho các LED 7 thanh và thiết kế thêm các tín hiệu điều khiển cấp nguồn riêng rẽ cho từng LED 7 một hay là cấp nguồn cho các chân Anot chung hay Katot chung. Nhìn trên sơ đồ trên ta thấy được kiểu ghép nối giữa các LED. Các đường dữ liệu vào của 3 LED được chung với nhau và các chân điều khiển nguồn cho các LED được riêng rẽ và được điều khiển bằng transitor ( khuếch đại dòng). Như vậy đối với mạch trên chúng ta tiếp kiệm được nhiều chân vi xử lý. Đối với mạch trên và cách ghép nối như trên thì mất tối đa chỉ có 11 chân vi xử lý.
8 chân dữ liệu của LED 7 được chung nhau và chung được ghép nối qua 2 cách : Thứ nhất dùng vào trực tiếp các chân vi xử lý và thứ 2 là qua các IC đệm hay IC giải mã...Nhưng trong thiết kế không mấy khi người ta cho trực tiếp các chân dữ liệu đó vào trực tiếp vi xử lý mà người ta phải cho qua các IC đệm hay giải mã đối với hệ thống lớn. Chỉ những mạch đơn giản người ta mới cho vào trực tiếp vi xử lý.Thông thường người ta dùng thêm các IC đệm hay giải mã như ULN2803, 74LS47
Đối với phương pháp ghép LED như thế này thì làm sao điều khiển được hiện thị số 123 chả hạn. Nếu chúng ta mới nhìn thì sẽ thấy các LED 7 sẽ hiện thị giống nhau vì chúng chung nhau đường dữ liệu. Nhưng không phải là vậy. Nếu chung ta cho từng thời điểm từng LED sáng 1 thì chúng ta sẽ thấy khác đó. Số 123 sẽ được hiện thị lên 3 LED đó. Đó là thuật toán quét LED dựa vào hiện tượng lưu ảnh trong mắt khi chúng ta quét với tần số lớn.
Như vậy đối với phương pháp này chúng ta tiếp kiệm được một số lượng lớn chân vi xử lý và đồng thời tiếp kiệm được năng lượng tiêu thụ do phương pháp quét LED trong thời gian ngắn. Khi đó tối đa trong 1 thời điểm có 1 LED sáng toàn bộ thôi. Cần phải tính toán giá trị dòng vào cho LED sao cho LED sáng đẹp bằng cách thêm bớt điện trở.
CHƯƠNG 5: CẢM BIẾN NHIỆT LM35 VÀ IC ADC0808
Giới thiệu về cảm biến nhiệt độ LM35
LM35 là cảm biến nhiệt độ bán dẫn thông dụng của hãng National Semiconductor .
Đặc tính của LM35 :
Chuẩn hóa theo thang đo nhiệt đọ Cesius
Đầu ra tuyến tính 10mV/1độC
Dải nhiệt độ đo được từ -55 tới 150 độ tùy theo kiểu đóng vỏ
Dòng tiêu thụ rất nhỏ cỡ 60uA, nên nhiệt tự tỏa rất nhỏ hầu như không ảnh hưởng đến kết quả đo.
Sai số nhỏ , chỉ khoảng 0.5độ C
Giới thiệu về ADC0808
Bộ adc0808 là ic cmos tích hợp 8 bộ chuyển đổi tương tự số 8 bít. Bộ chọn kênh được giải mã qua 3 chân điều khiển tương tích
Với :
IN0 tới IN7 : 8 ngõ đầu vào tương tự
DDR A,B,C : là 3 chân giải mã chọn 1 trong 8 ngõ vào
Z1 tới Z8 : ngõ ra song song 8 bit
ALE : Cho phép chốt yêu cầu
START : xung bắt đầu chuyển đổi
CLK : xung dao dộng cho quá trình biến đổi A-D
OE : Cho phép dữ liệu đầu ra
Ref+/- : Chân tham chiếu điện áp
Các đặc tính của ADC0808 :
Độ phân giải 8 bít
Thời gian chuyển đổi nhanh : tần số 100us tới 640kHz
Nguồn nuôi 5V
Ngõ vào điện áp 0-5V
Nhiệt độ hoạt động -10 tới 85 độ C
Cấu trúc bên trong ADC0808
Bảng chọn kênh :
Giản đồ xung hoạt động của ADC0808
Mạch dao động :
Sử dụng mạch dao động cổng NOT để tạo ra dao động f = 640Khz
Vcc
560P
10K
IK
IK
Tần số của mạch dao động : f = 1/(3RC)
Loa cảnh báo: loa cảnh báo được ghép nối với bộ vi điều khiển để khi có sự sai lệnh giữa giá trị đo và giá trị đặt thì hệ thống sẽ cảnh báo ra loa giúp khắc phục sự cố và giảm tổn thất.
PHẦN 2: NỘI DUNG THIẾT KẾ
Sơ đồ nguyên lý
Phân tích mạch :
Cảm biến nhiệt LM35 được nối với đầu vào IN0 tương ứng với chân chọn địa chỉ đầu vào ADD A = ADD B = ADD C = 0;
Đầu ra số của ADC0808 được nối với Port 1 của 8051 .
Vì cảm biến LM35 làm loại LM35DZ với dải nhiệt độ max là 128 độ C nên giá trị điện áp max là 1.28V tương ứng với giá trị số đầu ra là 255.= > cần đưa điện áp tham chiếu Vref(+) = 1.28V, Vref(-) = 0.
Nguồn xung chuyển đổi clock với tần số 640Khz .
Khối hiển được nối với port P0 và được hiển thị theo phương pháp quét a not.
Hoạt động
Ta đặt cho hệ thống trong dải đo từ 150C đến 400C nếu hệ thống đo được trong khoảng này và báo về bộ xử lý thì sẽ không có hiện tượng gì xảy ra, khi hệ thống đo đo được giá trị ngoài khoảng này thì hệ thống sẽ xử lý và đưa ra cảnh báo ở ngoài loa, nếu hệ thống đang hoạt động mà ấn stop thì giá trị đo được sẽ được lưu lại cho lần đo tiếp theo.
Việc đo và tính toán được thực hiện qua các thiết bị như cảm biến các con IC, các transistor và loa cảnh báo, cùng một số thiết bị khác
Chương trình
C:0x0800 020954 LJMP C:0954
C?FPDIV:
C:0x0803 EC MOV A,R4
C:0x0804 5D ANL A,R5
C:0x0805 04 INC A
C:0x0806 6005 JZ C:080D
C:0x0808 E8 MOV A,R0
C:0x0809 59 ANL A,R1
C:0x080A 04 INC A
C:0x080B 7003 JNZ C:0810
C:0x080D 02094A LJMP C:094A
C:0x0810 120915 LCALL C:0915
C:0x0813 58 ANL A,R0
C:0x0814 04 INC A
C:0x0815 60F6 JZ C:080D
C:0x0817 EC MOV A,R4
C:0x0818 48 ORL A,R0
C:0x0819 60F2 JZ C:080D
C:0x081B EC MOV A,R4
C:0x081C 7004 JNZ C:0822
C:0x081E FD MOV R5,A
C:0x081F FE MOV R6,A
C:0x0820 FF MOV R7,A
C:0x0821 22 RET
C:0x0822 C8 XCH A,R0
C:0x0823 60DB JZ C:0800
C:0x0825 2481 ADD A,#SP(0x81)
C:0x0827 C8 XCH A,R0
C:0x0828 5009 JNC C:0833
C:0x082A C3 CLR C
C:0x082B 98 SUBB A,R0
C:0x082C 6002 JZ C:0830
C:0x082E 5006 JNC C:0836
C:0x0830 020951 LJMP C:0951
C:0x0833 98 SUBB A,R0
C:0x0834 50CA JNC C:0800
C:0x0836 F582 MOV DPL(0x82),A
C:0x0838 E9 MOV A,R1
C:0x0839 29 ADD A,R1
C:0x083A 4B ORL A,R3
C:0x083B 4A ORL A,R2
C:0x083C 7005 JNZ C:0843
C:0x083E AB82 MOV R3,DPL(0x82)
C:0x0840 020940 LJMP C:0940
C:0x0843 75F000 MOV B(0xF0),#0x00
C:0x0846 7C1A MOV R4,#kq(0x1A)
C:0x0848 7880 MOV R0,#P0(0x80)
C:0x084A C3 CLR C
C:0x084B EF MOV A,R7
C:0x084C 9B SUBB A,R3
C:0x084D EE MOV A,R6
C:0x084E 9A SUBB A,R2
C:0x084F ED MOV A,R5
C:0x0850 99 SUBB A,R1
C:0x0851 400D JC C:0860
C:0x0853 C3 CLR C
C:0x0854 EF MOV A,R7
C:0x0855 9B SUBB A,R3
C:0x0856 FF MOV R7,A
C:0x0857 EE MOV A,R6
C:0x0858 9A SUBB A,R2
C:0x0859 FE MOV R6,A
C:0x085A ED MOV A,R5
C:0x085B 99 SUBB A,R1
C:0x085C FD MOV R5,A
C:0x085D E8 MOV A,R0
C:0x085E 42F0 ORL B(0xF0),A
C:0x0860 DC23 DJNZ R4,C:0885
C:0x0862 ACF0 MOV R4,B(0xF0)
C:0x0864 D0E0 POP ACC(0xE0)
C:0x0866 FF MOV R7,A
C:0x0867 D0E0 POP ACC(0xE0)
C:0x0869 FE MOV R6,A
C:0x086A D0E0 POP ACC(0xE0)
C:0x086C FD MOV R5,A
C:0x086D AB82 MOV R3,DPL(0x82)
C:0x086F 20E710 JB 0xE0.7,C:0882
C:0x0872 1B DEC R3
C:0x0873 EB MOV A,R3
C:0x0874 60BA JZ C:0830
C:0x0876 EC MOV A,R4
C:0x0877 2C ADD A,R4
C:0x0878 FC MOV R4,A
C:0x0879 EF MOV A,R7
C:0x087A 33 RLC A
C:0x087B FF MOV R7,A
C:0x087C EE MOV A,R6
C:0x087D 33 RLC A
C:0x087E FE MOV R6,A
C:0x087F ED MOV A,R5
C:0x0880 33 RLC A
C:0x0881 FD MOV R5,A
C:0x0882 02092C LJMP C:092C
C:0x0885 E8 MOV A,R0
C:0x0886 03 RR A
C:0x0887 F8 MOV R0,A
C:0x0888 30E705 JNB 0xE0.7,C:0890
C:0x088B C0F0 PUSH B(0xF0)
C:0x088D 75F000 MOV B(0xF0),#0x00
C:0x0890 EF MOV A,R7
C:0x0891 2F ADD A,R7
C:0x0892 FF MOV R7,A
C:0x0893 EE MOV A,R6
C:0x0894 33 RLC A
C:0x0895 FE MOV R6,A
C:0x0896 ED MOV A,R5
C:0x0897 33 RLC A
C:0x0898 FD MOV R5,A
C:0x0899 40B8 JC C:0853
C:0x089B 30E7C2 JNB 0xE0.7,C:0860
C:0x089E 80AA SJMP C:084A
C?FCASTL:
C:0x08A0 75F020 MOV B(0xF0),#0x20
C:0x08A3 800E SJMP C:08B3
C?FCASTI:
C:0x08A5 75F010 MOV B(0xF0),#0x10
C:0x08A8 8005 SJMP C:08AF
C?FCASTC:
C:0x08AA 75F008 MOV B(0xF0),#0x08
C:0x08AD 7D00 MOV R5,#0x00
C:0x08AF 7E00 MOV R6,#0x00
C:0x08B1 7F00 MOV R7,#0x00
C:0x08B3 33 RLC A
C:0x08B4 92D5 MOV F0(0xD0.5),C
C:0x08B6 30D503 JNB F0(0xD0.5),C:08BC
C:0x08B9 120AAA LCALL C?LNEG(C:0AAA)
C:0x08BC EC MOV A,R4
C:0x08BD 33 RLC A
C:0x08BE 4010 JC C:08D0
C:0x08C0 EF MOV A,R7
C:0x08C1 33 RLC A
C:0x08C2 FF MOV R7,A
C:0x08C3 EE MOV A,R6
C:0x08C4 33 RLC A
C:0x08C5 FE MOV R6,A
C:0x08C6 ED MOV A,R5
C:0x08C7 33 RLC A
C:0x08C8 FD MOV R5,A
C:0x08C9 EC MOV A,R4
C:0x08CA 33 RLC A
C:0x08CB FC MOV R4,A
C:0x08CC D5F0ED DJNZ B(0xF0),C:08BC
C:0x08CF 22 RET
C:0x08D0 E5F0 MOV A,B(0xF0)
C:0x08D2 247E ADD A,#0x7E
C:0x08D4 A2D5 MOV C,F0(0xD0.5)
C:0x08D6 13 RRC A
C:0x08D7 CC XCH A,R4
C:0x08D8 92E7 MOV 0xE0.7,C
C:0x08DA CD XCH A,R5
C:0x08DB CE XCH A,R6
C:0x08DC FF MOV R7,A
C:0x08DD 22 RET
C?CASTF:
C:0x08DE ED MOV A,R5
C:0x08DF D2E7 SETB 0xE0.7
C:0x08E1 CD XCH A,R5
C:0x08E2 33 RLC A
C:0x08E3 EC MOV A,R4
C:0x08E4 33 RLC A
C:0x08E5 92D5 MOV F0(0xD0.5),C
C:0x08E7 2481 ADD A,#SP(0x81)
C:0x08E9 4006 JC C:08F1
C:0x08EB E4 CLR A
C:0x08EC FF MOV R7,A
C:0x08ED FE MOV R6,A
C:0x08EE FD MOV R5,A
C:0x08EF FC MOV R4,A
C:0x08F0 22 RET
C:0x08F1 FC MOV R4,A
C:0x08F2 E4 CLR A
C:0x08F3 CF XCH A,R7
C:0x08F4 CE XCH A,R6
C:0x08F5 CD XCH A,R5
C:0x08F6 CC XCH A,R4
C:0x08F7 24E0 ADD A,#ACC(0xE0)
C:0x08F9 5011 JNC C:090C
C:0x08FB 74FF MOV A,#0xFF
C:0x08FD 80ED SJMP C:08EC
C:0x08FF C3 CLR C
C:0x0900 CC XCH A,R4
C:0x0901 13 RRC A
C:0x0902 CC XCH A,R4
C:0x0903 CD XCH A,R5
C:0x0904 13 RRC A
C:0x0905 CD XCH A,R5
C:0x0906 CE XCH A,R6
C:0x0907 13 RRC A
C:0x0908 CE XCH A,R6
C:0x0909 CF XCH A,R7
C:0x090A 13 RRC A
C:0x090B CF XCH A,R7
C:0x090C 04 INC A
C:0x090D 70F0 JNZ C:08FF
C:0x090F 30D5DE JNB F0(0xD0.5),C:08F0
C:0x0912 020AAA LJMP C?LNEG(C:0AAA)
C:0x0915 E9 MOV A,R1
C:0x0916 D2E7 SETB 0xE0.7
C:0x0918 C9 XCH A,R1
C:0x0919 33 RLC A
C:0x091A E8 MOV A,R0
C:0x091B 33 RLC A
C:0x091C F8 MOV R0,A
C:0x091D 92D5 MOV F0(0xD0.5),C
C:0x091F ED MOV A,R5
C:0x0920 D2E7 SETB 0xE0.7
C:0x0922 CD XCH A,R5
C:0x0923 33 RLC A
C:0x0924 EC MOV A,R4
C:0x0925 33 RLC A
C:0x0926 FC MOV R4,A
C:0x0927 5002 JNC C:092B
C:0x0929 B2D5 CPL F0(0xD0.5)
C:0x092B 22 RET
C:0x092C EC MOV A,R4
C:0x092D 30E710 JNB 0xE0.7,C:0940
C:0x0930 0F INC R7
C:0x0931 BF000C CJNE R7,#0x00,C:0940
C:0x0934 0E INC R6
C:0x0935 BE0008 CJNE R6,#0x00,C:0940
C:0x0938 0D INC R5
C:0x0939 BD0004 CJNE R5,#0x00,C:0940
C:0x093C 0B INC R3
C:0x093D EB MOV A,R3
C:0x093E 6014 JZ C:0954
C:0x0940 A2D5 MOV C,F0(0xD0.5)
C:0x0942 EB MOV A,R3
C:0x0943 13 RRC A
C:0x0944 FC MOV R4,A
C:0x0945 ED MOV A,R5
C:0x0946 92E7 MOV 0xE0.7,C
C:0x0948 FD MOV R5,A
C:0x0949 22 RET
C:0x094A 74FF MOV A,#0xFF
C:0x094C FC MOV R4,A
C:0x094D FD MOV R5,A
C:0x094E FE MOV R6,A
C:0x094F FF MOV R7,A
C:0x0950 22 RET
C:0x0951 E4 CLR A
C:0x0952 80F8 SJMP C:094C
C:0x0954 A2D5 MOV C,F0(0xD0.5)
C:0x0956 74FF MOV A,#0xFF
C:0x0958 13 RRC A
C:0x0959 FC MOV R4,A
C:0x095A 7D80 MOV R5,#P0(0x80)
C:0x095C E4 CLR A
C:0x095D 80EF SJMP C:094E
C:0x095F E7 MOV A,@R1
C:0x0960 09 INC R1
C:0x0961 F6 MOV @R0,A
C:0x0962 08 INC R0
C:0x0963 DFFA DJNZ R7,C:095F
C:0x0965 8046 SJMP C:09AD
C:0x0967 E7 MOV A,@R1
C:0x0968 09 INC R1
C:0x0969 F2 MOVX @R0,A
C:0x096A 08 INC R0
C:0x096B DFFA DJNZ R7,C:0967
C:0x096D 803E SJMP C:09AD
C:0x096F 8882 MOV DPL(0x82),R0
C:0x0971 8C83 MOV DPH(0x83),R4
C:0x0973 E7 MOV A,@R1
C:0x0974 09 INC R1
C:0x0975 F0 MOVX @DPTR,A
C:0x0976 A3 INC DPTR
C:0x0977 DFFA DJNZ R7,C:0973
C:0x0979 8032 SJMP C:09AD
C:0x097B E3 MOVX A,@R1
C:0x097C 09 INC R1
C:0x097D F6 MOV @R0,A
C:0x097E 08 INC R0
C:0x097F DFFA DJNZ R7,C:097B
C:0x0981 8078 SJMP C:09FB
C:0x0983 E3 MOVX A,@R1
C:0x0984 09 INC R1
C:0x0985 F2 MOVX @R0,A
C:0x0986 08 INC R0
C:0x0987 DFFA DJNZ R7,C:0983
C:0x0989 8070 SJMP C:09FB
C:0x098B 8882 MOV DPL(0x82),R0
C:0x098D 8C83 MOV DPH(0x83),R4
C:0x098F E3 MOVX A,@R1
C:0x0990 09 INC R1
C:0x0991 F0 MOVX @DPTR,A
C:0x0992 A3 INC DPTR
C:0x0993 DFFA DJNZ R7,C:098F
C:0x0995 8064 SJMP C:09FB
C:0x0997 8982 MOV DPL(0x82),R1
C:0x0999 8A83 MOV DPH(0x83),R2
C:0x099B E0 MOVX A,@DPTR
C:0x099C A3 INC DPTR
C:0x099D F6 MOV @R0,A
C:0x099E 08 INC R0
C:0x099F DFFA DJNZ R7,C:099B
C:0x09A1 8058 SJMP C:09FB
C:0x09A3 8982 MOV DPL(0x82),R1
C:0x09A5 8A83 MOV DPH(0x83),R2
C:0x09A7 E0 MOVX A,@DPTR
C:0x09A8 A3 INC DPTR
C:0x09A9 F2 MOVX @R0,A
C:0x09AA 08 INC R0
C:0x09AB DFFA DJNZ R7,C:09A7
C:0x09AD 804C SJMP C:09FB
C:0x09AF 80D2 SJMP C:0983
C:0x09B1 80FA SJMP C:09AD
C:0x09B3 80C6 SJMP C:097B
C:0x09B5 80D4 SJMP C:098B
C:0x09B7 8069 SJMP C:0A22
C:0x09B9 80F2 SJMP C:09AD
C:0x09BB 8033 SJMP C:09F0
C:0x09BD 8010 SJMP C:09CF
C:0x09BF 80A6 SJMP C:0967
C:0x09C1 80EA SJMP C:09AD
C:0x09C3 809A SJMP C:095F
C:0x09C5 80A8 SJMP C:096F
C:0x09C7 80DA SJMP C:09A3
C:0x09C9 80E2 SJMP C:09AD
C:0x09CB 80CA SJMP C:0997
C:0x09CD 8033 SJMP C:0A02
C:0x09CF 8982 MOV DPL(0x82),R1
C:0x09D1 8A83 MOV DPH(0x83),R2
C:0x09D3 EC MOV A,R4
C:0x09D4 FA MOV R2,A
C:0x09D5 E4 CLR A
C:0x09D6 93 MOVC A,@A+DPTR
C:0x09D7 A3 INC DPTR
C:0x09D8 C8 XCH A,R0
C:0x09D9 C582 XCH A,DPL(0x82)
C:0x09DB C8 XCH A,R0
C:0x09DC CC XCH A,R4
C:0x09DD C583 XCH A,DPH(0x83)
C:0x09DF CC XCH A,R4
C:0x09E0 F0 MOVX @DPTR,A
C:0x09E1 A3 INC DPTR
C:0x09E2 C8 XCH A,R0
C:0x09E3 C582 XCH A,DPL(0x82)
C:0x09E5 C8 XCH A,R0
C:0x09E6 CC XCH A,R4
C:0x09E7 C583 XCH A,DPH(0x83)
C:0x09E9 CC XCH A,R4
C:0x09EA DFE9 DJNZ R7,C:09D5
C:0x09EC DEE7 DJNZ R6,C:09D5
C:0x09EE 800D SJMP C:09FD
C:0x09F0 8982 MOV DPL(0x82),R1
C:0x09F2 8A83 MOV DPH(0x83),R2
C:0x09F4 E4 CLR A
C:0x09F5 93 MOVC A,@A+DPTR
C:0x09F6 A3 INC DPTR
C:0x09F7 F6 MOV @R0,A
C:0x09F8 08 INC R0
C:0x09F9 DFF9 DJNZ R7,C:09F4
C:0x09FB EC MOV A,R4
C:0x09FC FA MOV R2,A
C:0x09FD A9F0 MOV R1,B(0xF0)
C:0x09FF ED MOV A,R5
C:0x0A00 FB MOV R3,A
C:0x0A01 22 RET
C:0x0A02 8982 MOV DPL(0x82),R1
C:0x0A04 8A83 MOV DPH(0x83),R2
C:0x0A06 EC MOV A,R4
C:0x0A07 FA MOV R2,A
C:0x0A08 E0 MOVX A,@DPTR
C:0x0A09 A3 INC DPTR
C:0x0A0A C8 XCH A,R0
C:0x0A0B C582 XCH A,DPL(0x82)
C:0x0A0D C8 XCH A,R0
C:0x0A0E CC XCH A,R4
C:0x0A0F C583 XCH A,DPH(0x83)
C:0x0A11 CC XCH A,R4
C:0x0A12 F0 MOVX @DPTR,A
C:0x0A13 A3 INC DPTR
C:0x0A14 C8 XCH A,R0
C:0x0A15 C582 XCH A,DPL(0x82)
C:0x0A17 C8 XCH A,R0
C:0x0A18 CC XCH A,R4
C:0x0A19 C583 XCH A,DPH(0x83)
C:0x0A1B CC XCH A,R4
C:0x0A1C DFEA DJNZ R7,C:0A08
C:0x0A1E DEE8 DJNZ R6,C:0A08
C:0x0A20 80DB SJMP C:09FD
C:0x0A22 8982 MOV DPL(0x82),R1
C:0x0A24 8A83 MOV DPH(0x83),R2
C:0x0A26 E4 CLR A
C:0x0A27 93 MOVC A,@A+DPTR
C:0x0A28 A3 INC DPTR
C:0x0A29 F2 MOVX @R0,A
C:0x0A2A 08 INC R0
C:0x0A2B DFF9 DJNZ R7,C:0A26
C:0x0A2D 80CC SJMP C:09FB
C?COPY:
C:0x0A2F 88F0 MOV B(0xF0),R0
C:0x0A31 EF MOV A,R7
C:0x0A32 6001 JZ C:0A35
C:0x0A34 0E INC R6
C:0x0A35 4E ORL A,R6
C:0x0A36 60C3 JZ C:09FB
C:0x0A38 88F0 MOV B(0xF0),R0
C:0x0A3A ED MOV A,R5
C:0x0A3B 2402 ADD A,#0x02
C:0x0A3D B40400 CJNE A,#0x04,C:0A40
C:0x0A40 50B9 JNC C:09FB
C:0x0A42 F582 MOV DPL(0x82),A
C:0x0A44 EB MOV A,R3
C:0x0A45 2402 ADD A,#0x02
C:0x0A47 B40400 CJNE A,#0x04,C:0A4A
C:0x0A4A 50AF JNC C:09FB
C:0x0A4C 23 RL A
C:0x0A4D 23 RL A
C:0x0A4E 4582 ORL A,DPL(0x82)
C:0x0A50 23 RL A
C:0x0A51 9009AF MOV DPTR,#0x09AF
C:0x0A54 73 JMP @A+DPTR
C?UIDIV:
C:0x0A55 BC000B CJNE R4,#0x00,C:0A63
C:0x0A58 BE0029 CJNE R6,#0x00,C:0A84
C:0x0A5B EF MOV A,R7
C:0x0A5C 8DF0 MOV B(0xF0),R5
C:0x0A5E 84 DIV AB
C:0x0A5F FF MOV R7,A
C:0x0A60 ADF0 MOV R5,B(0xF0)
C:0x0A62 22 RET
C:0x0A63 E4 CLR A
C:0x0A64 CC XCH A,R4
C:0x0A65 F8 MOV R0,A
C:0x0A66 75F008 MOV B(0xF0),#0x08
C:0x0A69 EF MOV A,R7
C:0x0A6A 2F ADD A,R7
C:0x0A6B FF MOV R7,A
C:0x0A6C EE MOV A,R6
C:0x0A6D 33 RLC A
C:0x0A6E FE MOV R6,A
C:0x0A6F EC MOV A,R4
C:0x0A70 33 RLC A
C:0x0A71 FC MOV R4,A
C:0x0A72 EE MOV A,R6
C:0x0A73 9D SUBB A,R5
C:0x0A74 EC MOV A,R4
C:0x0A75 98 SUBB A,R0
C:0x0A76 4005 JC C:0A7D
C:0x0A78 FC MOV R4,A
C:0x0A79 EE MOV A,R6
C:0x0A7A 9D SUBB A,R5
C:0x0A7B FE MOV R6,A
C:0x0A7C 0F INC R7
C:0x0A7D D5F0E9 DJNZ B(0xF0),C:0A69
C:0x0A80 E4 CLR A
C:0x0A81 CE XCH A,R6
C:0x0A82 FD MOV R5,A
C:0x0A83 22 RET
C:0x0A84 ED MOV A,R5
C:0x0A85 F8 MOV R0,A
C:0x0A86 F5F0 MOV B(0xF0),A
C:0x0A88 EE MOV A,R6
C:0x0A89 84 DIV AB
C:0x0A8A 20D21C JB OV(0xD0.2),C:0AA9
C:0x0A8D FE MOV R6,A
C:0x0A8E ADF0 MOV R5,B(0xF0)
C:0x0A90 75F008 MOV B(0xF0),#0x08
C:0x0A93 EF MOV A,R7
C:0x0A94 2F ADD A,R7
C:0x0A95 FF MOV R7,A
C:0x0A96 ED MOV A,R5
C:0x0A97 33 RLC A
C:0x0A98 FD MOV R5,A
C:0x0A99 4007 JC C:0AA2
C:0x0A9B 98 SUBB A,R0
C:0x0A9C 5006 JNC C:0AA4
C:0x0A9E D5F0F2 DJNZ B(0xF0),C:0A93
C:0x0AA1 22 RET
C:0x0AA2 C3 CLR C
C:0x0AA3 98 SUBB A,R0
C:0x0AA4 FD MOV R5,A
C:0x0AA5 0F INC R7
C:0x0AA6 D5F0EA DJNZ B(0xF0),C:0A93
C:0x0AA9 22 RET
C?LNEG:
C:0x0AAA C3 CLR C
C:0x0AAB E4 CLR A
C:0x0AAC 9F SUBB A,R7
C:0x0AAD FF MOV R7,A
C:0x0AAE E4 CLR A
C:0x0AAF 9E SUBB A,R6
C:0x0AB0 FE MOV R6,A
C:0x0AB1 E4 CLR A
C:0x0AB2 9D SUBB A,R5
C:0x0AB3 FD MOV R5,A
C:0x0AB4 E4 CLR A
C:0x0AB5 9C SUBB A,R4
C:0x0AB6 FC MOV R4,A
C:0x0AB7 22 RET
Hien_thi_led_7thanh:
C:0x0AB8 8E0D MOV 0x0D,R6
C:0x0ABA 8F0E MOV 0x0E,R7
C:0x0ABC 780F MOV R0,#0x0F
C:0x0ABE 7C00 MOV R4,#0x00
C:0x0AC0 7D00 MOV R5,#0x00
C:0x0AC2 7BFF MOV R3,#0xFF
C:0x0AC4 7A0C MOV R2,#0x0C
C:0x0AC6 79D1 MOV R1,#0xD1
C:0x0AC8 7E00 MOV R6,#0x00
C:0x0ACA 7F0A MOV R7,#0x0A
C:0x0ACC 120A2F LCALL C?COPY(C:0A2F)
C:0x0ACF AE0D MOV R6,0x0D
C:0x0AD1 AF0E MOV R7,0x0E
C:0x0AD3 7C03 MOV R4,#0x03
C:0x0AD5 7DE8 MOV R5,#0xE8
C:0x0AD7 120A55 LCALL C?UIDIV(C:0A55)
C:0x0ADA 8F19 MOV 0x19,R7
C:0x0ADC AE0D MOV R6,0x0D
C:0x0ADE AF0E MOV R7,0x0E
C:0x0AE0 7C03 MOV R4,#0x03
C:0x0AE2 7DE8 MOV R5,#0xE8
C:0x0AE4 120A55 LCALL C?UIDIV(C:0A55)
C:0x0AE7 7E00 MOV R6,#0x00
C:0x0AE9 7F64 MOV R7,#0x64
C:0x0AEB CF XCH A,R7
C:0x0AEC CD XCH A,R5
C:0x0AED CF XCH A,R7
C:0x0AEE CE XCH A,R6
C:0x0AEF CC XCH A,R4
C:0x0AF0 CE XCH A,R6
C:0x0AF1 120A55 LCALL C?UIDIV(C:0A55)
C:0x0AF4 AB07 MOV R3,0x07
C:0x0AF6 AE0D MOV R6,0x0D
C:0x0AF8 AF0E MOV R7,0x0E
C:0x0AFA 7C03 MOV R4,#0x03
C:0x0AFC 7DE8 MOV R5,#0xE8
C:0x0AFE 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B01 7E00 MOV R6,#0x00
C:0x0B03 7F64 MOV R7,#0x64
C:0x0B05 CF XCH A,R7
C:0x0B06 CD XCH A,R5
C:0x0B07 CF XCH A,R7
C:0x0B08 CE XCH A,R6
C:0x0B09 CC XCH A,R4
C:0x0B0A CE XCH A,R6
C:0x0B0B 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B0E 7E00 MOV R6,#0x00
C:0x0B10 7F0A MOV R7,#0x0A
C:0x0B12 CF XCH A,R7
C:0x0B13 CD XCH A,R5
C:0x0B14 CF XCH A,R7
C:0x0B15 CE XCH A,R6
C:0x0B16 CC XCH A,R4
C:0x0B17 CE XCH A,R6
C:0x0B18 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B1B AA07 MOV R2,0x07
C:0x0B1D AE0D MOV R6,0x0D
C:0x0B1F AF0E MOV R7,0x0E
C:0x0B21 7C03 MOV R4,#0x03
C:0x0B23 7DE8 MOV R5,#0xE8
C:0x0B25 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B28 7E00 MOV R6,#0x00
C:0x0B2A 7F64 MOV R7,#0x64
C:0x0B2C CF XCH A,R7
C:0x0B2D CD XCH A,R5
C:0x0B2E CF XCH A,R7
C:0x0B2F CE XCH A,R6
C:0x0B30 CC XCH A,R4
C:0x0B31 CE XCH A,R6
C:0x0B32 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B35 7E00 MOV R6,#0x00
C:0x0B37 7F0A MOV R7,#0x0A
C:0x0B39 CF XCH A,R7
C:0x0B3A CD XCH A,R5
C:0x0B3B CF XCH A,R7
C:0x0B3C CE XCH A,R6
C:0x0B3D CC XCH A,R4
C:0x0B3E CE XCH A,R6
C:0x0B3F 120A55 LCALL C?UIDIV(C:0A55)
C:0x0B42 E4 CLR A
C:0x0B43 F5A0 MOV P2(0xA0),A
C:0x0B45 D2A0 SETB P2_0(0xA0.0)
C:0x0B47 740F MOV A,#0x0F
C:0x0B49 2519 ADD A,0x19
C:0x0B4B 120CB3 LCALL L?0027(C:0CB3)
C:0x0B4E 7580FF MOV P0(0x80),#0xFF
C:0x0B51 E4 CLR A
C:0x0B52 F5A0 MOV P2(0xA0),A
C:0x0B54 D2A1 SETB P2_1(0xA0.1)
C:0x0B56 AF03 MOV R7,0x03
C:0x0B58 120CB0 LCALL L?0026(C:0CB0)
C:0x0B5B 7580FF MOV P0(0x80),#0xFF
C:0x0B5E E4 CLR A
C:0x0B5F F5A0 MOV P2(0xA0),A
C:0x0B61 D2A2 SETB P2_2(0xA0.2)
C:0x0B63 AF02 MOV R7,0x02
C:0x0B65 120CB0 LCALL L?0026(C:0CB0)
C:0x0B68 7580FF MOV P0(0x80),#0xFF
C:0x0B6B E4 CLR A
C:0x0B6C F5A0 MOV P2(0xA0),A
C:0x0B6E D2A3 SETB P2_3(0xA0.3)
C:0x0B70 AF05 MOV R7,0x05
C:0x0B72 120CB0 LCALL L?0026(C:0CB0)
C:0x0B75 7580FF MOV P0(0x80),#0xFF
C:0x0B78 22 RET
C:0x0B79 787F MOV R0,#0x7F
C:0x0B7B E4 CLR A
C:0x0B7C F6 MOV @R0,A
C:0x0B7D D8FD DJNZ R0,C:0B7C
C:0x0B7F 758120 MOV SP(0x81),#0x20
C:0x0B82 020BC0 LJMP C:0BC0
C:0x0B85 020C05 LJMP main(C:0C05)
C:0x0B88 E4 CLR A
C:0x0B89 93 MOVC A,@A+DPTR
C:0x0B8A A3 INC DPTR
C:0x0B8B F8 MOV R0,A
C:0x0B8C E4 CLR A
C:0x0B8D 93 MOVC A,@A+DPTR
C:0x0B8E A3 INC DPTR
C:0x0B8F 4003 JC C:0B94
C:0x0B91 F6 MOV @R0,A
C:0x0B92 8001 SJMP C:0B95
C:0x0B94 F2 MOVX @R0,A
C:0x0B95 08 INC R0
C:0x0B96 DFF4 DJNZ R7,C:0B8C
C:0x0B98 8029 SJMP C:0BC3
C:0x0B9A E4 CLR A
C:0x0B9B 93 MOVC A,@A+DPTR
C:0x0B9C A3 INC DPTR
C:0x0B9D F8 MOV R0,A
C:0x0B9E 5407 ANL A,#0x07
C:0x0BA0 240C ADD A,#0x0C
C:0x0BA2 C8 XCH A,R0
C:0x0BA3 C3 CLR C
C:0x0BA4 33 RLC A
C:0x0BA5 C4 SWAP A
C:0x0BA6 540F ANL A,#0x0F
C:0x0BA8 4420 ORL A,#0x20
C:0x0BAA C8 XCH A,R0
C:0x0BAB 83 MOVC A,@A+PC
C:0x0BAC 4004 JC C:0BB2
C:0x0BAE F4 CPL A
C:0x0BAF 56 ANL A,@R0
C:0x0BB0 8001 SJMP C:0BB3
C:0x0BB2 46 ORL A,@R0
C:0x0BB3 F6 MOV @R0,A
C:0x0BB4 DFE4 DJNZ R7,C:0B9A
C:0x0BB6 800B SJMP C:0BC3
C:0x0BB8 0102 AJMP C:0802
C:0x0BBA 04 INC A
C:0x0BBB 08 INC R0
C:0x0BBC 102040 JBC 0x24.0,C:0BFF
C:0x0BBF 8090 SJMP C:0B51
C:0x0BC1 0C INC R4
C:0x0BC2 DBE4 DJNZ R3,C:0BA8
C:0x0BC4 7E01 MOV R6,#0x01
C:0x0BC6 93 MOVC A,@A+DPTR
C:0x0BC7 60BC JZ C:0B85
C:0x0BC9 A3 INC DPTR
C:0x0BCA FF MOV R7,A
C:0x0BCB 543F ANL A,#0x3F
C:0x0BCD 30E509 JNB 0xE0.5,C:0BD9
C:0x0BD0 541F ANL A,#0x1F
C:0x0BD2 FE MOV R6,A
C:0x0BD3 E4 CLR A
C:0x0BD4 93 MOVC A,@A+DPTR
C:0x0BD5 A3 INC DPTR
C:0x0BD6 6001 JZ C:0BD9
C:0x0BD8 0E INC R6
C:0x0BD9 CF XCH A,R7
C:0x0BDA 54C0 ANL A,#0xC0
C:0x0BDC 25E0 ADD A,ACC(0xE0)
C:0x0BDE 60A8 JZ C:0B88
C:0x0BE0 40B8 JC C:0B9A
C:0x0BE2 E4 CLR A
C:0x0BE3 93 MOVC A,@A+DPTR
C:0x0BE4 A3 INC DPTR
C:0x0BE5 FA MOV R2,A
C:0x0BE6 E4 CLR A
C:0x0BE7 93 MOVC A,@A+DPTR
C:0x0BE8 A3 INC DPTR
C:0x0BE9 F8 MOV R0,A
C:0x0BEA E4 CLR A
C:0x0BEB 93 MOVC A,@A+DPTR
C:0x0BEC A3 INC DPTR
C:0x0BED C8 XCH A,R0
C:0x0BEE C582 XCH A,DPL(0x82)
C:0x0BF0 C8 XCH A,R0
C:0x0BF1 CA XCH A,R2
C:0x0BF2 C583 XCH A,DPH(0x83)
C:0x0BF4 CA XCH A,R2
C:0x0BF5 F0 MOVX @DPTR,A
C:0x0BF6 A3 INC DPTR
C:0x0BF7 C8 XCH A,R0
C:0x0BF8 C582 XCH A,DPL(0x82)
C:0x0BFA C8 XCH A,R0
C:0x0BFB CA XCH A,R2
C:0x0BFC C583 XCH A,DPH(0x83)
C:0x0BFE CA XCH A,R2
C:0x0BFF DFE9 DJNZ R7,C:0BEA
C:0x0C01 DEE7 DJNZ R6,C:0BEA
C:0x0C03 80BE SJMP C:0BC3
main:
C:0x0C05 E4 CLR A
C:0x0C06 F50B MOV 0x0B,A
C:0x0C08 F50A MOV 0x0A,A
C:0x0C0A F509 MOV 0x09,A
C:0x0C0C F508 MOV 0x08,A
C:0x0C0E C2B4 CLR P3_4(0xB0.4)
C:0x0C10 C2B5 CLR P3_5(0xB0.5)
C:0x0C12 C2B0 CLR P3_0(0xB0.0)
C:0x0C14 C2B1 CLR P3_1(0xB0.1)
C:0x0C16 C2B3 CLR P3_3(0xB0.3)
C:0x0C18 120C95 LCALL control_button(C:0C95)
C:0x0C1B 403F JC C:0C5C
C:0x0C1D D2B1 SETB P3_1(0xB0.1)
C:0x0C1F D2B0 SETB P3_0(0xB0.0)
C:0x0C21 7F32 MOV R7,#0x32
C:0x0C23 7E00 MOV R6,#0x00
C:0x0C25 120CC6 LCALL delay(C:0CC6)
C:0x0C28 C2B0 CLR P3_0(0xB0.0)
C:0x0C2A C2B1 CLR P3_1(0xB0.1)
C:0x0C2C 20B2FD JB P3_2(0xB0.2),C:0C2C
C:0x0C2F D2B3 SETB P3_3(0xB0.3)
C:0x0C31 85901A MOV kq(0x1A),P1(0x90)
C:0x0C34 7F32 MOV R7,#0x32
C:0x0C36 7E00 MOV R6,#0x00
C:0x0C38 120CC6 LCALL delay(C:0CC6)
C:0x0C3B C2B3 CLR P3_3(0xB0.3)
C:0x0C3D E51A MOV A,kq(0x1A)
C:0x0C3F 75F080 MOV B(0xF0),#P0(0x80)
C:0x0C42 A4 MUL AB
C:0x0C43 FD MOV R5,A
C:0x0C44 ACF0 MOV R4,B(0xF0)
C:0x0C46 E4 CLR A
C:0x0C47 1208A5 LCALL C?FCASTI(C:08A5)
C:0x0C4A E4 CLR A
C:0x0C4B FB MOV R3,A
C:0x0C4C FA MOV R2,A
C:0x0C4D 7980 MOV R1,#P0(0x80)
C:0x0C4F 7843 MOV R0,#0x43
C:0x0C51 120803 LCALL C?FPDIV(C:0803)
C:0x0C54 8F0B MOV 0x0B,R7
C:0x0C56 8E0A MOV 0x0A,R6
C:0x0C58 8D09 MOV 0x09,R5
C:0x0C5A 8C08 MOV 0x08,R4
C:0x0C5C AF0B MOV R7,0x0B
C:0x0C5E AE0A MOV R6,0x0A
C:0x0C60 AD09 MOV R5,0x09
C:0x0C62 AC08 MOV R4,0x08
C:0x0C64 1208DE LCALL C?CASTF(C:08DE)
C:0x0C67 120AB8 LCALL Hien_thi_led_7thanh(C:0AB8)
C:0x0C6A AF0B MOV R7,0x0B
C:0x0C6C AE0A MOV R6,0x0A
C:0x0C6E AD09 MOV R5,0x09
C:0x0C70 AC08 MOV R4,0x08
C:0x0C72 1208DE LCALL C?CASTF(C:08DE)
C:0x0C75 120C7A LCALL Control_threshold_temperature(C:0C7A)
C:0x0C78 809E SJMP C:0C18
Control_threshold_temperature:
C:0x0C7A EF MOV A,R7
C:0x0C7B C3 CLR C
C:0x0C7C 940F SUBB A,#0x0F
C:0x0C7E 5005 JNC C:0C85
C:0x0C80 C2B4 CLR P3_4(0xB0.4)
C:0x0C82 D2B5 SETB P3_5(0xB0.5)
C:0x0C84 22 RET
C:0x0C85 EF MOV A,R7
C:0x0C86 D3 SETB C
C:0x0C87 9428 SUBB A,#0x28
C:0x0C89 4005 JC C:0C90
C:0x0C8B D2B4 SETB P3_4(0xB0.4)
C:0x0C8D C2B5 CLR P3_5(0xB0.5)
C:0x0C8F 22 RET
C:0x0C90 C2B4 CLR P3_4(0xB0.4)
C:0x0C92 C2B5 CLR P3_5(0xB0.5)
C:0x0C94 22 RET
control_button:
C:0x0C95 20B609 JB P3_6(0xB0.6),C:0CA1
C:0x0C98 7F30 MOV R7,#0x30
C:0x0C9A 7E75 MOV R6,#0x75
C:0x0C9C 120CC6 LCALL delay(C:0CC6)
C:0x0C9F C200 CLR start_pushed(0x20.0)
C:0x0CA1 20B709 JB P3_7(0xB0.7),C:0CAD
C:0x0CA4 7F30 MOV R7,#0x30
C:0x0CA6 7E75 MOV R6,#0x75
C:0x0CA8 120CC6 LCALL delay(C:0CC6)
C:0x0CAB D200 SETB start_pushed(0x20.0)
C:0x0CAD A200 MOV C,start_pushed(0x20.0)
C:0x0CAF 22 RET
L?0026:
C:0x0CB0 740F MOV A,#0x0F
C:0x0CB2 2F ADD A,R7
L?0027:
C:0x0CB3 F8 MOV R0,A
C:0x0CB4 E6 MOV A,@R0
C:0x0CB5 F580 MOV P0(0x80),A
delay_led7seg:
C:0x0CB7 E4 CLR A
C:0x0CB8 FF MOV R7,A
C:0x0CB9 FE MOV R6,A
C:0x0CBA 0F INC R7
C:0x0CBB BF0001 CJNE R7,#0x00,C:0CBF
C:0x0CBE 0E INC R6
C:0x0CBF EF MOV A,R7
C:0x0CC0 6428 XRL A,#0x28
C:0x0CC2 4E ORL A,R6
C:0x0CC3 70F5 JNZ C:0CBA
C:0x0CC5 22 RET
delay:
C:0x0CC6 EF MOV A,R7
C:0x0CC7 1F DEC R7
C:0x0CC8 AC06 MOV R4,0x06
C:0x0CCA 7001 JNZ C:0CCD
C:0x0CCC 1E DEC R6
C:0x0CCD 4C ORL A,R4
C:0x0CCE 70F6 JNZ delay(C:0CC6)
C:0x0CD0 22 RET
ix1000:
C:0x0CD1 C0F9 PUSH 0xF9
C:0x0CD3 A4 MUL AB
C:0x0CD4 B099 ANL C,/TI(0x98.1)
C:0x0CD6 9282 MOV 0x80.2,C
C:0x0CD8 F8 MOV R0,A
C:0x0CD9 8090 SJMP C:0C6B
C:0x0CDB C180 AJMP C:0E80
C:0x0CDD 00 NOP
C:0x0CDE 00 NOP
C:0x0CDF 00 NOP
C:0x0CE0 00 NOP
C:0x0CE1 00 NOP
C:0x0CE2 00 NOP
C:0x0CE3 00 NOP
C:0x0CE4 00 NOP
PHẦN 3: PHẦN KẾT LUẬN
Sau một thời gian làm đồ án, dưới sự hướng dẫn của cô Nguyễn Thu Hà, đến nay, về cơ bản chúng em đã hoàn thành nội dung đồ án môn học này. Do thời gian và trình độ hiểu biết của chúng em có hạn nên không thể tránh khỏi những thiếu sót, những sai phại khi làm bài vậy nên chúng em rất mong được sự chỉ bảo, giúp đỡ của các thầy cô để đồ án này của chúng em được hoàn thiện hơn. Đồng thời giúp chúng em nâng cao trình độ chuyên môn, đáp ứng nhiệm vụ công tác sau này.Em xin chân thành cảm ơn cô giáo Nguyễn Thu Hà đã giúp em hoàn thành đồ án này!
Tài liệu tham khảo:
Giáo trình vi điều khiển
Giáo trình khí cụ điện
Hướng dẫn lập trinh vi xư lý
Lời nhận xét của thầy cô:
…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Các file đính kèm theo tài liệu này:
- bai_tap_lon_vi_xu_ly_843.docx