1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định

147 646 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu chế tạo kit vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Tác giả ThS. Bùi Tiến Dũng, Cần Cẩm Giang, Vũ Trọng Nghị, Phạm Đức Cường, Phạm Hồng Phong
Trường học Trường Cao Đẳng Công Nghiệp Nam Định
Chuyên ngành Điện Tự Động Hóa
Thể loại Báo cáo
Năm xuất bản 2009
Thành phố Nam Định
Định dạng
Số trang 147
Dung lượng 2,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 4: Xây dựng hệ thống bài thực tập kỹ thuật vi điều khiển dùng trong đào tạo hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định.. Bộ vi điều khiển dùng tr

Trang 1

Bộ CÔNG thương TRƯờNG CAO ĐẳNG CÔNG NGHIệP NAM ĐịNH

Báo cáo TổNG HợP kết quả nghiên cứu

Chủ nhiệm đề tài: ThS Bùi tiến dũng

7812

22/3/2010

Nam định, 2009

Trang 2

Bộ CÔNG thương TRƯờNG CAO ĐẳNG CÔNG NGHIệP NAM ĐịNH

Báo cáo kết quả nghiên cứu đề tài kH-cn cấp bộ

M∙ số:

Những người tham gia nghiên cứu

1 Cần Cẩm Giang Thư ký

2 Vũ Trọng Nghị ủy viên

3 Phạm Đức Cường ủy viên

4 Phạm Hồng Phong ủy viên

Nam định, 2009

Trang 3

Mục lục

trang

Mục lục

Mở đầu

1 Tính cấp thiết của vấn đề nghiên cứu

2 Mục đích nghiên cứu

3 Đối tượng nghiên cứu

4 Giả thuyết khoa học

3

4

4

4

5 Nhiệm vụ nghiên cứu

6 Giới hạn và phạm vi nghiên cứu

Chương 1: kỹ thuật vi điều khiển và đào tạo kỹ thuật

vi điều khiển trong các trường cao đẳng

1.1.Bộ vi điều khiển (microcontroller - àC)

1.2 ứng dụng của bộ vi điều khiển

1.3 Mục đích và yêu cầu của môn học kỹ thuật vi điều khiển

1.4 Mục tiêu của đề tài

Chương 2: Giới thiệu vi điều khiển AT89S8252 và công cụ

phát triển của AT89S8252

2.1 Giới thiệu vi điều khiển AT89S8252

2.2 Các công cụ phát triển cho vi điều khiển AT89S8252

13

13

31

Chương 3: Nghiên cứu chế tạo KIT vi điều khiển dùng

trong đào tạo hệ cao đẳng ngành điện tự động hóa

3.1 Thiết lập sơ đồ khối của bộ KIT vi điều khiển

3.2 Chọn thiết bị cho bộ KIT vi điều khiển

36

36

37

Trang 4

3.3 Sơ đồ nguyên lý bộ KIT vi điều khiển 70

Chương 4: Nghiên cứu XÂY DựNG Hệ THốNG BàI THựC TậP

vi điều khiển dùng trong đào tạo hệ cao đẳng ngành

điện tự động hóa

Bài số 1: Điều khiển đầu ra số

73

73 Bài số 2: Điều khiển động cơ DC

Bài số 3: Điều khiển động cơ bước

Bài số 4: Điều khiển LED 7 thanh

76

81

85 Bài số 5: Giải mã bàn phím

Bài số 6: Hiển thị LCD

Bài số 7: Điều khiển ADC

Bài số 8: Điều khiển DAC

88

91

95

97 Bài số 9: Điều khiển ma trận Led

Bài số 10: Điều khiển bộ đếm

Trang 5

Mở đầu

1 Tính cấp thiết của vấn đề nghiên cứu

Kỹ thuật vi điều khiển (KTVĐK) là nền tảng để nghiên cứu, thiết kế, khai thác trong các hệ thống điều khiển số hiện đại

Bộ vi điều khiển dùng trong các thiết kế nhỏ, với số thành phần thêm vào

