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

Thiết kế mạch mô phỏng đo và hiển thị tốc độ động cơ( có gắn Encoder 100 xungvòng, khoảngđo 02500vòngphút

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 (499.09 KB, 25 trang )

LỜI MỞ ĐẦU
Ngày nay việc ứng dụng vi điều khiển, vi xử lý đang ngày càng phát triển rộng
rãi và thâm nhập ngày càng nhiều vào các lĩnh vực kỹ thuật và đời sống xã hội.Với xu
hướng tất yếu này cùng với sự phát triển mạnh mẽ của công nghệ chế tạo,người ta đã
tạo những vi điều khiển có cấu trúc mạnh hơn, đáp ứng thời gian thực tốt hơn, chuẩn
hóa hơn so với các vi điều khiển 8 bit trước đây.
Với sự phát triển mạnh mẽ của khoa học,đặc biệt là ngành điện, điện tử,sự phát
minh ra các linh kiện điện tử đã và đang ngày càng đáp ứng được yêu cầu của các hệ
thống.Ưu điểm của việc sử dụng các linh kiện điện tử làm cho các hệ thống linh hoạt
và đa dạng hơn,giá thành thấp hơn và độ chính xác cao hơn.
Sau thời gian học tập và tìm hiểu,chúng em đã được làm quen với môn học vi
xử lý và đo lường hệ thống. Để áp dụng lý thuyết với thực tế của môn học này chúng
em nhận bài tập lớn:'' thiết kế mạch mô phỏng đo và hiển thị tốc độ động cơ( có gắn
Encoder 100 xung/vòng, khoảngđo[ 0-2500vòng/phút]”.
Tuy nhiên do kiến thức còn hạn chế,tài liệu tham khảo có giới hạn nên còn có những
sai sót.Chúng em rất mong thầy,cô giáo thông cảm và giúp đỡ chúng em hoàn thiện
bài tập lớn này.
Chúng em xin chân thành cảm ơn!


MUC LUC
PhầnI. Phân tích yêu cầu công nghệ
1.1. Phân tích và giới hạn về đặc điểm thiết bị
1.2. Trình bày về phương pháp đo tốc độ dùng Encoder
PhầnII. Thiết kế hệ thống
2.1 Phân tích giới hạn và tính toán lựa chọn thiết bị
2.2 Xây dựng mạch nguyên lí và thuyết minh
2.3 Xây dựng thật toán
2.4 Viết chương trình
2.5 Sơ đồ mạch mô phỏng
Phần III. Kết luận


3.1 Các kết quả đạt được
3.2 Các hạn chế tồn tại và phương hướng khắc phục


PHẦN 1: PHÂN TÍCH YÊU CẦU CÔNG NGHỆ
1.1: Phân tích và giới hạn về đặc điểm thiết bị
Hệ thống vi điều khiển 8051 ghép nối 04 LED bảy thanh hiển thị số đo tốc độ
động cơ dùng Encoder bao gồm :
• Vi điều khiển 89C51
• Mạch truyền thông chuẩn RS 232 (dùng vi mạch MAX 232)
• 04 LED bảy thanh
• Cảm biến đo tốc độ động cơ Encoder,
• Loa cảnh báo ngưỡng thấp, cao 2 nút ấn RUN, STOP
A, Bộ vi điều khiển 8 bit AT89C51 hoạt động ở tần số 12MHz, với bộ nhớ ROM
4kbyte,bộ nhớ RAM 128byte cư trú bên trong và có thể mở rộng bộ nhớ ra ngoài.Ở
bộ vi điều khiển này còn có 4 cổng 8bit (P0,P1,P2,P3) vào/ra 2 chiều để giao tiếp với
thiết bị ngoại vi.

Hình 1.1.1: Sơ đồ khối AT89C51
-Ngoài ra,nó còn có:

2 bộ định thời 16 bit (Time0 và Time1)

Mạch giao tiếp nối tiếp

Bộ xử lý bit

Hệ thống điều khiển và xử lý ngắt







Các kênh điều khiển/ dữ liệu/địa chỉ.
CPU
Các thanh ghi chức năng đặc biệt (SFR)

Sơ đồ chân tín hiệu của AT89C51
Chức năng của các chân tín hiệu như sau:
-P0.0 đến P0.7 là các chân của cổng 0
-P1.0 đến P1.7 là các chân của cổng 1
-P2.0 đến P2.7 là các chân của cổng 2
-P3.0 đến P3.7 là các chân của cổng 3
-RxD:nhận tín hiệu kiểu nối tiếp
-TxD:truyền tín hiệu kiểu nối tiếp
-INT0:ngắt ngoài 0
-INT1:ngắt ngoài 1
-T0: chân vào 0 của bộ Timer/Counter 0
-T1: chân vào1của bộTimer/Counter 1
-Wr: ghi dữ liệu vào bộ nhớ ngoài
-RST:chân vào Reset,tích cực ở mức logic cao trong khoảng 2 chu kỳ máy
-XTAL1:chân vào mạch khuếch đại dao động
-XTAL2:chân ra từ mạch khuếch đại dao động
-PSEN:chân cho phép đọc bộ nhớ chương trình ngoài
-ALE:chân tín hiệu cho phép chốt địa chỉ để truy cập bộ nhớ ngoài,khi On–chip xuất
ra byte thấp của địa chỉ.Nó có thể được dùng cho các bộTimer ngoài hoặc cho mục
đích tạo xung Clock.
-EA/Vpp: cho phép On–chip truy cập bộ nhớ chương trình ngoài khi EA=0,nếu
EA=1thì On-chip sẽ làm việc với bộ nhớ chương trình nội trú.

-VCC :cung cấp nguồn cho On-chip
-GND:nối mát
+Các thanh ghi chức năng đặc biệt khác:
Các thanh ghi chức năng đặc biệt là các thanh ghi đảm nhiệm các chức năng khác nhau
trong chíp. Chúng nằm ở RAM bên trrong chíp chiếm vùng không gian bộ nhớ 128
bytes được định địa chỉ từ 80 đến Ffh.

Thanh ghi tích lũy (ACC): Đây là thanh ghi quan trọng trong chíp, dùng để lưu
trữ các toán hạng và kết quả của phép tính.Thanh ghi ACC dài 8bit,có địa chỉ là E0h
trong SFR.

Thanh ghi B: thanh ghi thường sử dụng khi thực hiện các phép toán nhân, chia.
Đối với các lệnh khác,thanh ghi B có thể xem như là thanh ghi đệm tạm thời. Trong
SFR thanh ghi B dài 8bits và có địa chỉ là F0h.

Con trỏ ngăn xếp: thanh ghi này dài 8bits,có địa chỉ trong SFR là 81h,giá trị
của nó được tăng tự động trước khi thực hiện các lệnh CALL, PUSH. Ngăn xếp có thể
đặt bất cứ nơi nào trong RAM của chíp,nhưng sau khi khởi động lại ngăn xếp thì con
trỏ ngăn xếp mặc định sẽ trỏ tới địa chỉ khởi đầu là 07h,vậy ngăn xếp sẽ được tạo ra
bắt đầu từ 08h.

Con trỏ dữ liệu: là thanh ghi dài 16 bits, gồm hai thanh dài 8bits hợp lại là
thanh ghi byte cao DPH và thanh ghi byte thấp DPL.Con trỏ dữ liệu có thể sử dụng
như là thanh ghi 16bits hoặc hai thanh ghi 8bits độc lập.Trong SFR thanh ghi DPH có
địa chỉ là 83h,còn thanh ghi DPLcó địa chỉ là 82h.



Thanh ghi PSW: là thanh ghi dài 8bits,có địa chỉ trong SFR là D0h. Thanh ghi
PSW dùng để chứa thông tin về trạng thái chương trình.Mỗi bit của PSW đảm nhiệm

một chức năng cụ thể. Thanh ghi này được phép truy cập ở dạng mức bit.

Thanh ghi PCON: thanh ghi điều khiển nguồn.

Thanh ghi IE: thanh ghi cho phép ngắt.
EA:nếu EA=0 không cho phép bất cứ ngắt nào hoạt động.Nếu EA=1 mỗi
nguồn ngắt riêng biệt được phép hoặc không được phép hoạt động bằng cách đặt hoặc
xóa bit Enable của nó.
ET2: bit cho phép hoặc không cho phép ngắt bộ Timer2
ET1: bit cho phép hoặc không cho phép ngắt tràn bộ Timer1
EX1: bit cho phép hoặc không cho phép ngắt ngoài 1
EX0: bit cho phép hoặc không cho phép ngắt tràn bộ timer
EX1: bit cho phép hoặc không cho phép ngắt ngoài 0

Thanh ghi IP: thanh ghi ưu tiên ngắt

Thanh ghi TCON: thanh ghi điều khiển trên bộ timer/ Counter
TF1: cờ tràn Timer 1
TR1: bit điều khiển bộ Timer 1 hoạt động
TF0: cờ tràn Timer 0
TR0: bit điều khiển bộ Timer 0 hoạt động
IE1: cờ ngắt ngoài 1
IE0: cờ ngắt ngoài 0

Thanh ghi TMOD: thanh ghi điều khiển kiểu Timer/ Counter
GATE: Khi TRx được thiết lập và GATE = 1, bộ Timer/ Counterx hoạt động
chỉ khi chân INTx ở mức cao. Khi GATE = 0, Timer/ Counterx hoạt động chỉ khi TRx
=1
C/T: bit cho phép chịn chức năng là Timer hay Counter.
M0,M1: bit chọn Mode, để xác định trạng thái và kiểu Timer/Counter.


Thanh ghi SCON: là thanh ghi trạng thái và điều khiển cổng nối tiếp.
B, Mạch truyền thông chuẩn MAX 232
Theo tiêu chuẩn RS232 quy định mức logic “0” ứng với điện áp +3V đến
+12V , mức logic “1” ứng với điện áp -3V đến -12V ,mà vi điều khiển truyền và nhận
tín hiệu theo chuẩn TTL/CMOS quy định mưc logic “0” ứng với điện áp 0V, mức
logic “1” ứng với 3,3V hay5V

Hình 1.1.2 sơ đồ chân RS232
+T1IN, T2IN trên chân số 10 và 11 là chân ngõ vào tín hiệu dạng TTL/CMOS
+T1OUT, T2OUT trên chân số 14 và 7 là chân ngõ ra


Tín hiệu RS-232
+R1IN, R2 IN trên chân số 13 và 8 là ngõ vào tín hiệu dạng RS-232
+R1OUT, R2OUT trên chân số 12 và 9 là ngõ ra tín hiệu dạng RS-232
+Vcc, GND chân cấp nguồn cho ic hoạt động
-Cổng com DB9:
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com hay
cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính.
Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com 3...Trên đó có 2 loại
đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân
(DB25). Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được
phân biệt bởi cổng đực (DB9) và cổng cái (DB25)(ít sử dụng).

Hình 1.1.3: sơ đồ chân cổng DB9
+ chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 2: Receive Data (RxD) : Nhận dữ liệu
+ chân 3 : Transmit Data (TxD) : Truyền dữ liệu
+ chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi

bộ phận khi muốn truyền dữ liệu
+ chân 5 : Singal Ground ( SG) : Mass của tín hiệu
+ chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi
nó sẵn sàng nhận dữ liệu
+ chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt động
khi sẵn sàng truyền dữ liệu
+ chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức kích
hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu
+ chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu rung
chuông
C, Led 7 thanh


Hình 1.1.4: Cấu tạo led 7 thanh
Led 7 thanh có cấu tạo gồm 7 led đợn có dạng thanh xếp theo hình trên và có
thêm một led đơn hình tròn nhỏ để thể hiện dấu chấm tròn ở góc dưới, bên phải của
led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cức +) hoặc Cathode(cực -) được nối chung
với nhau vào một điểm, được đưa chân ra ngoài đê kết nối với thanh mạch điện. 8 cực
còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết
nối với mạch điện. Nếu led 7 đoạn Anode (cực +) chung, đầu chung này được nối với
+Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ
sáng khi tín hiệu đặt vào các chân này ở mức 0. Nếu led 7 đoạn có cathode (cực -)
chung, đầu chung này được nối xuống Ground (hay mass), các chân còn lại dùng để
điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các
chân này ở mức 1.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo
dòng qua mỗi led đơn trong khoảng 10mA – 20 mA để bảo vệ led.Nếu kết nối với
nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều
khiển.



D, Giới thiệu về Encoder

Hình 1.1.5: Cấu tạo Encoder
Nhìn trên hình ta thấy encoder gồm: 1 đĩa tròn có khắc lỗ, 1 Hệ thống LED phát và
thu.
• Cấu tạo chính của encoder:
-Gồm 1bộ phát ánh sáng (led phát ),một bộ thu ánh sáng nhạy từ ánh sáng
của bộ phát (bộ thu thường là photodiotde hoặc phototransistor) 1 hay 2 đĩa
quang gắn trên trục quay đặt giữa bộ phát và thu,thông thường trục quay này
sẽ được gắn với trục quay của đối tượng cần đo tốc độ.
• Nguyên tắc hoạt động:
-Nguyên lý cơ bản của encoder:đó là một đĩa tròn xoay, quay quanh trục.
Trên đĩa có các lỗ (rãnh). Người ta dùng một đèn led để chiếu lên mặt đĩa.Khi đĩa
quay, chỗ không có lỗ (rãnh),đèn led không chiếu xuyên qua được,chỗ có lỗ
(rãnh),đèn led sẽ chiếu xuyên qua.Khi đó,phía mặt bên kia của đĩa,người ta đặt một
con mắt thu.Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, người ta ghi
nhận được đèn led có chiếu qua lỗ hay không.Số xung đếm được và tăng lên nó tính
bằng số lần ánh sáng bị cắt.
Như vậy là encoder sẽ tạo ra các tín hiệu xung vuông và các tín hiệu xung
vuông này được cắt từ ánh sáng xuyên qua lỗ.Nên tần số của xung đầu ra sẽ phụ
thuộc vào tốc độ quay của tấm tròn đó.Ứng dụng của encoder:trong các bài toán đo
tốc độ động cơ,trong các máy CNC dùng để xác định khoảng dịch chuyển của 1 đối
tượng thông qua đếm số vòng quay của trục.


Hình 1.1.6: Encoder có lỗ định vị
Như vậy cho dù có lệch xung,mà chúng ta thấy Encoder đi ngang qua lỗ định vị
này,thì chúng ta sẽ biết Encoder đã bị đếm sai ở đâu đó.

Tuy nhiên có một vấn đề lớn nữa là,làm sao biết được Encoder đang xoay theo chiều
nào.Bởi vì xoay theo chiều nào thì các xung đều giống nhau.Vì vậy,người ta đặt thêm
một vòng lỗ ở giữa vòng lỗ thứ nhất và vòng lỗ định vị sao cho lỗ vòng 1 và vòng 2
lệch nhau,các cạnh của lỗ vòng 2 nằm ngay giữa lỗ vòng 1 và ngược lại.

Hình 1.1.7: sơ đồ của động cơ Encoder
E, Một số linh kiện khác
 Tụ điện
Tụ điện là 1 linh kiện thụ động ,gồm 2 bản cực kim loại ghép cách hau 1 khoảng d,
ở giữa 2 bản tụ là dung dịch hay điện môi cách điện có điện dung C.Tụ cho phép dòng
xoay chiều đi qua và cản dòng 1 chiều


Hình 1.1.8: tụ điện
Khi tụ nạp điện thì sẽ bắt đầu nạp từ điện áp 0V tăng đến điện áp UDC và giảm từ
điện áp VDC xuống 0V.
 Điện trở
Điện trở là linh kiện thụ động có tác dụng cản trở dòng và áp,được sử dụng nhiều
trong lĩnh vực điện tử.

Hình 1.1.9: điện trở
-Điện trở của dây dẫn có trị số lớn hay nhỏ phụ thuộc vào vật liệu làm dây,tỉ lệ thuận
với chiều dài dây và tỉ lệ nghịch với tiết diện dây.
R=(ρ.l)/S
R=U/I
ρ:điện trở suất của vật liệu(Ωm)
S:tiết diện dây(m^2)
l: chiều dài dây(m)
R:điện trở (Ω)



 Điện trở treo

Hình 1.1.10: điện trở treo
Sử dụng điện trở thanh (treo) giúp việc thiết kế mạch dễ dàng hơn,điên trở treo
gồm: 8 điện trở cùng giá trị với mỗi đầu điện trở được nối với nhau,đầu chung này
được đưa ra ngoài bằng 1 chân nữa,thông thường chân chung này được nối với nguồn
Vcc
Điện trở treo có nhiệm vụ tạo điện áp ở từng mức theo yêu cầu,theo giá trị đặt
tại các chân của nó.
 Thạch anh

Hình 1.1.11: Thạch anh dao động
Thạch anh dao động có nhiệm vụ tạo ra các xung điều khiển thích hợp phục vụ
cho vi điều khiển , thạch anh sử dụng ở đây là loại 12MHz
1.2. Trình bày về phương pháp đo tốc độ động cơ dùng Encoder
Gọi số xung xuất ra từ kênh A (kênh B) trong 1s là: n
Số xung của đĩa encoder là: Ne (khi động cơ quay được 1 vòng thì trên kênh
A hoặc B sẽ xuất ra Ne xung).
-> tốc độ động cơ: v=n/Ne (vòng/giây)
Vậy để đo được tốc độ động cơ, chỉ cần đếm được số xung xuất ra từ 1 trong
2 kênh A và B trong thời gian 1s hay nói cách khác đó chính là tần số của xung
encoder.
Thời gian 1s này còn được gọi là thời gian lấy mẫu, tuy nhiên nếu chọn thời
gian lấy mẫu quá lớn (1s) sẽ dẫn đến sai số trong việc đếm số xung, làm mất thời
gian thực thi của vi điều khiển và làm cho quá trình hiệu chỉnh tốc độ (nếu có)
không được liên tục. Vì vậy việc chọn thời gian lấy mẫu rất quan trọng, không được


quá lớn và không được quá bé.

- Gọi thời gian lấy mẫu là: Ts
- Gọi số xung encoder xuất ra trong thời gian Ts là ns
-> tốc độ động cơ: v=(ns*100)/(Ne*Ts)


PHẦN II. THIẾT KẾ HỆ THỐNG
2.1 Phân tích giới hạn và tính toán lựa chọn thiết bị
• Kết nối với vi điều khiển
-Ngõ nhận tín hiệu led 7 đoạn có 8 đường vì vậy có thể dùng 1 port nào đó của
vi điều khiển để điều khiển led 7 đoạn.Vì vậy led 7 đoạn nhận một dữ liệu 8 bit
từ vi điều khiển để điều khiển hoạt động sáng tắt của từng led đơn trong nó
-Có hai kiểu hiển thị led 7 đoạn:mã dành cho led 7 đoạn có anode (cực +)
chung và mã dành cho led 7 đoạn có cathode (cực -) chung.Chẳng hạn,nếu sử
dụng anode chung,muốn led đơn nào sáng thì đặt vào chân led đó điện áp la
0V(mức 0) các led đơn còn lại đặt điện áp là 5V(mức 1).Nếu sử dụng cathode
chung,muốn led nào sáng thì làm hoàn toàn ngược lại với anode chung.
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có anode chung
Số hiển thị
trên led 7
đoạn

Mã hiển thị led 7 đoạn
dạng nhị phân

Mã hiển thị led 7 đoạn dạng
thập lục phân

0
1
2

3
4
5
6
7
8
9
A

hgfedcba
11000000
11111001
10100100
10110000
10011001
10010010
11000010
11111000
10000000
10010000
10001000

C0
F9
A4
B0
99
92
82
F8

80
90
88

B
C
D
E
F
-

10000011
11000110
10100001
10000110
10001110
10111111

83
C6
A1
86
8E
BF


Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có cathode chung
Số hiển thị trên led
7 đoạn


Mã hiển thị led 7 đoạn
dạng nhị phân

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
-

00111111
00000110
01011011
01001111
01100110
01101101
01111101
00000111
01111111

01101111
01110111
01111100
00111001
01011110
01111001
01110001
01000000

Mã hiển thị led 7
đoạn dạng thập lục
phân
3F
06
5B
4F
66
6D
7D
07
7F
6F
77
7C
39
5E
79
71
40


Nút ấn RUN, STOP chọn kiểu tiếp điểm thường mở
Loa cảnh báo ngưỡng cao, thấp: dưới 500v/p và trên 2500v/p
2.2 Xây dựng mạch nguyên lí và thuyết minh
 Phím ấn
Gồm nút ấn Start và stop

Hình 2.2.1: nút ấn

 Khối hiển thị


Hình 2.2.2: khối hiển thị
Mắc thêm điện trở để hạn chế dòng điện và bảo vệ đèn led
 Khối xử lí trung tâm
Để tạo xung nhịp (clock) cho vi điều khiển ta dùng thạch anh 12MHz có giá trị từ
33p
Chu kì của 8051 là:
cổng P0 khi thực hiện chức năng xuất nhập phải dùng trở để kéo lên ,vì thế ta dùng
trở băng có giá trị 4,7k-10k đấu vào P0
Việc kết nối chân RESET đảm bảo hệ thống bắt đầu làm việc khi Vi điều khiển
được cấp điện, hoặc đang hoạt động mà hệ thống bị lỗi cần tác động cho Vi điều khiển
hoạt động trở lại, hoặc do người sử dụng muốn quay về trạng thái hoạt động ban đầu.
Vì vậy chân RESET được kết như hình vẽ sau với C=10uf,R=10k

Hình 2.2.3: nút ấn RESET
2.3 Xây dựng thuật toán





2.4 Viết chương trình
Chương trình hợp ngữ:
ORG

0H

;Khai bao dia chi bat dau CT tu 0h trong Ram

noi
LJMP

MAIN

; Nhay den chuong trinh chinh

ORG

0BH

LJMP

INT_TIMER0

ORG

1BH

LJMP

INT_TIMER1


ORG

3H

LJMP

INT_EX0

ORG

13H

LJMP

INT_EX1

;Nhay den nhan INT_TIMER0
;Nhay den nhan INT_TIMER1
;Nhay den nhan INT_EXO
;Nhay den nhan INT_EX1

;DINH NGHIA CAC BIEN(gan gia tri cac bien)
LOA

EQU 2

RUN

EQU 1


VONG_GIAY

;LOA co gia tri = 2

EQU 7h

;So vong/giay = 7h=7

XUNG_DU

EQU 32H

;So xung du =100 50

DIGIT_1

EQU 33H

;DIGIT_1 = 33H=51

DIGIT_2

EQU 34H

=52

DIGIT_3

EQU 35H


=53

DIGIT_4

EQU 36H

=54

;CHUONG TRINH CHINH
ORG

30H 100

;Khai bao dia chi bat dau chuong trinh chinh

MAIN:
SETB

IT1

;P3.5 = 1 dau vao cua xung dem T1

SETB

IT0

;Dau vao cua xung dem T0(ngat canh xuong)

SETB


EX0

;Cho phep ngat ngoai INT0

SETB

EX1

;Cho phep ngat ngoai INT1

MOV

R0,#200

;Di chuyen R0 = 200


MOV

TMOD,#00010110b ;Khoi dong TIMER 1 – Che do 16 BIT

MOV

TH0,#-100

;Nap byte cao cua 100

MOV


TL0,#-100

;Nap byte thap cua 100
;Tao chu ky tran cho C0 = 100 xung/vong

SETB

ET0

;Cho phep ngat T0

SETB

ET1

;Cho phep ngat T1

SETB

TF1

;Cho phep bao bo dem cua T1 bi

SETB

TR1

;Cho phep timer 1 chay

SETB


TR0

;Cho phep timer 0 chay

SETB

EA

;Cho phep ngat toan bo(T/H CT tu bo nho

JMP

$

tran(Tcon.7)

trong)
;NGAT COUNTER 0
INT_TIMER0:
INC

VONG_GIAY

;Tang gia tri VONG_GIAY moi lan la

1V
RETI
;NGAT TIMER 1(tao thoi gian 1s de do)
INT_TIMER1:

JNB

RUN,EXIT ;Nhay den EXIT neu RUN = 0

MOV

A,40H

JZ

BAT_LOA;Nhay toi BAT_LOA neu (a) = 0 (a)là nội dug của

thanh ghi a
SUBB

A,#16

;Neu A > 16 A=A-16

JC

CONT;Nhay den nhan CONT :nhảy đến CONT nếu c=1 (c)nd

của cờ c
BAT_LOA:
CPL

P3.6

;Dao P3.6


p3.6=đảo p3.6

CONT:
MOV

TH1,#HIGH(-5000) ;Nap byte cao cua -5000

MOV

TL1,#LOW(-5000) ;Nap byte thap cua -5000


DJNZ

R0,QUET_LED

;Nhay den QUET_LED neu R0 khac 0
;(Vong lap neu chua du 1s thi quet led)

MOV

R0,#200

CLR

TR0

;Ngat timer 0


CLR

TR1

;Ngat timer 1

MOV

XUNG_DU,TL0

;

CALL

CALCULATOR

;Chuong trinh con tinh so V/P

MOV

TL0,#-100

;Nap byte thap cua -100

SETB

TR0

;Khoi dong timer 0


SETB

TR1

;Khoi dong timer 1

RETI
QUET_LED:
CJNE

R1,#0,LED_2

MOV

DPTR,#LED

;Quet LED_2 Neu R1 khac 0
;Nap dia chi gian tiep tu LED(ram ngoài) vào

con
;trỏ DPTR
MOV

A,DIGIT_1

MOVC

A,@A+DPTR

;Chuyen du lieu trong vung


nho A+DPTR vao A
MOV

P2,#0

;Xoa cong P2

MOV

P0,A

MOV

P2,#1

;P2=1

INC

R1

;Tang R1+ 1 (Quet LED tiep theo)

;Di chuyen P0=A

RETI
LED_2:
CJNE


R1,#1,LED_3

MOV

A,DIGIT_2

MOVC

;Nhay den quet LED_3 neu R1 khac 1

A,@A+DPTR

nho A+DPTR vao A
MOV

P2,#0

MOV

P0,A

MOV

P2,#2

;Xoa P2

;Chuyen du lieu trong vung



INC

R1

RETI
LED_3:
CJNE

R1,#2,LED_4

MOV

A,DIGIT_3

MOVC

;Nhay den quet LED_4 neu R1 khac 2

A,@A+DPTR

;Chuyen du lieu trong vung

nho A+DPTR vao A
MOV

P2,#0

MOV

P0,A


MOV

P2,#4

INC

R1

;Xoa P2

RETI
LED_4:
MOV

A,DIGIT_4

MOVC

A,@A+DPTR

;Chuyen du lieu trong vung

nho A+DPTR vao A
MOV

P2,#0

;Xoa P2


MOV

P0,A

MOV

P2,#8

MOV

R1,#0

;Quay ve LED 1

MOV

A,VONG_GIAY

;Di chuyen DL0 VONG_GIAY vao A

MOV

40H,A

;Di chuyen A vao o nho 40h

MOV

VONG_GIAY,#0


MOV

B,#6

;Nap TG B = 6.

MUL

AB

;Nhan A voi B < 255 Nen duoc chua trong A

MOV

B,#100

DIV

AB

MOV

DIGIT_1,A

MOV

A,B

EXIT:
RETI

CALCULATOR:

;Chia A/B


MOV

B,#10

DIV

AB

MOV

DIGIT_2,A

MOV

R3,B

;DIGIT_4:

;Gia tri tam thoi cua DIGIT_3

la so (XUNG_DU*60)/100

MOV

A,XUNG_DU


CLR

C

SUBB

A,#9CH

MOV

B,#10

DIV

AB

MOV

R4,B

MOV

B,#3

MUL

AB

MOV


B,#5

DIV

AB

MOV

R5,B

ADD

A,R3

MOV

B,#10

DIV

AB

ADD

A,DIGIT_2

MOV

DIGIT_2,A


MOV

DIGIT_3,B

;A-9CH=156

;Luu lai so le vao R4

;Cong A va R3. Ket qua luu o A

;SODU
MOV

A,R5

RL

A

MOV

R5,A

MOV

A,R4

MOV


B,#3

MUL

AB

MOV

B,#5

DIV

AB

ADD

A,R5

;Xoay trai gia tri thanh ghi A


MOV

DIGIT_4,A

RET
INT_EX0:
SETB

RUN


;RUN =1

MOV

P2,#0

;Xoa P2

CLR

RUN

;RUN =0 Dung chuong trinh

RETI
INT_EX1:

RETI
LED: DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END.
2.5 Sơ đồ mạch mô phỏng


Nguyên lý hoạt động của mạch :
Khi ta ấn nút Start hệ thống sẽ bắt đầu làm việc, động cơ quay, Encoder gắn
trên trục của động cơ sẽ cảm biến tốc độ, phát tín hiệu và chuyển tới mạch vi điều

khiển. Tại đây, tín hiệu sẽ được vi mạch xử lí và biến đổi để hiển thị trên 4 led 7 thanh
.
Khi ấn nút Stop: hệ thống dừng mọi hoạt động. Kết thúc 1 quá trình làm việc
của mạch/.
Trường hợp khi có sự cố xảy ra ta có thể ấn nút Reset để khôi phục lại trạng
thái ban đầu của mạch.


CHƯƠNG III : Kết luận
3.1 Kết quả đạt được
- Mạch có dải đo tốc độ lớn.
- Khả năng đáp ứng nhanh với sự thay đổi của biến trở.
- Mạch có thể đặt độ khống chế tốc độ động cơ, báo tốc độ cao và tốc độ thấp
- Mạch hiển thị LED 7 đoạn nên dễ dàng cho người sử dụng theo dõi tốc độ động cơ.
- Mạch được thiết kế nhỏ gọn, dễ sử dụng, tiện lợi và có thể dùng nhiều loại nguồn:
pin, sạc điện thoại,… nên rất cơ động.
3.2 Hạn chế và phương pháp khắc phục
- Còn có sai số tốc độ do sai số linh kiện và những sai số trong khi tính toán thiêt kế
mạch nhưng chấp nhận được
- Phương pháp khắc phục: sử dụng thiết bị linh kiện có độ chính xác cao hơn.


×