Tải bản đầy đủ (.pdf) (37 trang)

Đồ án đo lường tần số điện áp công nghiệp sử dụng vi điều khiể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 (1.8 MB, 37 trang )

Lời nói đầu. 1
Chương 1 :Các phương pháp xác định tần số điện áp. 2
1. Khái niệm chung 2
2- Các phương pháp đo 2
Chương 2: Công cụ thực hiện 7
1-Tổng quan về Vi điều khiển 89S52 7
2- Bộ biến đổi. 18
3- Khối nguồn 20
4- Khối hiện thị LCD : 21
Thuật Toán 23
Thiết kế sơ đồ nguyên lý và PCB 25
Danh sách linh kiện 26
Các Bước hiệu chỉnh 28
Phụ lục 29
Kết luận 36


Đồ án 2
1
Lời nói đầu.

Trong công nghiệp hiện đại, tần số của điện áp lưới là 1 yếu tố vô cùng quan trọng để các
thiết bị có thể hoạt động ổn định. Nếu tần số thay đổi thì chất lượng hoạt động sẽ bị giảm sút
lớn. Vì thế yêu càu có 1 thiết bị đo được tần số của điện áp là rất cần thiết .
Trên thị trường đã có nhiều thiết bị đo tần số được phát triển và bán cho người sử dụng.
Các thiết bị đo tần số đa dạng về mẫu mã phức tạp về cấu tạo cũng như cách sử dụng. Và
quan trọng hơn hết đó là sự chính xác về phép đo lường của thiết bị đó.
Các thiết bị đó có thể đắt tiền như là 1 máy hiện sóng Ossiclo hay chỉ đơn giản là 1 chiếc
đồng hồ số điện tử sử dụng vi điều khiển làm bộ xử lý trung tâm.
Ngày nay hầu như các thiết bị đo đều sử dụng vi điều khiển do sự đa dạng về tính năng, giá
thành hạ. Và quan trọng hơn là sự chính xác .


Trong đồ án này em sử dụng vi điều khiển 89S52 để làm 1 thiết bị đo tần số.
Có yêu cầu là “Đo tần số điện áp công nghiệp có dải tần số từ 45-60Hz”
Trong quá trình làm đồ án này em đã được sự hướng dẫn tận tình của thầy Ths.Trần Văn
Tuấn, Giảng viên đại học Bách Khoa Hà Nội.
Nhưng do trình độ và thời gian hạn chế nếu còn gì thiếu sót em mong nhận sự chỉ bảo thêm
của các thầy.














Đồ án 2
2
Chương 1 :Các phương pháp xác định tần số điện áp.

1. Khái niệm chung

Tần số là số chu kì của 1 dao động trong một đơn vị thời gian.
Quan hệ giữa tần số và chu kỳ là F=1/T.
F : là tần số
T : là chu kỳ.

1. Đặc điểm của phép đo tần số.
Là phép đo đòi hỏi độ chính xác cao, nhanh có kết quả.
Các dải tần số đo.
Dải tần số thấp <16Hz
Dải tần số âm thanh từ 16Hz<f<20kHz
Dải tần số siêu âm từ 20kHz<f<200kHz
Dải tần số cao từ 200kHz<f<30Mhz
Trong đồ án này chỉ nghiên cứu dải tần số điện áp công nghiệp từ 45Hz<f<60Hz
Các dải tần số khác nhau có phương pháp đo khác nhau trong đó có 3 phương pháp chính là :
- Nhóm phương pháp đo tần số bằng các mạch điện có tham số phụ thuộc vào tần số
- Nhóm phương pháp so sánh
- Nhóm phương pháp số
2- Các phương pháp đo
2.1- Phương pháp đo tần số bằng các mạch điện có tham số phụ thuộc vào tần số
Phương pháp cầu cân bằng.

Đồ án 2
3

Dùng các cầu đo mà điều kiện cân bằng của cầu phụ thuộc vào tần số của điện áp cung cấp
cho cầu hoạt động.
Điều kiện cân bằng là Z1*Z3=Z2*Z4=0


