Tải bản đầy đủ (.doc) (20 trang)

thiết kế bộ đo tốc độ của vật chuyển động tịnh tiến

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

Vi xử lý và ghép nối máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CƠ KHÍ
ĐỒ ÁN MÔN HỌC VI XỬ LÍ VÀ GHÉP NỐI MÁY TÍNH
Đề tài: Thiết kế bộ đo tốc độ của vật chuyển động tịnh tiến.
Giảng viên hướng dẫn: Ths.Vũ Thị Thu Hương
SVTH: Nguyễn Văn Thái
Trần Văn Tiến
Lê Duy Tú
Hà Nội 8/2013
Trang 1
Vi xử lý và ghép nối máy tính
Mục Lục
Mục Lục 2
Lời Nói Đầu 3
Phần I: Giới thiệu chung về ghép nối máy tính 4
A. Giới thiệu 4
Phần II: ghép nối truyền tin nối tiếp 7
I. Khái Niệm Về Truyền Tin Nối Tiếp 7
II. Cổng Nối Tiếp 8
Phần III: Nội dung đề tài 13
I. Chương trình điều khiển bằng VB 13
II. Chương trình vi điều khiển 14
III. Sơ Đồ Nguyên Lý 17
IV. Sơ Đồ Mạch In: 18
V. Mô phỏng 19
Kết luận 20
Trang 2
Vi xử lý và ghép nối máy tính
Lời Nói Đầu
Ngày nay, các thiết bị máy móc, hệ thống nhằm phục vụ đời sống con


người trong sinh hoạt cũng như trong sản xuất phát triển nhanh và ngày càng
thông minh. Sở dĩ có được điều đó là nhờ ứng dụng thành tựu của khoa học kỹ
thuật. Một trong vô số những thành tựu của khoa học kỹ thuật nói chung, của
khoa học kỹ thuật điện tử nói riêng là bộ vi điều khiển, ghép nối máy tính.
Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển điều
khiển các hoạt động của ti vi, máy giặt, đầu đọc laser, điện thoại, lò vi ba trong
hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong rụ bốt, dây
truyền tự động, các hệ thống càng thông minh thì vai trò của hệ vi điều khiển
càng quan trọng. Đây là nói đến vi điều khiển, còn ghép nối máy tính có nó cũng
có rất nhiều ứng dụng có liên quan đến vi điều khiển. Ghép nối máy tính với
máy in, máy quét, máy ảnh, máy quay phim qua các cổng ghép nối của máy
tính.
Qua học tập và nghiên cứu chúng em đã tìm hiểu về đề tài : Thiết kế
đồng hồ thời gian thực hiển thị LCD sử dụng cổng nối tiếp.
Do thời gian nghiên cứu và kinh nghiệm còn hạn chế nên không tránh
khỏi những thiếu sót.
Vì vậy, em rất mong sự góp ý chỉ bảo của các thầy cô và các bạn.
Chúng em xin chân thành cảm ơn!
Hà Nội, Ngày 23Tháng 08 Năm 2013
Giáo viên hướng dẫn :Vũ Thị Thu Hương
Nhóm sinh viên thực hiện: Cao Tiến Trung
Trần Văn Cường
Vũ Đình Duẩn
Lớp : Cơ điện tử 2 – k5
Trang 3
Vi xử lý và ghép nối máy tính
Phần I: Giới thiệu chung về ghép nối máy tính
A. Giới thiệu
Sự phát triển của ghép nối máy tính đã mở rộng đáng kẻ các lĩnh vực ứng
dụng của máy tính, đặc biệt là đo lường và điều khiển. Thực tế cho thấy, trong

