Tải bản đầy đủ (.docx) (28 trang)

Báo cáo bài tập lớn môn kĩ thuật vi xử lý tên đề tài đồng hồ thể thao cờ vua, cờ tướng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (589.68 KB, 28 trang )

ĐẠI HỌC GIAO THƠNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH
KHOA : ĐIỆN – ĐIỆN TỬ VIỄN THÔNG


BÁO CÁO BÀI TẬP LỚN
MÔN KĨ THUẬT VI XỬ LÝ

Tên đề tài
ĐỒNG HỒ THỂ THAO CỜ VUA, CỜ TƯỚNG
Giáo viên hướng dẫn :
Lớp :

Nguyễn Minh Hiếu
TD17B

1


LỜI NÓI ĐẦU
Sự ra đời của các bộ vi xử lí nói chung, các bộ vi điều khiển nói riêng đã tạo ra
một bước ngoặt lớn trong việc thiết kế các hệ thống xử lí thơng tin, đo lường điều
khiển và truyền thông. Kết quả là đã tạo ra được những sản phẩm như máy ảnh số,
máy chơi nhạc MP3, đầu đĩa DVD, các bộ biến tần, PLC…ngày càng rẻ hơn, nhỏ gọn
hơn, thông minh hơn và tiện dụng hơn.
Hơn nữa, kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào
rất nhiều lĩnh vực sản xuất cơng nghiệp, tự động hóa, trong đời sống và còn nhiều
lĩnh vực khác nữa. So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất
nhiều do nó được tích hợp lại và có khả năng lập trình được để điều khiển. Nên rất
tiện dụng và cơ động.
Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em
đãchọn đề tài "Thiết kế mạch mạch tạo xung vng Có nút ấn chọn tầm Hz, KHz,


100 KHz, nút ấn để tăng tần số, nút ấn để giảm tần số. Hiển thị tần số phát ra trên led
7 đoạn Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm
nhữngứng dụng của vi điều khiển trong thực tiễn để rồi từ đó tìm tịi, phát triển
nhiều ứng dụng khác trong đời sống hằng ngày cần đến.
Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sách tham
khảo và một số nguồn tài liệu khác nên khơng tránh khỏi những thiếu sót. Vì vậy
nhóm rất mong được sự góp ý của thầy cô và các bạn .


MỤC LỤC
MỤC LỤC...................................................................................................................................................3
CHƯƠNG 1 - TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ HỌ MSC-51.....................................................................5
1.1.

Sơ lược về vi xử lý................................................................................................................................ 5

1.2.

Họ MSC-51........................................................................................................................................... 5

1.3.

Các loại VĐK khác................................................................................................................................ 7

CHƯƠNG 2 - GIỚI THIỆU VỀ AT89S52........................................................................................................7
2.1.

Cấu hình AT89C52................................................................................................................................ 7

2.2.


Cấu trúc bên trong của vi điều khiển 8051......................................................................................... 8

2.3.

Khảo sát sơ đồ chân............................................................................................................................ 9

Chân VCC.................................................................................................................................................... 11
Chân GND........................................................................................................................................11
Port 0 (P0).................................................................................................................................................. 11
Port 1 (P1).................................................................................................................................................. 11
Port 2 (P2).................................................................................................................................................. 11
Port 3 (P3).................................................................................................................................................. 11
Chân RESET (RST)....................................................................................................................................... 12
Chân XTAL1 và XTAL2................................................................................................................................. 12
.Chân cho phép bộ nhớ chương trình PSEN............................................................................................. 12
Chân ALE (chân cho phép chốt địa chỉ-chân 30)...................................................................................... 13
Chân EA...................................................................................................................................................... 13
2.4.

Sơ đồ khối.......................................................................................................................................... 14