Điều kiện cân bằng cầu là :
R1.Z3=R2.Z4


Điều chỉnh nhánh cộng hưởng nối tiếp cho cộng hưởng tại tần số cần đo f (điều chỉnh C3)
Khi đó :



Đồ án 2
4
Z3=R3 hay R1.R3=R2.R4
Bộ chỉ thị là Vom kế.
Nhược điểm .
Khó đo được tần số thấp do khó chế tạo được cuộn cảm có L lớn ở tần số thấp
Khó điều chỉnh được Vom kế về không do tác động của cuộn cảm.

Phương pháp đo tần số bằng cách so sánh

Máy hiện sóng đặt ở chế độ khuếch đại
Điện áp có tần số cần đo fy được đưa vào kênh Y. Điện áp có tần số mẫu fx đưa vào kênh X
Hình ảnh nhận được trên màn hình là hình Lixazu
Thay đổi f sao cho hình nhận được là ổn định nhất


Nx=2 và Ny=4 là các giao điểm trên trục X và trục Y





Đồ án 2
5
Đo tần số bằng phương pháp số

Đây là phương pháp hiện đại và thông dụng nhất để đo tần số
Ưu điểm

- Độ chính xác cao
- Độ nhạy lớn
- Tốc độ đo lớn. Đo được các tần số cao
- Tự động hóa quá trình đo
- Hiện thị dưới dạng số
Phân loại
- Phương pháp xác định nhiều chu kỳ
- Phương pháp xác định 1 chu kỳ
Phương pháp xác định nhiều chu kỳ


Mục đích là đếm số xung trong 1 thời gian dt. Từ đó tính ra tần số của xung cần đo
Phương pháp này có độ sai số lớn khi fx nhỏ.
Đồ án 2
6
Phương pháp xác định 1 chu kỳ


Mạch vào: có thực hiện chức năng tiền xử lý như lọc nhiễu, hạ điện áp.
Mạch tạo dạng xung : Có chức năng biến xung sin thành xung đỉnh nhọn có chu kỳ T
Tạo xung đếm chuẩn : có chức năng tạo xung có tần số cao Fc. Các xung này có chức năng
đếm để đưa tới bộ đếm xung.
Tạo xung dk : có chức năng nhận xung từ mạch tạo dạng xung và Xuất tín hiệu điều khiển
đến khóa( mạch AND).
Bộ đếm : có chức năng đếm số xung và xuất ra màn hình tần số cần đo. Màn hình ở đây có
thể là LCD hoặc led 7 đoạn.
Nguyên lý làm việc
Tín hiệu cần đo U(fx) được đưa qua mạch mạch vào và mạch tạo dạng xung tạo thành tín
hiệu đỉnh nhọn điều khiển mạch tạo xung dk.
Mạch tạo xung dk xuất ra 1 xung vuông với chu kỳ dt=n*Tx. Với Tx là chu kỳ của xung cần

đo. Ở đây thì n=1.
Trong thời gian dt thì xung đếm chuẩn U(ch) qua khóa vào bộ đếm xung.
Giả sử đếm được Nx xung. Thì => Tx=Nx*Tc.
Với Tc là chu kỳ của xung chuẩn từ đây ta tính được tần số cần đo.
Trong đồ án này em sử dụng phương pháp này để đo tần số.

Đồ án 2
7
Chương 2: Công cụ thực hiện



Bộ biến đổi có tác dụng chuyển đổi tín hiệu hình sin của nguồn điện thành tín hiệu xung vuông mà vi
xử lý có thể xử lý được
Vi xử lý có tác dụng xử lý các tín hiệu do bộ biến đổi gửi về và gửi tín hiệu hiện thị lên LCD
LCD là màn hình giao tiếp với người dùng
Nguồn cung cấp điện áp đối xúng cho hệ thống.
1-Tổng quan về Vi điều khiển 89S52