các công ty xí nghiệp đã ứng dụng kỹ thuật ghép nối rất nhiều, Ví Dụ: Những
điều khiển CNC, dây truyền công nghệ sản xuất xi măng, điều khiển các thiết bị
khác nhau như những phần cứng và chương trình do người sử dụng viết, ngôn
ngữ giao tiếp là: Pascal, C++, ASM, VB, VB.net có khả năng ghép nối máy
tính có độ chính xác cao, thời gian thu nhập số liệu ngắn và quan trọng là mức
thu thập và xử lý các kết quả.
Đề tài, đo điện áp một chiều hiển thị trên màn hình LCD và trên máy tính
dạng đồ thị là một đề tài tương đối khó và có nhiều ứng dụng trong ngàng điện
tử và mộ số ngành khác.
B. Sự giao tiếp giữa máy tính và các khối ghép nối.
I. Máy tính và các khối ghép nối.
Như chúng ta đã biết cấu trúc của một máy tính được chia làm 3 phần
chính:
Khối xử lý trung tâm CPU làm nhiệm vụ thu thập và xử lý mỗi dữ liệu.
Khối nhớ (Memory): Lưu trữ các loại dữ liệu khác nhau đưa vào lấy và
lấy ra ở CPU.
Khối vào ra (I/O): Làm nhiệm vụ tương thích với các thiết bị bên ngoài và
đường Bus trong máy tính.
Trong máy tính hiện nay thường có các thiết bị ngoại vi sau: Màn Hình,
bàn phím, chuột, loa, máy in Với các thiết bị ngoại vi đó, máy tính đều có
khối xử lý tương ứng, ví dụ: Khối ghép giữa bus máy tính với màn hình là card
màn hình (VGA), khối ghép giữa bus máy tính với loa là soundcard thông
thường các máy tính thế hệ hiện nay thì các khối ghép nối cho các thiết bị ngoại
vi thông dụng này đều được tích hợp trên một bản mạch chính gọi là Mainboard.
Tuy nhiên máy tính không chỉ dừng lại ở ghép nối với máy in, màn hình,
loa, mà nó còn được ứng dụng vô cùng rộng rãi trong nhiều lĩnh vực. Nhờ các
cổng ghép nối RS232, LPT, cổng USB, các khe căm mở rộng mà chúng ta có
thể tạo ra các phần cứng có thể ghép nối vơi máy tính dưới sự điều khiển của
các phần mềm.
Nội dung của môn học này là chúng ta đi vào nghiên cửu các cổng, cỏc

khe cắm mở rộng của máy tính, để từ đó ta có thể chế tạo ra các khối ghép nối
phục vụ trong nhiều lĩnh vực trong công nghiệp như là đo lường và điều khiển.
Trang 4
Vi xử lý và ghép nối máy tính
1. Các dạng tin trao đổi của máy tính
a. Dạng số (Digital)
Đây là một chuỗi các bit 0 và 1 được biểu diễn theo hệ đếm như: nhị phân,
hệ thập lục phân Các tín hiệu này có thẻ ở dạng nối tiếp hoặc song song và
mức có thẻ là RS hoặc TTL
b. Dạng chữ (Text)
Đây biểu diễn của các ký tự dưới dạng số, trên thế giới hiện nay thông
dụng là biểu diễn các ký theo mã ASCCII. Theo cách này thì các ký tự được
biểu diễn bằng các chính là đọc bit 0,1 trên hệ thập lục phân, ví dụ: Mã ký tự A
là 41h. Dạng tín hiệu này có thể coi là tìn hiệu số.
c. Dạng tương tự (Analog)
Đây là các dòng điện hay điện áp biến đổi liên tục theo thời gian. Điển
hình là đại lượng vật lý thu thập từ các bộ cảm biến (sensor). Muốn xử lý được
các tín hiệu này, máy tính (khối ghép nối) phải chuyển nó sang dạng số bằng các
bộ biến đổi ADC.
d. Dạng âm tần
Đây là dạng tổng hợp của nhiều tín hiệu tương tự vơi tín hiệu số với các
biên độ khác nhau. Cũng có thẻ coi đõy là một dạng của tín hiệu Analog.
2. Các dạng thông tin trao đổi của máy tính
Trong quá trình gửi tin từ các thiết bị ngoại vi vào máy tính có các dạng
tín hiệu sau:
Tin về trạng thái của thiết bị ngoại vi
Tin mạng dữ liệu cần trao đổi.
Trong quá trình ngược lại.
Tin về dữ liệu trao đổi.
Tin mang lệnh điều khiển

