ĐO VẬN TỐC TRUNG BÌNH CỦA MỘT VẬT CHUYỂN ĐỘNG TỊNH TIẾN HIỂN THỊ TRÊN LCD
Trang 1LỜI NÓI ĐẦU
Bước sang thế kỷ XXI thế giới và Việt Nam đều khẳng định có 4
lĩnh vực khoa học được gọi là lĩnh vực công nghệ cao đó là :Công nghệ điện tử,Công nghệ vật liệu mới ,công nghệ sinh học và công nghệ năng lượng mới Ngành công nghệ điện tử ở đây thực chất được hiểu bao gồm công nghệ NANO ,kỹ thuật điện tử ,kỹ thuật máy tính ,điện tử viễn thông
và điều khiển tự động.Một trong những yếu tố tạo ra những tiền đề đó là ngành Công nghệ kỹ thuật Điện tử _Tự động hoá Việc áp dụng hợp lý các thành tựu của điều khiển tự động và máy tính vào sản xuất sẽ mang lại lợi ích to lón về nhiều mặt
I: Đặt vấn đề
Ngày nay kỹ thuật vi diều khiển đã trở nên quen thuộc trong nganh
kỹ thuật và trong dân dụng từ các dây truyền sản xuất lớn tới các thiết bịdân dụng chung ta đều thấy có mặt của vi điều khiển các bộ vi điều khiển có khả năng sử lý nhiều hoạt động phức tạp mà chỉ cần 1 con chip
vi mạch nhỏ ,nó đã thay thế các tủ điều khiển lớn và phức tạp bằng nhữngmạch điện nhỏ gọn ,dễ thao tác sử dụng
Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin Đó chính là sự ra đời của hàng loạt các thiết bị tối tân trong ngành điện tử viễn thông ,truyền hình ,đặc biệt là sự ra đời của mạng internet siêu xa lộ thông tin góp phấn đưa con người tới đỉnh cao của nền văn minh nhân loại
Chính các lý do trên ,việc tìm hiểu vi điều khiển là điều kiện mà các sinh viên các ngành đặc biệt là ngành điện_điện tử phải hết sức quan tâm Đó chính là một nhu cầu cấp bách và cần thiết với mỗi sinh viên đề tài được thực hiện chính là đáp ứng nhu cầu đó
Trang 2
Các bộ vi điều khiển sử dụng các vi điều khiển tuy đơn giản nhưng vận hành và sử dụng được là một điều rât phức tạp Phần công việc sử lý chính vẫn phụ thuocj vào con người đó chính là chương trính hay phần mềm.Tuy chúng ta thấy các máy tinh cực kỳ thông minh giải quyết các bài toán phức tạp trong vài phần triệu giây nhưng đó cũng là dựa trên những sự hiểu biết của con người Nếu không có sự tham gia của con người thì hệ thống vi điều khiển cũng chỉ là một vật vô tri.đo vậy khi nói đến vi điều khiển cũng giống như máy tính bao gôm hai phần là phần cứng và phần mềm
Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh từ bộ vi điều khiển 4 bit đơn giản đến
bộ vi điều khiển 32 bit.Với công nghệ tiên tiens ngày nay máy tính có thể
đi đến viêc suy nghĩ tri thức các thông tin đưa vào đó là các máy tính thuộc thế hệ trí tuệ nhân tạo
Để tài tìm hiểu vi điều khiển một cách thực tế và tích lũy thêm kinh nghiệm ,ngay khi đang là sinh viên ,việc làm đồ án là vô cùng cần thiết Sau đây chúng ta tìm hiểu về đề tài “ ĐO VẬN TỐC TRUNG BÌNH CỦA MỘT VẬT CHUYỂN ĐỘNG TỊNH TIẾN HIỂN THỊ TRÊN LCD
“ Đây là một cách hiển thị khá phổ biến hiện nay
Trang 3II: Mục đích yêu cầu của đề tài.
Đề tài “ ĐO VẬN TỐC TRUNG BÌNH CỦA MỘT VẬT CHUYỂN
ĐỘNG TỊNH TIẾN HIỂN THỊ TRÊN LCD”
Hệ thống sử dụng 2 cảm biến phát hiện vật đặt tại 2 vị trí khác nhau trên hướng chuyển động của vật
III :Cơ sở lý luận:
Dựa trên cơ sở của các đề tài vi điều khiển ,đặc biệt là các tính năng của chúng cũng như các họ IC giao tiếp ,hiển thị và giải mã … Nhằm thiết kế môt hệ thống vi điều khiển góp phần làm phong phú cho việc hiểu biết về lĩnh vực này đồng thời có thể mở rộng và định hướng về sau
Đề tài này được thực hiện chủ yếu dựa trên kiến thức về vi điều khiển,các phương pháp truyền dữ liệu ,tìm hiểu vè các IC được dung
Các linh kiện được dùng trong đề tài bao gôm:
Vi điều khiển IC AT89S52
LCD 16*2
IC LM358
Cảm biến(octo)
VI: Giới hạn của đề tài:
Do thời gian nghiên cứu và thực hiện có hạn mặc dù đã nỗ lực nên
đồ án không tránh khỏi những thiếu sót Vì thế,nhóm chúng tôi rất mongnhận được những đóng góp từ thầy cô và các bạn để đề tài hoàn thiệnhơn
Xin chân thành cảm ơn !!!
Trang 4
GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU
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ềukhiển hoạt động của TV,máy giặt,đầu loicj lazer ,điện thoại,lò vi song… Trong hệ thống sản xuất tự động ,bộ vi điều khiển được sủ dụng trongrobot ,dây truyền tự động ,các hệ thống càng thông minh thi vai trò của viđiều khiển càng quan trọng
Vi điều khiển 8051 được Intel cho ra đời vào năm 1980 thuộc vi điềukhiển đầu tiên của họ MCS-51 Hiện tại rất nhiều nhà sản xuất như Siemens, Advanced Micro Devices, Fusisu và Philips tập trung phát triểncác sản phẩm trên cơ sở 8051
hgAtmel là hãng đã cho ra đời các chip 89C51, 52, 55 và sau đó cải tiếnthêm, hãng cho ra đời 89S51, 52, 89S8252…
Hiện nay các bộ vi điều khiển 8 bit đứng đầu là họ 8051 có số lượnglớn nhất các nhà cung cấp đa dạng 8051 là một bộ vi sử lý 8 bit có nghĩa
la CPU chỉ co thể làm việc với 8 bit dữ liệu tại một thời điểm Dữ liệu lớnhơn 8 bit được chia ra thành các dũ liệu 8 bit để cho sử lý 8051 có tất cả
4 cổng vào – ra I/O mỗi cổng rộng 8 bit Các nhà sản xuất đã cho xuấtxưởng chỉ với 4K byte ROM trên chip
Trang 5I:Sơ đồ khối và chức năng các khối của 8051/8052/AT89S52
Sơ đồ khối của bộ vi điều khiển AT89S52
II:Bộ vi điều khiển AT89S52 gồm các khối chức năng là :
Trang 61. CPU(Centralprocessing unit):
Thanh ghi tích lũy A
Thanh ghi tích lũy phụ B
Đơn vị logic học(ALU:Arithmetic logical unit)
Thanh ghi từ trạng thái chương trình(PSW :Program status word)
Bốn băng thanh ghi
Con trỏ ngăn xếp
2. Bộ nhớ chương trình:( bộ nhớ ROM ) gồm 8 Kbyte flash
3. Bộ nhớ giữ liệu:( bộ nhớ RAM ) gồm 256 byte
4. Bộ UART: có chức năng truyền nhận nối tiếp,AT89S52 có thể giao tiếp với cổng nối tiếp với máy tính thông qua bộ
Trang 7I: Sơ đồ chân,chức năng các chân của AT89S52.
Sơ đồ chân IC AT89S52
II: Chức năng của các chân của
Port 1 (chân 1 – 8) có chức năng xuất nhập theo bit và theo
byte Đối với dòng 89Sxx ba chân P1.5,P1.6,P1.7 dduocj dung để nạp ROM theo chuẩn ISP ,2 chân P1.0 và P1.1 được dùng cho bộ timer 2
3 Port 2 (P2.0 – P2.7)
Port 2( chân 21-28)là cổng vào/ra là còn byte cao của Bus địa chỉ khi sử dụng bộ nhớ ngoài
4 Port 3 (P3.0_P3.7)
Trang 8P ort 3(chân 10 – 17) mỗi chân trên port3 ngoài chức năng nhậpcòn
có chức năng riêng:
5 Chân /PSEN( program Store Enable):
/PSEN Là chân điều khiển đọc chương trình ở bộ nhớ ngoài nóđược nối với chân /OE để cho phép đọc các byte mã lệnh trênROM ngoài
/PSEN sẽ ở mức thấp trong thời gian đọc mã lệnh ,mã lệnh đượcđọc từ bộ nhớ ngoài qua Bus dũ liệu (port 0) thanh ghi lệnh đểđược giải mã khi thực hiệm chương trình trong ROM nội thì/PSEN ở mức cao
6 Chân ALE ( Address Latch Enable):
ALE là tín hiệu điều khiển chốt địa có tần số bằng 1/6 tần số daođộng của vi điều khiển
7 Chân /EA: (External Access )
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ tronghay ngoài vi điều khiển nếu /EN ở mức cao thì vi điều khiển thihành chương trình trong ROM nội nếu /EA ở mức thấp thì vi điềukhiển thi hành chương trình từ bộ nhớ ngoài,
8 RST( Reset );
Ngõ vào RST trên chân 9 là ngõ reset của 8051.khi tín hiệu nàyđược đưa lên mức cao ,các thanh ghi trong bộ vi điều khiển đượctải những giá trị thích hợp để khởi động hệ thống
9 XTAL1,XTAL2
Trang 9AT89S52 có một bộ dao động trên chip,nó thường được gắn với bộdao động thạch anh có tần số lớn nhất là 33MHz ,thông thường là12MHz
2 Bộ nhớ dữ liệuAT89S52 có 256 byte RAM nội được chia làm thành
Các bank thanh ghicos địa chỉ từ 00H đến 1FH
RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH
RAM đa dụng từ 30H đến FFH
Các thanh ghi chức năng đặc biệt từ 80H đến FFH
IV: Các thanh ghi chức năng
1, Từ trạng thái chương trình(PSW: Program Status Word )
PSW.4 RS1 D4H Register Bank Select 1
PSW.3 RS0 D3H Register Bank Select 0
Cờ nhớ CY:( Cary Flag )
Cờ nhớ phụ AC: (Auxiliary Cary Flag )
Trang 103, Con trỏ ngăn xếp SP(Stack Pointer)
Là 1 thanh ghi 8 bit ở địa chỉ 81H để chứa địa chỉ của đỉnh ngăn xếp
4, Con trỏ dữ liệu DPTR( Data pointer )
Dùng để truy xuất bộ nhớ ngoài
5, Thanh ghi của các công ( port register )
6, Thanh ghi của các bộ định thời( Timer Register )
Chứa 3 bộ đếm định thời (Timer/counter) 16 Bit được dùng cho việc định
thời hoặc đếm sự kiện
7, Thanh ghi của cổng nối tiếp (Serial port Register)
At89S52 chứa 1 port nối tiếp phục vụ cho việc trao đổi thông tin với các thiết bị có khả năng giao tiếp nối tiếp
8, Thanh ghi ngắt ( interrupt register)
AT89s52 có 6 nguồn ngắt ,2 mức ưu tiên
9, Thanh ghi điều khiển nguồn PCON (power Control Register)
PCOM gồm 8 bit nằm ở địa chỉ 87H,thanh ghi nay không được định địa chỉ theo bit.ý nghĩa của từ bit như sau:
Bit
7(SMOD)
Bit tăng tốc độ Bank ở mode1,2,3 của cổng nối tiếp
Bit 6,5,4 Không sử dụng
Bit 3(GF1) Bit cờ đa năng 1
Bit 2(GF0) Bit cờ đa năng 2
Bit 1(PD) Bit khởi tạo hế độ Power Down
BiT 0(IDL) Bit khởi tạo chế độ IDLE
V: Mạch tạo dao động và Reset
Trang 12Hoạt động định thời của AT89S52
Trang 13Các bộ định thời (Timer) được sử dụng rộng dãi trong các ứng dụng đo lường và điều khiển vi điều khiển AT89S52 có 3 bộ định thời 16 Bit trong đó 2 bộ timer 0 và 1 có 4 chế độ hoạt động ,timer 2 có 3 chế độ hoạtđộng,các bộ định thời dùng để định khoảng thời gian ( hẹn giờ ) đếm sự kiện sảy ra bên ngoài bộ vi điều khiển hoặc tốc độ Baud cho cổng nối tiếpcủa vi điều khiển.
I : Các thanh ghi của bộ định thời:
1,Các thanh ghi của Timer 0 và Timer 1
Thanh ghi chế độ định thời (TMOD)
Thanh ghi TMOD chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho Time 0 và Timer 1
C/#T1
M1M0GATE0C/#T0M1M0
Timer1
1
110000
Mô tả
Bit mở cổng cho timer 1,=1thì timer 1 chỉ chạy khi chân INT1ở mức cao ,=0 hoạt động của timer không bị ảnh hưởng bởi mức logic trên chân INT1
Bit chọn chế độ counter/timer của timer 11=bộ đếm sự kiện
0=bộ định khoảng thời gianM1M0:00 chế độ 0 01 chế độ 1
10 chế độ 2 10 chế độ 3
Mở cửa cho timer 0
Bit chọn chế độ counter/timer của timer 0Bit 1 chọn chế độ của timer 0
Bit 0 chọn chế độ của timer 0
2, Thanh ghi điều khiển timer(TCON)
TCON 7 TCON 6 TCON 5 TCON 4 TCON 3 TCON 2 TCON 1 TCON 0
Thanh ghi TCON.
Trang 148DH
8CH8BH8AH89H88H
Mô tả
Cờ báo tràn của timer 1,được đặt bởi phần cứng khi có tràn ,xóa bởi p mềm hoặc p cứng khi bộ vsl chỉ đến chương trình ngắt
Bit điều khiển timer 1 hoạt động ,được đặt xóa bằng phần mềm để diều khiển cho timer 1 chạy dừng
Cờ báo tràn cho timer 0
Bit điều khiển cho timer 0 hoạt động
Cờ ngắt do timer 1
Cờ ngắt ngoài 1
Cờ ngắt do timer 0
Cờ ngắt ngoài 0
*Các thanh ghi chứa giá trị của bộ định thời
các timer 0 & timer 1 đều là các timer 16 bit mỗi timer có hai thanh ghi 8bit dùng để chứa giá trị khởi tạo hoặc giá hiệu thời của các timer cụ thể như timer 0 co TH0 & TL0 ,timer 1 có TH1 & TL1
Timer 0 Timer 1
Các thanh ghi chứa giá trị của bộ định thời
3,Các thanh ghi của Timer 2
Thanh ghi T2CON.
Trang 15T2CON.7 T2CON.6 T2CON.5 T2CON.4 T2CON.3 T2CON.2
EXF2
RCLKTCLK EXEN2TR2C/#T2CP/#RL2
Địa chỉ
CFH
CEH
CDHCCHCBHCAHC9HC8H
Mô tả
Cờ báo tràn của timer 2,TF2 được đặt khi Timer 2 tràn và được xóa bởi phần mềm TF2 không được thiết lập khi TCLK hoặc RCLK được đặt =1
Cờ ngắt ngoài Timer 2,TXF2 =1 khisảy ra sự nạp lại hoặc thu nhận, EXF2=1 cũng gây ra ngắt do Timer
2 nếu như ngắt này được lập trình cho phép
Bit chọn Timer cung cấp xung nhip cho đường nhận của cổng nối tiếp Bit chọn Timer cung cấp xung nhip cho đường truyền của cổng nối tiếp Bit điều khiển hoạt động của
Timer2Bit điều khiển cho timer 2 hoạt động
Bit chọn chế độ đếm hoặc định thời của Timer 2
Bit chọn chế độ thu nhận hay nạp lại của Timer 2
II:,hoạt động của cổng nối tiếp
1,giới thiệu
AT89S52có một cổng nối tiếp trên chip có thể hoạt ở nhiều chế độ khác nhau với các tốc độ khác nhau
Trang 16Chức chủ yếu của cổng nối tiếp là thực hiện chuyển đổi song song sang nối tiếp với dữ liệu xuất & chuyển đổi nối tiếp
sang song song với dữ liệu nhập để có thể giao tiếp với máy tính qua cổng nối tiếp hoặc qua các thiết bị tương tự
2,các thanh ghi của cổng nối tiếp
Thanh ghi diều khiển cổng nối tiếp (SCON _serial controller)
9DH9CH
9BH9AH99H
98H
Mô tảBit 0 chọn chế độ cho cổng nối tiếpBit 1 chọn chế độ cho cổng nối tiếp 00:cổng nối tiếp hd ở chế độ 0 01: _chế độ 1 10: chế độ 2 11: _chế độ 3Bit 2 chọn chế độ cho cổng nối tiếpBit này cho phép truyền thông đa xử lýCho phép thu ,bit này phải được đặt =1Bit truyền thứ 9
ký tự,được xóa bởi phần mềm
*thanh ghi đệm truyền nhận ở cổng nối tiếp (SBUF _serial bufer)
thanh ghi này có chức năng đệm các ký tự khi chúng được nhận về từ cổng nối tiếp hoặc được truyền đi từ cổng nối tiếp ,việc truyền nhận qua cổng nối tiếp thực chất là việc truy xuất thanh ghi này
III,ngắt & xử lý ngắt
1,giới thiệu
At89s52 có 6 nguồn ngắt_ngắt ngoài đến từ chân #INT0,ngắt
Trang 17ngoài đến từ chân #INT1,ngắt do bộ timer 0,ngắt do bộ timer 1,ngắt do
bộ timer 2,ngắt do port nối tiếp
6 nguồn ngắt này được xóa khi reset & được đặt riêng bằng phần mềm bởi các bit trong thanh ghi cho phép ngắt(IE),thanh ghi ưu tiên ngắt(IP)
Mô tả
Cho phép hoặc cấm toàn bộ Không được định nghĩaCho phép ngắt từ timer 2Cho phép ngắt port nối tiếpCho phép ngắt từ timer1Cho phép ngắt ngoài 1Cho phép ngắt từ timer 0Cho phép ngắt ngoài 0
*thanh ghi ưu tiên ngắt
Mỗi nguồn ngắt được lập trình riêng để đặt vào một trong hai mức ưu
tiên qua thanh ghi chức năng đặc biệt dược địa chỉ bit IPở địa chỉ B8H
Địa chỉ bit
BDHBCHBBHBAHB9HB8H
Mô tảKhông được định nghĩa
Ưu tiên cho ngắt từ timer 2
Ưu tiên cho ngắt từ port nối tiếp
Ưu tiên cho ngắt từ timer1
Ưu tiên cho ngắt ngoài 1
Ưu tiên cho ngắt từ timer 0
Ưu tiên cho ngắt ngoài 0
Phần hiển thi
Hiển thị giá trị vận tốc trung bình đo được trên LCD
Trang 18Trong những năm gần đây LCD ngày càng được sử dụng rộng dãi thaythế dần cho các loại đen LED ( các đen LED 7 đoạn hay nhiều đoạn ) đó
Dễ dàng lập trình cho các ký tự và đồ họa
I Phân loại LCD:
Có thể chia các mudule LCd thành 2 loại chính là:
Loại hiển thị ký tự:
Loại hiển thị đồ họa :
II,Ý nghĩa các chân và mã lệnh điều khiển LCD hiển thị ký tự
Hầu các mudule LCd hiển thị ký tự được thiết kế dựa trên bộ điều khiển HD44780 của Hitachi nên chúng có tập lệnh và các chân tương thích nhau
Trang 19I/D 0=Decrement cursor
Chân 1,16:VSS nối với GND
Chân 2,15:VDD nối với VCC
Chân 3: VEE nối với biến trở
Chân 4 _RS,5_RW,6_EN nối với 3 chân đầu Port 1 của vi điều khiển
Các chân 7,8,9,10,11,12,13,14 dùng để truyền và nhận tín hiệu
III,Nguyên tắc hiển thị ký tự trên LCD
Một chương trình hiển thị ký tự trên LCD sẽ đi theo 4 bước sau :
Trang 20cảm biên chữ U Đặc điểm
Loại thân vỏ bằng nhựa có gia cố
Nâng cao khả năng chống lại ánh sáng bên ngoài (3000lx -> 5000lx)Chức năng ngăn ngừa giao thoa lẫn nhau (Có thể lắp đặt nhiều tầng)Thêm vào các lỗ lắp đặt (Có thể cố định nhiều hướng)
Chức năng chuyển Light ON/Dark ON bởi dây điều khiển
Có điều chỉnh độ nhạy bên trong (BUP-30S)
IP65 (Tiêu chuẩn IEC)
Giới thiệu:
Cảm biến hồng ngoại (IR Senor) được dùng khá phổ biến trong các ứng dụng thực tế.tùy từng ứng dụng khác nhau người ta có thể dùng các kỹ thuật khuếch đại,điều chế điện,điều chế quang… để nâng cao độ
nhạy,độ tin cậy… của cảm biến
Nguyên lý hoạt động:
Bộ khuếch đại thuật toán làm việc như một bộ so sánh ,biến trở 100K có chức năng điều khiển điện áp ngưỡng so sánh mỗi khi có một vật đi qua tức là có sự che,không che khuất tia hồng ngoại từ diode phát sang
photo_transistor dẫn đến sự chuyển mức từ 1 sang 0 ở đầu ra của bộ khuếch đại thuật toán gây ra ngắt ngoài INT 1
Sơ đồ nguyên lý của mạch đo vận tốc trung bình của một vật chuyển động
tịnh tiến