Hình 1 : vi điều khiển 89S52
AT89S52 là vi điều khiển thuộc họ 89S52 do Intel sáng chế và Atmel chế tạo.
Nó có 8k Rom , 256 byte Ram,
32 cổng I/O chia làm 4 prot là P0,P1,P2,P3
Có 3 bộ dịnh thời Timer/Counter là Timer 0. Timer 1, Timer 2
Có 2 cổng ngắt ngoài là INT0, INT1
Đồ án 2
8
Cấu trúc 89S52


Hình 2 : Cấu Trúc vi điều khiển
Bộ nhớ chương trình:

Hình 3: Cấu trúc bộ nhớ chương trình
Đồ án 2
9

Hình 4: Địa chỉ các ngắt trên bộ nhớ chương trình
Hình 2 mô tả cấu trúc bộ nhớ chương trình. Sau khi khởi động, CPU bắt đầu thực hiện chương
trình ở vị trí 0000H. Hình 3 mô tả địa chỉ ngắt mặc định trên bộ nhớ chương trình. Mối khi xảy ra
ngắt, con trỏ của CPU sẽ nhảy đến đúng địa chỉ ngắt tương ứng và thực thi chương trình tại đó. Ví dụ
ngắt ngoài 0 sẽ có địa chỉ là 0003H, khi xảy ra ngắt ngoài 0 thì con trỏ chương trình sẽ nhảy đến đúng
địa chỉ 0003H để thực thi chương trình tại đó. Nếu trong chương trình ứng dụng không xử dụng đến
ngắt ngoài 0 thì địa chỉ 0003H vẫn có thể dùng cho mục đích khác (sử dụng cho bộ nhớ chương trình).
Bộ nhớ dữ liệu:


Hình 5: Cấu trúc bộ nhớ dữ liệu
Hình 4 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi điều khiển
89S52. CPU sẽ dùng đến các chân RD và WR khi truy cập đến bộ nhớ dữ liệu ngoài.
Hình 5 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128 byte thấp, 128
byte cao và 128 byte đặc biệt.

Đồ án 2
10

Hình 6: Cấu trúc bộ nhớ trong

Hình 6 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển 89S52. 32 byte
đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0-R7. Hai bit của thanh ghi đặc biệt PSW sẽ

lựa chọn 1 trong 4 bộ thanh ghi mà vi điều khiển sẽ dùng trong khi thực thi chương trình.



Hình 7: Cấu trúc 128 byte thấp của bộ nhớ dữ liệu trong
89S52 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở địa chỉ từ
20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các thanh ghi đặc biệt. Ngoài ra
89S52 còn có các port xuất/nhập có thể định địa chỉ từng bit, điều này làm đơn giản việc giao tiếp
bằng phần mềm với các thiết bị xuất/nhập đơn bit.
Đồ án 2
11
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên dưới vùng này từ địa
chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng tương tự. Bất kỳ vị trí nhớ nào trong vùng RAM
đa mục đích đều có thể được truy xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc
gián tiếp.
Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách
sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.
Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt SFR chiếm phần
trên của Ram nội từ địa chỉ 80H đến FFH. Cần lưu ý là không phải tất cả 128 địa chỉ từ 80H đến FFH
đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa.



Hình 8: 128 byte cao của bộ nhớ dữ liệu
2.2 Các thanh ghi đặc biệt
89S52 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram nội từ địa chỉ 80H
đến FFH. Cần lưu ý là không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có
21 địa chỉ được định nghĩa. Hình 8 mô tả các thanh ghi đặc biệt trong vùng nhớ dữ liệu 80H đến FFH
và giá trị của chúng sau khi Reset.


Đồ án 2
12


Hình 9: Các thanh ghi đặc biệt