3. Các phương thức trao đổi tin của máy tính
Trao đổi theo chương trình (Assembly, Pascal, C++, VB, VB.net )
Trao đổi trực tiếp với các khối nhớ (DMA – Direct Memory Access)
a. Chế độ trao đổi tin theo chương trình
Đây là chế độ trao đổi tin trong đó máy tính trao đổi với các thiết bị ngoại
vi bằng các lệnh vào ra. Lệnh dịch chuyển dữ liệu giữa các thanh ghi. Cụ thể:
Trong ngôn ngữ Asembly các lệnh được lệnh dành cho trao đổi IN, OUT,
MOV.
Trong ngôn ngữ Pascal:
Đọc một byte dữ liệu: X:=PORT[địa chỉ]
Đưa một byte dữ liệu: PORT[địa chỉ]: =y;
Đọc một byte dữ liệu: OUTPORT(địa chỉ, y)
Trong chế độ trao đổi theo chương trình có 3 phương pháp:
Trang 5
Vi xử lý và ghép nối máy tính
• Phương pháp trao đổi đồng bộ.
ở phương pháp này, máy tính sẽ tiến hành trao đổi tin ngay với thiết bị
ngoài khi khởi động xong mà không cần biết trạng thái của trạng thái đường dây
cũng như thiết bị ngoài.
Để có thể thực hiện được phương pháp này thì yêu cầu là:
+ Tốc độ trao đổi tin của thiết bị ngoài lớn hơn tốc độ trao đổi tin của máy
tính.
+ Thiết bị ngoài cần phải ở trạng thái sẵn sàng ngay khi máy tính khởi
động xong.
+ Phương pháp này có ưu điểm là tốc độ trao đổi tin nhanh nhưng có
nhược điểm là dễ bị mất tin khi thiết bị ngoài chưa ở trạng thái sãn sàng.
• Phương pháp không đồng bộ
Trong phương pháp này, trước khi trao đổi tin, máy tính tiến hành đọc,
kiểm tra trạng thái của thiết bị ngoài, nên thiết bị ngoài đã ở trạng thái sẵn sàng
thì tiến hành trao đổi tin còn ngược lại sẽ chờ.

Ngoài ra trong quá trình trao đổi, nếu tin bị lỗi thì yêu cầu truyền lại.
Phương pháp này có độ tin cậy cao nhưng tốc độ chậm hơn phương pháp
đồng bộ.
• Phương pháp trao đổi ngắt chương trình
Phương pháp này lợi dụng được ưu điểm, khắc phục được nhược điểm của hai
phương pháp trên:
+ Khi thiết bị ngoài có yêu cầu trao đổi sẽ gửi tin tín hiệu theo yêu cầu
(ngắt) đến máy tính.
+ Máy tính dừng chương trình đang phục vụ (nếu thiết bị ngoài đang yêu
cầu có mức yêu tiên cao hơn) và nhớ lại dừng đồng thời gửi tín hiệu xác nhận,
yêu cầu thiết bị ngoài trao đổi tin.
+ Máy tính và thiết bị ngoài trao đổi tin theo chương trình (gọi là chương
trình con phục vụ ngắt).
+ Kết thúc quá trình trao đổi tin, máy tính trở lại chương trình từ điểm
dừng.
+ Phương pháp trao đổi theo ngắn chương trình khắc phục được nhược
điểm của hai phương pháp đồng bộ và không đồng bộ, nó cho phép tận dụng tối
đa thời gian làm việc của máy tính.
b. Trao đổi MDA.
Đây là phương thức trao đổi trực tiếp với khối nhớ của máy tính mà
không thông qua CPU. Khi đó CPU sẽ ở trạng thái treo nhường quyền điều
khiển bù cho ghép nối. Thiết bị ngoài và khối nhớ của máy tính sẽ tiến hành trao
đổi (đọc/ghi dữ liệu). Sau khi quá trình kết thúc sẽ nhường lại quyền điều khiển
Bus cho CPU.
Trang 6
Vi xử lý và ghép nối máy tính
Phần II: ghép nối truyền tin nối tiếp
I. Khái Niệm Về Truyền Tin Nối Tiếp .
1. Khái niệm
Truyền tin nối tiếp là phương thức truyền tin trong đó các bit mang thông

