1.2 Mục đích nghiên cứu Đề tài " THIẾT KẾ MẠCH TÙY CHỈNH THỜI GIAN HIỂN THỊ TRÊN LED MA TRẬN" nhằm giúp những người thực hiện đề tài nắm bắt được những vấn đề sau: - Thông qua việc t
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA VẬT LÝ
- -
VÕ THỊ KIM GIANG
THIẾT KẾ MẠCH TÙY CHỈNH THỜI
GIAN HIỂN THỊ TRÊN LED MA TRẬN
KHÓA LUẬN TỐT NGHIỆP
Trang 2thực hiện đề tài: "THIẾT KẾ MẠCH TÙY CHỈNH THỜI GIAN HIỂN THỊ
TRÊN LED MA TRẬN "
Trong quá trình thực hiện đề tài này với kiến thức còn hạn chế nên đề tài không tránh khỏi sai sót kính mong các thầy cô và các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn
Trang 3LỜI CẢM ƠN
A MỞ ĐẦU
Sau gần bốn năm học tập tại trường ĐẠI HỌC SƯ PHẠM ĐÀ NẴNG, với sự nhiệt tình đầy tâm huyết của các quý thầy cô chúng
em đã được trang bị những kỹ năng và kiến thức cần thiết để trở
thành một cử nhân khoa học Chúng em vô cùng biết ơn sự quan
tâm dạy dỗ của tất cả các thầy cô giáo cùng các cấp lãnh đạo của
trường đã tạo điều kiện cho chúng em có một môi trường học tập
hướng dẫn chúng em từng bước tìm tòi và phát triển đề tài, cung
cấp những kinh nghiệm hỗ trợ chúng em trong suốt quá trình thực
hiện
Đề tài này hoàn thành không thể tránh khỏi những thiếu sót về mặt nội dung lẫn hình thức, chúng em rất mong sự góp ý và đánh
giá của quý thầy cô Đó là những kinh nghiệm cần thiết và là hành
trang trên con đường lập nghiệp của chúng em sau này
Trang 4MỞ ĐẦU 1.1 Lý do chọn đề tài
Ngày nay, khoa học phát triển mạnh mẽ, đặc biệt trong lĩnh vực điện tử đã góp phần nâng cao đời sống vật chất cũng như tinh thần của con người Cuộc sống ngày càng hiện đại thì nhu cầu thông tin quảng cáo rất lớn, việc áp dụng các phương tiện kỹ thuật vào các lĩnh vực trên là rất cần thiết Xuất phát từ yêu cầu thực tế và những kiến thức đã được học từ môn kỹ thuật vi xử lý, nhóm em quyết định chọn đề
tài: " THIẾT KẾ MẠCH TÙY CHỈNH THỜI GIAN HIỂN THỊ TRÊN LED MA
TRẬN " làm đề tài tốt nghiệp
1.2 Mục đích nghiên cứu
Đề tài " THIẾT KẾ MẠCH TÙY CHỈNH THỜI GIAN HIỂN THỊ TRÊN
LED MA TRẬN" nhằm giúp những người thực hiện đề tài nắm bắt được những vấn
đề sau:
- Thông qua việc thực hiện đề tài giúp cho những người thực hiện luận văn tốt nghiệp ôn lại kiến thức đã học và lĩnh hội thêm nhiều kiến thức mới từ giáo viên hướng dẫn, từ các bạn học và cũng là khoảng thời gian rèn luyện tay nghề, từ đó hiểu rõ hơn cách viết chương trình cho vi điều khiển
- Qua quá trình thực hiện đề tài đã tạo điều kiện cho chúng em có những ý tưởng mới và giải quyết các vấn đề phát sinh một cách hiệu quả
Do kiến thức chúng em còn hạn hẹp nên sản phẩm chưa có tính thực tiễn cao nhưng nếu được nghiên cứu sâu hơn thì có thể ứng dụng rộng rãi trong thực tế đặc biệt là trong lĩnh vực quảng cáo
1.3 Đối tượng và phạm vi nghiên cứu
a Đối tượng
- Các tài liệu về linh kiện điện tử
- Các tài liệu hướng dẫn lập trình mạch
b Phạm vi nghiên cứu
- Đề tài chỉ sử dụng 1 led ma trận và 1 led 7 đoạn nên chương trình gồm các ký tự riêng lẻ, các số và hình ảnh đơn giản Chưa ứng dụng nhiều trong thực tế và chỉ thực hiện dựa vào bộ thí nghiệm trên khoa Vật Lý – Trường Đại Học Sư Phạm Đà
Trang 5Nẵng
- Đề tài chỉ giới hạn với thời gian cố định trong 5s, 1s hình ảnh sẽ thay đổi
1.4 Nhiệm vụ nghiên cứu
Để đạt được mục tiêu đề ra, đề tài cần thực hiện các yêu cầu sau:
- Nghiên cứu cơ sỡ lý luận về mạch hiển thị led ma trận và led 7 đoạn
- Tìm hiểu các ứng dụng khác nhau của led để luận văn thêm đa dạng hơn
1.5 Phương pháp nghiên cứu
- Nhiên cứu các tài liệu về nguyên lý hoạt động của thiết bị và linh kiện điện tử
- Nghiên cứu cách trình bày một luận văn tốt nghiệp
1.6 Những đóng góp của luận văn
Đây là một đề tài nhỏ chỉ nghiên cứu trên bộ kit vi điều khiển của Khoa Vật Lý
nên sau khi đề tài được hoàn thành là dữ liệu tham khảo cho các khóa sau về cách lập trình led ma trận và led 7 đoạn Qua đây biết được cách quét ma trận làm mạch quang báo hiển thị trên nhiều led ma trận Do đó đề tài góp phần nâng cao chất lượng sử dụng kit thí nghiêm Khoa Vật Lý
1.7 Cấu trúc của luận văn
A Mở đầu
B Nội dung
Chương I: Giới thiệu các linh kiện dùng trong mạch
Chương II: Thiết kế mạch
Chương III:Kết luận và hướng phát triển của đề tài Phụ lục và tài liệu tham khảo
Trang 6
B NỘI DUNG CHƯƠNG I: GIỚI THIỆU CÁC LINH KIỆN TRONG MẠCH
1.1 GIỚI THIỆU CHUNG VỀ HỌ VI ĐIỀU KHIỂN 89C51
1.1.1 Cấu trúc phần cứng MSC-51 (89C51)
1.1.1.1 Các đặc điểm của 89C51 được tóm tắt như sau :
+ 8 KB EPROM bên trong
+ 128 Byte RAM nội
+ 4 Port xuất /nhập I/O 8 bit
+ Giao tiếp nối tiếp
Trang 71.1.2 Sơ đồ khối và chức năng của từng khối
1.1.2.1 Khối xử lý trung tâm CPU:
Phần chính của bộ vi xử lý là khối xử lý trung tâm (CPU), khối này có chứa
các thành phần chính :
1 Thanh chứa ACC ( ký hiệu là A)
2 Thanh ghi chứa phụ ( ký hiệu là B) thường được dùng cho phép nhân và chia
3 Khối logic số học ( ALU=Arithmetic Logical Unit)
4 Từ trạng thái chương trình ( PSW= Program Status Word)
5 Bốn băng thanh ghi ( Blank)
6 Con trỏ ngăn xếp ( SP = Stack Point) cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ở bên ngoài
Hình 1.1: Sơ đồ khối của 89C51
4Kbytes ROM trong
128byte
RAM trong
2bộ đếm / định thời
Khối đ.khiển quản lý Bus
XTAL 1.2
8 bit
CổngI/O Địa chỉ cao Dữ liệu 8 bit
Cổng I/O Địa chỉ thấp Dữ liệu 8 bít
Cổng I/O Các chức năng đặc biệt Dữ liệu 8 bit
Nguồn ngắt Đếm sự kiện
Trang 8Ngoài ra, khối xử lý trung tâm còn chứa:
1 Thanh ghi đếm chương trình (PC= Progam Counter )
2 Bộ giải mã lệnh
3 Bộ điều khiển thời gian và logic
4 Sau khi được Reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu được ghi trong thanh ghi chứa chương trình (PC) và sau đó, thanh ghi này sẽ tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chương trình
1.1.1.1 Bộ tạo dao động:
Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động được lắp thêm vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc thạch anh Ngoài ra, còn có thể đưa một tín hiệu giữ nhịp từ bên ngoài vào
1.1.1.2 Khối điều khiển ngắt:
Chương trình đang chạy có thể cho dừng lại nhờ một khối logic 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/bộ định thời hay có thể là giao diện nối tiếp Tất cả các ngắt đều có thể được thiết lập chế độ làm việc thông qua hai thanh ghi cho phép ngắt IE (Interrupt Enable) và ngắt ưu tiên IP (Interrupt Priority)
1.1.1.3 Khối điều khiển và quản lý Bus :
Các khối trong vi điều khiển liên lạc với nhau thông qua hệ thống Bus nội bộ được điều khiển bởi khối điều khiển quản lý Bus
1.1.1.4 Các bộ đếm/ định thời:
Vi điều khiển 89C51 có chứa hai bộ đếm tiến 16 bit có thể hoạt động như là
bộ định thời hay bộ đếm sự kiện bên ngoài hoặc như bộ phát tốc độ Baud dùng cho giao diện nối tiếp Trạng thái tràn bộ đếm có thể được kiểm tra trực tiếp hoặc được xoá đi bằng một ngắt
1.1.1.5 Các cổng vào/ra:
Vi điều khiển 89C51 có bốn cổng vào/ra (P0 … P3), mỗi cổng chứa 8 bit, độc lập với nhau Các cổng này có thể được sử dụng cho những mục đích điều khiển rất đa dạng Ngoài chức năng chung, một số cổng còn đảm nhận thêm một số chức năng đặc biệt khác
Trang 91.1.1.6 Giao diện nối tiếp:
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 Bằng cách đấu nối các bộ đệm thích hợp, ta có thể hình thành một cổng nối tiếp RS-232 đơn giản Tốc độ truyền qua cổng nối tiếp có thể đặt được trong một vùng rộng phụ thuộc vào một bộ định thời và tần số dao động riêng của thạch anh
1.1.1.7 Bộ nhớ chương trình:
Bộ nhớ chương trình thường là bộ nhớ ROM (Read Only Memory), bộ nhớ chương trình được sử dụng để cất giữ chương trình điều khiển hoạt động của vi điều khiển
Trang 101.1.2.2 Chức năng các chân của 89C51
- 89C51 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ
a Các Port:
Port 0:
- Port 0 là port có 2 chức năng ở các chân 32 – 39 của 89C51 Trong các thiết
kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu
Port 1:
- Port 1 là port IO trên các chân 1-8 Các chân được ký hiệu P1.0, P1.1, P1.2,
… có thề dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài
Port 2:
- Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng như các
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ
mở rộng
Port 3:
- Port 3 là port có tác dụng kép trên các chân 10-17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 89c51 như ở bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp
P3.1 TXD Ngõ xuất dữ liệu nối tiếp
Ngõ vào ngắt cứng thứ 0
Ngõ vào ngắt cứng thư 1
Ngõ vào củaTIMER/COUNTER thứ 0
Ngõ vào củaTIMER/COUNTER thứ 1
Trang 11P3.6
P3.7
WR\
RD\
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
Tín hiệu đọc bộ nhớ dữ liệu ngoài
b Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu PSEN (Program store enable):
- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nói đến chân 0E\ (output enable) của Eprom cho phép
đọc các byte mã lệnh
- PSEN ở mức thấp trong thời gian Microcontroller 89C51 lấy lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 89C51 để giải mã lệnh Khi 89C51 thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1
Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
- Khi 89C51 truy xuất bộ nhơđ bên ngoài, port 0 có chức năng là bus địa chỉ và
bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt
- Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 89C51
Ngõ tín hiệu EA\(External Access) :
- Tín hiệu vào EA\ ở chân 31 thường được mắt lên mức 1hoặc mức 0 Nếu ở mức 1, 89C51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte Nếu ở mức 0, 89C51 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ được lấy làm chân cấp nguồn 21V khi lập trinh cho Eprom trong 89C51
Ngõ tín hiệu RST (Reset):
-Ngõ vào RST ở chân 9 là ngõ vào Reset của 89C51 Khi ngõ vào tín hiệu này
đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những 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 bộ giao động X1, X2:
Trang 12- Bộ dao động được được tích hợp bên trong 89C51, khi sử dụng 89C51 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho 89C51 là 12Mhz
Chân 40 (Vcc) được nối lên nguồn 5V
Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong một vỏ
Các tín hiệu điều khiển cột được nối với Anode của tất cả các led trên cùng một cột Các tín hiệu điểu khiển hàng cũng được nối với Cathode của tất cả
các led trên cùng một hàng
1.2.2 Nguyên lý hoạt động
Khi có một tín hiệu điều khiển ở cột và hàng, các chân Anode của các led trên cột tương ứng được cấp điện áp cao, đồng thời các chân Cathode của các led trên hàng tương ứng được được cấp điện áp thấp Tuy nhiên lúc đó chỉ có một led sáng,
vì nó có đồng thời điện thế cao trên Anode và điện thế thấp trên Cathode Như vậy khi có một tín hiệu điều khiển hàng và cột, thì tại một thời điểm chỉ có duy nhất một led tại chỗ gặp nhau của hàng và cột là sáng Các bảng quang báo với số lượng led lớn hơn cũng được kết nối theo cấu trúc như vậy Trong trường hợp ta muốn cho sáng đồng thời một số led rời rạc trên ma trận, để hiện thị một kí tự nào đó, nếu trong hiển thị tĩnh ta phải cấp áp cao cho Anode và áp thấp cho Cathode, cho các led tương ứng mà ta muốn sáng Nhưng khi đó một số led ta không mong muốn
Hình 1.3: Hình dạng và cấu tạo của led ma trận
Trang 13cũng sẽ sáng, miễn là nó nằm tại vị trí gặp nhau của các cột và hàng mà ta cấp nguồn Vì vậy trong điều khiển led ma trận ta không thể sử dụng phương pháp hiển thị tĩnh mà phải sử dụng phương pháp quét (hiển thị động), có nghĩa là ta phải tiến hành cấp tín hiệu điều khiển theo dạng xung quét trên các hàng và cột có led cần hiển thị Để đảm cho mắt nhìn thấy các led không bị nháy, thì tần số quét nhỏ nhất cho mỗi chu kì là khoảng 20HZ(50ms) Trong lập trình điều khiển led ma trận bằng
vi xử lý ta cũng phải sử dụng phương pháp quét
1.3 LED 7 ĐOẠN (Anot chung )
Dòng điện tối thiểu qua led để led sáng là 10mA Khi cấp dòng cho chân nào thì chân đó sáng Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình
vẽ dưới và có thể có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7đoạn
Với 8 led đơn trên led 7 đoạn có Anode (cực +) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện Vì là led 7 đoạn có Anode (cực +) chung nên đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0
1.4 IC 74LS245
Hình 1.4: Hình dạng và sơ đồ nguyên lý của led 7 đoạn cực dương chung
Trang 14Hình 1.5: Sơ đồ chân của IC74LS245
Trang 15CHƯƠNG II: THIẾT KẾ MẠCH
Khối hiển thị LED MATRIX
VI ĐIỀU KHIỂN
Nút nhấn
Hình 2.1: Sơ đồ khối toàn mạch
P0.7/AD7 P0.6AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P3.3/AD7
P3.1/AD7 P3.2/AD7
P3.0/AD7
P3.4/AD7 P3.5/AD7 P3.6/AD7 P3.7/AD7
Trang 16- Các chân P1.0 đến P1.2 được nối với các nút nhấn điều khiển chương trình
- Các chân của Port0 được nối với IC 74LS245 và kết nối với hàng của led ma trận, các chân của Port 2 được nối với cột của led ma trận
- Các chân P3.0 đến P3.7 được nối với IC 74LS245 và kết nối với led 7 đoạn
Khối nguồn
Khối nguồn này sẽ cung cấp điện áp toàn mạch nó vai trò khá quan trọng nếu điện
áp dòng không ổn định sẽ gây ảnh hưởng cho các IC
Điện áp 12 VAC sau khi biến áp đưa qua bộ nắn điện cầu diod thành điện DC và đưa qua tụ lọc, ổn áp thành 5 VDC cung cấp cho toàn mạch
Khối hiển thị led ma trận
Trang 17Tính toán trở trong khối led ma trận:
Trong khối led ma trận ta sử dụng 8 transistor loại pnp
Vì 8 transistor nối với 8 led, mỗi led đơn có Iled = 20 mA và Vled = 2V
35
mA
=0.15 (K) = 150 ()
Khối hiển thị led 7 đoạn
1 led 7 đoạn loại anot chung
Hình 2.5: Sơ đồ khối hiển thị led 7 đoạn
Trang 18Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led nên ta chọn I = 15mA Nếu kết nối với nguồn 5V có thể hạn dòng thì trở là:
10K
5V 10K
Hình 2.6: Sơ đồ khối nút nhấn
Trang 19mỗi ký tự sẽ hiển thị trong vòng 5s
- Nhấn Sw2 vi điều khiển sẽ hoạt động theo hiển thị 2: led ma trận hiển thị các số từ
0 đến 9 , mỗi số sẽ được hiển thị trong vòng 1s
- Nhấn Sw3 vi điều khiển sẽ hoạt động theo hiển thị 3: led ma trận chạy hiệu ứng
mũi tên chạy từ dưới lên sau đó hiển thị trong vòng 5s
2.1.2 Sơ đồ nguyên lý mạch
XTAL2 18 XTAL1 19
ALE 30 EA 31 PSEN 29
RST 9
P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14
P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28
P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27
U1
AT89C51
A0
2 B0 18 A1
3 B1 17 A2
4 B2 16 A3 5 B3 15A4
6 B4 14 A5
7 B5 13 A6
8 B6 12 A7
9 B7 11
CE 19 AB/BA 1
U2
74LS245
A0
2 B0 18 A1
3 B1 17 A2
4 B2 16 A3
5 B3 15 A4
6 B4 14 A5
7 B5 13 A6
8 B6 12 A7
9 B7 11
CE 19 AB/BA 1
U3
74LS245
CCT004 CCT005
Trang 202.2.1 Lưu đồ thuật toán
Trang 21LCALL CHUA LCALL CHUA LCALL CHUA LCALL CHUA
A
B
; Hiển thị số 5 ra led 7 đoạn
; Hiển thị số 4 ra led 7 đoạn
; Hiển thị số 3 ra led 7 đoạn
; Hiển thị số 2 ra led 7 đoạn
; Hiển thị số 1 ra led 7 đoạn
; Hiển thị số 0 ra led 7 đoạn
Trang 22LCALL CHUY LCALL CHUY LCALL CHUY LCALL CHUY
LCALL CHUL LCALL CHUL LCALL CHUL LCALL CHUL
Trang 23; Hiển thị số 0 ra led 7 đoạn
; Hiển thị số 1 ra led 7 đoạn
; Hiển thị số 2 ra led 7 đoạn
; Hiển thị số 3 ra led 7 đoạn
; Hiển thị số 4 ra led 7 đoạn
; Hiển thị số 5 ra led 7 đoạn
; Hiển thị số 1 ra led matran
; Hiển thị số 0 ra led Matran
; Hiển thị số 2 ra led Matran
; Hiển thị số 3 ra led Matran
; Hiển thị số 4 ra led Matran
Trang 24; Hiển thị số 5 ra led 7 đoạn
; Hiển thị số 4 ra led 7 đoạn
; Hiển thị số 3 ra led 7 đoạn
; Hiển thị số 2 ra led 7 đoạn
; Hiển thị số 1 ra led 7 đoạn
; Hiển thị số 0 ra led 7 đoạn
MAIN
Trang 252.2.2 CODE CHƯƠNG TRÌNH
ORG 00H
MAIN: ;Chương trình chính
JNB P1.0, HIENTHI1 ; Nhấn nút P1.0 hiển thị chương trình 1
JNB P1.1, HIENTHI2 ; Nhấn nút P1.1 hiển thị chương trình 2
JNB P1.2, HIENTHI3 ; Nhấn nút P1.2 hiển thị chương trình 3
Trang 26CHUV:
Trang 27MOV P0,#0CCH LCALL DELAYS3MS MOV P2,#0EFH MOV P0,#0CCH LCALL DELAYS3MS MOV P2,#0DFH MOV P0,#01H LCALL DELAYS3MS MOV P2,#0BFH MOV P0,#03H LCALL DELAYS3MS MOV P2,#07FH
MOV P0,#0FFH LCALL DELAYS3MS DEC R2
CJNE R2,#0,LOOPAA RET
CHUT:
MOV R2,#40 LOOPT: MOV P2,#0FEH MOV P0,#0FFH LCALL DELAYS3MS
Trang 28MOV P0,#00H LCALL DELAYS3MS MOV P2,#0F7H
MOV P0,#00H LCALL DELAYS3MS MOV P2,#0EFH
MOV P0,#3FH LCALL DELAYS3MS MOV P2,#0DFH
MOV P0,#3FH LCALL DELAYS3MS MOV P2,#0BFH
MOV P0,#3FH LCALL DELAYS3MS MOV P2,#07FH
MOV P0,#0FFH LCALL DELAYS3MS DEC R2
CJNE R2,#0,LOOPL RET
CHUY:
MOV R2,#40 LOOPY: MOV P2,#0FEH MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FDH MOV P0,#0F8H LCALL DELAYS3MS MOV P2,#0FBH
Trang 29SO0:
MOV R2,#40 LOOP00: MOV P2,#0FEH MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FDH
MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FBH
MOV P0,#83H LCALL DELAYS3MS MOV P2,#0F7H
MOV P0,#7DH LCALL DELAYS3MS MOV P2,#0EFH
MOV P0,#7DH LCALL DELAYS3MS MOV P2,#0DFH
MOV P0,#7DH
Trang 30MOV P0,#0FFH LCALL DELAYS3MS DEC R2
CJNE R2,#0,LOOP11 RET
SO2:
MOV R2,#40 LOOP22: MOV P2,#0FEH MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FDH
MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FBH
MOV P0,#3BH LCALL DELAYS3MS MOV P2,#0F7H
MOV P0,#5DH LCALL DELAYS3MS MOV P2,#0EFH
MOV P0,#5DH LCALL DELAYS3MS MOV P2,#0DFH
MOV P0,#63H LCALL DELAYS3MS MOV P2,#0BFH
MOV P0,#0FFH LCALL DELAYS3MS
Trang 31CJNE R2,#0,LOOP33 RET
SO4:
MOV R2,#40 LOOP44: MOV P2,#0FEH MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FDH
MOV P0,#0FFH LCALL DELAYS3MS MOV P2,#0FBH
MOV P0,#0E7H LCALL DELAYS3MS MOV P2,#0F7H
MOV P0,#0EBH LCALL DELAYS3MS MOV P2,#0EFH
MOV P0,#0EDH LCALL DELAYS3MS MOV P2,#0DFH
MOV P0,#01H LCALL DELAYS3MS MOV P2,#0BFH
MOV P0,#0EFH LCALL DELAYS3MS MOV P2,#07FH
MOV P0,#0FFH LCALL DELAYS3MS DEC R2