Thanh ghi chính:
Thanh ghi tính toán chính của vi điều khiển 89S52 ACC (Accumulator). Là thanh ghi đặc biệt
của 89S52 dùng để thực hiện các phép toán của CPU, thường kí hiệu là A.
Thanh ghi phụ:
Thanh ghi tính toán phụ của vi điều khiển 89S52 là B. Thanh ghi B ở địa chỉ F0H được dùng
chung với thanh chứa A trong các phép toán nhân, chia. Lệnh MUL AB nhân 2 số 8 bit không dấu
chứa trong A và B và chứa kết quả 16 bit vào cặp thanh ghi B, A (thanh chứa A cất byte thấp và thanh
ghi B cất byte cao).
Lệnh chia DIV AB chia A bởi B, thương số cất trong thanh chứa A và dư số cất trong thanh
ghi B. Thanh ghi B còn được xử lý như một thanh ghi nháp. Các bit được định địa chỉ của thanh ghi B
có địa chỉ từ F0H đến F7H.
Thanh ghi trạng thái chương trình (PSW):
Thanh ghi trạng thái chương trình PSW (địa chỉ: D0H) là thanh ghi mô tả toàn bộ trạng thái
chương trình đang hoạt động của hệ thống. Bảng 1 và Bảng 2 sẽ mô tả thanh ghi này.
Đồ án 2
13

Bảng 1: Thanh ghi trạng thái chương trình PSW

Bảng 2: Chi tiết các bit trong thanh ghi PSW
Thanh ghi ngăn xếp (Stack Pointer):
Con trỏ stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa chỉ 81H. SP chứa địa chỉ của dữ liệu
hiện đang ở đỉnh của stack. Các lệnh liên quan đến satck bao gồm lệnh cất dữ liệu vào stack và lệnh
lấy dữ liệu ra khỏi stack. Việc cất vào stack làm tăng SP trước khi ghi dữ liệu và việc lấy dữ liệu ra

khỏi stack sẽ giảm SP. Vùng stack của 89S52 được giữ trong RAM nội và được giới hạn đến các địa
chỉ truy xuất được bởi kiểu định địa chỉ gián tiếp. Các lệnh PUSH và POP sẽ cất dữ liệu vào stack và
lấy dữ liệu từ stack, các lệnh gọi chương trình con (ACALL, LCALL) và lệnh trở về (RET, RETI)
cũng cất và phục hồi nội dung của bộ đếm chương trình PC (Program counter)
Con trỏ dữ liệu DPTR:
Con trỏ dữ liệu DPTR (data pointer) được dùng để truy xuất bộ nhớ chương trình ngoài hoặc
bộ nhớ dữ liệu ngoài. DPTR là một thanh ghi 16 bit có địa chỉ là 82H (DPL, byte thấp) và 83H (DPH,
byte cao).
Thanh ghi các cổng P0-P3:
Các port xuất/nhập của 89S52 bao gồm Port 0 tại địa chỉ 80H, Port 1 tại địa chỉ 90H, Port 2
tại địa chỉ A0H và Port 3 tại địa chỉ B0H. Tất cả các port đều được định địa chỉ từng bit nhằm cung
cấp các khả năng giao tiếp mạnh.
Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer):
Đồ án 2
14
Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu và bộ đệm nhận dữ liệu.
Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuyển vào bộ đệm truyền dữ liệu và
sẽ được lưu giữ ở đó cho đến khi quá trình truyền dữ liệu qua truyền thông nối tiếp kết thúc. Khi thực
hiện việc chuyển dữ liệu từ SBUF ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền
thông nối tiếp.
Thanh ghi của bộ định thời/bộ đếm:
89S52 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng thời gian hoặc để đếm
các sự kiện. Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các thanh ghi của bộ đếm thời gian. Bộ
định thời 0 có địa chỉ 8AH (TL0, byte thấp) và 8CH (TH0, byte cao). Bộ định thời 1 có địa chỉ 8BH
(TL1, byte thấp) và 8DH (TH1, byte cao).
Hoạt động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời TMOD (Timer Mode
Register) ở địa chỉ 88H. Chỉ có TCON được định địa chỉ từng bit.
Các thanh ghi điều khiển:
Bộ định thời Timer 0
Thanh ghi 16 bit của bộ Timer 0 được truy cập như byte thấp và byte cao:

Thanh ghi byte thấp được gọi là TL0 (Timer0 Low byte).
Thanh ghi byte cao được gọi là TH0 (Timer0 High byte).

Hình 10: Các thanh ghi của bộ Timer 0
Thanh ghi TMOD
Cả hai bộ định thời Timer 0 và Timer 1 đều dùng chung một thanh ghi được gọi là TMOD: để
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 đó:
2 bit thấp của chúng dùng để thiết lập chế độ của bộ định thời.
2 bit cao dùng để xác định phép toán.

Hình 11: Thanh ghi TMOD.
Các bit M1, M0
Đồ án 2
15
Là các bit chế độ của các bộ Timer 0 và Timer 1. Chúng chọn chế độ của các bộ định thời: 0,
1, 2 và 3 như bảng dưới. Chúng ta chỉ tập chung vào các chế độ thường được sử dụng rộng rãi nhất là
chế độ 1 và chế độ 2. Chúng ta sẽ sớm khám phá ra các đặc tính của các chế độ này sau khi khám
phần còn lại của thanh ghi TMOD. Các chế độ được thiết lập theo trạng thái của M1 và M0 như sau:

Bảng 3: Các chế độ hoạt động của bộ đếm/bộ định thời
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
máy tạo độ trễ hay bộ đếm sự kiện. Nếu bit C/T = 0 thì nó được dùng như một bộ định thời tạo độ trễ
thời gian.
Nguồn đồng hồ cho chế độ trễ thời gian là tần số thạch anh của 89S52. Điều đó có nghĩa là độ
lớn của tần số thạch anh đi kèm với 89S52 quyết định tốc độ nhịp của các bộ định thời trên 89S52.

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 89S52.
Bit cổng GATE
Một bit khác của thanh ghi TMOD là bit cổng GATE. Để ý trên hình 3 ta thấy cả hai bộ định thời
Timer0 và Timer1 đều có bit GATE. Vậy bit GATE dùng để làm gì? Mỗi bộ định thời thực hiện điểm
khởi động và dừng. Một số bộ định thời thực hiện điều này bằng phần mềm, một số khác bằng phần
cứng và một số khác vừa bằng phần cứng vừa bằng phần mềm. Các bộ định thời trên 89S52 có cả hai:
Việc khởi động và dừng bộ định thời được khởi động bằng phần mềm bởi cácbit khởi động bộ định
thời TR là TR0 và TR1. Điều này có được nhờ các lệnh Set bit TR0 lên 1 (khởi động bộ định thời)
hoặc Clear bit TR0 (dừng bộ định thời) đối với Timer 0, và tương tự TR1 đối với Timer 1. Các lệnh
này có tác dụng khi bit GATE = 0 trong thanh ghi TMOD.
Việc khởi động và ngừng bộ định thời bằng phần cứng từ nguồn ngoài bằng cách đặt bit GATE = 1
trong thanh ghi TMOD.
Tuy nhiên, để tránh sự lẫn lộn ngay từ bây giờ ta đặt GATE = 0 có nghĩa là không cần khởi động và
dừng các bộ định thời bằng phần cứng từ bên ngoài.
Ngắt ngoài INT0.
Đồ án 2
16

Bảng 4 : Bảng vecto ngắt của 89S52
Như trong hình 8052 có 6 ngắt cứng và mức độ ưu tiên như trong hình
2 thanh ghi điều khiển ngắt INT0 là thanh ghi IE và IP
Thanh ghi IE

Hình 12: Thanh ghi IE
Thanh ghi này là thanh ghi điều khiển ngắt trong 89S52. Muốn cho ngắt nào hoạt động thì ta đặt bit
đó bằng 1.
Và quan trọng nhất là phải set bit EA
Thanh ghi IP

Hình 13: thanh ghi IP

Thanh ghi này điều khiển mức ưu tiên ngắt trong 89S52.
Thanh ghi TCON
Đồ án 2
17