tin được truyền kế tiếp nhau trên 1 đường dẫn vật lý . Tại 1 thời điểm phía bên
truyền và bên nhận chỉ có thể truyền ( hoặc nhận) 1 bit .
Ưu điểm của truyền tin nối tiếp :
+ Tiết kiệm đường dẫn
+ Có khả năng truyền đi xa
Nhược điểm
+ Tốc độ chậm hơn các thiết bị thường phải có khối chuyển đổi nối tiếp
song song, song song nối tiếp khi sử dụng phương pháp này để trao đổi tin .
2. Các phương thức truyền tin nối tiếp
Có 3 phương thức truyền tin nối tiếp :
+ Phương thức đồng bộ : Các byte chứa các bit thông tin được truyền liên
tiếp trên đường truyền và chỉ được ngăn cách ( phân biệt ) nhau bằng bit đồng
bộ khung (SYN). Hình 1
+ Phương thức không đồng bộ : Các byte chứa các bit thông tin được
chứa trong 1 khung. 1 khung được bắt đầu bằng 1 bit start, tiếp theo là các bit
mang thông tin, kế tiếp là các bit kiểm tra chẵn lẻ và kết thúc là 1 bit stop .
Khoảng cách giữa các khung là các bit dừng bất kỳ , khi đó đường truyền được
lấy lên mức cao (hình 2 ).
+ Phương thức lai : Đây là phương thức kết hợp của hai phương pháp
trên , trong đó các bit trong 1 khung được truyềng theo phương thức không đồng
bộ còn các byte được truyền theo phương thức đồng bộ

Hình 1

Trang 7
Vi xử lý và ghép nối máy tính
Hình 2
II. Cổng Nối Tiếp
1. Giới thiệu
Cổng nối tiếp RS232 là 1 giao diện phổ biến rộng rãi nhất , ta còn gọi là

cổng com 1 ,com2 , để tự do cho các ứng dụng khác nhau , giống như cổng
máy in , cổng nối tiếp RS232 cũng được dử dụng rất thuận tiện trong việc
ghép nối máy tính với các thiết bị ngoại vi . Việc truyền dữ liệu qua cổng
RS232 được tiến hành theo cách nối tiếp nghĩa là các bit dữ liệu được gửi đi
nối tiếp với nhau trên 1 đường dẫn .
2. Cấu trúc cổng nối tiếp
í nghĩa các chân tín hiệu như sau :

Mức tín hiệu trên các chân của cổng nối tiếp thường nằm trong khoảng
-12v _ +12v
Các bit dữ liệu được đảo ngược lại . mức điện áp ở mức logic 1 : -12v _ -3v
mức điện áp ở mức logic 0 : +3v _ +12v
trạng thái tĩnh trên đường dẫn có mức điện áp -12v
bằng tốc độ baund ta thiết lập tốc độ truyền dữ liệu các giá trị thông thường là :
300, 600, 1200, 2400,4800, 9600.
Trang 8
Vi xử lý và ghép nối máy tính
3. Địa chỉ các cổng như sau :
Com1: địa chỉ cơ bản là : 3F8H
Com2: địa chỉ cơ bản là : 2F8H
Com3: địa chỉ cơ bản là : 3E8H
Com4: địa chỉ cơ bản là : 2E8H
Sự trao đổi các đường dẫn tín hiệu :
Trên máy tính có một vi mạch đảm bảo việc truyền (nhận) dữ liệu thông qua
cổng nối tiếp, vi mạch đó gọi là UART ( bộ truyền nhận nối tiếp không đồng bộ
) . UART để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bị ngoại
vi , phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thiết bị tiếp theo ,
như 16C550 , bộ UART có 10 thanh ghi để điều khiển tất cả chức năng của việc
nhập vào xuất ra dữ liệu theo cách nối tiếp .
4. Các thanh ghi điều khiển .