tối thiểu nhằm thực hiện các hoạt động hướng điều khiển ( điều khiển thiết bị

ở nước ta

Nhận thức được vai trò quan trọng của kỹ thuật vi điều khiển, trong những năm gần đây các viện nghiên cứu, các trường Đại học, Cao đẳng và các cơ quan ứng dụng ở nước ta đã tích cực tìm hiểu, học tập, giảng dạy và sử dụng kỹ thuật

vi điều khiển

Vì vậy, muốn đào tạo sinh viên cao đẳng ngành Điện tự động hóa có khả năng sẵn sàng đáp ứng yêu cầu thực tế, khả năng làm được và làm tốt các ứng dụng điều khiển, khả năng vận dụng ngay các kiến thức đã học vào cuộc sống thực tiễn Các trường Cao đẳng Kỹ thuật Công nghiệp nói chung và trường Cao

đẳng Công nghiệp Nam Định nói riêng trong quá trình đào tạo Kỹ thuật vi điều khiển cần nghiên cứu đổi mới nội dung đào tạo, gắn đào tạo với thực tiễn sản xuất

Từ những lý luận trên chúng tôi chọn đề tài:

“ Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định ”

Trang 6

2 Mục đích nghiên cứu

Chế tạo KIT và xây dựng hệ thống bài thực tập phục vụ dạy và học môn học kỹ thuật vi điều khiển cho sinh viên hệ Cao đẳng ngành Điện tự động hóa trường Cao đẳng Công nghiệp Nam Định

3 Đối tượng nghiên cứu

Quá trình dạy, học và đánh giá kết quả học tập kỹ thuật vi điều khiển dựa trên nănh lực thực hành của sinh viên hệ Cao đẳng ngành Điện tự động hóa trường Cao dẳng Công nghiệp Nam Định

4 Giả thuyết khoa học

Nếu xây dựng được bộ KIT và hệ thống bài thực tập cho sinh viên một cách khoa học và khả thi sẽ góp phần nâng cao chất lượng dạy và học môn học

kỹ thuật vi điều khiển

5 Nhiệm vụ nghiên cứu

* Xây dựng cơ sở lý luận, tổng quan về kỹ thuật vi điều khiển

* Nghiên cứu chế tạo KIT và xây dựng hệ thống bài thực tập mẫu hỗ trợ dạy và học môn học kỹ thuật vi điều khiển cho sinh viên Cao đẳng ngành Điện tự động hóa

* Thực nghiệm sư phạm

6 Giới hạn và phạm vi nghiên cứu

* Giới hạn: Phục vụ dạy và học môn học kỹ thuật vi điều khiển cho sinh viên Cao đẳng ngành Điện tự động hóa

* Phạm vi: Việc khảo sát, đánh giá thực trạng tiến hành ở một số trường Cao

đẳng thuộc Bộ Công Thương

Tổ chức thực nghiệm tại trường Cao đẳng Công nghiệp Nam Định

7 Phương pháp nghiên cứu

* Nghiên cứu lý luận: Tài liệu về kỹ thuật vi điều khiển trong và ngoài nước

* Nghiên cứu thực tiễn: Điều tra, khảo sát thực trạng dạy và học môn học kỹ thuật vi điều khiển cho sinh viên Cao đẳng ngành Điện tự động hóa ở một số trường Cao đẳng thuộc Bộ Công Thương

Trang 7

* Phương pháp chuyên gia: Lấy ý kiến các chuyên gia

* Phương pháp thực nghiệm sư phạm: Kiểm tra giả thuyết đề tài

Chương 1: Kỹ thuật vi điều khiển và đào tạo Kỹ thuật vi điều khiển trong

các trường Cao đẳng Công nghiệp

Chương 2: Giới thiệu vi điều khiển AT89S8252 và công cụ phát triển của

AT89S8252

Chương 3: Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ

Cao đẳng ngành Điện tự động hóa

Chương 4: Xây dựng hệ thống bài thực tập kỹ thuật vi điều khiển dùng

trong đào tạo hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định

Kết luận

Danh mục các tài liệu tham khảo

Phụ lục

Trang 8

Chương 1

kỹ thuật vi điều khiển và đào tạo kỹ thuật

vi điều khiển trong các trường cao đẳng

1.1 Bộ vi điều khiển ( microcontroller - àC )

1.1.1 Khái niệm

Bộ vi điều khiển là một vi mạch đơn chứa bên trong một CPU và các mạch khác như RAM, ROM, mạch giao tiếp nôí tiếp, giao tiếp song song, bộ định thời, các mạch điều khiển ngắt để tạo nên một hệ máy tính đầy đủ

1.1.2 Sự phát triển của các bộ vi điều khiển

Năm1976, hãng Intel giới thiệu bộ vi điều khiển 8748 là vi mạch chứa

17000 transistor bao gồm 1 CPU, 1Kbyte EPROM, 64 byte RAM, 27 cổng xuất nhập và 1 bộ định thời 8 bit

IC này và các IC tiếp theo của họ MCS - 48 nhanh chóng trở thành chuẩn công nghiệp trong các ứng dụng hướng điều khiển thay thế các thành phần cơ

điện trong các sản phẩm như máy giặt, bộ điều khiển đèn giao thông, các thiết bị công nghiệp, dân dụng…

Độ phức tạp, kích thước và khả năng của các bộ vi điều khiển được tăng thêm một bậc quan trọng vào năm 1980 khi Intel công bố chip 8051, bộ vi điều khiển đầu tiên của họ vi điều khiển MSC-51 So với 8048, chíp 8051 chứa trên

60000 transistor bao gồm 1 CPU, 4Kbyte EPROM, 128 byte RAM, 32 đường xuất nhập, 1port nối tiếp, 2 bộ định thời 16 bit

Họ MCS -51 ngày càng phát triển và là một trong các bộ vi điều khiển 8 bit mạnh và linh hoạt trở thành bộ vi điều khiển hàng đầu trong những năm gần

đây

1.1.3 Giới thiệu sơ lược cấu trúc của bộ vi điều khiển

Cấu trúc cơ bản của một bộ vi điều khiển gồm hai phần chính là phần cứng và phần mềm

Phần cứng là toàn bộ các thiết bị vật lý xây dựng nên bộ vi điều khiển

Trang 9

Ví dụ: CPU, bộ nhớ, cổng vào / ra, các thiết bị ngoại vi, nguồn cung cấp Cùng với sự phát triển của công nghệ chế tạo mạch tích hợp, phần cứng của bộ vi

điều khiển càng gọn nhẹ, tích hợp nhiều chức năng và tiêu thụ năng lượng ít

Phần mềm của bộ vi điều khiển bao gồm các chương trình điều hành và chương trình ứng dụng Để thiết kế bộ vi điều khiển, người sử dụng được hỗ trợ bởi các công cụ phát triển Công cụ phát triển bộ vi điều khiển gồm một thiết bị mô phỏng và phần mềm lập trình cho àC Để giảm nhẹ việc phát triển phần mềm, các công cụ phần mềm thường được trang bị bộ trình biên dịch ngôn ngữ bậc cao như C

1.1.4 Các tiêu chuẩn lựa chọn một bộ vi điều khiển

* Tiêu chuẩn đầu tiên trong lựa chọn một bộ vi điều khiển là nó phải đáp ứng nhu cầu mặt công suất tính toán và giá thành hiệu quả

Những tiêu chuẩn được đưa ra là:

- Tốc độ: Tốc độ lớn nhất mà bộ vi điều khiển hỗ trợ là bao nhiêu

- Kiểu đóng vỏ: DIP hay QFP ( DIP là đóng vỏ theo 2 hàng chân QFP là

*Tiêu chuẩn thứ ba trong lựa chọn một bộ vi điều khiển là khả năng sẵn sàng đáp ứng về số lượng trong hiện tại và tương lai

Trang 10

Hiện nay, các bộ vi điều khiển 8 bit họ 8051 có số lượng lớn các nhà cung cấp đa dạng Nhà cung cấp có nghĩa là nhà sản xuất bên cạnh nhà sáng chế của bộ vi điều khiển Trong trường hợp 8051 thì nhà sáng chế của nó là Intel, nhưng hiện nay có rất nhiều hãng sản xuất nó

Các hãng này bao gồm: Intel, Atmel, Philips/signe-tics, AMD, Siemens, Matra và Dallas, Semicndictior

1.2 ứng dụng của Bộ vi điều khiển

Do đòi hỏi phát triển của sản xuất và xã hội, với sự phát triển mạnh mẽ của kỹ thuật điện tử phát triển với tốc độ cực kỳ nhanh chóng đã tạo nên một nền tảng vững chắc cho ngành vi điều khiển

Bộ vi điều khiển dùng trong các thiết kế nhỏ, với số thành phần thêm vào tối thiểu nhằm thực hiện các hoạt động hướng điều khiển ( điều khiển thiết bị xuất nhập) do vậy các bộ vi điều khiển thường được lập trình thường trực cho một công việc và có các tập lệnh cung cấp các điều khiển xuất nhập

Các bộ vi điều khiển ra đời đã đem lại hiệu quả kỹ thuật và kinh tế vô cùng to lớn Các bộ vi điều khiển được ứng dụng rất phổ biến để chế tạo các bộ

điều khiển số điều khiển tự động quá trình sản xuất, điều khiển robot, điều khiển máy công cụ Việc ứng dụng kỹ thuật vi điều khiển làm tăng độ bền vững, độ tin cậy, độ mềm dẻo và tính chống nhiễu cho các thiết bị số

1.3 Đào tạo kỹ thuật vi ĐIềU KHIểN trong các trường cao đẳng

1.3.1 Mục đích và yêu cầu của môn học kỹ thuật vi điều khiển

a Mục đích

Môn học Kỹ thuật vi điều khiển là môn học kỹ thuật chuyên môn dùng cho

đào tạo hệ Cao đẳng chuyên ngành Điện tự động hoá tại trường Cao đẳng Công nghiệp Nam Định Môn học được giảng dạy sau các môn: Kỹ thuật điện tử, Điều khiển logic Trong môn học Kỹ thuật vi điều khiển, các kiến thức của các môn học nói trên được coi là những kiến thức cơ sở cần thiết để tiếp thu các vấn đề của Kỹ thuật vi điều khiển

Trang 11

Môn học trang bị cho sinh viên những khái niệm chủ yếu về một bộ vi điều khiển: cấu trúc, nguyên tắc hoạt động của một bộ vi điều khiển gồm CPU cùng các mạch phụ trợ, tập lệnh, cách lập trình bằng hợp ngữ, các phương thức điều khiển vào / ra dữ liệu và các phương pháp ghép nối các thiết bị ngoại vi

Ví dụ:

- Các bộ vi điều khiển của Intel: 8051

- Các bộ vi điều khiển của Motorola

-Về thực hành: Cần thiết kế được các mạch ứng dụng vi điều khiển, đồng thời

sử dụng thành thạo các phần mềm lập trình như: Reads51, Keil C51, Proload

1.3.2 Chương trình đào tạo môn học kỹ thuật vi điều khiển hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định

( Phụ lục 1 )

1.3.3 Khảo sát, đánh giá thực trạng đào tạo môn học kỹ thuật vi điều khiển

hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định

a Khảo sát đối tượng:

* Lấy ý kiến của 60 giáo viên thông qua phiếu trưng cầu ý kiến về nội dung, phương pháp giảng dạy môn học kỹ thuật vi điều khiển hệ Cao đẳng ngành

Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định ( Phụ lục 2)

*Lấy ý kiến của 150 sinh viên khoa điện - điện tử ( khóa CĐ47E, C::35ả35::I, CĐ49E ) thông qua phiếu trưng cầu ý kiến về nội dung, phương pháp

Trang 12

học tập môn học kỹ thuật vi điều khiển hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định ( Phụ lục 2)

b Đánh giá:

*ý kiến của giáo viên:

-Về nhu cầu sử dụng lao động thuộc chuyờn ngành Điện tự động húa hiện nay ở khu vực đồng bằng sụng Hồng là:

10 % số giáo viên được hỏi cho là cao 70% số giáo viên được hỏi cho là trung bình

20 % số giáo viên được hỏi cho là thấp

- Về chất lượng đào tạo Kỹ thuật viờn ngành Điện tự động húa tại trường Cao đẳng Cụng nghiệp Nam Định hiện nay là:

10 % số giáo viên được hỏi cho là tốt

60% số giáo viên được hỏi cho là trung bình

30 % số giáo viên được hỏi cho là kém

- Về mức độ phự hợp giữa nội dung giảng dạy về Kỹ thuật vi điều khiển tại trường Cao đẳng Cụng nghiệp Nam Định và nhu cầu của thị trường lao động tại khu vực đồng bằng sụng Hồng là:

30 % số giáo viên được hỏi cho là không phù hợp

60% số giáo viên được hỏi cho là phù hợp

10 % số giáo viên được hỏi cho là rất phù hợp

- 100 % số giáo viên được hỏi cho rằng tính khách quan, tính thực tiễn, tính toàn diện trong giảng dạy về kỹ thuật vi điều khiển trong ngành Điện tự động húa là quan trọng

- 100 % số giáo viên được hỏi cho rằng tính mềm dẻo linh hoạt, tính thực tiễn, tính toàn diện trong thiết kế chế tạo thiết bị giảng dạy Kỹ thuật vi điều khiển ngành Điện tự động húa là quan trọng

- 80 % số giáo viên được hỏi cho rằng hệ thống bài thực tập đúng vài trũ cao trong giảng dạy Kỹ thuật vi điều khiển ngành Điện tự động húa

Trang 13

- 20 % sè gi¸o viªn ®−îc hái cho r»ng hệ thống bài thực tập đóng vài trò trung b×nh trong giảng dạy Kỹ thuật vi điều khiển ngành §iện tự động hóa

* ý kiÕn cña sinh viªn:

- VÒ mức độ phù hợp giữa nội dung giảng dạy về Kỹ thuật vi điều khiển tại trường Cao đẳng Công nghiệp Nam Định và nhu cầu thùc tÕ:

30 % sè sinh viªn ®−îc hái cho lµ kh«ng phï hîp

70% sè sinh viªn ®−îc hái cho lµ phï hîp

- VÒ mức độ phù hợp giữa nội dung häc lý thuyÕt vµ häc thùc hµnh trong m«n häc Kỹ thuật vi điều khiển tại trường Cao đẳng Công nghiệp Nam Định:

30 % sè sinh viªn ®−îc hái cho lµ kh«ng phï hîp

60% sè sinh viªn ®−îc hái cho lµ phï hîp

10 % sè sinh viªn ®−îc hái cho lµ rÊt phï hîp

-100 % sè sinh viªn ®−îc hái cho r»ng tÝnh mÒm dÎo linh ho¹t, tÝnh thùc tiÔn, tÝnh toµn diÖn trong thiết kế chế tạo thiết bị giảng dạy Kỹ thuật vi điều khiển ngành §iện tự động hóa lµ quan träng

- 70 % sè sinh viªn ®−îc hái cho r»ng hệ thống bài thực tập đóng vài trò cao trong giảng dạy Kỹ thuật vi điều khiển ngành §iện tự động hóa

- 30 % sè sinh viªn ®−îc hái cho r»ng hệ thống bài thực tập đóng vài trò trung b×nh trong giảng dạy Kỹ thuật vi điều khiển ngành §iện tự động hóa

Trang 14

1.4 mục tiêu của đề tài

Với đề tài: “ Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo

hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam

Định” nhằm phục vụ thực hành cho sinh viên, hỗ trợ công tác giảng dạy môn học “ Kỹ thuật vi điều khiển ”

Qua nghiên cứu lý thuyết và khảo sát thiết bị thực tế trên thị trường, chúng tôi đã lựa chọn họ vi điều khiển họ MSC-51để chế tạo KIT vi điều khiển Kết quả đã thiết kế hoàn chỉnh bộ KIT với các thiết bị vào ra và ngoại vi phong phú cùng các bài tập mẫu và tài liệu hướng dẫn sử dụng Hy vọng rằng đây sẽ là thiết

bị để hỗ trợ tốt cho sinh viên học môn “ Kỹ thuật vi điều khiển”

Trang 15

Chương 2 Giới thiệu vi điều khiển AT89S8252

và công cụ phát triển của AT89S8252

2.1 Giới thiệu vi điều khiển AT89S8252

2.1.1 Đặc điểm chung

AT89S8252 thuộc họ MCS -51, có những đặc điểm chính sau:

* 8K Bytes bộ nhớ Rom Flash

*Giao diện SPI để Download chương trình (Serial Peripheral Interface)

* Có thể ghi, xoá

* 2K Bytes EEPROM có thể ghi, xoá

* Điện áp hoạt động 4 - 6 Volt

* Dải tần số: 0 – 20 MHz

* 3 mức chốt bộ nhớ chương trình

* 256 Bytes RAM nội

* 4 port xuất nhập (I/O) 8 bit

* 3 Timer/Counter 16 bit

* 6 vector ngắt

* Không gian nhớ chương trình ngoài 64K Bytes

* Không gian nhớ dữ liệu ngoài 64K Bytes

* Bộ xử lý bit

* 2 con trỏ dữ liệu (Data Pointer)

Vi điều khiển AT89S8252 tương thích với tập lệnh và chuẩn công nghiệp MCS -51 Flash trên vi điều khiển AT89S8252 cho phép bộ nhớ chương trình

được lập trình trên hệ thống hoặc bằng bộ lập trình bộ nhớ không mất nội dung quy ước (chương trình có thể được nạp trực tiếp qua cổng máy in hoặc qua bộ nạp) Việc kết hợp một CPU linh hoạt 8 bit với Flash trên một chip đơn làm cho

Trang 16

AT89S8252 trở thành một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp hiệu quả về chi phí và rất linh hoạt đối với các ứng dụng điều khiển

Trang 17

2.1.2 Sơ đồ bố trí chân của AT89S8252 và chức năng hoạt động của các chân

2.1.2.1 Sơ đồ bố trí chân của AT89S8252

2.1.2.2 Chức năng hoạt động của các chân

Port 0: (các chân 32 đến 39) được kí hiệu là P0.0, P0.1, P0.2, , P0.7 Port 0

được dùng làm I/O khi không sử dụng bộ nhớ ngoài Trong các thiết kế có bộ nhớ ngoài port 0 được sử dụng là Bus địa chỉ và Bus dữ liệu đa hợp

Port 1 : (từ chân 1 đến chân 8) được kí hiệu là P1.1, P1.1, P1.2, , P1.7 Port

1 chỉ có công dụng I/O Riêng chân P1.0, P1.1 hoặc làm đường xuất nhập hoặc làm các ngõ vào cho bộ định thời thứ 3

Port 2 : (các chân 21 đến 28) được kí hiệu là P2.1, P2.2, , P2.7 Port 2 được

dùng làm I/O khi không sử dụng bộ nhớ ngoài Trong các thiết kế có bộ nhớ ngoài lớn hơn 256 byte port 2 được sử dụng là byte cao địa chỉ

Port 3 : (các chân 10 đến 17) được kí hiệu là P3.0, P3.1, , P3.7 Port 3 được

dùng làm I/O khi không sử dụng bộ nhớ ngoài Trong các thiết kế có bộ nhớ

Trang 18

ngoài mỗi chân của Port 3 có chức năng riêng Cụ thể chức năng của từng chân

được chỉ ra trên Bảng 2.1:

P3.0 RXD(Chân nhận dữ liệu của port nối tiếp)

P3.1 TXD(Chân phát dữ liệu của port nối tiếp)

P3.2 INT (Đầu vào ngắt ngoài 0) 0

P3.3 INT (Đầu vào ngắt ngoài 1) 1

P3.4 T0 (Đầu vào của bộ Timer/Counter 0)

P3.5 T1 (Đầu vào của bộ Timer/Counter 1)

P3.6 WR (Điều khiển ghi bộ nhớ dữ liệu ngoài)

P3.7 RD (Điều khiển đọc bộ nhớ dữ liệu ngoài)

Bảng 2.1: Chức năng các chân của Port 3

PSEN/ (Program store enable): là tín hiệu xuất hiện trên chân 29 Đây là tín

hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài Chân này thường được nối với chân cho phép xuất OE/ ( Output Entable) của EPROM (hoặc của ROM) để cho phép đọc các byte lệnh Tín hiệu PSEN/ ở logic 0 trong suốt thời gian tìm lạp lệnh Khi thực thi một chương trình trong ROM nội, PSEN/ ở logic 1

ALE (address latch entable): Là tín hiệu xuất ra ở chân thứ 30 để giải đa hợp

bus địa chỉ và bus dữ liệu Trong 1/2 chu kỳ đầu bộ nhớ, chân ALE xuất tín hiệu

để chốt địa chỉ (byte thấp của bus địa chỉ 16 bit) vào thanh ghi ngoài khi ta sử dụng Port 0 làm byte thấp địa chỉ Trong 1/2 chu kỳ bộ nhớ còn lại Port 0 sẽ xuất / nhập dữ liệu Chân ALE còn được dùng để nhập xung ngõ vào lập trình cho EPROM hoặc Flash ROM

EA/ (External Access) là chân 31 của chip AT89S8252 Chân này được nối

lên 5v khi thực thi chương trình trong ROM nội Chân này được nối đất, chương

Trang 19

trình cần thực thi chứa ở bộ nhớ ngoài Chân này cũng có thể nhận điện áp cho phép lập trình 12v (VPP - programming enable voltage) trong khi lập trình Flash

Chân RESET: Dùng để thiết lập lại trạng thái ban đầu cho hệ thống Khi

chân này được treo ở logic 1 tối thiểu trong 2 chu kỳ máy, các thanh ghi bên trong của 89S8252 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống

Chân XTAL1 và XTAL2

Mạch dao động bên trong chip 89S8252 được ghép với thạch anh bên ngoài ở

2 chân XTAL1, XTAL2 Tần số của thạch anh là 12MHz

mạch tạo xung clock từ bên trong chip

Vcc: (chân 40) được nối lên nguồn 5v

2.1.3 Tổ chức bộ nhớ của AT 89S8252

Chip AT89S8252 có không gian bộ nhớ riêng cho chương trình và dữ liệu Cả bộ nhớ chương trình và bộ nhớ dữ liệu đều nằm trong chip Tuy nhiên ta có thể mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài với dung lượng tối đa là 64K cho bộ nhớ chương trình và 64K cho

30pF

XTAL1

Hình 2.3: Mạch ghép nối thạch anh

Trang 20

ngắt cách nhau 8 byte Ví dụ INTR0/ có địa chỉ 0003H, TIMER 0 có địa chỉ

000BH, INTR1/ có địa chỉ 0013H Ta sẽ xét các hoạt động của các ngắt sau

Nếu một chương trình nhỏ ta có thể dùng ROM nội, khi một chương trình lớn ta

có thể mở rộng chương trình bởi ROM ngoài Khi thực thi chương trình trong ROM nội, chân EA/ nối đất Còn khi thực thi chương trình trong ROM ngoại,

chân EA/ nối 5v ( hình 2.4) Khi có ROM ngoài cần có tín hiệu PSEN/

Khi sử dụng bộ nhớ ngoài port 0 trở thành bus địa chỉ (A0, A1, ,A7) và bus dữ liệu(D0, D1, ,D7) ALE chốt byte thấp địa chỉ Vì vậy ta chỉ cần 16 Khi sử dụng bộ nhớ ngoài, port 0 trở thành port địa chỉ (A0-A7) và port dữ liệu (D0-D7) ALE chốt byte thấp địa chỉ vì vậy ta chỉ cần 16 chân là được 16

đường địa chỉ và 8 đường dữ liệu

Đối với bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc được cho phép bởi tín hiệu PSEN/ , EA/ nối đất Việc kết nối được chỉ ra như hình 2.5

Hình 2.4: Tổ chức bộ nhớ chương trình

Trang 21

2.1.3 2 Bộ nhớ dữ liệu RAM

AT89S8252 có 256 byte RAM ở bên trong chip Chúng được chia làm nhiều vùng khác nhau: vùng RAM đa mục đích, vùng RAM định địa chỉ bit, các dãy thanh ghi, và các thanh ghi chức năng đặc biệt lần lượt được chỉ ra trên hình 2.6 và 2.7

Hình 2.6: Tổ chức bộ nhớ dữ liệu Hình 2.5: Truy xuất bộ nhớ chương trình ngoài

Trang 22

2.1.4 Hoạt động định thời của AT89S8252

Các bộ định thời dùng để định thời trong một khoảng thời gian, đếm sự kiện hoặc dùng để tạo tốc độ baud cho việc truyền thông nối tiếp Trong AT89S8252

có ba bộ định thời là T0, T1 và T2

2.1.4 1 Bộ định thời T0 và T1

Việc lựa chọn chế độ hoạt động cho các Timer 0 và timer 1 nhờ vào thanh ghi TMOD Còn việc điều khiển các Timer hoạt động nhờ vào thanh ghi TCON

Có 4 mode hoạt động cho các Timer

Mode 0: Đây là chế độ định thời 13-bit của Timer Byte cao của bộ định

thời THx ( x = 0 or x =1) đ−ợc ghép với 5-bit thấp của bộ định thời TLx để tạo ra

bộ định thời 3-bit cao của TLx không đ−ợc sử dụng

Hình 2.7: Các thanh ghi chức năng đặc biệt

Trang 23

Mode 1: Đây là chế độ định thời 16-bit Nó cũng giống chế độ định thời

13-bit Bộ định thời đếm từ giá trị 0000H đến giá trị FFFFH Cờ tràn sẽ xuất hiện khi có sự chuyển số đếm từ FFFFH xuống 0000H Cờ này được ghi / xoá bằng phần mềm hoặc được tự xoá khi có trình phục vụ ngắt Timer tương ứng được gọi

Mode 2: Đây là chế độ tự nạp lại 8-bit Byte thấp của bộ định thời TLx ( x=

0 or x = 1) được hoạt động định thời 8- bit trong khi byte cao của bộ định thời, lưu giữ giá trị nạp lại, khi số đếm tràn từ FFH xuống 00H, không chỉ cờ tràn của

bộ định thời được set lên 1 mà giá trị trong THx còn được nạp vào trong TLx việc đếm sẽ tiếp tục từ giá trị này cho đến khi xảy ra tràn (FFH về 00H) kế tiếp Chế độ này khá thuận lợi do bởi việc tràn bộ định thời xảy ra ở những khoảng thời gian xác định và tuần hoàn một khi các thanh ghi TMOD và THx được khởi

động

Mode 3 : Đây là chế độ định thời chia sẻ Có hoạt động khác nhau cho từng

bộ định thời, bộ định thời 0 ở chế độ 3 được chia làm hai bộ định thời 8 bit hoạt

động riêng rẽ TL0 và TH0, mỗi bộ định thời sẽ set những cờ tràn tương ứng TF0

Hình 2.9: Mode 2 của bộ định thời 1

Hình II.8 : Mode 0 của bộ định thời 1

Hình 2.8: Mode 0 của bộ định thời1

Trang 24

Bộ định thời 1 không hoạt động ở chế độ 3 nhưng có thể được khởi động

bằng cách chuyển bộ định thời này vào một trong các chế độ khác nhau Giới hạn duy nhất là cờ tràn TF1của bộ định thời 1 không bị ảnh hưởng bởi bộ định thời 1 khi bộ này xảy ra tràn vì TF1 được nối với bộ định thời 8 bit TH0

2.1.4.2 Bộ định thời 2 của AT89S8252

AT89S8252 có thêm bộ định thời thứ ba làm tăng khả năng của vi điều khiển Các thanh ghi liên quan đến bộ định thời 2 bao gồm: các thanh ghi định thời TL2, TH2; thanh ghi điều khiển định thời T2CON; các thanh ghi thu nhận RCAP2L, RCAP2H Các chế độ hoạt động được điều khiển bằng thanh ghi T2CON

Bit Ký hiệu Địa chỉ

bit

Chức năng

T2CON.7 TF2 CFH Cờ tràn của bộ định thời 2 ( không được set khi tclk

hoặc rclk =1 ) T2CON.6 EXF2 CEH Cờ ngoài của bộ định thời 2 Cờ được set khi có sự thu

nhận hoặc nạp lại xảy ra do bởi sự chuyển trạng thái 1 xuống 0 ở chân T2EX và EXF2=1; Khi các ngắt do bộ

định thời được phép, EXF2 =1 làm cho CPU trỏ tới trình phục vụ ngắt EXF2 được xoá bởi phần mềm T2CON.5 RCLK CDH Clock thu của bộ định thời 2 Khi được set, bộ định

Hình 2.10: Mode 3 của bộ định thời 0 và 1

Trang 25

thời 2 cung cấp tốc độ baud khi thu cho port nối tiếp;

bộ định thời 1 cung cấp tốc độ baud khi phát

T2CON.4 TCLK CCH Clock phát của bộ định thời 2 Khi đ−ợc set, bộ định

thời 2 cung cấp tốc độ baud cho port nối tiếp( khi phát ); bộ định thời 1 cung cấp tốc độ baud (khi thu )

T2CON.3 EXEN2 CBH Cho phép từ bên ngoài Khi đ−ợc set, việc thu nhận và

nạp lại xuất hiện khi có sự chuyển trạng thái 1 xuống 0

ở chân T2EX

T2CON.2 TR2 CAH Bit điều khiển hoạt động của bộ định thời 2 Bit này

đ−ợc set hoặc đ−ợc xoá bởi phần mềm để điều khiển

bộ định thời 2 hoạt động hoặc không

T2CON.1 C/T2 C9H Bit chọn chức năng đếm hoặc định thời của bộ định

thời 2 C/T2=1 đếm sự kiện; C/T2=0 đến thời gian.T2CON.0 CP/

C2RL

C8H Cờ thu nhận, nạp lại của bộ định thời 2 Khi đ−ợc set,

việc thu nhận xuất hiện khi có sự chuyển trạng thái 1 xuống 0 ở T2ex nếu EXEN2 =1; khi đ−ợc xoá, tự

động nạp lại xuất hiện khi có tràn bộ định thời hoặc sự chuyển trạng thái ở T2ex nếu EXEN2 =1; nếu RCLK hoặc TCLK =1, bit này đ−ợc bỏ qua

Bộ định thời 2 có 3 chế độ hoạt động: tự nạp lại, thu nhận và tạo tốc độ

baud (bảng 2.3)

Bảng 2.2: Chức năng của thanh ghi T2CON

Trang 26

- Chế độ tự nạp lại

CP/RL2 C = 0 bộ định thời 2 hoạt động ở chế độ tự nạp lại

TL2/TH2 làm nhiệm vụ các thanh ghi định thời

RCAP2L/RCAP2H lưu giữ giá trị nạp lại

Bộ định thời 2 luôn là bộ định thời 16 bit ngay cả ở chế độ tự nạp lại Việc nạp lại xảy ra khi có tràn số đếm từ FFFFH xuống 0000H ở TL2/TH2 và thiết lập TF2 = 1 Điều kiện này được xác định bởi phần mềm hoặc được lập trình để tạo ra 1 ngắt Với vả hai cách vừa nêu, TF2 phải được xoá bởi phần mềm trước khi cờ này được set lần nữa EXEN2 = 1 và có sự chuyển trạng thái từ 1 xuống 0 của tín hiệu đặt vào chân T2EX (P1.1) cũng xảy ra chế độ tự nạp lại Sự chuyển trạng thái từ 1 xuống 0 của tín hiệu đặt vào chân T2EX thiết lập bit EXF2 =1 EXF2 cũng được kiểm tra bởi phần mềm hoặc tạo ra một ngắt EXF2 phải được xoá bởi phần mềm Chế độ hoạt động này được chỉ ra trên hình 2.11

- Chế độ thu nhận

CP/RL2C =1 bộ định thời 2 hoạt động ở chế độ thu nhận Bộ định thời 2 hoạt động như là một bộ định thời 16 bit Khi có tràn số đếm từ FFFFH xuống 0000H ở TL2/TH2 sẽ thiết lập TF2 = 1 TF2 được kiểm tra bởi phần mềm hoặc

Hình 2.11: Chế độ tự nạp lại của bộ định thời 2

Trang 27

tạo ra một ngắt Để cho phép chế độ này hoạt động, EXEN2 phải được set bằng

1 EXEN2 =1 và tín hiệu đặt ở T2EX chuyển trạng thái từ 1 xuống 0 sẽ đưa các

giá trị trong các thanh ghi định thời TL2/TH2 vào trong các thanh ghi RCAP2L/RCAP2H

Việc nạp lại giá trị này được điều khiển bởi xung clock Cờ EXF2 cũng

được set bằng 1, được kiểm tra bằng phần mềm hoặc tạo ra một ngắt Chế độ thu nhận được chỉ ra trên hình 2.12

- Đặt tốc độ baud

Hai thanh ghi định thời TL2/TH2 hoạt động định thời 16 bit ( chú ý

là fOSC được chia 2 ) Trong khi đó 2 thanh ghi thu nhận RCAP2L/RCAP2H của bộ định thời lưu giữ giá trị nạp lại Khi có tràn số đếm từ FFFFH xuống 0000H ở TL2/TH2 sẽ tạo ra 1 ngắt và giá trị trong 2 thanh ghi thu nhận

RCAP2L/RCAP2H của bộ định thời còn được nạp vào TL2/TH2

Trang 28

- Nếu bit SMOD = 1: Tốc độ baud = tốc độ tràn của bộ định thời 1

chia cho 16

+ Bộ định thời 2:

Tốc độ baud = tốc độ tràn của bộ định thời 2 chia cho 16

Để lựa chọn bộ định thời 2 hoạt động ở chế độ tạo tốc độ baud cho port nối tiếp thì bit TCLK hoặc RCLK phải đ−ợc set bằng 1 RCLK =1 bộ định thời

2 hoạt động ở chế độ tạo tốc độ baud thu TCLK =1 bộ định thời 2 hoạt động ở chế độ tạo tốc độ baud thu Tốc độ baud phát và thu có thể sẽ khác nhau nếu ta kết hợp cả bộ định thời 1 & 2 ( hình 2.13)

Khi EXTE2 đ−ợc set bằng 1, T2EX chuyển trạng thái từ 1 xuống 0 sẽ set EXF2 nh−ng không nạp lại giá trị trong 2 thanh ghi thu nhận RCAP2L / CAP2H vào TL2 / TH2

2.1.5 Hoạt động của Port nối tiếp

Chức năng cơ bản của port nối tiếp là chuyển đổi dữ liệu từ song song thành nối tiếp khi phát và từ nối tiếp thành song song khi thu Dữ liệu đ−ợc truyền đi hoặc nhận về thông qua bộ đệm dữ liệu nối tiếp SPUF (Serial Data Buffer ) Khi truyền đi, dữ liệu đ−ợc chuyển từ song song sang nối tiếp thông qua chân TXD Khi thu, dữ liệu đ−ợc chuyển từ nối tiếp sang song song thông qua chân RXD

Hình 2.13: Đặt tốc độ baud

Trang 29

Thanh ghi SPUF có địa chỉ 99H Việc ghi dữ liệu cho SPUF tức là phát dữ liệu, việc đọc SPUF tức truy xuất dữ liệu nhận được ( thu dữ liệu ) Điều khiển port nối tiếp thông qua thanh ghi SCON có địa chỉ là 98H, thanh ghi này là thanh ghi

định địa chỉ từng bit cho ta xác định được các chế độ làm việc của port nối tiếp (thông qua hai bit MS0 & MS1) Port nối tiếp có 4 chế độ hoạt động sau :

Chế độ 0: Trong chế độ này cổng RXD vừa nhận dữ liệu, vừa phát dữ liệu

có độ dài 8 bit Bit trẻ nhất được phát / truyền đầu tiên Tốc độ truyền là fosc /12 (fosc tần số xung clock) TXD được dùng làm chân xuất xung clock dịch bit Việc phát dữ liệu được khởi động bằng một lệnh ghi dữ liệu vào SBUF Dữ liệu được dịch ra ngoài trên chân RxD với các xung clock dịch bit được gửi ra trên chân TxD Mỗi một bit hợp lệ được truyền đi trên chân RxD trong một chu kỳ máy

Chế độ 1: Đây là chế độ truyền thông UART 8-bit có tốc độ baud thay đổi

Port nối tiếp hoạt động như một bộ thu phát không đồng bộ 8-bit có tốc độ baud thay đổi UART là một bộ thu và phát dữ liệu nối tiếp với mỗi một ký tự dữ liệu

được đứng trước bởi một bit start (logic 0) và được đứng sau bởi một bit stop (logic 1) Như vậy ở chế độ 1 ta có 10- bit được thu trên chân RxD và 10-bit

được phát trên chân TxD cho mỗi ký tự dữ liệu

Chế độ 2 : Đây là chế độ truyền thông UART 9-bit có tốc độ baud cố định

Có 11 bit được thu hoặc phát cho mỗi ký tự dữ liệu: gồm 1bit start, 8 bit dữ liệu, bit thứ 9 ( số thứ tự 10) là bit có thể lập trình được, bit cuối cùng là bit stop Dữ liệu được nhận qua cổng RxD và được phát qua cổng TxD Khi phát, bit thứ 9 là bit bất kỳ được đặt vào bit TB8 trong thanh ghi SCON (có thể là bit chẵn lẻ) Khi thu bit thứ 9 nhận được sẽ đặt vào bit RB8 trong thanh ghi SCON Tốc độ baud không thay đổi có thể fosc/32 hoặc fosc/64 tuỳ thuộc vào bit SMOD của thanh ghi

điều khiển nguồn PCON Nếu SMOD = 0 thì tốc độ truyền fosc/32, nếu SMOD =1 thì tốc độ truyền fosc/64

Chế độ 3: Đây là chế độ truyền thông UART 9-bit có tốc độ baud thay đổi

Nó hoạt động tương tự như chế độ 2 nhưng tốc độ truyền có thể thay đổi được

Trang 30

Muốn thay đổi tốc độ truyền có thể sử dụng bộ định thời 1, hoặc bộ định thời 2 của 8052, hoặc cả hai

2.1.6 Hoạt động của ngắt trong AT89S8252

Có 6 nguyên nhân để tạo ra ngắt trong AT89S8252 Đó là 2 ngắt ngoài, 3 ngắt do bộ định thời và một ngắt do port nối tiếp Khi ta thiết lập trạng thái ban

đầu (sau khi RESET), tất cả các ngắt đều bị vô hiệu hoá và sau đó chúng được cho phép riêng rẽ bằng phần mềm

Khi chương trình đang thực hiện, nếu có ngắt với ưu tiên cao xuất hiện, trình phục vụ ngắt cho ngắt có mức ưu tiên thấp tạm dừng Ta không thể tạm dừng một chương trình ngắt có mức ưu tiên cao hơn

Hình 2.14: Các véc tơ ngắt của AT89S8252

Khi có 2 ngắt khác nhau xuất hiện đồng thời, ngắt có mực ưu tiên cao sẽ

được phục vụ trước IE0 là ngắt có ưu tiên cao nhất sau đó là TF0, IE1, TF1, RI,

TI và cuối cùng TF2 và EXF2 là thấp nhất Khi một ngắt được chấp nhận, giá trị

được nạp cho bộ đếm chương trình được gọi là vector ngắt Vector ngắt là địa chỉ bắt đầu của trình phục vụ ngắt của các ngắt tương ứng Các vector ngắt được cho

ở bảng 2.4:

Trang 31

Nguồn ngắt Cờ Địa chỉ vector ngắt

2.1.7 Hoạt động RESET của AT89S8252

AT89S8252 được reset bằng cách giữ chân RST ở mức cao tối thiểu hai chu

kỳ máy và sau đó chuyển về mức thấp

Khi reset hệ thống thanh ghi PC được nạp địa chỉ 0000H, khi đó chương trình sẽ bắt đầu từ địa chỉ đầu tiên trong bộ nhớ chương trình Nội dung RAM của trên chip không bị ảnh hưởng khi ta reset hệ thống

2.1.8 Lập trình cho Flash ROM và EEPROM

AT98S8252 của hãng Atmel có 8K byte Flash ROM và 2K byte EEPROM Bình thường Flash ROM và EEPROM ở trạng thái bị xoá (toàn bộ nội dung là FFH) và sẵn sàng để được lập trình Mạch giao tiếp lập trình nhận điện áp cao 12v ở chế độ lập trình song song và điện áp thấp 5v ở chế độ lập trình nối tiếp Chế độ lập trình nối tiếp thích hợp để Dowmload AT89S8252 bên trong hệ thống của người sử dụng, chế độ lập trình song song tương thích với các thiết bị lập trình cho Flash ROM và EEPROM Ta chỉ xét chế độ lập trình nối tiếp

Chế độ lập trình nối tiếp

Cả dãy bộ nhớ Flash và EEPROM đều có thể được lập trình bằng cách sử dụng bus nối tiếp SPI (Serial Peripheral Interface) khi chân RTS được kéo lên

Trang 32

Vcc Giao diện lập trình nối tiếp bao gồm các chân SCK, MOSI ( input) và MISO (output) Sau khi chân RST được đưa lên mức cao, lệnh cho phép lập trình được thực hiện đầu tiên trước khi việc lập trình hoặc xoá được thực hiện

Một chu trình xoá tự động được tạo ra trong hoạt động lập trình tự định thời (chỉ có trong chế độ lập trình nối tiếp) và không cần thiết thực hiện lệnh xoá chip trừ khi các bit khóa được lập trình Việc xoá chip trả về tại tất cả các ô nhớ trong Flash và EEPROM giá trị FFH

Phân vùng không gian địa chỉ như sau:

Code memory (Flash): 0000H đến 1FFFH

Data memory (EEPROM): 000H đến 7FFH

Tần số xung clock nối tiếp (SCK) nên nhỏ hơn 1/40 tần số dao động thạch

anh

Thuật giải lập trình nối tiếp

Để lập trình và kiểm tra AT89S8252 trong chế độ lập trình nối tiếp, phải thực hiện theo các bước sau:

Bước 1: Trình tự cấp nguồn:

Cấp nguồn cho chân Vcc, đất cho chân GND

Set chân RST lên “1”

Cấp xung 3-24 MHz vào chân XTAL1 và đợi ít nhất 10ms

Bước 2: Gửi một lệnh cho phép lập trình nối tiếp tới chân MOSI (P1.5)

Tần số xung dịch cấp cho chân SCK (P1.7) phải nhỏ hơn 1/40 tần số dao

động thạch anh ở chân XTAL1

Bước 3: Dãy bộ nhớ mã và dữ liệu được lập trình một byte tại một thời điểm bằng cách cung cấp địa chỉ và dữ liệu cùng nhau với lệnh ghi thích hợp Trước khi được ghi, ô nhớ được chọn tự động được xoá Chu trình ghi là tự định thời và thường mất khoảng 2,5 ms ở 5v

Bước 4: Mọi ô nhớ đều có thể được kiểm tra bằng cách sử dụng lệnh đọc trả về nội dung của ô nhớ có địa chỉ được chọn ở đầu ra nối tiếp MISO (P1.6)

Trang 33

Bước 5: Tại điểm kết thúc của quá trình lập trình, chân RST có thể được đặt mức

logic thấp để bắt đầu hoạt động bình thường

Trình tự tắt nguồn (nếu cần thiết)

Set chân XTAL1 xuống “0”

Set chân RST xuống “0”

Tắt nguồn Vcc

Hình 2.15: Sơ đồ nạp chương trình Hình 2.16: Sơ đồ kiểm tra Flash

Cho Flash ROM

2.2 Các công cụ phát triển cho vi điều khiển AT89S8252 2.2.1 Phần mềm Keil của hãng Keil Software

Phầm mềm Keil àVision là một chương trình biên dịch cho phép người sử dụng có thể viết được các chương trình điều khiển cho họ vi điều khiển MSC-51 bằng ngôn ngữ C và cả ASM Nó có chứa hầu hết các hàm chuẩn của ANSI-C

Điều này giúp cho người sử dụng có thể tận dụng được những hàm chuẩn của C

để viết chương trình cho vi điều khiển Việc tổ chức chương trình thành các modul nhỏ cũng rất dễ thực hiện Chương trình biên dịch cho ngôn ngữ C của nó chính là Cx51 Compiler Sau đây ta sẽ xem xét một vài đặc điểm của phần mềm này

Trang 34

Các kiểu dữ liệu trong chương trình:

Cx51 Compiler hỗ trợ tất cả các kiểu dữ liệu chuẩn của C như: char, short, int, long, float Ngoài ra nó còn có một vài kiểu dữ liệu đặc biệt tương thích với

định nghĩa từng bit cho các bit trong các thanh ghi đặc biệt mà có thể định địa chỉ bit

Ví dụ khai báo :

Cách tổ chức bộ nhớ của vi điều khiển trong phần mềm Keil C51

- Bộ nhớ chương trình: Đây là vùng nhớ chỉ đọc trong vi điều khiển Nó có thể có dung lượng tới 64KB Trong phầm mềm Keil C51 thì vùng nhớ này được

định dạng bằng từ khoá code

Trang 35

Ví dụ khai báo biến thuộc vùng code:

char code str[]={“CD CNND”}; //Khai báo một mảng ký tự chứa trong vùng nhớ code

- Bộ nhớ dữ liệu bên trong vi điều khiển: Đây là vùng nhớ có thể vừa ghi và

đọc Có 3 kiểu vùng nhớ dữ liệu ở bên trong vi điều khiển Đó là các kiểu: data, idata, bdata Vùng nhớ dữ liệu kiểu data là vùng nhớ chứa 128 byte dữ liệu đầu tiên của vi điều khiển Vùng nhớ này có thể truy cập thông qua địa chỉ trực tiếp

đ−ợc Vùng nhớ dữ liệu kiểu idata là vùng nhớ 256 byte dữ liệu truy nhập thông qua địa chỉ gián tiếp Vùng nhớ dữ liệu kiểu bdata là vùng nhớ chứa 16 byte định

địa chỉ bit từ địa chỉ 20H đến 2FH

Ví dụ khai báo biến trong vùng nhớ dữ liệu trong:

unsigned char data v1; //Khai báo biến v1

unsigned int idata v2; //Khai báo biến v2

char bdata v3; //Khai báo biến v3

- Bộ nhớ dữ liệu ngoài: Có 2 kiểu dữ liệu ngoài ở trong Keil C51 là XDATA và PDATA XDATA là vùng nhớ dữ liệu ngoài có thể định địa chỉ đ−ợc

đến 64 KB dữ liệu PDATA là vùng nhớ chứa từng trang dữ liệu Mỗi trang dữ liệu ngoài chứa đ−ợc 256 byte Để có thể truy cập đ−ợc bộ nhớ dữ liệu ngoài, ta

phải dùng từ khoá _at_ để định địa chỉ cho các biến

Ví dụ khai báo biến trong vùng nhớ dữ liệu ngoài:

float xdata a1 _at_ 0x4000; //Khai báo biến a1 có địa chỉ 4000H

unsigned long pdata a2 _at_ 0x2005; // Khai báo biến a2

Con trỏ trong phần mềm Keil C51

Con trỏ trong Keil C51 đ−ợc khai báo giống nh− khai báo con trỏ trong ngôn ngữ C

Ví dụ về khai báo con trỏ:

char *s; //Con trỏ của một string

int *p; //Con trỏ kiểu int

Trang 36

Con trỏ được sử dụng để truy cập tới bất cứ phần bộ nhớ nào của vi điều khiển Có hai cách khai báo sử dụng con trỏ Generic Pointers là kiểu con trỏ dùng chung Khai báo con trỏ sẽ chiếm 3 byte của vùng nhớ dữ liệu mà nó trỏ

đến Con trỏ còn có thể khai báo vùng nhớ dữ liệu cho con trỏ

Ví dụ:

char data *str; /* ptr to string in data */

int xdata *numtab; /* ptr to int(s) in xdata */

long code *powtab; /* ptr to long(s) in code */

Sử dụng ngắt của vi điều khiển trong Keil C51

Phần mềm Keil C51 được thiết kế sử dụng ngắt rất đơn giản và dễ sử dụng

Từ khoá khai báo để sử dụng ngắt là interrupt(bảng 2.5)

Chương trình con ví dụ về việc sử dụng ngắt:

void InterruptTimer0(void) interrupt 1 {

//Các câu lệnh trong chương trình phục vụ ngắt

}

Ngoài ra, Keil C51 còn là chương trình mô phỏng chip rất tốt bằng chương trình tích hợp Scope Nó cho phép người sử dụng mô phỏng chương trình viết trong C chạy trên nền chip giống như thật Người sử dụng có thể dễ dàng theo dõi giá trị của Timer, trạng thái các ngắt, đầu ra cổng nối tiếp, đầu ra các port P0….P3

Bảng 2.5: Các vecter ngắt trong phần mềm

Trang 38

Chương 3 Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa

Theo nội dung đề tài:“ Nghiên cứu chế tạo KIT vi điều khiển dùng trong

đào tạo hệ Cao đẳng ngành Điện tự động hóa tại trường Cao đẳng Công nghiệp Nam Định” nhằm phục vụ dạy và học môn học kỹ thuật vi điều khiển

cho sinh viên hệ Cao đẳng ngành Điện tự động hóa trường Cao đẳng Công nghiệp Nam Định

Để thiết kế được bộ KIT vi điều khiển ngoài mục đích điều khiển, bộ KIT

còn phải sử dụng dễ dàng, thân thiện với người sử dụng, các bước cần thực hiện cho việc xây dựng bộ KIT vi điều khiển là:

Khối CPU : Nhận chương trình, điều khiển thiết bị ngoại vi

Khối LCD : Là màn hình tinh thể lỏng dùng để hiển thị các thông số

Khối LED : Dùng để hiển thị các thông số

Khối Keyboad: Là khối bàn phím dùng để nhập các thông số của chương

trình

Khối ADC: Là bộ biến đổi ADC dùng để biến đổi tín hiệu từ dạng tương tự

sang dạng số

Khối DAC : Là bộ biến đổi từ số sang tương tự dùng để biến đổi các tín

hiệu rời rạc sang dạng tín hiệu liên tục

Khối động cơ một chiều: Bao gồm mạch điều khiển và động cơ

Khối động cơ một bước: Bao gồm mạch điều khiển và động cơ

Trang 39

3.2.2 Khối giao tiếp vi điều khiển với bàn phím

Bàn phím là một thiết bị rất thông dụng trong các bộ vi điều khiển Có thể chỉ là một công tắc có gắn phím nối vào một chân nào đó của bộ vi điều khiển hoặc cũng có nhiều công tắc có gắn phím đ−ợc tổ chức theo một ma trận Có rất nhiều loại công tắc đ−ợc dùng trong phối ghép với bộ vi điều khiển nh−ng có thể xếp chúng vào hai nhóm:

+ Công tắc có tiếp xúc cơ khí ( kiểu điện trở: điện trở thay đổi khi ấn và khi nhả phím )

+ Công tắc không có tiếp xúc cơ khí ( kiểu điện dung: điện dung thay đổi khi ấn và khi nhả phím hoặc kiểu hiệu ứng Hall: điện áp thay đổi khi ấn và nhả phím )

Trong các loại công tắc đó, loại công tắc điều khiển điện trở dựa trên tiếp xúc cơ khí là rất thông dụng trong thực tế Trên hình 3.2 là cách nối công tắc vào mạch điện và đáp ứng của nó khi có lực tác động vào bàn phím (ấn phím )

Vi điều khiển

Trang 40

Nhìn đáp ứng về mặt cơ điện của công tắc ta nhận thấy: vì công tắc là một

hệ thống có quán tính, do đó khi ta ấn phím rồi nhả phím, xung điện thu được ở

đầu ra của nó không phải là liên tục mà bị đứt quãng tại các giai đoạn quá độ ( lúc bắt đầu ấn phím và lúc bắt đầu nhả phím ) Điều này xảy ra là do trong kết cấu của công tắc có các bộ phận đàn hồi, khi bị tác động của lực bên ngoài các kết cấu động của công tắc bị dao động làm cho bề mặt tiếp xúc của công tắc bị biến đổi

Trong thực tế thì mỗi quá trình quá độ kéo dài khoảng 10-20 ms Nếu trong thời kỳ quá độ ta đọc thông tin từ công tắc thì rất dễ nhận được thông tin sai lệch

về trạng thái của công tắc, vì vậy người ta thường phải chờ 10-20 ms sau khi công tắc ấn hoặc nhả để đọc được trạng thái của công tắc trong giai đoạn xác lập

Khi một công tắc được nối thẳng vào một chân nào đó của bộ vi điều khiển hoặc các mạch phụ trợ, có một cách để tránh các hiệu ứng phụ không muốn có thể tác động lên hoạt động của bộ vi điều khiển do việc công tắc bị rung gây ra

là dùng các mạch tích phân nối bên cạnh công tắc như trong trường hợp tạo đầu vào cho RESET của hệ vi điều khiển

Để nhận được thông tin chính xác về trạng thái của một phím trong các hệ thống nhiều phím ta thường phải làm 3 khối công việc chính như sau:

F(N)

t(s) Ura(v)

t(s)

5v

Ura F

5v R

Hình 3.2: ảnh hưởng độ rung của công tắc

Ngày đăng: 23/05/2014, 10:00

HÌNH ẢNH LIÊN QUAN

Hình II.2: Sơ đồ cấu trúc của AT89S8252  Hình 2.1: Sơ đồ cấu trúc của AT89S8252 - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
nh II.2: Sơ đồ cấu trúc của AT89S8252 Hình 2.1: Sơ đồ cấu trúc của AT89S8252 (Trang 16)
Hình 2.6: Tổ chức bộ nhớ dữ liệu  Hình 2.5: Truy xuất bộ nhớ ch−ơng trình ngoài - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 2.6 Tổ chức bộ nhớ dữ liệu Hình 2.5: Truy xuất bộ nhớ ch−ơng trình ngoài (Trang 21)
Hình 3.1: Sơ đồ khối mô hình bộ KIT - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.1 Sơ đồ khối mô hình bộ KIT (Trang 39)
Hình 3.13: Sơ đồ nguyên lý mô đul hiển thị LED 7 thanh - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.13 Sơ đồ nguyên lý mô đul hiển thị LED 7 thanh (Trang 51)
Hình 3.14: Ảnh Modul hiển thị LED 7 thanh - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.14 Ảnh Modul hiển thị LED 7 thanh (Trang 52)
Hình 3.15: Sơ đồ nguyên lý modul điều khiển LED đơn và LED ma trận - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.15  Sơ đồ nguyên lý modul điều khiển LED đơn và LED ma trận (Trang 53)
Hình 3.16: ảnh Modul điều khiển LED đơn và LED ma trận - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.16 ảnh Modul điều khiển LED đơn và LED ma trận (Trang 54)
Hình 3.18 : Sơ đồ  nguyên lý mạch điện mođul ADC-DAC - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.18 Sơ đồ nguyên lý mạch điện mođul ADC-DAC (Trang 59)
Hình 3.23 : Sơ đồ cấu tạo động cơ điện một chiều - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.23 Sơ đồ cấu tạo động cơ điện một chiều (Trang 64)
Hình 3.27: Sơ đồ nguyên lý Modul điều khiển động cơ một chiều - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.27 Sơ đồ nguyên lý Modul điều khiển động cơ một chiều (Trang 66)
Hình 3.28:  ảnh modul điều khiển động cơ một chiều - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.28 ảnh modul điều khiển động cơ một chiều (Trang 67)
Hỡnh 3.30: Sơ đồ nguyên lý  mạch điện động cơ bước - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
nh 3.30: Sơ đồ nguyên lý mạch điện động cơ bước (Trang 70)
Hình 3.31: ảnh modul điều khiển động cơ bước - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.31 ảnh modul điều khiển động cơ bước (Trang 71)
Hình 3.33: ảnh bộ KIT thực tập vi điều khiển - Nghiên cứu chế tạo KIT vi điều khiển dùng trong đào tạo hệ cao đẳng ngành điện tự động hóa tại trường cao đẳng công nghiệp nam định
Hình 3.33 ảnh bộ KIT thực tập vi điều khiển (Trang 74)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w