CHƯƠNG 3 – THIẾT KẾ ĐỒNG HỒ THỂ THAO CỜ VUA, CỜ TƯỚNG..........................................................15
3.2 Sơ đồ khối................................................................................................................................................ 15
3.3 Chức năng các khối.................................................................................................................................. 15
3.4 Sơ đồ mạch.............................................................................................................................................. 16
3.4.1 Khối nút nhấn............................................................................................................................................. 16
3.4.2 Khối điểu khiển.......................................................................................................................................... 16
3.4.3 Khối hiển thị............................................................................................................................................... 17
CHƯƠNG 4 : GIỚI THIỆU LINH KIỆN VÀ SƠ ĐỒ GIẢI THUẬT.....................................................................18

4.1

Vi điều khiển AT89C52....................................................................................................................... 18

Chân VCC.................................................................................................................................................... 18


Chân GND........................................................................................................................................19
Port 0 (P0).................................................................................................................................................. 19
Port 1 (P1).................................................................................................................................................. 19
Port 2 (P2).................................................................................................................................................. 19
Port 3 (P3).................................................................................................................................................. 19
4.2

Nút nhấn (Button).............................................................................................................................. 20

4.3

Led 7 đoạn......................................................................................................................................... 20

4.4 Sơ đồ mạch mô phỏng trên Proteus....................................................................................................... 21
Nguyên tắc hoạt động............................................................................................................................... 21
4.5 .Sơ đồ giải thuật....................................................................................................................................... 22
Code của chương trình................................................................................................................................ 23


CHƯƠNG 1 - TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ HỌ MSC-51
1.1.

Sơ lược về vi xử lý


Trong những thập niên cuối thế kỉ XX, từ sự ra đời của công nghệ bán dẫn, kĩ
thuật điện tử đã có sự phát triển vượt bậc. Các thiết bị điện tử sau đó đã được tích
hợp với mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy các thiết bị điện tử
nhỏ hơn và nhiều chức năng hơn. Các thiết bị điện tử ngày càng nhiều chức năng
trong khi giá thành ngày càng rẻ hơn, chính vì vậy điện tử có mặt khắp mọi nơi
Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và xuất dữ
liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý chính là xử lý dữ
liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v Vi xử lý khơng có khả năng
giao
tiếp trực tiếp với các thiết bị ngoại vi, nó chỉ có khả năng nhận và xử lý dữ liệu mà
thơi.
Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình này điều
khiển các mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết theo yêu cầu.
Chương trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh được lưu trữ
trong bộ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ bộ nhớ, giải mã lệnh
và thực hiện lệnh sau khi đã giải mã.
Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển
động cơ, hiển thị kí tự trên màn hình .... địi hỏi phải kết hợp vi xử lý với các mạch
điện giao tiếp với bên ngoài được gọi là các thiết bị I/O (nhập/xuất) hay còn gọi là
các thiết bị ngoại vi. Chẳng hạn như các hệ thống sản xuất tự động trong công
nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp
v.v...
1.2.

Họ MSC-51

Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác
nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới
và ở Việt nam.

Vào năm 1980 Intel cơng bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của
họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất


nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip
8052,8053,8055 với nhiều tính năng được cải tiến


Hiện nay Intel khơng cịn cung cấp các loại Vi điều khiển họ MCS-51 nữa,
thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens,
Matra&Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các
chip của họ MSC-51. Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng
như ở Việt Nam hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi
điều khiển khác nhau.
Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều
khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản
xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel
mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự
như nhau. Tương tự 8051, 8053, 8055 có mã số tương đương ở Atmel là 89C51,
89C53, 89C55. Vi điều khiển Atmel sau này ngày càng được cải tiến và được bổ
sung thêm nhiều chức năng tiện lợi hơn cho người dùng.

Bảng 1 – Vi điều khiển 89Cxx
Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng
Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng
nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.