a) Thanh ghi điều khiển modem(3F8 +4)
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 LOOP OUT2 OUT1 RTS DTR
D0=1 : đưa DTR=0
D0=0 : đưa DTR =1
D1=1: đưa RTS =0
D1=0: đưa RTS =1
OUT1 , OUT2 điều khiển đầu ra phụ
b) Thanh ghi trạng thái modem(3F8+6)

RLSD RI DSR CTS RLSD1 RI1 DSR1 CTR1
Thanh ghi này nhiệm vụ thông báo về trạnh thái các đường dẫn bắt tay điều chú
ý ở thanh ghi này là : D4, D5 ,D6 chính là lối vào của các đường dẫn CTS , DSR
, RI
đã được đảo .
c) Thanh ghi điều khiển đường truyền( 3F8+3)

C7 C6 C5 C4 C3 C2 C1 C0

C1, C0 : đặt số bit trong mỗi từ
00: 5 bit
01: 6 bit
10 : 7 bit
11: 8 bit
C2 : các bit dừng
0 : 1 bit dừng
Trang 9
Vi xử lý và ghép nối máy tính
1: 1,5 bit dừng
C3 : bit kiểm tra chẵn lẻ

0 : không kiểm tra
1 : có kiểm tra
C4 : loại chẵn lẻ
0: bit lẻ
1: bit chẵn
C5 : stick bit
0: không có stick bit
1: stick bit
C6 : đặt break
0: normal output
1: gửi 1 break
C7 ( DLAB) : bit phân chia truy nhập cho các thanh ghi cùng địa chỉ
d) Thanh ghi trạng thái đường truyền (3F8+5)

0 S6 S5 S4 S3 S2 S1 S0

S0=1: Khi có 1 byte mới nhận được
S1=1: Khi ký tự trước không được đọc ký tự mới đến sẽ xoá ký tự cũ trong bộ
đệm
S2=1: Khi có lỗi chẵn lẻ
S3=1: Khi có lỗi khung truyền
S4=1 : Khi có gián đoạn đường truyền
S5=1 : Khi bộ truyền rỗng cổng nối tiếp có thể truyền nhận
S6=1: Khi bộ đệm truyền rỗng
S7=0: Không sử dụng
e) Thanh ghi cho phép ngắt ( 3F8+1)
D7 D6 D5 D4 D3 D2 D1 D0
D0=1 : Cho phép ngắt khi nhận 1 ký tự
D1=1 : Cho phép ngắt khi bộ đệm truyền rỗng
D2=1: Cho phép ngắt khi thay đổi trạng thái đường truyền

D3=1: Cho phép ngắt khi thay đổi trạng thái modem
D4=0
D5=0
D6=0
D7=0
f) Thanh ghi nhận dạng ngắt ( 3F8+2)
Trang 10
Vi xử lý và ghép nối máy tính
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0
D2 D1 D0 Mức ưu tiên Nguồn gây
ngắt
Đặt lại ngắt
0 0 1 Không kiểm tra ngắt
1 1 0 Cao nhất Lỗi đường nhận dữ liệu
Đọc thanh ghi
trạng thái
đường truyền
1 0 0 Thứ 2 Có dữ liệu nhận Đọc thanh ghi
đệm
0 1 0 Thứ 3 Thanh ghi đệm truyền
rỗng
0 0 0 Thứ 4 Cỏc trạng thỏi modem Đọc thanh ghi
trạng thái
modem
g) Thanh ghi chứa số chia tốc độ baud (byte thấp - địa chỉ cơ sở )
thanh ghi này gồm có 8 bit , chứa phần thấp số chia của tốc độ baud . số chia
tốc độ baud tính theo công thức :
số chia tốc độ baud = 1843200/( 16*tốc đọ baud cần thiết lập )
h) Thanh ghi chứa số chia tốc độ baud( byte cao 3F8+1)