Hình 14: Thanh ghi TCON
Thanh ghi này có chức năng điều khiển chế độ hoạt động của các ngắt




Đồ án 2
18


2- Bộ biến đổi.
sig
3
2
1
84
U1:A
LM358
+5
-5
R1
10k
R2
1M
R3

1k
D1
1N4148
Q1
NPN
R4
4.7k
TR1
TRAN-2P2S

Trung tâm của mạch là IC LM358 là 1 IC khuếch đại thuật toán. Nó thực hiện so sánh điện
áp tại chân (+) với GND.

Hình 16: Nguyên lý hoạt động
Khi Vin>0 thì Vout=High
Vin <0 thì Vout = Low
Đồ án 2
19

Hình 17 : Dạng điện áp đầu ra
Điện áp ra có chứa phần điện áp âm thì R3-D1(1N4148) sẽ chặn lại phần điện áp đó và chỉ
cho điện áp dương đi qua.

Hình 18 : Tín hiệu đưa vào vi điều khiển

Đồ án 2
20
3- Khối nguồn
VI
1

VO
3
GND
2
U2
7805
1
2
3
4
J1
CONN-SIL4
VI
2
VO
3
GND
1
U3
7905
C4
100u
C5
100u
C6
100u
C7
100u
-5


Nguồn hoạt động của mạch là 2 pin 9V đấu nối tiếp để tạo thành nguồn đôi +-9V cung cấp
cho 2 IC ổn áp là 7805 và 7905

Hình 19: IC 7805
IC 7805 là IC ổn áp điện áp có đầu ra là 5V khi đầu vào Uv>7V. Nó thuộc họ IC 78XX với
XX là điện áp đầu ra.
Đây là IC ổn áp làm việc theo chế độ ổn áp tuyến tính.
Đồ án 2
21

IC 7905 là IC ổn áp nguồn âm . Nó thuộc họ IC 79xx với xx là điện áp đầu ra. Nó thường đi
đôi vơi 7805 để tạo ra 1 cặp nguồn đối xứng.

4- Khối hiện thị LCD :
LCD là thiết bị hiện thị thông dụng . Nó đơn giản trong sử dụng và lập trình. Giúp người sử
dụng có thể tiếp cận 1 cách dễ dàng với các thông số.

Các chân chức năng của LCD
Đồ án 2
22

Để sử dụng LCD trong đồ án em dùng thư viện lcd.h gồm các hàm sau :
void LCD_Enable(void); //Tao xung Enable LCD
void LCD_Send4Bit(unsigned char Data);//Ham Gui 4 Bit Du Lieu Ra LCD
void LCD_SendCommand (unsigned char command );// Ham Gui 1 Lenh Cho LCD
void LCD_Init ( void );// Ham Khoi Tao LCD
void LCD_Gotoxy(unsigned char x, unsigned char y);// Ham Thiet Lap Vi Tri Con Tro
void LCD_Clear();// Ham Xoa Man Hinh LCD
void LCD_PutChar ( unsigned char c );// Ham Gui 1 Ki Tu Len LCD
void LCD_Puts (unsigned char *s);// Ham Gui 1 Chuoi Ki Tu Len LCD










Đồ án 2
23
Thuật Toán
Sơ đồ hàm main




















Hàm ngắt ngoài
Đồ án 2
24

Hàm Timer

Nguyên lý hoạt động của thuật toán

Trong thuật toán này em sử dụng 3 biến toàn cục là Te ,Nx và đem.
- Te là biến điều khiển của Timer0 có tác dụng dừng Timer0 khi bị tràn. Tức là đếm quá 65536
xung.
Điều này chứng tỏ máy đã được rút ra khỏi nguồn
- Nx là biến lưu giữ số xung
- Biến dem có tác dụng khi xảy ra xung sườn xuống đầu tiên thì nó được bật lên 1. Và chờ cho
đến lần ngắt tiếp theo sẽ lấy số xung Nx



×