Bảng 2- Vi điều khiển 89Sxx



Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm
(các tập lệnh lập trình như nhau), cịn phần cứng được bổ sung với chip có mã số ở
hai số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi
điều khiển thế hệ trước.
Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạo ROM và RAM như 89Sxx
trong bảng 2, tuy nhiên 89Sxx được bổ sung một số tính năng và có thêm chế độ nạp
nối tiếp. Các phần thực hành trên phần cứng thực tế, chúng ta sẽ thực hành với Vi
điều khiển 89S52 (Mã đầy đủ:AT89S52; AT là viết tắt của nhà sản xuất ATMEL) vì :





1.3.

Các Vi điều khiển 89Sxx được cải tiến từ dịng 89Cxx
Chương trình viết dành cho 89Cxx đều chạy được với 89Sxx
89Sxx rẻ hơn 89Cxx
89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay
trên bo mạch mà không cần tháo chip vi điều khiển sang mạch khác để nạp
chương trình và nhiều tính năng cải tiến khác.
Các loại VĐK khác

 Vi điều khiển AVR
 Vi điều khiển PIC
 Vi điều khiển MCUs của Philips
 Các loại vi điều khiển chuyên dụng của các hãng sản xuất khác: Các loại vi
điều khiển này được sử dụng chuyên dụng theo chức năng cần điều khiển.
CHƯƠNG 2 - GIỚI THIỆU VỀ AT89S52
2. Giới thiệu sơ lược

Vi điều khiển 8051 được Intel cho ra đời vào năm 1980 thuộc vi điều khiển đầu
tiên của họ MCS-51. Hiện tại rất nhiều nhà sản xuất như Siemens, Advanced Micro
Devices, Fusisu và Philips tập trung phát triển các sản phẩm trên cơ sở 8051. Atmel
là hãng đã cho ra đời các chip 89C51, 52, 55 và sau đó cải tiến thêm, hãng cho ra đời
89S51, 52, 89S8252…
2.1.

Cấu hình AT89C52:

 8KB bộ nhớ chương trình.
 Dao động bên ngồi với thạch anh < 24Mhz . Thơng thường VĐK 89S52
chạy với thạch anh 12MHz.


 256 Byte Ram nội.
 4 Port xuất nhập.
 3 Timer/ Counter 16 bit Timer 0,1,2. Timer 2 có các chức năng
Capture/Compare.
 8 nguồn ngắt.
 Nạp chương trình song song hoặc nạp nối tiếp qua đường SPI.
2.2.

Cấu trúc bên trong của vi điều khiển 8051

Phần chính của vi điều khiển 8051 là bộ xử lý trung tâm (CPU: central processing
unit) bao gồm:
- Thanh ghi tích lũy A.
- Thanh ghi tích lũy phụ B, dùng cho phép nhân chia.
- Đơn vị logic học (ALU: Arithmetic Logical Unit).
- Từ trạng thái trương trình (PSW: Program Status Word).

- Bốn băng thanh ghi.
- Con trỏ ngăn xếp.
- Ngồi ra cịn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển
thời gian logic.
Đơn vị xử lí trung tâm nhận trực tiếp xung từ bộ giao động, ngồi ra cịn có khả
năng đưa tín hiệu giữ nhịp từ bên ngồi.
Chương trình đang chạy có thể dừng lại nhờ một khối điều khiển ngắt ở bên
trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm định thời
hoặc cũng có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động như một bộ đếm.
Các cổng (port0, port1, port2, port 3) sử dụng vào mục đích điều khiển.
Ở cổng 3 có thêm các đường dẫn điều khiểu dùng để trao đổi với một bộ nhớ
bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn bên.
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc
độc lập với nhau. Trong vi điều khiển 8051 có hai thành phần quan trọng khác đó là
bộ nhớ ngồi và các thanh ghi.


Bộ nhớ bao gồm: có bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu và
mã lệnh. Các thanh ghi sử dụng để lưu thông tin trong q trình xử lý. Khi CPU làm
việc nó làm thay đổi nội dung của các thanh ghi.
2.3.

Khảo sát sơ đồ chân