i) Thanh ghi đệm đọc viết ( 3F8)
iii. Nối ghép 8051 với RS232
Chuẩn RS232 không tương thích với mức logic TTL, nên cần bổ sung
thêm một bộ điều khiển đường truyền, chẳng hạn như chip MAX232 để chuyển
đổi các mức điện áp RS232 về các mức TTL và ngược lại. Do vậy nối ghép
8051 với đầu nối RS232 thông qua chip MAX232.
a. Chân RxD và TxD của 8051
8051 có hai chân được dùng chuyên cho truyền và nhận dữ liệu nối tiếp.
Hai chân này là RxD và TxD và là một phần của cổng P3 (đó là P3.0 và P3.1
tương ứng). P3.0 là chân số 10 của 8051, còn P3.1 là chân số 11. Các chân này
tương thích với mức logic TTL. Do vậy cần có thêm một bộ điều khiển đường
truyền để chúng tương thích với RS232. Bộ điều khiển như vậy có thể là chip
MAX232.
b. Bộ điều khiển đường truyền MAX232
Vì RS232 không tương thích với các bộ vi xử lý và vi điều khiển hiện nay
nên ta cần một bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển
đổi các tín hiệu RS232 về các mức điện áp TTL được các chân TxD và RxD của
8051 chấp nhận. Một ví dụ của bộ chuyển đổi như vậy là chip MAX232 của
Trang 11
Vi xử lý và ghép nối máy tính
hãng Maxim. Bộ MAX232 chuyển đổi từ các mức điện áp RS232 về mức TTL
và ngược lại. Một điểm mạnh khác của chip MAX232 đó là dùng điện áp của ân
RxD của đầu nối DB của RS232. Bộ điều khiển đường R1 cũng có gán R1
in

R1
out
trên các chân số 13 và 12 tương ứng. Chân R1
in
(chân số 13) là ở phía

RS232 đư MAX232 có gán T1
in

và T1
out
trên các chân số 11 và 1 tương ứng.
Chân T1
in
là ở phía TTL và được nối tới chân RxD của bộ vi điều khiển, còn
T1
out
là ở phía RS232 được nối tới chân TxD đầu nối DB của RS232 và chân
R1
out
(chân số 12) là ở phía TTL và được nối tới chân RxD của bộ vi điều khiển,
chân TxD bên phát được nối với RxD của bên thu và ngược lại. MAX232 cần có
4 tụ điện giá trị từ 1 đến 22µF. giá trị thường dùng là 10µF.
Trang 12
Vi xử lý và ghép nối máy tính
Phần III: Nội dung đề tài
I. Chương trình điều khiển bằng VB
1. Form chính
2.Chương trình vb
Private Sub Command1_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
End
End Sub
Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 3
MSComm1.SThreshold = 1
MSComm1.PortOpen = True
Label1.Caption = ""
Label2.Caption = ""
End Sub
Trang 13
Vi xử lý và ghép nối máy tính
Sub send(buffer As String)
If MSComm1.PortOpen = True Then
MSComm1.Output = buffer
End If
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As
Single, Y As Single)
End Sub
Private Sub MSComm1_OnComm()
Dim X, Y, z As String
Dim tocdo As String
If MSComm1.CommEvent = comEvReceive Then
X = MSComm1.Input
If Left(X, 1) = "@" Then
Label1.Caption = " Thiết bò đã sẵn sàng "
End If
If Left(X, 1) = "$" Then
Label2.Caption = " "
Label1.Caption = " Vật đang chạy qua "
End If

