1.1. Lý do chọn đề tàiĐiện – điện từ là một trong những lĩnh vực rất phát triển và đánh giá được tốc độ phát triển về kinh tế cũng như tốc độ phát triển của một đất nước, việc phát triển chế tạo các loại chip, các loại IC tích hợp thông dụng, có ứng dụng nhiều trong thực tế có vai trò to lớn trong việc phát triển khoa học kỹ thuật liên quan đến kĩ thuật điện – điện tử tự động hoa. ở việt nam công nghệ chế tạo chíp vi điều khiển, các công nghệ tích hợp IC chưa được chú trọng phát triển, phần lớn còn ứng dụng và phụ thuộc vào các công nghệ tiên tiến của các nước phát triển như: Mỹ, Nhật bản đặc biệt là tập đoàn điện tử Intel.Vì vậy việc học tập, tìm hiểu nghiên cứu lại những công nghệ phát triển bạn có ý nghĩa đặc biệt quan trọng đối với người học và đóng vai trò không nhỏ trong quá trình phát triển nền giáo dục của nước nhà.1.2. Đối tượng nghiên cứuĐối tượng nghiên cứu của đồ án môn học nói riêng và các môn học chuyên nghành nói chung là các sinh viên theo học, tìm hiểu và nghiên nghiên cứu trong lĩnh vực điện tử, đồng thời là tất cả những người yêu thích chuyên nghành điện tử, vì đây là môn học cơ bản làm nền tảng, trang bị kiến thức cho người đọc để có thể tự tìm hiểu, nghiên cứu các tài liệu học tập cho các môn học tiếp theo, đồng thời cũng củng cố kiến thức các môn học trong thời gian theo học tại trường.1.3. Phương pháp nghiên cứuPhương pháp nghiên cứu đề tài của đồ án môn học: Nghiên cứu xây dựng bảng quảng cáo từ LED ma trận chủ yếu bằng thực nghiệm. vì môn học có tính chất lý thuyết và liên quan mật thiết đến thực tế nên việc tìm kiếm tài liệu tiếng việt liên quan đến đề tài là rất khó khăn nên quá trình hoàn thành đồ án môn học chủ yếu bằng các tài liệu do giáo viên hướng dẫn cung cấp cùng sự giúp đỡ của bạn bè, các sinh viên khóa trên và một số tài liệu trên mạng Internet hoàn thành nhiệm vụ được giao, Đề tài này có ý nghĩa rất lơn bời vì nó mang tính khoa học tính thực tế và tính kinh tế cao
Trang 1BẢN NHẬN XÉT
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN
TÊN ĐỀ TÀI:
NGHIÊN CỨU XÂY DỰNG BẢNG QUẢNG CÁO TỪ LED MA TRẬN DÙNG
AT89S52 Nhận xét của giáo viên hướng dẫn :
Ngày 1 tháng 1 năm 2017 Giáo viên hướng dẫn
Trang 2BẢN NHẬN XÉT
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN
TÊN ĐỀ TÀI:
NGHIÊN CỨU XÂY DỰNG BẢNG QUẢNG CÁO TỪ LED MA TRẬN DÙNG
AT89S52 Nhận xét của giáo viên phản biện :
Ngày 1 tháng 1 năm 2017 Giáo viên phản biện
Trang 3LỜI MỞ ĐẦU
Quảng cáo là một trong các vấn đề đóng vai trò quan trọng trong sự pháttriển của các tổ chức cá nhân, công ty, doanh nghiệp, tập đoàn hay thậm chí là mộtcủa hàng, quảng cáo tốt sẽ đem lại lợi ích to lớn, chính vì vậy mà không ngạc nhiênkhi hàng trăm doanh nghiệp đã đầu tư rất nhiều vào vấn đề này, một trong nhữngbiện pháp được ưu dùng hiện nay đó là sử dụng biển quảng cáo bằng LED, vì sựđơn giản, hiện đại, bắt mắt chi phí hợp lý cũng như tính hiệu quả của nó
Những bảng thông tin, cổng chào hay những bảng LED quảng cáo với màusắc sặc sỡ, bắt mắt gây nhiều chú ý chắc hẳn đã không còn xa lạ đối người dân, nhất
là người dân đô thị
Quảng cáo LED hiện nay được ứng dụng rộng rãi trong nhiều nghành, nhiềulĩnh vực Nó không chỉ giới hạn bởi việc hiển thị các dòng chữ, các biển hiệu nhấpnháy mà còn hiển thị được cả các đồ họa các hình ảnh hiển thị đầu đủ màu sắc vàđặc biệt là có thể hiển thị được cả video Nó không chỉ giới hạn quảng cáo trongnhà, bán ngoài trời mà còn có thể quảng cáo cả ngoài trời, ngay giữa ban ngày với
Trang 4LỜI CẢM ƠN
Trước tiên xin cho phép em được bầy tỏ lòng biết ơn chân thành và xin đượcgửi lời cảm ơn sâu sắc đến thầy giáo Nguyễn Nam Quân – người đã hết sức tạo điều
kiện và tận tình hướng dẫn, động viên em hoàn thành đồ án này.
Em xin chân thành cảm ơn các thầy cô trong khoa Điện Tử Viễn Thông đãgiảng dạy chúng em những kiến thức về chuyên môn và giúp chúng em định hướngtheo sự hiểu biết và khả năng để chúng em thực hiện tốt đồ án “Nghiên cứu xâydựng bảng quảng cáo từ LED ma trận” và tạo điều kiện thuận lợi cho chúng emhoàn tất khoá học
Tuy nhiên do trình độ còn hạn chế và thời gian có hạn nên bản đồ án của emhẳn vẫn còn nhiều thiếu sót Em kính mong nhận được sự đóng góp của các thầycác cô giáo và các bạn để đồ án của em được hoàn thiện hơn Em xin chân thànhcảm ơn!
Sinh viên thực hiện
Nguyễn Xuân Hùng
Trang 5MỤC LỤC
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN 1
BẢN NHẬN XÉT 2
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN 2
LỜI MỞ ĐẦU 3
MỞ ĐẦU 9
1 Nội dung đề tài 9
2 Nhiệm vụ đề tài 9
3 Kết quả thực nghiệm 10
CHƯƠNG 2 12
KHẢO SÁT LINH KIỆN 12
2.1 Tìm hiểu về vi xử lý AT89S52 12
2.1.2 Sơ đồ chân và chức năng các chân 89S52 14
2.1.3 Tổ chức bộ nhớ: 18
2.1.4 Các thanh ghi chức năng đặc biệt: 18
2.1.5 Hoạt động Reset 21
2.1.6 Hoạt động của các port nối tiếp: 22
Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp thu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự động nạp lại 8 bit Việc set bit TR1 để mở máy chạy timer Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76, 8 KHz (ứng với thạch anh 12 MHz) sẽ cho số xung clock sau mỗi sự tràn là 1000/76, 8 = 13, 02 (lấy tròn là 13) Vậy - 13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud 25
2.2 IC dịch 74HC595 25
2.2.2 Sử dụng 74HC595 để cấp nguồn cho các cột của ma trận 28
2.3 IC đệm dòng ULN2803 29
CHƯƠNG 3 31
GIỚI THIỆU VỀ QUANG BÁO 31
3.1 Sơ đồ hêê thống 31
3.2 Quang báo LED ma trận 31
3.3 Phương pháp Multiplex hiển thị ma trận led 32
3.4 Phương pháp hiển thị sử dụng thanh ghi dịch 33
3.4.1 Quét côôt 33
3.4.2 Quét hàng 33
CHƯƠNG 4 35
THIẾT KẾ VÀ THI CÔNG MẠCH 35
Trang 64.1 Phân tích hệ thống 35
4.1.1 Nguyên lý hoạt động của bảng điện tử 35
4.1.2 Phân tích hệ thống 35
4.2 Thiết kế tổng quan hệ thống 36
4.2.1 Thiết kế tổng quan phần cứng 36
4.2.1.2 Sơ đồ nguyên lý 38
4.2.1.3 Sơ đồ mạch in 39
4.3 Mạch hoàn chỉnh 41
4.4 Tính toán 42
4.5 Nguyên lý hoạt động 42
4.6 Lưu đồ giải thuâêt 43
4.6.1 Lưu đồ chương trình hêô thống 43
4.6.2 Lưu đồ chương trình chính 44
4.6.3 Lưu đồ chương trình hiển thi 45
4.6.4 Lưu đồ chương trình copy font vào RAM 46
4.7 Code chương trình nạp vào vi điều khiển 46
4.7.1 Hàm font.c 46
4.7.2 Hàm main.c 49
CHƯƠNG 5 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 53
5.1 Kết Luận 53
5.2 Tính khoa học 53
5.3 Tính thực tế 53
5.4.Tính kinh tế 53
5.5 Hướng phát triển 54
Trang 7DANH MỤC VIẾT TẮT
Trang 8DANH MỤC BẢNG BIỂU
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN 1
BẢN NHẬN XÉT 2
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN 2
LỜI MỞ ĐẦU 3
MỞ ĐẦU 9
CHƯƠNG 2 12
KHẢO SÁT LINH KIỆN 12
CHƯƠNG 3 31
GIỚI THIỆU VỀ QUANG BÁO 31
CHƯƠNG 4 35
THIẾT KẾ VÀ THI CÔNG MẠCH 35
CHƯƠNG 5 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 53
Trang 9DANH MỤC HÌNH VẼ
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN 1
BẢN NHẬN XÉT 2
ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN 2
LỜI MỞ ĐẦU 3
MỞ ĐẦU 9
CHƯƠNG 2 12
KHẢO SÁT LINH KIỆN 12
CHƯƠNG 3 31
GIỚI THIỆU VỀ QUANG BÁO 31
CHƯƠNG 4 35
THIẾT KẾ VÀ THI CÔNG MẠCH 35
CHƯƠNG 5 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 53
MỞ ĐẦU
Quang báo là hình thức thông báo trên bảng đèn Bảng đèn quang báo gồm nhiều ma trận LED ghép lại, mỗi một ma trận biểu diễn một kí tự Tùy chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác nhau.Với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều khiển Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào mục đích quảng cáo, chẳng hạn như dùng quang báo Trong thực tế để hiển thị các thông tin, người ta dùng các ma trận LED 8x32, 8x48 hoặc 16x64 tuỳ thuộc vào mục đích sử dụng và độ phân giải
1 Nội dung đề tài
- Nghiên cứu xây dựng bảng quảng cáo từ LED ma trận 8x32
2 Nhiệm vụ đề tài
- Cách điều khiển và xử lý dữ liệu cho bảng led ma trận
- Tìm hiểu vi điều khiển AT89S52
Trang 10- Tìm hiểu ngôn ngữ lập trình C cho 89
- Tìm hiểu lập trình visal basic
- Thi công bảng quang báo led ma trận kích thước 8x32
3 Kết quả thực nghiệm
- Ghi dữ liệu vào 89s52
- Xuất dữ liệu lên quang báo
Trang 11CHƯƠNG 1 ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ 1.1 Lý do chọn đề tài
Điện – điện từ là một trong những lĩnh vực rất phát triển và đánh giá được tốc độphát triển về kinh tế cũng như tốc độ phát triển của một đất nước, việc phát triểnchế tạo các loại chip, các loại IC tích hợp thông dụng, có ứng dụng nhiều trong thực
tế có vai trò to lớn trong việc phát triển khoa học kỹ thuật liên quan đến kĩ thuậtđiện – điện tử - tự động hoa ở việt nam công nghệ chế tạo chíp vi điều khiển, cáccông nghệ tích hợp IC chưa được chú trọng phát triển, phần lớn còn ứng dụng vàphụ thuộc vào các công nghệ tiên tiến của các nước phát triển như: Mỹ, Nhật bảnđặc biệt là tập đoàn điện tử Intel
Vì vậy việc học tập, tìm hiểu nghiên cứu lại những công nghệ phát triển bạn có ýnghĩa đặc biệt quan trọng đối với người học và đóng vai trò không nhỏ trong quátrình phát triển nền giáo dục của nước nhà
1.2 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đồ án môn học nói riêng và các môn học chuyên nghànhnói chung là các sinh viên theo học, tìm hiểu và nghiên nghiên cứu trong lĩnh vựcđiện tử, đồng thời là tất cả những người yêu thích chuyên nghành điện tử, vì đây làmôn học cơ bản làm nền tảng, trang bị kiến thức cho người đọc để có thể tự tìmhiểu, nghiên cứu các tài liệu học tập cho các môn học tiếp theo, đồng thời cũngcủng cố kiến thức các môn học trong thời gian theo học tại trường
1.3 Phương pháp nghiên cứu
Phương pháp nghiên cứu đề tài của đồ án môn học: Nghiên cứu xây dựng bảngquảng cáo từ LED ma trận chủ yếu bằng thực nghiệm vì môn học có tính chất lýthuyết và liên quan mật thiết đến thực tế nên việc tìm kiếm tài liệu tiếng việt liênquan đến đề tài là rất khó khăn nên quá trình hoàn thành đồ án môn học chủ yếubằng các tài liệu do giáo viên hướng dẫn cung cấp cùng sự giúp đỡ của bạn bè, cácsinh viên khóa trên và một số tài liệu trên mạng Internet hoàn thành nhiệm vụ đượcgiao, Đề tài này có ý nghĩa rất lơn bời vì nó mang tính khoa học tính thực tế và tínhkinh tế cao
Trang 12CHƯƠNG 2 KHẢO SÁT LINH KIỆN 2.1 Tìm hiểu về vi xử lý AT89S52
Đây là nơi lưu giữ chương trình điều khiển chính và dữ liệu cho các mạchgiải mã hàng và cột AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất Cácsản phẩm AT89S52 thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte
và cáctoán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuấtdữ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ữnglệnhsố học 8 bit gồm cả lệnh nhân và lệnh chia Nó cung cấp những hổ trợ mởrộngtrên chip dùng cho những biến một bit như là kiểu dữ liệu riêng biệt cho phépquảnlý và kiểm tra bit trực tiếp trong hệ thống điều khiển
AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc cóthể xóa vàlập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3TIMER/COUNTER 16Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếpbán song công, 1 mạchdao động tạo xung Clock và bộ dao động ON-CHIP.Các đặc điểm của chipAT89S52 được tóm tắt như sau:
• 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳghi/xoá
• Tần số hoạt động từ: 0Hz đến 24 MHz
• 3 mức khóa bộ nhớ lập trình
• 3 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
• 64 KB vùng nhớ mã ngoài
• 64 KB vùng nhớ dữ liệu ngoại
• 4 µs cho hoạt động nhân hoặc chia
Trang 132.1.1 Sơ đồ khối:
Hình 2.1 Sơ đồ khối AT 89S52
Trang 142.1.2 Sơ đồ chân và chức năng các chân 89S52
Hình 2.2 Sơ đồ chân và chức năng các chân 89S52
- Vcc: Chân cung cấp điện
- GND: Chân nối đất
89S52 có 40 chân trong đó 32 chân có công dụng xuất/ nhập Trong 32 chân đó
có 24 chân có tác dụng kép (nghĩa là 1 chân có 2 chức năng), mỗi một đường có thểhoạt động xuất/nhập, hoạt động như một đường điều khiển hoặc hoạt động như mộtđường địa chỉ/dữ liệu của bus địa chỉ/ dữ liệu đa hợp
Trang 15• Port 0 có chức năng là bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 –AD7) trong các thiết kế cỡ lớn có sử dụng bộ nhớ ngoài
Trang 16Bảng 2.1 Bảng tóm tắt chức năng các chân của Port 32.1.2.2 Các chân điều khiển
ngoài
Khi CPU sử dụng ROM trong, PSEN\ sẽ ở mức cao
được nối với chân OE\ của ROM ngoài để cho phép CPU đọc mãlệnh từ ROM ngoài
Trang 17a) Chân ALE:
• ALE (Address Latch Enable): cho phép chốt địa chỉ, chân số 30
• Chân ALE có chức năng là tín hiệu cho phép chốt địa chỉ để thựchiện việc giải đa hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp(AD0 – AD7) Ngoài ra chân ALE còn là tín hiệu xuất, tích cực mứccao
• Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trênchíp 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 (PGM\) b) Chân EA\:
• EA (External Access): truy xuất ngoài, chân số 31
mức 1, 89V51RB2 thi hành chương trình từ ROM nội Nếu ở mức 0,89V51RB2 thi hành chương trình từ ROM ngoài
• Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõvào của điện áp lập trình (Vpp = 12V – 12, 5V cho 89V51RB2) c) Chân Reset:
• RST (Reset): thiết lập lại, chân số 9
• Khi ngõ vào RST đưa lên cao ít nhất 2 chu kỳ máy, 89S52 thiết lậplại trạng thái ban đầu Khi ngõ vào RST ở mức thấp IC hoạt độngbình thuờng
d) Chân XTAL1, XTAL2:
• XTAL (Crystal): tinh thể thạch anh, chân số 18 – 19
• XTAL1: ngõ vào mạch tạo xung clock trong chip
• XTAL2: ngõ ra mạch tạo xung clock trong chip
người thiết kế chỉ cần nối thêm thạch anh (tần số thạch anh thường
sử dụng là 12MHZ) và tụ
e) Chân VCC, GND:
• VCC, GND: nguồn cung cấp điện, chân số 40 và 20
Trang 18o Bộ nhớ dữ liệu dùng để lưu trữ các dữ liệu và tham số
chiếm địa chỉ từ 30H đến 7FH Mọi địa chỉ trong vùng RAM đa chức năngđều có thể truy xuất tự do dùng kiểu định địa chỉ trực tiếp hoặc gián tiếp
• RAM định địa chỉ bit
RAM định địa chỉ bit gồm 128 bit được định địa chỉ chứa các byte có địa chỉ
từ 20H đến 2FH RAM định địa chỉ bit có 3 kiểu truy xuất dữ liệu: trực tiếp, giántiếp hoặc theo từng bit
b) Bộ nhớ ngoài:
89S52 có khả năng mở rộng không gian bộ nhớ chương trình lên đến 64KB
và không gian bộ nhớ dữ liệu lên đến 64KB
Khi dùng bộ nhớ ngoài, Port 0 không còn chức năng I/O nữa mà đó là busđịa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) Port 2 là bus địa chỉ byte cao(A8 - A15) Port 3 là các tín hiệu điều khiển
2.1.4 Các thanh ghi chức năng đặc biệt:
Các thanh ghi nội của 89S52 được cấu hình thành một phần của RAM trênchip, vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chươngtrình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũngnhư các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt (SFR:Special Function Register) chiếm phần trên của RAM nội từ địa chỉ 80H đến FFH
Ngoại trừ thanh ghi A có thể được truy xuất rõ ràng còn lại hầu hết các thanhghi chức năng đặc biệt được truy xuất bằng kiểu định địa chỉ trực tiếp
Trang 19• Thanh ghi từ PSW (Program Status Word):
00 = dãy 0: địa chỉ từ 00H đến 07H
01 = dãy 1: địa chỉ từ 08H đến 0FH
10 = dãy 2: địa chỉ từ 10H đến 17H
11 =
ghi 8 bit ở địa chỉ byte là 81H, dùng để lưu trữ tạm thời các dữ liệu Đây là thanhghi không định địa chỉ bit Thanh ghi này chứa địa chỉ của byte dữ liệu hiện hànhtrên đỉnh ngăn xếp Các lệnh trên ngăn xếp bao gồm lệnh cất dữ liệu vào ngăn xếp
Trang 20(PUSH) và lệnh lấy dữ liệu ra khỏi ngăn xếp (POP) Lệnh cất dữ liệu vào ngăn xếp
sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP.Đối với chip 8051 thì vùng nhớ được dùng để làm ngăn xếp được lưu giữ trongRAM nội
SP (nghĩa là nạp giá trị cho thanh ghi SP) => vùng nhớ của ngăn xếp có địa chỉ bắtđầu là (SP) +1 và địa chỉ kết thúc là 7FH
và dữ liệu đầu tiên sẽ được cất vào ô nhớ ngăn xếp có địa chỉ 08H Nếu phần mềmứng dụng không khởi động SP một giá trị mới thì dãy thanh ghi 1, có thể cả 2 và 3
sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp Ngăn xếp đượctruy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữliệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con (ACALL, LCALL) và cáclệnh trở về (RET, RETI) để lưu trữ giá trị của bộ đếm chương trình khi bắt đầu thựchiện chương trình con và lấy lại khi kết thúc chương trình con
• Thanh ghi DPTR:
thanh ghi 16 bit chứa địa chỉ của ô nhớ cần truy xuất thuộc ROM trong hoặc ngoài
và RAM ngoài
thấp) và 83H (DPH: byte cao) Thanh ghi này không định địa chỉ bit
• Thanh ghi port xuất nhập:
Các Port của 89S52 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ởđịa chỉ A0H, Port 3 ở địa chỉ B0H Tất cả các Port này đều có thể truy xuất từng bitnên rất thuận tiện trong khả năng giao tiếp
•Thanh ghi port nối tiếp:
89S62 chứa một port nối tiếp cho việc trao đổi thông tin với các thiết bị nốitiếp như máy tính hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi đệm dữliệu nối tiếp (SBUF: Serial Buffer) ở địa chỉ 99H sẽ giữ cả dữ liệu truyền và dữ liệunhận Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Ngoài ra
Trang 21còn có thanh ghi điều khiển port nối tiếp (SCON: Serial Control) có địa chỉ byte98H dùng để báo trạng thái và điều khiển quá trình hoạt động của port nối tiếp
•Thanh ghi định thời
89S52 có chứa hai bộ định thời/ bộ đếm 10 bit được dùng cho việc định thờihoặc đếm sự kiện Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao).Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao) Việc khởi độngTimer được SET bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiểnTimer (TCON) ở địa chỉ 88H Chỉ có TCON được địa chỉ hoá từng bit
•Thanh ghi ngắt:
địa chỉ byte A8H và địa chỉ bit A8H – AFH có công dụng cho phép hoặc không chophép các ngắt hoạt động (có thể từng ngắt riêng rẽ hoặc tất cả các ngắt)
chỉ byte B8H và địa chỉ bit B8H – BCH có công dụng thiết lập mức ưu tiên cho cácngắt (ưu tiên thấp hoặc ưu tiên cao)
Thanh ghi PCON (Power Control: điều khiển nguồn) không có bit định vị Nó
ở địa chỉ 87H chứa nhiều bit điều khiển Thanh ghi PCON được tóm tắt sau:
truyền dữ liệu nối tiếp (tốc độ baud) khi SMOD = 1
dùng với mục đích riêng
Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các IC họMCS – 51 nhưng chỉ được thi hành trong sự biên dịch của CMOS
2.1.5 Hoạt động Reset
89S52 có ngõ vào Reset tác động ở mức cao trong khoảng thời gian 2 chu kỳxung máy, sau đó xuống mức thấp để 89S52 bắt đầu làm việc RST có thể kích bằng
Trang 22tay bởi một nút nhấn thường hở hoặc RST khi cấp nguồn, sơ đồ mạch Reset tổnghợp như sau:
Hình 2.3 Mạch Reset tự động khi khởi động máy
Với bài này em thực hiện Reset bằng cách nối chân 9 của 89S51 với nguồn 5V Trạng thái của các thanh ghi sau khi Reset hệ thống:
Các thanh ghi định thời 00H
Thanh ghi SCON 00H
Thanh ghi SBUF 00H
Thanh ghi PCON (HMOS) 0xxxxxxxB
Thanh ghi PCON (CMOS) 0xxx0000B
2.1.6 Hoạt động của các port nối tiếp:
Port nối tiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào
bộ đệm mà nó cho phép 1 ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ
Trang 23hai được nhận vào Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhậnvào hoàn toàn thì dữ liệu không bị mất
2.1.6.1 Thanh ghi đệm port nối tiếp (SBUF):
Thanh ghi SBUF (Serial Buffer Register): Được dùng để lưu giữ dữ liệucần phát đi và dữ liệu đã nhận được Việc ghi dữ liệu lên thanh ghi SBUF sẽ nạp dữliệu để phát đi và việc đọc dữ liệu từ thanh ghi SBUF sẽ truy xuất dữ liệu đã thuđược
Thanh ghi SBUF bao gồm 2 thanh ghi:
- Thanh ghi phát (Bộ đệm phát): Dùng để lưu giữ dữ liệu cần phát đi
- Thanh ghi thu (Bộ đệm thu): Dùng để lưu giữ dữ liệu đã được nhận
2.1.6.2 Thanh ghi điều khiển Port nối tiếp SCON:
Mode hoạt động của Port nối tiếp được set bởi việc ghi lên thanh ghi modecủa Port nối tiếp SCON ở địa chỉ 99H Bảng tóm tắt thanh ghi điều khiển Port nốitiếp SCON như sau:
Bit 2 của mode Port nối tiếp cho phép sự truyền của bộ xử lý đa kênh ở mode 2 và 3; RI sẽ không tích cực nếu bit thứ 9 đã thu vào là 0
và xóa bởi phần mềm
việc phát một ký tự; được xóa bởi phần mềm
việc thu một ký tự; được xóa bởi phần mềm
Bảng 2.3 Chức năng thanh ghi SCON
Trang 241 1 3 UART 9 bit (Thay đổi (thiết lập bởi bộ định thời
Bảng 2.4 Các chế độ hoạt động của Port nối tiếpTrước khi dùng Port nối tiếp, SCON phải được định đúng chế độ VD: Đểkhởi tạo Port nối tiếp chế độ 1 (SM0/SM1=0/1), cho phép thu (REN=1), và set cờngắt của việc phát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau:
MOV SCON, #01010010H
Port nối tiếp của 8051 có 4 mode hoạt động tùy thuộc theo trạng thái củaSM0/SM1
Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được
bố trí bởi bit Start hoặc bit Stop
2.1.6.3 Khởi động và truy xuất các thanh ghi Port nối tiếp:
Bit cho phép thu dữ liệu (REN: Receive Enable):
Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm đểcho phép sự thu các ký tự Điều này thường được dùng làm ở đầu chương trình khicác Port nối tiếp và các timer được khởi động
Ta có thể tác động bằng lệnh:
Dùng Timer tạo tốc độ Baud cho Port nối tiếp:
Muốn tạo ra tốc độ Baud, ta khởi tạo TMOD ở chế độ tự nạp lại 8 bit (mode 2của timer) và đặt trước giá trị nạp lại đúng vào byte cao của thanh ghi timer 1 (TH1)
để tạo ra tốc độ tràn chính xác Có những tốc độ Baud rất chậm ta dùng chế độ 16bit là chế độ 1 của timer, nhưng ta phải khởi tạo lại sau mỗi lần tràn cho TL1/TH1
Hoạt động khác được đếm giờ bởi việc dùng timer 1 ngoài là T1 (P3 5).Công thức chung để xác định tốc độ Baud trong mode 1 và mode 3 là:
Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 1200/32 = 38,
4 KHz Nếu thạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ởtốc độ của tần số 1 MHz Bởi vì timer phải tràn ở tốc độ tần số 38, 4 KHz và Timerđếm giờ ở tốc độ của tần số 1 MHz, nên một sự tràn được yêu cầu với 1000/38, 4 =
BAUD RATE = TIMER 1
Trang 2526, 04 clock (làm tròn 26) Bởi vì các timer đếm lên và tràn khi có sự chuyển đổi từFFH 00H của bộ đếm, nên 26 là giá trị cần nạp cho TH1 (giá trị đúng là - 26) Tadùng lệnh: MOV TH1, #26
Ví dụ sau khi khởi động Port nối tiếp hoạt động giống như một UART 8bit ở tốc độ 2400 Baud, dùng timer 1 để cung cấp tốc độ Baud:
Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp thu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự độngnạp lại 8 bit Việc set bit TR1 để mở máy chạy timer Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76, 8 KHz (ứng với thạch anh 12 MHz)
sẽ cho số xung clock sau mỗi sự tràn là 1000/76, 8 = 13, 02 (lấy tròn là 13) Vậy - 13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud
1 đầu vào cho phép (OE )
1 đầu vào chọn thanh ghi dịch (MR)
1 đầu vào dữ liệu nối tiếp (DS)
8 đầu ra 3 trạng thái ( Q1 đến Q7 và Q7’)
Sơ đồ chân của 74HC595 như sau:
Trang 26Hình 2.4 Sơ đồ chân 74HC595.
Hình 2.5 Sơ đồ logic của 74HC595
Trang 27Chân Ký hiệu Chức năng
Bảng 2.5 Chức năng các chân của 74HC595