IC 89S52 có 40 chân cho các chức năng khác nhau như: vào ra I/0, đọc , ghi ,
địa chỉ, dữ liệu và ngắt. Tuy nhiên, vì hầu hết các nhà phát triển chính dụng chíp
đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta cùng khảo sát Vi điều khiển
với 40 chân dạng DIP.



Hình 1- Sơ đồ chân IC AT89C52


Chân VCC
Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển. Nguồn điện cấp là
+5V±0.5.
Chân GND:
Chân số 20 nối GND(hay nối Mass). Khi thiết kế cần sử dụng một mạch ổn áp
để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805.
Port 0 (P0)
 Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng: Chức năng xuất/nhập
Các chân này được dùng để nhận tín hiệu từ bên ngồi vào để xử lí, hoặc dùng
để xuất tín hiệu ra bên ngồi, chẳng hạn xuất tín hiệu để điều khiển led đơn
sáng tắt.
 Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0)
còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ
nhớ ngồi), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
Port 1 (P1)
Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường
xuất/nhập, khơng có chức năng khác
Port 2 (P2)
Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
 Chức năng xuất/nhập
 Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngồi có dung
lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận,
byte cao do P2 này đảm nhận.
Port 3 (P3)
Port 3 gồm 8 chân (từ chân 10 đến 17):
 Chức năng xuất/nhập

 Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau :


Bảng 3 – Bản chức năng của các chân Port 3
Chân RESET (RST)
Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho
vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1
tối thiểu 2 chu kì máy.
Chân XTAL1 và XTAL2
Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock
từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo
nguồn xung clock ổn định.
.Chân cho phép bộ nhớ chương trình PSEN
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất
bộ nhớ chương trình ngồi. Chân này thường được nối với chân OE (output enable)
của ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chương trình ngồi, chân này phát ra tín
hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy Khi thực thi
một chương trình ở ROM nội, chân này được duy trì ở mức logic khơng tích cực
(logic 1)
(Khơng cần kết nối chân này khi không sử dụng đến)


Chân ALE (chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là
bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa
chỉ. Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa
chỉ và các đường dữ liệu khi kết nối chúng với IC chốt.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều
khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các

phần khác của hệ thống.
Ghi chú: khi không sử dụng có thể bỏ trống chân này
Chân EA
Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội hay
ROM ngoại
 Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ
bộ nhớ nội
 Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ
nhớ ngoại


2.4.

Sơ đồ khối

Hình 2 – Sơ đồ khối của IC AT89C52


CHƯƠNG 3 – THIẾT KẾ ĐỒNG HỒ THỂ THAO CỜ VUA, CỜ TƯỚNG
3.1. u cầu bài tốn

Có 2 nút ấn cho 2 đấu thủ.
Có 2 nút ấn chỉnh thời gian (phút) cho mỗi kỳ thủ.
Nếu thời gian của kỳ thủ nào hết trước thì chớp đèn báo hiệu (thua).
Thời gian hiển thị trên 8 led 7 đoạn (phút và giây).
3.2 Sơ đồ khối

Hình 3: Sơ đồ khối
3.3 Chức năng các khối
 Khối nguồn : Dùng để cấp nguồn hoạt động

 Nút nhấn gồm 4 nút : Dùng để hiệu chỉnh thời gian và 2 nút dành cho các thí
sinh
 Khối vi điều khiển sử dụng vi điều khiển 8051 điều khiển tồn bộ các hoạt
động chính của mạch
 Khối hiển thị : là led 7 đoạn


3.4 Sơ đồ mạch
3.4.1 Khối nút nhấn

Hình 4 – Khối nút nhấn
40: tăng thời gian
41 : Bắt đầu đếm
43,44: nút dành cho cờ thủ
3.4.2 Khối điểu khiển

Hình 5 – Khối điều khiển
Khối vi điều khiển AT89C52 .Dùng để điều chỉnh mọi hoạt động của hệ thống


3.4.3 Khối hiển thị

Hình 6 – khối hiển thị


CHƯƠNG 4 : GIỚI THIỆU LINH KIỆN VÀ SƠ ĐỒ GIẢI THUẬT
4.1 Vi điều khiển AT89C52

Hình 7 : Sơ đồ chân của vi điều khiển AT89C52
Chân VCC

Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển. Nguồn điện cấp là
+5V±0.5.


Chân GND:
Chân số 20 nối GND(hay nối Mass). Khi thiết kế cần sử dụng một mạch ổn áp
để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805.
Port 0 (P0)




Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng: Chức năng xuất/nhập
Các chân này được dùng để nhận tín hiệu từ bên ngồi vào để xử lí, hoặc dùng
để xuất tín hiệu ra bên ngồi, chẳng hạn xuất tín hiệu để điều khiển led đơn
sáng tắt.
Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0)
còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ
nhớ ngồi), đồng thời Port 0 cịn được dùng để định địa chỉ của bộ nhớ ngoài.
Port 1 (P1)

Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường
xuất/nhập, khơng có chức năng khác
Port 2 (P2)
Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:



Chức năng xuất/nhập
Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngồi có dung

lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận,
byte cao do P2 này đảm nhận.
Port 3 (P3)

Port 3 gồm 8 chân (từ chân 10 đến 17):



Chức năng xuất/nhập
Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau :


Bảng 3 – Bản chức năng của các chân Port 3


RST (Reset):
Đưa lên mức cao ( trong ít nhất 2 chu kì máy), hệ thống sẽ khởi động lại



XTAL1 và XTAL2:
Chu kì máy (TM) =1/ (fosc/12)=12/fosc
Nếu tần số thạch anh là 12MHz thì chu kì máy bằng 1μs

4.2 Nút nhấn (Button)

Nút nhấn hoặc nút đơn giản là một cơ chế chuyển đổi đơn giản để điều khiển một
số khía cạnh của máy móc hoặc quy trình. Các nút thường được làm từ vật liệu
cứng, thường là nhựa hoặc kim loại.
4.3 Led 7 đoạn



4.4 Sơ đồ mạch mơ phỏng trên Proteus

Hình 7 – Sơ đồ mạch mô phỏng trên Proteus
Nguyên tắc hoạt động


Khi mở nguồn mạch sẽ ở chế độ chờ để chúng ta cài đặt giờ. Sau khi
cài đặt giờ xong bằng nút nhấn 40 thì ta x=sẽ bật nút 41 lên để bắt đầu đếm.
Trong khi đếm nếu cờ thủ nhấn nút thì chương trình sẽ nhảy đếm lại từ đầu.
Nếu cờ thủ nào khơng kịp thời gian thì khi hết giờ đèn thuộc cờ thủ đó sẽ nháy
đèn báo hiệu đã thua.
4.5 .Sơ đồ giải thuật


Code của chương trình
org 00h
CPL P3.7
CPL P3.4
MOV DPTR,#MALED
chay:

;hàm dem nguoc
MOV R0,#10

;GIÁ TRI GIAY BAN DAU

MOV R5,#1 ;GIÁ TRI PHUT BAN DAU
ACALL SETGIO

JMP MY
RESET:
MOV R0,#60
MY:
ACALL GIO
ACALL GIAY
DEC R0
CJNE R0,#0,MY
MOV A,R0
ADD A,R5
JZ EXIT
DEC R5
ACALL RESET
SETGIO: ;HÀM CÀI DAT THOI GIAN
acall giay
acall gio


jb p3.3,EXIT ;NEU GIA TRI CHAN 3.3 BANG 1 THUC HIEN THOAT NEU
BANG 0 THUC HIEN CAU LENH TIEP THEO
jb p3.2,setgio ;
inc r0
cjne r0,#60,setgio
inc r5
mov r0,#0
jmp setgio
EXIT:
RET
GIAY:


MOV r1,#2
LAP1:
MOV r2,#10
LAP2:
MOV r3,#250
HIENTHI:
MOV A,R0
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0, A
SETB P3.0
CLR P3.1
CLR P3.0


×