If Left(X, 1) = "a" Then
tocdo = Right(X, 6) + " m/s"
Label2.Caption = tocdo
Label1.Caption = "Vân tốc của vật"
End If
End If
End Sub
II. Chương trình vi điều khiển
#include<reg52.h>
#include<stdio.h>
#include<math.h>
unsigned int count,dem,vantoc;
void delay(unsigned int t)
{
unsigned int i;
for(i=0;i<=t;i++);
}
void ngatngoai0(void) interrupt 0
{
count=count+1;
if(count==3) count=0;
}
void ngatngoai1(void) interrupt 2
Trang 14
Vi xử lý và ghép nối máy tính
{
count=count+1;
if(count==3) count=0;
}
void main(void)

{
char e,f,g,h,k;
// int i;
EA=1; // cho phep ngat
EX0=EX1=1; // cho phep ngat ngoai 0 va 1
IT0=IT1=1; // cho phep ngat do suon

SCON = 0X52; // port noi tiep che do 1, REN=1, TI=1
TMOD = 0x21; //00100101 timer 1 che do 8 bit tu nap lai, timer 0
che do 16 bit
TH1=TL1=-3;
TH0=TL0=0;
TR1=1; // Cho phep ngat ngoai 1
count=dem=0;
while(1)
{
if(count==0)
{
putchar('@');//gui @ len may tinh de bao thiet bi san sang
}
if(count==1) /*trong khi bien count=1 ( vat chay qua lan 1) thi
thoi gian chay dua vao bien “dem”*/
{
TH0=0XFC; // nap vao gia tri 64614 tuc là 922 chu ki
dem
TL0=0X66;
TR0=1;
while(!TF0);
TR0=0;
TF0=0;

dem=dem+1;
putchar('$'); // gui $ len may tinh de bao vat dang chay qua
}
if(count==2) /*neu bien count>1 (vat da chay wa lan 2) thi tinh
toan => van toc, v=s/t */
{
int i;
vantoc=50000/dem;
Trang 15
Vi xử lý và ghép nối máy tính
e=vantoc/10000;
f=(vantoc%10000)/1000;
g=((vantoc%10000)%1000)/100;
h=(((vantoc%10000)%1000)%100)/10;
k=(((vantoc%10000)%1000)%100)%10;
for(i=0;i<=10;i++)
{
SBUF = 0x61; // truyen a
while(!TI);
TI = 0;
delay(1000);
SBUF = e + 0X30; // truyen hang chuc
while(!TI);
TI = 0;
delay(1000);
SBUF = f+ 0X30; // truyen so don vi
while(!TI); // cho co bao truyen xong 1 byte du lieu
TI = 0;
delay(1000);
SBUF = 0X2C ; // gui dau ","

while(!TI);
TI = 0;
delay(1000);
SBUF = g + 0X30; //truyen so thap phan thu
nhat
while(!TI);
TI = 0;
delay(1000);
SBUF = h + 0X30; //truyen so thap phan thu 2
while(!TI);
TI = 0;
delay(1000);
SBUF = k + 0X30; //truyen so thap phan thu3
while(!TI);
TI = 0;
delay(1000);
SBUF = 0x00; //truyen so dau cach
while(!TI);
TI = 0;
delay(1000); //truyen so hang don vi
}
dem=count=0; // reset lai bien count
}
Trang 16
Vi xử lý và ghép nối máy tính
}
}
III. Sơ Đồ Nguyên Lý
Trang 17
Vi xử lý và ghép nối máy tính

IV. Sơ Đồ Mạch In:
Trang 18
Vi xử lý và ghép nối máy tính
V. Mô phỏng

Trang 19
Vi xử lý và ghép nối máy tính
Kết luận
Ưu điểm:
- Mạch được thiết kế gọn, đẹp, dễ dàng vận hành và sử dụng
- Đo được tương đối chính xác vân tốc trung bình của vật chuyển động
tịnh tiến
Nhược điểm:
- Mạch không đo được vận tốc của những vật quá nhỏ hoặc chuyển động
quá nhanh.
- Đôi khi còn bị nhiễu.
Trang 20

×