Điểm khác biệt nhất của bộ dụng cụ mới này so với bộ thí nghiệm cũ là cho phép dùng máy tính điện tử để điều khiển toàn bộ quá trình thực hiện thí nghiệm, ghi chép kết quả, xử lý, phân t
Trang 1ĐƠN VỊ DỰ THI: TRƯỜNG THPT LÊ QUÝ ĐÔN
Cuộc thi khoa học kĩ thuật cấp quốc gia dành cho học sinh trung học
Lớp 12 Tin trường THPT chuyên Lê Quý Đôn – Khánh Hòa
Giáo viên hướng dẫn:
Thầy Hoàng Bá Kim
Nha Trang, tháng 12 năm 2014
11.02 – V2
Trang 22 |
Lời cảm ơn
Chúng em xin gửi lời cảm ơn chân thành đến các Thầy (cô) giáo Trường Trung Học Phổ Thông Chuyên Lê Qúy Đôn – Khánh Hòa, sở Giáo dục và Đào tạo Khánh Hòa, trường Cao đẳng sư phạm Nha Trang, thầy Hoàng Bá Kim, thầy Nguyễn Chánh, cô Trần Thị Thanh Nhã cùng các bạn cùng lớp, gia đình, nhà trường đã tạo điều kiện, giúp đỡ hỗ trợ chúng em hoàn thành sản phẩm này
Hoàng Trung Hiếu Nguyễn Phạm Xuân Thắng
Trang 33 |
MỤC LỤC
LỜI CẢM ƠN……… Trang 2
A TÓM TẮT NỘI DUNG DỰ ÁN Trang 9
B LÝ DO NGHIÊN CỨU ĐỀ TÀI _ Trang 11
C TỔNG QUAN ĐỀ TÀI – CÔNG VIỆC THỰC HIỆN _ Trang 12
I Tổng quan đề tài……… …… Trang 12
II Công việc thực hiện……… … Trang 13
D CƠ SỞ LÝ THUYẾT CỦA DỰ ÁN Trang 16
I Yêu cầu – cách tiến hành – phương án các thí nghiệm…… … Trang 16
1 Thí nghiệm: thực hành khảo sát chuyển động
rơi tự do – xác định gia tốc rơi tự do……… Trang 16
2 Thí nghiệm: khảo sát thực nghiệm các định luật
dao động của con lắc đơn……… Trang 18
3 Thí nghiệm: Đo gia tốc trọng trường bằng con lắc thuận nghịch Trang 20 3.1 Cơ sở lý thuyết……… Trang 20 3.2 Trình tự thí nghiệm……… Trang 22
II Cơ sở của truyền thông nối tiếp (Serial Transfer)……… Trang 24
1 Giới thiệu truyền thông nối tiếp (Serial Transfer)
và những ưu điểm của nó……… Trang 24
2 Cơ sở của truyền thông nối tiếp……… Trang 24
3 Một số khái niệm quan trọng trong truyền thông nối tiếp………… Trang 25 3.1 Khung truyền (Farme)……….……… Trang 25 3.2 Start bit……….……… Trang 26 3.3 Dữ liệu (Data)……… Trang 26 3.4 Stop bits……….…… Trang 26 3.5 Parity bit……… Trang 26
4 Chuẩn giao tiếp RS232……… Trang 26
Trang 44 |
5 Một số thanh ghi và kỹ thuật lập trình trong
truyền và nhận thông tin nối tiếp……… Trang 27 5.1 Thanh ghi SBUF……….… Trang 27 5.2 Cài đặt chế độ truyền thông nối tiếp bằng thanh ghi SCON Trang 27
a Các bit SM0, SM1……… Trang 28
b Bit SM2……… Trang 28
c Bit REN……… Trang 28
d Bit TB8 và RB8……… Trang 28
e Bit TI và RI……… Trang 28
6 Tốc độ baud (baud rate) và cài đặt tốc độ baud cho 8051……… Trang 28 6.1 Tốc độ baud (baud rate)……… Trang 28 6.2 Cài đặt tốc độ baud cho 8051……… Trang 29
7 Ví dụ minh họa ……… Trang 30
III Bộ định thời trong 8051……… Trang 31
1 Bộ định thời- các bộ định thời của 8051……… Trang 31
2 Các thanh ghi cơ sở của bộ định thời……… Trang 31 2.1 Các thanh ghi của bộ Timer 1……… Trang 31 2.2 Thanh ghi TMOD……… Trang 31
3 Nguồn tạo độ trễ thời gian cho 8051……… Trang 32
4 Lập trình cho timer I……… Trang 32
E SƠ ĐỒ HOẠT ĐỘNG _ Trang 35
F GIỚI THIỆU PHẦN CỨNG CỦA DỰ ÁN _ Trang 36
I Giới thiệu một số linh kiện điện tử được sử dụng trong mạch… Trang 36
1 Giới thiệu chip (IC) vi xử lý AT 89C52 ……….……… Trang 36
2 Giới thiệu IC MAX 232 của hãng Maxim……….……… Trang 37
3 USB to Serial Port Adaptor……….……… Trang 38
4 Một số linh kiện khác……… Trang 38
II Giới thiệu phần cứng của các khối:……… Trang 40
1 Khối vi xử lý……….……… Trang 40 1.1 Đấu nối IC AT89C52……….……… Trang 40 1.2 Đấu nối MAX 232……….……… Trang 42
2 Khối điều khiển nam châm điện……… ……… Trang 43
3 Khối nhận tín hiệu (cổng quang điện) ……… Trang 43
4 Khối nguồn……… ….……… Trang 44
III Lắp đặt phần cứng của sản phẩm……… ……… Trang 45
IV Sơ đồ mạch tổng thể dự án……… ……… Trang 46
G GIỚI THIỆU PHẦN MỀM CỦA DỰ ÁN _ Trang 47
I Phần mềm hỗ trợ lập trình cho dự án……… ……… Trang 47
Trang 55 |
1.1 Giới thiệu……… ……… Trang 47 1.2 Môi trường làm việc……… … Trang 47
2 Little Programer Version Gold……… Trang 48
3 Microsoft Visual Studio 2008……… Trang 49
II Phần mềm lập trình cho chip vi xử lý……… Trang 50
1 Tổng quan……… Trang 50
2 Khởi tạo phương thức truyền thông nối tiếp……… Trang 50
3 Lập trình AT 89C52 truyền dữ liệu nối tiếp……… Trang 51
4 Lập trình AT 89C52 nhận dữ liệu nối tiếp……… Trang 52
5 Lập trình AT 89C52 điều khiển thực hiện thí nghiệm……… Trang 53
6 Lập trình AT 89C52 thực hiện điều khiển đồng hồ TIMER……… Trang 53
III Phần mềm lập trình giao diện trên máy tính……… Trang 54
1 Tổng quan……… Trang 54
2 Dò tìm – tạo kết nối cổng COM với chip……… Trang 54
3 Nhận thông tin từ COM……… Trang 55
4 Gửi thông tin từ COM……… Trang 55
5 Giao diện người dùng……… … Trang 55
H HƯỚNG DẪN KẾT NỐI – SỬ DỤNG SẢN PHẨM _ Trang 56
I Hướng dẫn kết nối……… …… Trang 56
II Sử dụng sản phẩm……… …… Trang 56 III Sử dụng phần mềm……….……… Trang 56
1 Giao diện giới thiệu phần mềm……… ……… Trang 56
2 Hướng dẫn lắp ráp bộ thí nghiệm……… ……… Trang 56
3 Thực hiện kết nối COM……… ……… Trang 56
4 Lựa chọn thí nghiệm……… ………… Trang 57
5 Thực hiện thí nghiệm 1……… ……… Trang 57 5.1 Khởi tạo báo cáo……… ……… Trang 57 5.2 Thực hành……… ……… Trang 58 5.3 Nhập độ cao……….……… Trang 58 5.4 Đồng hồ đo thời gian thí nghiệm 1……… Trang 58
6 Thực hiện thí nghiệm 2……… Trang 59 6.1 Khởi tạo báo cáo……… Trang 59 6.2 Thực hành……… Trang 59 6.3 Nhập biên độ……… Trang 60 6.4 Nhập khối lượng con lắc……… Trang 60 6.5 Nhập chiều dài con lắc……… Trang 60 6.6 Đồng hồ đo thời gian thí nghiệm 2……… Trang 60
Trang 66 |
7 Xuất kết quả thí nghiệm……… Trang 61
8 Ngắt kết nối COM……… Trang 61
9 Một số lưu ý khi sử dụng……… Trang 61
I LỢI ÍCH CỦA SẢN PHẨM _ Trang 62
J KẾT QUẢ ĐẠT ĐƯỢC – HƯỚNG PHÁT TRIỂN SẢN PHẨ _Trang 63
I Kết quả đạt được……… Trang 63
II Hạn chế của sản phẩm……… Trang 63 III Hướng phát triển sản phẩm……… Trang 63
K KẾT LUẬN ĐỀ TÀI _ Trang 64
L TÀI LIỆU THAM KHẢO _ Trang 65 PHỤ LỤC 1: MẪU BÁO CÁO THỰC HÀNH KHẢO SÁT CHUYỂN ĐỘNG
RƠI TỰ DO VÀ XÁC ĐỊNH GIA TỐC RƠI TỰ DO………… Trang 66 PHỤ LỤC 2: KẾT QUẢ MỘT SỐ THÍ NGHIỆM ……… Trang 68
Trang 77 |
DANH MỤC HÌNH ẢNH
Hình 1: Giờ thực hành vật lý ở trường THPT Lê Quý Đôn
Hình 2: Mô hình hoạt động của sản phẩm
Hình 3: Phần cứng và phần mềm của sản phẩm
Hình 4: Mô tả thí nghiệm đo gia tốc rơi tự do
Hình 5: So sánh truyền thông nối tiếp và truyền thông song song
Hình 6: Ví dụ của một khung truyền
Hình 7: Cổng DB-9
Hình 8: Mô tả cấu trúc thanh ghi SCON
Hình 9: Mô tả cấu trúc thanh ghi PCON
Hình 10: Sơ đồ chân IC AT89C52
Hình 11: Hình dạng IC AT 89C52
Hình 12: Hình dạng IC MAX232
Hình 13: Sơ đồ chân IC MAX232
Hình 14: USB to Serial Port Adaptor
Hình 15: Sơ đồ chân IC LM358 và hình dạng IC LM358
Hình 16: Led thu tia hồng ngoại
Hình 17: Led phát tia hồng ngoại
Hình 18: Cầu Diode 1A
Hình 19: IC ổn áp 7805
Hình 20: Sơ đồ mạch điện khối xử lý
Hình 21: Sơ đồ mạch điện khối điều khiển nam châm điện
Hình 22: Sơ đồ mạch điện cổng quang điện
Hình 23: Mô hình cổng quang điện
Hình 24: Sơ đồ mạch điện khối nguồn
Hình 25: Mạch điện IC AT89C52 – Khối xử lý
Hình 26: Khối nhận tín hiệu và khối nguồn
Hình 27: Mạch điện IC MAX 232 – DB9
Hình 28: Sơ đồ mạch điện tổng thể dự án
Hình 29: Giới thiệu phần mềm Keil C
Hình 30: Môi trường lập trình trong Keil C
Hình 31: Môi trường giả lập để chạy thử trong Keil C
Hình 32: Giao diện chính của Little Programer Version Gold và hình ảnh mạch nạp Hình 33: Giới thiệu phần mềm Visual Studio 2008
Hình 34: Giao diện lập trình trong Visual Studio 2008
Hình 35: Giao diện giới thiệu phần mềm
Trang 88 |
Hình 36: Giao diện quản lý kết nối COM
Hình 37: Giao diện thực hiện thí nghiệm 1
Hình 38: Bảng số liệu thí nghiệm 1
Hình 39: Giao diện nhập độ cao
Hình 40: Giao diện đồng hồ đo thời gian 1
Hình 41: Giao diện thực hiện thí nghiệm 2
Hình 42: Bảng số liệu thí nghiệm 2
Hình 43: Giao diện nhập độ cao
Hình 44: Giao diện nhập khối lượng
Hình 45: Giao diện nhập chiều dài con lắc
Hình 46: Giao diện đồng hồ đo thời gian 2
Hình 47: Xuất kết quả ra file Excel
Hình 48: Lợi ích của sản phẩm
Hình 49: Hướng phát triển của sản phẩm
Trang 9chế tạo thành công bộ dụng cụ: “Kết nối với máy tính với một số thí nghiệm trong
chương trình THPT”
Điểm khác biệt nhất của bộ dụng cụ mới này so với bộ thí nghiệm cũ là cho phép dùng máy tính điện tử để điều khiển toàn bộ quá trình thực hiện thí nghiệm, ghi chép kết quả, xử lý, phân tích số liệu và xuất kết quả báo cáo ra file excel.… một cách nhanh gọn, chính xác và hiệu quả
Với thế hệ đầu tiên này, sản phẩm sẽ giúp các bạn học sinh có thể thực hiện được ba thí nghiệm trong chương trình THPT: Thí nghiệm khảo sát chuyển động rơi tự do – xác định gia tốc rơi tự do (chương trình vật lý lớp 10); Thí nghiệm khảo sát thực nghiệm các định luật dao động của con lắc đơn (chương trình vật lý lớp 12 cơ bản) và Thí nghiệm xác định gia tốc trọng trường bằng con lắc thuận nghịch (chương trình vật lý 12 nâng cao)
Cấu tạo của sản phẩm này gồm 2 phần chính:
Phần cứng: gồm các mạch điện tử, được chia thành ba khối chức năng:
* Khối nhận tín hiệu: (cổng quang điện,…) thu nhận kết quả thí nghiệm
* Khối xử lý (chip AT 89C52 của hãng Atmel và Max 232 của hãng Maxim) được kết nối
với máy tính qua cổng USB có công dụng giao tiếp và thực hiện các lệnh do máy tính điều khiển
* Khối mạch nguồn: cung cấp nguồn điện 12VDC và 5VDC cho các mạch điện trong
mạch hoạt động
Phần mềm: gồm phần chương trình máy tính và phần chương trình được lập trình cho
chíp vi xử lý
*Phần chương trình trên máy tính: được lập trình bằng phần mềm Visual Studio 2008
Chức năng của phần mềm là điều khiển thí nghiệm, nhận các tín hiệu báo về, xử lý kết quả số liệu tính toán, hỗ trợ xây dựng báo cáo thực hành… theo một giao diện phần mềm thân thiện, đơn giản, gần gũi đối với tất cả các bạn học sinh
Trang 1010 |
*Phần chương trình cho chíp vi xử lý: được lập trình bằng ngôn ngữ C, lập trình trên máy
tính và nạp vào chíp vi xử lý Chức năng của nó là điều khiển khối xử lý nhận yêu cầu từ máy tính và đưa ra các lệnh phù hợp đề thực hiện các yêu cầu đó
Sản phẩm hoàn chỉnh rất nhỏ gọn, đơn giản dễ cải tiến, mở rộng Tất cả các linh kiện điện tử dùng trong mạch đều rất đơn giản, phổ biến, giá thành rẻ Có thể phát triển thành sản phẩm thương mại với số lượng lớn và chi phí thấp
Điểm quan trọng khác của đề tài là đã thực hiện thành công việc kết nối giữa chíp vi
xử lý vào máy tính điện tử để xử lý và điều khiển Đây là kết quả của kỹ thuật “truyền thông nối tiếp”(Serial Transfer), là nguyên lý được ứng dụng để chế tạo ra rất nhiều thiết
bị điều khiển tự động quan trọng như máy gia công cơ khí CNC, robot công nghiệp, phẫu thuật nội soi…
Hy vọng nó cũng sẽ trở thành một mô hình cơ bản nhất giúp đỡ cho tất cả các bạn học sinh đam mê kỹ thuật điện tử - máy tính có thể ứng dụng phát triển, sáng tạo ra các sản phẩm mới của riêng mình
Trang 1111 |
Hình 1: Giờ thực hành vật lý ở trường THPT Lê Qúy Đôn
PHẦN B: LÝ DO NGHIÊN CỨU ĐỀ TÀI
Việc ứng dụng đưa những
kiến thức lý thuyết toán học, hóa
học, vật lý, tin học … vào thực tiễn
là nền tảng bền vững để phát triển
khoa học, công nghệ, kỹ thuật ở
mọi thời đại
Nhóm tác giả, là những học
sinh của lớp 12 Tin trường THPT
Lê Qúy Đôn với mong muốn sử
dụng các kiến thức về kỹ thuật
điện tử - tin học vào học tập và
nghiên cứu môn Vật Lý và Tin học
trong trường THPT, tạo dựng cách tiếp cận mới, gây hứng thú, giúp các bạn làm quen với những công nghệ kỹ thuật hiện đại từ sớm, khơi dậy niềm đam mê nghiên cứu tìm tòi
khoa học, nhóm tác giả đã xây dựng ra một sản phẩm với tên gọi “Kết nối máy tính với
một số thí nghiệm cơ học trong chương trình THPT” Sản phẩm ra đời với hai mục đích
sau đây:
Thứ nhất, sản phẩm ra đời với mong muốn cải tiến quá trình thực hành các thí nghiệm vật lý trong trương trình THPT, tạo sự mới mẻ, khoa học chính xác và hiệu quả hơn trong học tập, kích thích sự tư duy,tìm tòi và phát triển khoa học công nghệ Chính vì thế, qua nhiều lần quan sát các tiết học thực hành vật lý trong chương trình THPT, nhóm
đã có ý tưởng muốn cải tiến các thiết bị đồ dùng thí nghiệm sẵn có theo hướng đơn giản
và khoa học hơn giúp cho các bạn học sinh có thể thao tác thí nghiệm, thu nhận và xử lý kết quả thí nghiệm số liệu một cách, nhanh gọn, chính xác và mang lại hiệu quả cao hơn Tiếp cận và ứng dụng những công nghệ mới vận dụng linh hoạt kiến thức đã được học vào giải quyết các vấn đề trong cuộc sống
Thứ hai, sản phẩm ra đời để giới thiệu với tất cả mọi người và đặc biệt là các bạn học sinh có sự đam mê thích thú về công nghệ truyền thông nối tiếp – công nghệ đang được sử dụng rất rộng rãi hiện nay trên nhiều lĩnh vực Công nghệ truyền thông nối tiếp
là gì? Tại sao công nghệ truyền thông nối tiếp lại phổ biến đến vậy? Tất cả các thiết bị công nghệ kỹ thuật số hiện đại kết nối cả thế giới lại với nhau, tất cả chúng đều có thể
“liên lạc” được với nhau chính nhờ công nghệ truyền thông nối tiếp này
Máy tính điện tử với những ưu điểm về tốc độ xử lý, khả năng tương tác cao với người dùng trong khi đó chip vi xử lý lại có những ưu điểm về khả năng điều khiển hoạt động các thiết bị điện và chuyển những yếu tố vật lý như âm thanh, ánh sáng, nhiệt độ,… thành tín hiệu điện báo cho máy tính để xử lý Sự kết hợp của hai thiết bị này thực sự sẽ rất tuyệt vời Nó sẽ cho ra đời những sản phẩm có tính ứng dụng cao trong thực tế, xử lý mạnh mẽ, thân thiện với người dùng,… Nền tảng của sự kết hợp đó cũng chính là công nghệ truyền thông nối tiếp
Trang 12PHẦN C: TỔNG QUAN ĐỀ TÀI – CÔNG VIỆC THỰC HIỆ N:
I TỔNG QUAN ĐỀ TÀI:
Nhóm đã quyết định sẽ xây dựng một bộ thiết bị thí nghiệm có chức năng tự động hóa một số thao tác trong quá trình tiến hành các thí nghiệm vật lý cơ bản Người sử dụng sau khi lắp ráp dàn cơ cho toàn bộ thí nghiệm, kết nối các cảm biến vào mạch xử lý, kết nối mạch xử lý vào máy tính thông qua cổng kết nối USB 2.0 là có thể tiến hành thí nghiệm được ngay
Sau khi đã cài đặt thiết bị và phần mềm máy tính theo đúng yêu cầu, người sử dụng có thể dễ dàng tiến hành các thí nghiệm bằng các thao tác trên máy tính Kết quả của thí nghiệm được ghi nhận tự động trên máy tính, người sử dụng có thể tổng hợp, thực hiện thí nghiệm nhiều lần để có được kết quả tối ưu nhất Sau khi tiến hành thí nghiệm xong, phần mềm sẽ xuất ra file Excel chứa kết quả thí nghiệm, sau đó người dùng sẽ xử
lý tính toán kết quả thí nghiệm, vẽ biểu đồ, xây dựng báo cáo thực hành bằng phần mềm Microsoft Excel
Việc giao tiếp, kết nối giữa máy tính và chip vi xử lý sẽ sử dụng công nghệ truyền thông đang được sử dụng phổ biến nhất hiện nay chính là truyền thông nối tiếp Truyền thông nối tiếp có những ưu điểm về tính đơn giản, gọn nhẹ, khả năng chống nhiễu tốt,… tuy nhiên, để có thể sử dụng được nó tương đối khá phức tạp, vì vậy ta cần phải nắm vững những kiến thức về quy tắc truyền cũng như cách tổ chức thông tin trong truyền thông nối tiếp
Sơ đồ sau mô tả đơn giản nhất về hoạt động của sản phẩm:
• Ghi nhận kết quả
Xử lý
• Kết quả xuất ra file Excel
• Xử lý kết quả
Hình 2: Mô hình hoạt động của sản phẩm
Trang 1313 |
II CÔNG VIỆC CẦN THỰC HIỆN:
Trong thời gian nghiên cứu và thực hiện đề tài, để giải quyết được vấn đề ý tưởng đặt
ra nhóm tác giả cần phải tìm hiểu nghiên cứu và thực hiện một số vấn đề sau đây:
Cơ sở lý thuyết: bao gồm những kiến thức cơ bản về lập trình giao tiếp máy tính – cách
tính tiến hành và các phương án thí nghiệm cơ bản, xử lý kết quả số liệu
Hiểu được phương án tiến hành hai thí nghiệm: khảo sát chuyển động rơi tự do và xác định gia tốc rơi tự do (lớp 10), khảo sát thực nghiệm các định luật của con lắc đơn (lớp 12) và thí nghiệm xác định gia tốc trọng trường bằng con lắc thuận nghịch
Tham khảo các bộ thí nghiệm đã có sẵn và đang được áp dụng thực tế trong trường THPT
Từ đó, thấy được yêu cầu của bộ thí nghiệm cần phải có chức năng thực hiện được nhiệm vụ của : đồng hồ đo thời gian (chính xác đến 1/1000 s), nam châm điện để thả rơi vật, cổng quang điện
Để kết nối giữa máy tính và chíp xử lý, ta cần sử dụng phương án truyền thông nối tiếp với giao tiếp RS-232 do đó, nhóm cần tìm hiểu và nghiên cứu về truyền thông nối tiếp, vấn đề giao tiếp giữa chíp và máy tính
Công cụ để thực hiện sản phẩm: ứng dụng những cơ sở lý thuyết và yêu cầu thực tế, nhóm tác giả đã tập trung xây dựng sản phẩm trên đồng thời cả hai mặt: “phần cứng”
và “phần mềm” Mỗi phần có chức năng, cấu tạo riêng Sơ đồ sau mô tả tổng quát về
phần cứng và phần mềm của đề tài:
Phần cứng: Bao gồm việc thiết kế các board mạch điện tử để điều khiển các thí nghiệm
và xây dựng cải tiến giàn cơ học để thực hiện thí nghiệm Cụ thể:
Sản phẩm
Phần cứng
Dàn cơ thí nghiệm
Mạch điện điều khiển
Phần mềm
Lập trình
vi xử lý
Phần mềm máy tính
Hình 3: Phần cứng và phần mềm của sản phẩm
Trang 1414 |
MẠCH ĐIỆN ĐIỀU KHIỂN:
1 Kiến thức tổng quát về đặc tính của vi xử lý, đặc biệt là vi xử lý AT 89C52
2 Nghiên cứu về cổng COM sử dụng chuẩn kết nối RS232 và việc chuyển đổi giữa RS232 và họ logic TTL
3 Nghiên cứu về bộ định thời (timer) trong chip 8051, tạo đồng hồ có xung nhịp 1ms
để làm đồng hồ đo thời gian cho các thí nghiệm
4 Lắp ráp mạch điện khối xử lý với trung tâm là chíp vi xử lý AT 89C52 làm “đầu
não” cho mọi hoạt động của sản phẩm và MAX 232 làm nhiệm vụ “liên lạc” giữa
AT89C52 và máy tính điện tử
5 Lắp ráp mạch nhận tín hiệu là cổng quang điện gồm 1 led thu và 1 led phát tia hồng
ngoại với sự giúp đỡ của LM 358 sẽ báo về vi xử lý tín hiệu khi có vật đi ngang làm
9 Nghiên cứu về nguyên lý hoạt động, các phần của dàn cơ có sẵn của ba thí nghiệm
đã được đưa vào sử dụng
10 Cải tiến sửa chữa dàn cơ đã có để phù hợp với mạch điều khiển
+ Phần mềm: Bao gồm các thao tác xử lý, lập trình trên máy vi tính thông qua vi xử lý
AT 89C52, bao gồm các công đoạn:
LẬP TRÌNH CHO CHIP VI XỬ LÝ AT 89C52:
11 Về các kiến thức cơ bản của lập trình vi xử lý (AVR)
12 Về các cấu trúc lệnh – phép toán – chương trình – hàm, chương trình con trong ngôn ngữ lập trình C dành cho vi xử lý Trong sản phẩm này, nhóm tác giả đã sử dụng
phần mềm Keil Vision4 để thực hiện các thao tác lập trình
13 Sử dụng phần mềm Little Programmer Version Gold kết hợp với mạch nạp vi xử lý
để nạp phần mềm sau khi đã xây dựng vào trong chíp xử lý
14 Thiết kế và cài đặt đoạn chương trình khởi tạo thiết lập thao tác truyền thông nối
17 Thiết kế và cài đặt đoạn chương trình đồng hồ đếm (timer) chính xác đến mili giây
để đo thời gian cho các thí nghiệm cơ học
Trang 1515 |
18 Thiết kế và cài đặt đoạn chương trình điều khiển thí nghiệm đo gia tốc rơi tự do
19 Thiết kế và cài đặt đoạn chương trình điều khiển thí nghiệm khảo sát các định luật
của con lắc đơn
20 Thiết kế và cài đặt đoạn chương trình điều khiển thí nghiệm con lắc vật lý – xác định
gia tốc trọng trường
LẬP TRÌNH GIAO DIỆN MÁY TÍNH GIAO TIẾP VỚI NGƯỜI DÙNG:
21 Về các cấu trúc lệnh – phép toán – chương trình – hàm, chương trình con trong ngôn ngữ lập trình C#, ứng dụng sử dụng phần mềm Microsoft Visual Studio lập trình viết
phần mềm giao tiếp với người dùng
22 Nghiên cứu về các hàm, thủ tục câu lệnh liên quan đến hoạt động của cổng COM,
truyền và nhận thông tin nối tiếp trên máy tính
23 Thiết kế đoạn chương trình điều khiển kết nối với chip xử lý thông qua các cổng
COM
24 Thiết kế đoạn chương trình gửi và nhận thông tin nối tiếp từ máy vi tính
25 Thiết kế giao diện gần gũi, đơn giản, tiện dụng đối vối tất cả mọi người
26 Đóng gói phần mềm, tạo đĩa cài đặt
Trang 1616 |
PHẦN D: CƠ SỞ LÝ THUYẾT CỦA DỰ ÁN
I YÊU CẦU – CÁCH TIẾN HÀNH – PHƯƠNG ÁN CÁC THÍ NGHIỆM:
1 Thí nghiệm “khảo sát chuyển động rơi tự do - xác định gia tốc rơi tự do”:
1.1 Mục đích:
- Đo thời gian rơi t của vật trên những quãng đường s khác nhau
- Vẽ và khảo sát đồ thị s t2, rút ra tính chất của chuyển động rơi tự do
- Xác định gia tốc rơi tự do
1.2 Cơ sở lí thuyết:
Theo định nghĩa, sự rơi tự do là sự rơi chỉ dưới tác dụng của trọng lực Các vật khác nhau khi rơi tự do sẽ rơi nhanh như nhau Thực tế, các thí nghiệm về sự rơi đều được tiến hành trong không khí nên chỉ gần đúng là rơi tự do
Thả một vật (trụ thép, viên bi…) từ độ cao s trên mặt đất, vật sẽ rơi rất nhanh theo
phương thẳng đứng (phương song song với dây dọi) Trong trường hợp này ảnh hưởng của không khí không đáng kể, vật chỉ chuyển động dưới tác dụng của trọng lực, nên có thể coi là vật rơi tự do
Khi một vật có vận tốc ban đầu bằng 0, chuyển động thẳng nhanh dần đều với gia
tốc a, thì quãng đường s đi được sau khoảng thời gian t (tính từ lúc vật bắt đầu chuyển
Trang 17Nam châm điện được lắp trên đỉnh của
giá thí nghiệm Nguồn điện cấp cho nam châm
được nối qua hộp công tắc và tiếp đến ổ C trên
bộ thí nghiệm
Cổng quang điện lắp phía dưới và di
chuyển được (khi di chuyển cần nới lỏng ốc
hãm phía sau), dây điện của cổng được nối với
ổ B trên đồng hồ đo thời gian
Điều chỉnh chân đế, sao cho quả dọi nằm
đồng tâm và chính giữa lỗ tròn phía sau giá
- Lựa chọn thí nghiệm phù hợp, nếu lắp
đúng thì nam châm sẽ có từ tính Lúc đó nếu
đặt vật khảo sát dưới nam châm thì vật sẽ bị
hút dính chặt vào nam châm Bấm nút lệnh
trên máy tính, nam châm bị ngắt điện, vật
được nhả ra và rơi xuống
Đồng hồ phải đếm thời gian khi bấm nút lệnh cho vật rơi Khi vật rơi đi qua cổng quang đồng hồ phải ngừng đếm
Hình 4: Mô tả thí nghiệm đo gia tốc rơi tự do
Trang 18Con lắc đơn gồm một vật nặng có kích thước nhỏ, khối lượng m, được treo ở đầu
một sợi dây mềm không dãn có độ dài l và có khối lượng không đáng kể
Với các dao động nhỏ thì con lắc đơn dao động với chu kỳ
Trang 1919 |
7 Cổng quang điện hồng ngoại
8 Đồng hồ đo thời gian hiện số
b Lắp đặt thí nghiệm: theo hình minh họa
2.4 Tiến hành thí nghiệm
a Khảo sát ảnh hưởng của biên độ lên chu kỳ dao động của con lắc đơn
Nối cổng quang điện với cổng B của bộ thí nghiệm
Treo viên bi có khối lượng m1 = 50 g vào đầu dưới của sợi dây Vặn các vít của đế
ba chân, điều chỉnh cho giá đỡ cân bằng thẳng đứng Đặt thanh ke áp sát cạnh của giá đỡ tại vị trí (thấp hơn đáy viên bi) ứng với độ dài L trên thước Quay ròng rọc để thả dần sợi dây cho tới khi đáy của viên bi vừa tiếp xúc với cạnh ngang của thanh ke Gọi r là bán
kính viên bi, độ dài l của con lắc đơn là
l = L - r
Điều chỉnh để con lắc đơn này có độ dài l 1 =50 cm Dịch chuyển cổng quang điện
đến vị trí sao cho cửa sổ của nó nằm trên mặt phẳng ngang với vị trí của tâm viên bi và cách tâm viên bi một khoảng A1 = 3 cm Kéo viên bi đến vị trí đối diện cửa sổ của cổng quang điện, rồi buông tay thả cho con lắc đơn dao động không vận tốc đầu Khi đó con
lắc đơn dao động với biên độ góc bằng α1
Sau vài dao động, bấm nút lệnh trên máy để tiến hành đo n (có thể chọn n = 10)
dao động toàn phần của con lắc đơn Ghi giá trị đo được trong mỗi lần đo
Giữ nguyên khối lượng m1 và độ dài l 1 = 50 cm của con lắc đơn Thực hiện phép
đo trên đây với các giá trị A khác nhau rồi ghi tiếp vào bảng
Từ các kết quả thu được trong bảng, rút ra kết luận về chu kỳ của con lắc đơn dao động với biên độ nhỏ
b Khảo sát ảnh hưởng của khối lượng lên chu kì của con lắc đơn
Giữ nguyên độ dài l 1 = 50 cm Thêm quả nặng để thay đổi khối lượng con lắc
Điều chỉnh dây treo để chiều dài con lắc không đổi Đo thời gian con lắc thực hiện n dao
động toàn phần với biên độ đủ nhỏ (theo kết quả phần trên) Ghi các kết quả trong mỗi lần đo vào bảng
Rút ra kết luận về khối lượng của con lắc đơn dao động với biên độ nhỏ
c Khảo sát ảnh hưởng của độ dài lên chu kì dao động của con lắc đơn
Giữ nguyên khối lượng 50 g Điều chỉnh dây treo để con lắc dao động với các độ
dài dây khác nhau, xác định thời gian n dao động toàn phần để xác định chu kì T
Trang 2020 |
- vẽ đồ thị biểu diễn sự phụ thuộc của T và chiều dài con lắc Rút ra nhận xét
- vẽ đồ thị biểu diễn sự phụ thuộc của T2 và chiều dài con lắc Rút ra nhận xét
Từ các đồ thị, kết luận về chiều dài của con lắc đơn dao động với biên độ nhỏ
3 Thí nghiệm: “Đo gia tốc trọng trường g bằng con lắc thuận nghịch”:
3.1 Cơ sở lý thuyết:
Con lắc vật lý là một vật rắn, khối lượng m,
có thể dao động quanh một trục cố định nằm ngang
đi qua điểm 01 nằm cao hơn khối tâm G của nó
(H.1) O1 gọi là điểm treo của con lắc
Vị trí cân bằng của con lắc trùng với phương
thẳng đứng của đường thằng O1G Khi kéo con lắc
lệch khỏi vị trí cân bằng một góc α nhỏ, rồi buôn
nó a thì thành phần Pt của trọng lực P = mg tác
dụng lên con lắc một mômem lực M1 có trị số
bằng:
𝑀1 = −𝑃𝑡 𝐿1 = −𝑚𝑔 𝐿1sin 𝛼 (1)
Trong đó g là gia tốc trọng trường, L1 = O1G
là khoảng cách từ O1 đến khối tâm G, dấu (-) cho biết mômen lực M1 luôn kéo con lắc về
vị trí cân bằng, tức quay ngược chiều với góc lệch α Khi α nhỏ, ta cỏ thể coi gần đúng
𝑀1 ≈ −𝑚𝑔 𝐿1𝛼 (2) Phuơng trình cơ bản đối với chuyển động quay của con lắc quanh trục đi qua O1 có dạng:
𝑑2𝛼
𝑑𝑡 2 − 𝜔12 𝛼 = 0 (4) Nghiệm của phương trình (4) có dạng
𝛼 = 𝛼0 cos(𝜔1 𝑡 + 𝜑) (5) với α0 là biên độ, ω1 là tần số góc, φ là pha ban đầu tại thời điểm t = 0
Từ (5) ta suy ra chu kỳ T1 của con lắc:
Trang 2121 |
𝑇1 =2𝜋
𝜔 1= 2𝜋 √ 𝐼1
𝑚𝑔.𝐿 1 (6) Trong con lắc vật lý, ta có thể tìm thấy một điểm O2, nằm trên đường thẳng đi qua
O1 và G sao cho khi con lắc dao động quanh trục nằm ngang đi qua O2 thì chu kì dao động của con lắc đúng bằng chu kỳ dao động của nó khi dao động quanh trục đi qua O1 Con lắc vật lý khi đó được gọi là con lắc thuận nghịch
Thật vậy, ta có thể dễ dàng chứng minh rằng, có tồn tại điểm treo O2 này, như sau: Khi dao động quanh trục đi qua điểm O2 (H1), chu kỳ dao động T2 của con lắc được tính toán tương tự trên, và ta tìm được:
𝑇2 =2𝜋𝜔
2= 2𝜋 √ 𝐼2
𝑚𝑔.𝐿2 (7) Vời L2 = O2G là khoảng cách từ trục quay đi qua điểm O2 đến khối tâm G và I2 là mômen quán tính của lắc đối với trục quay đi qua O2
Gọi IG là mômen quán tính của con lắc đối với trục quay đi qua khối tâm G và song song với hai trục đi qua O1 và O2
g = 4𝜋2.(𝐿1 +𝐿 2 ).(𝐿 1 −𝐿 2 )
𝑇1.𝐿1−𝑇2𝐿2 (11) Nếu hai điểm treo 01,02 thoả mãn công thức (10), thì T1 = T2 = T và biểu thức xác định gia tốc trọng trường được đơn giản thành
𝑔 =4𝜋2.𝐿
𝑇 2 (12) với L = L1 + L2 = O1O2 là khoảng cách giữa hai trục nằm ngang đi qua O1 và O2
Con lắc vật lý sử dụng trong bài này gồm một thanh kim loại 6, trên đó có gắn hai con dao cố định 1 và 2 nằm cách nhau một khoảng L = O1O2 không đổi (H2) Cạnh của dao 1 hoặc 2 lần lượt được đặt tựa trên mặt kính phẳng nằm ngang của gối đỡ 5 Hai quả nặng 3
và 4 gắn cố định trên thanh kim loại 6 Gia trọng C có dạng một đai ốc lắp trên thân ren
Trang 2222 |
4, có thể dịch chuyển bằng cách vặn xoay quanh trục gen 4, dùng để thay đổi vị trí khối tâm G, sao cho thoả mãn công thức 10 để con lắc vật lý trở thành con lắc thuân nghịch Toàn bộ con lắc được đặt trên giá đỡ 9 và tâm chân đế 10 có các vít điều chỉnh thăng bằng V1 và V2
Số dao động và thời gian tương tứng được đo
trên máy đo thời gian thực, nó có thể hoạt động như
một đồng hồ bấm giây, được điều khiển bằng các
cổng quang điện
3.2 Trình tự thí nghiệm
Như trên đã nói, trong bất kỳ con lắc vật lý cho
trước nào cũng thể tìm thây hai điểm O1 và O2 sao
cho khi đổi chiều con lắc, chu kỳ dao động không
đổi.Trong bài thí nghiệm này, hai điểm treo (hai lưỡi
dao O1¸O2) cố định, ta phải tìm vị trí gia trọng C (tức
thay đổi vị trí khối tâm G, sao cho (10) được thoả
mãn), để con lắc trở thành thuận nghịch Cách làm
như sau:
1 Vặn gia trọng C về sát quả nặng 4 Dùng thước
cặp đo khoảng cách x0 giữa chúng Trong nhiều
tường hợp con lắc được chế tạo sao cho gia trọng
C có thể vặn về thật sát quả nặng 4 tức là x0=0
Ghi giá trị x0 vào bảng 1 Đặt con lắc lên giá đỡ
theo chiều thuận (chữ ”Thuận” xuôi chiều và hướng về phía người làm thí nghiệm),
đo thời gian 50 chu kỳ dao động và ghi vào bảng 1, dưới cột 50T1
2 Đảo ngược con lắc (Chữ “Nghịch” xuôi chiều và hướng về phía người làm thí nghiệm), và đo thời gian 50 chu kỳ nghịch, ghi kết quả vào bảng dưới cột 50T2
3 Vặn gia trọng C về vị trí cách quả nặng 4 một khoảng x’ = x0 + 40mm, (dùng thước cặp kiểm tra) Đo thời gian 50 chu kỳ thuận và 50 chu kỳ nghịch ứng với vị trí này, ghi kết quả vào bảng1
4 Biểu diễn kết quả đo trên đồ thị: trục tung dài 120mm biểu diễn thời gian 50T1 và 50T2, trục hoành dài 8mm, biểu diễn vị trí x của gia trọng C Nối các điểm 50T1 với nhau và các điểm 50T2 với nhau bằng các đoạn thẳng, giao của chúng là điểm gần đúng vị trí x1 của gia trọng C để có T1 = T2 = T (H3)
5 Dùng thước cặp đặt gia trọng C về đúng vị trí x1 Đo 50T1 và 50T2 Ghi kết quả vào bảng 1
Trang 2323 |
6 Điều chỉnh chính xác vị trí gia trọng C: Đồ thị hình 4 cho thấy đường thẳng 50T1 dốc hơn đường thẳng 50 T2, có nghĩa là ở bên trái điểm cắt nhau thì 50T2 > 50T1 còn bên phải điểm cắt thì 50T1 > 50 T2 Từ kết quả phép đo 5 tại vị trí x1 cho ta rút ra nhận xét cần dịch chuyển nhỏ gia trọng theo hướng nào để thu được kết quả tốt nhất chao cho 50T1 = 50T2.
7 Cuối cùng khi đã xác định được vị trí tốt nhất của gia trọng C, ta đo mỗi chiều 3- 5 lần để lấy sai số ngẫu nhiên Ghi kết quả vào bảng 2
8 Dùng thước 1000mm đo khoảng cách giữa hai lưỡi dao O1, O2 Ghi vào bảng 1 ( Chỉ
đo cẩn thận một lần, lấy sai số dụng cụ Δ= ±1mm)
9 Thực hiện xong thí nghiệm, tắt máy và rút phích cắm điện của nó ra khỏi nguồn ~ 220V
Ở thế hệ đầu tiên này, sản phẩm sẽ có chức năng cho phép người sử dụng thực hiện được
ba thí nghiệm nêu trên, thu nhận và xử lý kết quả thí nghiệm một cách nhanh chóng, chính xác và hiệu quả Trong tương lai nếu được đầu tư phát triển, nhóm sẽ tiếp tục mở rộng cải tiến sản phẩm để thực hiện được nhiều thí nghiệm hơn nữa
Trang 2424 |
II CƠ SỞ CỦA TRUYỀN THÔNG NỐI TIẾP (SERIAL TRANSFER):
1 Giới thiệu truyền thông nối tiếp (serial transfer) và những ưu điểm của nó:
Cùng với sự phát triển của công nghệ và kỹ thuật, máy tính đã và đang được kết nối với nhiều thiết bị cũng như giữa các máy tính với nhau Để giúp máy tính và các thiết bị khác có thể “hiểu và làm việc” được với nhau ta cần tạo ra một “quy tắc chung” để truyền thông tin từ hai thiết bị này Lấy ví dụ, nếu hai người từ hai quốc gia khác nhau không thể giao tiếp, làm việc và trao đổi thông tin được với nhau nếu như giữa họ không có chung một tiếng nói một ngôn ngữ Máy tính cũng vậy, giữa máy tính và chíp cũng như giữa máy tính và máy tính cần phải có những quy tắc giao tiếp chung để có thể trao đổi truyền
và nhận thông tin giữa hai thiết bị này
Trên thế giới, hiện nay thông tin có thể được truyền đi theo hai phương pháp: song song và nối tiếp
Trong truyền thông song song, ta cần phải sử dụng rất nhiều đường dây để truyền dữ liệu đến các thiết bị (máy in, ổ cứng,….) Tuy việc thiết kế và cài đặt khá dễ dàng nhưng
nó chỉ hiệu quả khi sử dụng trong phạm vi rất ngắn còn khi truyền thông trong khoảng cách xa hơn, đường dây cáp dài và cồng kềnh sẽ làm méo mó, gây nhiễu cho tín hiệu Khắc phục những khuyết điểm đó, phương pháp truyền thông nối tiếp ra đời thay thế cho truyền thông song song Nó khắc phục được các tồn tại của truyền thông song song và đang được sử dụng ngày càng rộng rãi
2 Cơ sở của truyền thông nối tiếp:
Hình vẽ sau là so sánh giữa việc truyền thông nối tiếp và song song:
Truyền thông nối tiếp (serial transfer) Truyền thông song song (paralen transfer)
Hình 5: So sánh truyền thông tin nối tiếp và song song
Như vậy, trong truyền thông nối tiếp thì dữ liệu được gửi đi từng bit một, so với
truyền song song thì là một hoặc nhiều byte được truyền đi cùng lúc
Trong truyền thông nối tiếp, ta sử dụng hai phương pháp là đồng bộ và không đồng bộ:
Truyền thông đồng bộ: cách truyền này đòi hỏi ít nhất 2 đường truyền (dữ liệu và
clock) Bộ truyền và bộ thu được đồng bộ hóa qua một đường tín hiệu đồng hồ bên ngoài Đường truyền clock có nhiệm vụ “báo trước” khi đường data chuẩn bị truyền dữ liệu
Truyền
(sender)
Nhận (receiver)
Truyền (sender)
Nhận (receiver)
D0
D7
Trang 2525 |
Truyền thông không đồng bộ (UART - Universal Asynchronous serial
Reveiver and Transmitter): chỉ cần một đường truyền data cho cả quá trình “Khung dữ
liệu” đã được chuẩn hóa bởi các thiết bị nên không cần đường xung nhịp báo trước dữ
liệu đến Nói chung, truyền thông nối tiếp không đồng bộ vì thế có hiệu quả hơn so với truyền thông đồng bộ Tuy nhiên, để quá trình truyền thành công thì việc tuân thủ các tiêu chuẩn truyền hay các khung dữ liệu là hết sức quan trọng
Ví dụ: máy tính và chíp xử lý đang giao tiếp với nhau theo phương pháp này, chúng đã
được “thỏa thuận” với nhau rằng cứ sau mỗi 50 s thì sẽ có 1 bit dữ liệu truyền đến Nhờ thế, thiết bị nhận chỉ cần kiểm tra và đọc đường truyền data sau mỗi 50s để đọc các bit
dữ liệu và sau đó kết hợp chúng lại thành dữ liệu có ý nghĩa
3 Khung truyền và các thành phần của khung truyền:
3.1 Khung truyền (Frame)
Bên cạnh tốc độ baud, khung truyền (Farme) là một yếu tố tối quan trọng trong quá trình truyền và nhận thông tin nối tiếp
Dữ liệu mà ta truyền đi là một dãy các số 0 và 1, và rất khó để hiểu được ý nghĩa của các
dữ liệu ấy nếu bên phát và bên thu không cùng thống nhất về cách “đóng gói” dữ liệu, bao nhiêu bit tạo nên một ký tự và khi nào ta bắt đầu và kết thúc truyền dữ liệu
Định nghĩa:
Khung truyền bao gồm:
1 Các quy định về số lượng các bit trong một data trong mỗi lần truyền
2 Các bit thông báo như bit Start (khởi động) và bit Stop (kết thúc)
3 Các bit kiểm tra như Parity
Ví dụ:
Hình bên là một ví dụ của một
khung truyền của truyền thông
nối tiếp không đồng bộ UART
Lần lượt các bit của khung
truyền sẽ được truyền đi dưới
dạng các xung điện hình vuông
Khung truyền này được bắt đầu
bằng 1 start bit, tiếp theo sau
bit start là 8 bit data chứa dữ
liệu ở hệ nhị phân, sau đó là
1 bit parity dùng kiểm tra dữ
liệu đã nhận đủ hay chưa và
cuối cùng là 2 bits stop được
truyền đi để báo hiệu kết thúc
khung truyền Công việc này
được gọi là đóng gói dữ liệu Hình 6: Ví dụ của một khung truyền
Trang 2626 |
3.2 Start bit:
Start là bit bắt buộc phải có và là bit đầu tiên được truyền trong một khung truyền, bit này có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới Start bit thường là bit thấp
3.3 Dữ liệu (data):
Dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận.Trong truyền thông nối tiếp UART, thứ tự các bit sẽ được truyền từ phải qua trái: Bit có trọng số nhỏ
nhất (LSB - Least Significant Bit, bit bên phải) sẽ được truyền trước và cuối cùng là bit
có trọng số lớn nhất (MSB - Most Significant Bit, bit bên trái)
3.4 Stop bits:
Stop bits gồm một hoặc nhiều bit báo cho thiết bị nhận rằng một gói dữ liệu đã được gởi xong Stop bits được truyền cuối cùng và thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu Stop bits bắt buộc phải có ở cuối khung truyền và chúng là các bit cao
3.5 Parity bit:
Parity là bit dùng để kiểm tra một cách tương đối dữ liệu truyền có đủ hay không
Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Parity chẵn nghĩa là
số lượng số “1” trong dữ liệu bao gồm bit parity luôn là số chẵn Ngược lại tổng số lượng các số “1” trong parity lẻ luôn là số lẻ Parity bit không phải là bit bắt buộc
4 Chuẩn giao tiếp RS232
Để tương thích giữa các thiết bị truyền thông dữ
liệu được sản xuất bởi các hãng khác nhau thì vấn đề đặt ra
là cần phải có một chuẩn giao tiếp quy ước chung giữa các
thiết bị với nhau Đáp ứng nhu cầu đó chuẩn kết nối
RS232 đã được thiết lập bởi hiệp hội công nghiệp điện
tử EIA vào năm 1960 Ngày nay RS232 là chuẩn giao tiếp
I/O vào - ra nối tiếp được sử dụng rộng rãi nhất Chuẩn này
được sử dụng trong máy tính PC và hàng loạt các thiết bị
khác nhau Hình bên là phiên bản của chuẩn vào/ra nối tiếp
chỉ sử dụng 9 chân gọi là DB-9 do IBM giới thiệu Ta chỉ
quan tâm chính đến 2 chân RxD và TxD.
Data terminal ready (DTR) Signal ground (GND) Data set ready (DSR) Request to send (RTS)
Tránh tín hiệu mang dữ liệu
Dữ liệu được nhận
Dữ liệu được gửi
Đầu dữ liệu sẵn sàng Đất của tín hiệu
Dữ liệu sẵn sàng Yêu cầu gửi
Hình 7: Cổng DB-9
Trang 2727 |
8
9
Clear to send (CTS) Ring indicator (RI)
Xoá để gửi Báo chuông
5 Một số thanh ghi và kỹ thuật lập trình trong truyền và nhận thông tin nối tiếp:
Trong phần trên đã trình bày về một số khái niệm liên quan đến truyền và nhận thông tin nối tiếp, một số khái niệm liên quan nhiều đến “phần cứng” Phần tiếp theo sau đây sẽ trình bày một số khái niệm quan trọng về các thanh ghi trong truyền thông nối tiếp, một
số thuật ngữ và khái niệm liên quan đến lập trình truyền và nhận thông tin nối tiếp của
8051 nói chung và IC AT89C52 nói riêng
5.1 Thanh ghi SBUF:
SBUF là thanh ghi 8 bit được dùng riêng tích hợp cho truyền thông nối tiếp trong
8051 Trong AT89C52 cũng có tích hợp thanh ghi này Đối với một byte dữ liệu muốn truyền qua đường TxD thì nó phải được đặt trong thanh ghi SBUF Tương tự, SBUF cũng giữ một byte dữ liệu khi nó được nhận từ đường RxD của 8051:
Khi một byte được ghi vào thanh ghi SBUF nó sẽ được đóng khung với các bit Start, Stop và được truyền nối tiếp qua chân TxD
Khi các bit được nhận nối tiếp từ RxD thì 8051 mở khung đó để loại trừ các bit Start, Stop để lấy ra một byte từ dữ liệu nhận được và đặt byte đó vào thanh ghi SBUF
5.2 Cài đặt chế độ truyền thông nối tiếp bằng thanh ghi SCON:
Để thực hiện việc truyền và nhận thông tin nối tiếp theo đúng yêu cầu đặt ra, việc chúng ta cần làm là giúp máy tính và chíp có thể hiểu được các quy ước trong việc truyền thông Thanh ghi SCON có nhiệm vụ là khai báo khởi tạo cấu hình cho chíp Chúng ta cần phải khai báo cho 8051 biết: bao nhiêu bit dữ liệu được tuyền đi trong mỗi lần truyền? tốc độ truyền là bao nhiêu? Thanh ghi 8 bit của SCON được dùng để lập trình việc đóng khung dữ liệu, xác định chế độ làm việc,… Dưới đây sẽ là mô tả về các bit của thanh ghi SCON:
được bật khi
truyền đủ 1byte
Cho phép truyền thông
đa xử
lý
Xác định chế độ cổng nối tiếp (bit0)
Xác định chế độ cổng nối tiếp (bit1)
Hình 8: Mô tả cấu trúc thanh ghi SCON
Sau đây sẽ là những phân tích về chức năng, công dụng của từng bit trong thanh ghi SCON:
Trang 28Bit SM2 là bit D5 của thanh ghi SCON Bit này cho phép khả năng đa xử lý của
8051 Đối với các ứng dụng của chúng ta, đặt SM2 = 0 vì ta không sử dụng trong môi trường đa xử lý
c Bit REN
REN (Receive Enable) là bit cho phép nhận Khi bit REN cao thì nó cho phép 8051
nhận dữ liệu trên chân RxD của nó Và kết quả là nếu ta muốn 8051 vừa truyền vừa nhận
dữ liệu thì bit REN phải được đặt lên 1 Bit này có thể được dùng để khống chế mọi việc nhận dữ liệu nối tiếp và nó là bit cực kỳ quan trọng trong thanh ghi SCON
d Bit TB8 và RB8
Bit TB8 và RB8 được dùng trong chế độ nối tiếp 2 và 3 Ta đặt TB8=0 và RB8=0
vì nó không được sử dụng
e Các bit TI và RI
Các bit ngắt truyền TI (bit D1) và ngắt nhận RI (bit D0) là các bit cực kỳ quan
trọng của thanh ghi SCON:
Khi 8051 kết thúc truyền một ký tự 8 bit thì nó bật TI để báo rằng nó sẵn sàng truyền một byte khác
Khi 8051 nhận được dữ liệu nối tiếp qua chân RxD và nó tách các bit Start và Stop để lấy ra 8 bit dữ liệu để đặt vào SBUF, sau khi hoàn tất nó bật cờ RI để báo rằng nó đã nhận xong 1 byte và cần phải lấy đi kẻo dữ liệu bị mất
6 Tốc độ baud (Baud rate)và cài đặt tốc độ baud cho 8051:
6.1 Tốc độ baud (Baud rate):
Để truyền và nhận tin trong truyền thông không đồng bộ xảy ra thành công thì các thiết bị tham gia phải có sự quy ước với nhau về khoảng thời gian dành cho 1 bit truyền, tốc độ này gọi là tốc độ Baud
Trang 2929 |
Định nghĩa:
Tốc độ baud là số bit truyền trong 1 giây
Ví dụ: nếu tốc độ baud là 19200 thì thời gian dành cho 1 bit truyền là: 1 52.083
6.2 Cài đặt tốc độ baud cho 8051:
Như đã trình bày ở phần trên, tốc độ baud chính là số bit truyền được trong thời gian một giây Sau khi ta đã cài đặt chế độ cổng nối tiếp bằng thanh ghi SCON, việc tiếp theo ta cần làm để cài đặt cho chương trình là cấu hình tốc độ baud cho các cổng nối tiếp Việc cài đặt này chỉ áp dụng cho chế độ 1 và 3 Ở chế độ 0 và 2 tốc độ truyền được xác định nhờ tần số giao động của thạch anh
Trong chế độ 0, tốc độ truyền luôn luôn là: tần số dao động chia cho 12
Trong chế độ 2, tốc độ truyền luôn luôn là: tần số dao động chia cho 64
Ví dụ: ta sử dụng thạch anh có tần số 11.0592Mhz ở chế độ 2 Khi đó tốc độ baud của
truyền thông nối tiếp sẽ là: 172.797 baud
Tuy nhiên, ta quan tâm nhiều hơn tới việc cài đặt tốc độ baud trong chế độ 1 và 3: tốc
độ truyền được xác định bằng cách cài đặt Timer 1ở chế độ tự động nạp lại 8 bit và thiết
lập cho nó một giá trị nạp lại (cho TH1) để cài đặt tốc độ truyền
Tần số của 8051 được xác định bằng: Tần số thạch anh chia cho 12
Bộ UART truyền thông nối tiếp lại lấy tần số của 8051 chia cho 32 một lần nữa để dùng làm định thời cho Timer1 tạo ra tốc độ baud:
Nhân đôi tốc độ baud trong 8051:
Có hai cách để tăng tốc độ baud truyền dữ liệu trong 8051:
1 Sử dụng tần số thạch anh cao hơn Phương án này thường không khả thi vì tần số thạch anh sử dụng cho chip là cố định
2 Thay đổi một bit trong thanh ghi điều khiển công suất PCON (Power Control)
Phương án này hiệu quả hơn Ta sẽ nghiên cứu thanh ghi PCON sau đây:
Hình 9: Mô tả cấu trúc thanh ghi PCON
PCON, đây là thanh ghi 8 bit Trong 8 bit này thì có một số bit không được dùng để điều khiển công suất của 8051 Bit dành cho truyền thông nối tiếp là bit D7 (bit SMOD) Khi 8051 được bật nguồn thì bit SMOD của thanh ghi PCON ở mức thấp (0) Ta có thể nhân đôi tốc độ baud bằng cách đặt nó lên mức cao (1) Nói cách khác, ta thay đổi tần số nạp vào Timer1 bằng cách cài đặt tráng thái của bit SMOD trong thanh ghi PCON:
Khi SMOD = 0 thì 8051 chia 1/12 tần số thạch anh cho 32 và sử dụng nó cho bộ Timer1 để thiết lập tốc độ baud
Trang 3030 |
Khi SMOD = 1 thì 8051 chia 1/12 tần số thạch anh cho 16 (thay vì chia cho 32 như khi SMOD = 0)
Như vậy, sau khi đã cài đặt được thanh ghi SMOD ta cần làm thêm một công đoạn
nữa là cài đặt giá trị cho TH1 để tạo ra một tốc độ baud nhất định, chúng ta sử dụng các
phương trình sau đây để tìm giá trị TH1:
Phương trình 1: nếu SMOD = 0
Trong đó: Crystal là tần số của thạch anh đang sử dụng
Baud là tốc độ baud mà ta muốn cài đặt
Để minh họa cho các công thức trên, ta có xét ví dụ sau:
7 Ví dụ minh họa:
Ví dụ: Ta có một tinh thể thạch anh là 11.0592MHz Ta muốn cài đặt cho cấu hình
truyền thông nối tiếp có tốc độ baud là 19200 baud thì ta thực hiện việc tìm giá trị TH1
và cài đặt như sau:
Nhận xét: ta phải cài đặt TH1 một giá trị là 254.5 tuy nhiên giá trị trên thanh ghi
phải là một số nguyên nên với cách tính toán như trên, ta không thể cài đặt tốc độ baud như mong muốn Vì vậy, ta thử một cách khác: cài đặt bit SMOD = 1 và sử dụng phương trình 2, khi đó:
11059200
Vậy để cài đặt cấu hình như yêu cầu, ta phải cài đặt:
Cấu hình chế độ Serial Port 1 hoặc 3
Cấu hình Timer 1 ở chế độ 2 (8-bit tự động nạp lại)
Cài đặt TH1 giá trị 253 (FDH)
Set bit PCON.7=1 (SMOD) để tăng gấp đôi tốc độ truyền (19200 baud)
Trang 3131 |
III BỘ ĐỊNH THỜI TRONG 8051:
1 Bộ định thời – các bộ định thời của 8051:
Bộ định thời (timers) được thiết kế để thực hiện một nhiệm vụ đơn giản: đếm các xung nhịp Xung nhịp bên trong IC được tạo ra nhờ kết hợp mạch dao động bên trong IC
và các linh kiện phụ bên ngoài nối với IC (thường ta sử dụng các tinh thể thạch anh) Do xung nhịp của nó thường đều đặn nên người ta dùng nó để thực hiện nhiệm vụ đếm thời gian một cách khá chính xác
8051 có hai bộ định thời là Timer 0 và Timer 1 Tuy nhiên, ta sẽ quan tâm đến
Timer 1 là chủ yếu
2 Các thanh ghi cơ sở của bộ định thời
b Các thanh ghi của bộ Timer 1
Bộ định thời gian Timer 1 cũng dài 16 bit và thanh ghi 16 bit của nó cũng được chia ra thành hai byte là TL1 và TH1 Các thanh ghi này được truy cập và đọc giống như các thanh ghi của bộ Timer 0 ở trên
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
c Thanh ghi TMOD
Thanh ghi TMOD dùng để thiết lập các chế độ làm việc khác nhau của bộ định thời.Thanh ghi TMOD là thanh ghi 8 bit gồm có:
4 bit thấp để thiết lập cho bộ Timer 0
4 bit cao để thiết lập cho Timer 1
Trong đó:
Bit thấp của chúng dùng để thiết lập chế độ của bộ định thời
Bit cao dùng để xác định phép toán
a Các bit M1, M0
Đây gọi là các bit chế độ của các bộ Timer 0 và Timer 1 Các chế độ được thiết lập
bằng cách điều chỉnh trạng thái của M1 và M0 Lưu ý ta chỉ quan tâm nhiều đến Timer 1
ở chế độ 1 của 8051 Ngoài chế độ 1 còn có các chế độ khác được mô tả như bảng sau:
Trang 3232 |
0 0 0 Bộ định thời 13 bit:8 bit là bộ định thời/bộ đếm, 5 bit đặt trước
d Bit C/T (Counter/Timer)
Bit này trong thanh ghi TMOD được dùng để quyết định xem bộ định thời được dùng như một timer hay counter Nếu C/T= 0 thì nó được dùng như một timer
3 Nguồn tạo độ trễ thời gian cho 8051:
Nguồn đồng hồ cho chế độ trễ thời gian là tần số thạch anh của 8051 Tần số thạch anh đi kèm với 8051 quyết định tốc độ nhịp của các bộ định thời trên 8051:
Tần số của bộ định thời luôn bằng 1/12 tần số của thạch anh gắn với 8051 Tần số thạch anh Tần số bộ định thời Chu kỳ bộ định thời
Nhận xét: đối với sản phẩm, yêu cầu đặt ra cần có đồng hồ chính xác đến 1ms Do
đó ta cần dùng thạch anh 12MHz để khi chia chu kỳ bộ định thời là số chẵn (1s), hạn chế thấp nhất sai số cho bộ đếm thời gian
Tuy nhiên, để giao tiếp với máy tính (truyền và nhận thông tin với máy tính thì ta cần phải chọn thạch anh 11.0592MHz vì nó sẽ cho chu kỳ bộ định thời phù hợp với tốc
độ baud (baud rate) trong quá trình truyền thông nối tiếp
Trang 334. Duy trì kiểm tra cờ bộ định thời TF bằng một vòng lặp để xem nó được bật lên
1 không Thoát vòng lặp khi TF được lên cao
5. Dừng bộ định thời
6. Xoá cờ TF cho vòng kế tiếp
7. Quay trở lại bước 2 để nạp lại TL và TH
Công thức tính toán độ trễ sử dụng chế độ 1 (16 bit) của bộ định thời đối với tần số thạch anh XTAL = f (MHz):
Với thời gian trễ mà ta cần thì làm thế nào để tìm ra được các giá trị cần thiết cho các thanh thi TH và TL Với việc sử dụng tần số dao động của XTAL =12MHz và hệ thống 8051 thì ta tiến hành tìm các giá trị thanh ghi TH và TL như sau:
1. Chia thời gian trễ cần thiết cho 1.000 s
2. Thực hiện 65536 - n với n là giá trị thập phân nhận được từ bước 1
3. Chuyển đổi kết quả ở bước 2 sang số Hex: ta có YYXX là giá trị Hexa ban đầu cần phải nạp vào các thanh ghi bộ định thời
Thạch anh
định tần XTAL/12
TR
Trang 3434 |
4. Đặt TL = XX và TH = YY
Với timer của thí nghiệm, ta cần độ chính xác đến 1ms Vì tần số XTAL = 12.000 MHz nên bộ đếm tăng sau mỗi chu kỳ 1.000s Điều đó có nghĩa là phải mất rất nhiều khoảng thời gian 1.000 s để có được một xung 1ms Để có được ta chia 1ms cho 1.000s và nhận được số n = 1000 nhịp Để nhận được giá trị cần được nạp vào TL và
TH thì ta tiến hành lấy 65536 trừ đi 1000 bằng 64536 Ta đổi số này ra số hex thành FC18H Do vậy, giá trị nạp vào TH là FC Và TL là 18
Tuy nhiên, trong tính toán độ trễ ở trên ta đã không tính đến tổng phí các lệnh cài đặt, các lệnh kiểm tra trong vòng lặp, gọi hàm con… Chính các câu lệnh này làm cho độ trễ dài hơn, dẫn đến tần số của xung vuông ở đầu ra không còn đúng như tính toán ở trên Đây là nhược điểm của C trong lập trình vi điều khiển Tùy vào từng chương trình biên dịch, mỗi lệnh của C sẽ được biên dịch ra số lệnh ASM khác nhau, để tính toán chính xác
ta phải tính cả tổng phí từng dòng lệnh ASM
Trang 35Truyền thông nối tiếp