Báo cáo mẫu đọc nhiệt độ hiển thị lên lcd - pdf 18

Download miễn phí Báo cáo Đồ án mẫu đọc nhiệt độ hiển thị lên lcd



• strchr(source, c) - tìm vị trí sự xuất hiện đầu tiên của c trong dãy kí tự source và trả về con trỏ chỉ tới vị trí đó hay con trỏ trống nếu c không tìm thấy trong source
• strcmp(a, b) - so sánh hai dãy kí tự a và b (theo thứ tự từ điển); trả về số âm nếu a nhỏ hơn b, 0 nếu chúng bằng nhau, dương nếu a lớn hơn
• strcpy(dest, source) - chép và thay các kí tự của dãy dest vào dãy dest
• strlen(st) - trả về độ dài của st
• strncat(dest, source, n) - nối tối đa n kí tự từ dãy source tiếp vào vị trí cuối của dãy dest; các kí tự sau dấu kết thúc null sẽ không được chép vào
• strncmp(a, b, n) - so sánh từ kí tự đầu cho đến tối đa n kí tự từ hai dãy a và b (theo thứ tự từ điển); hàm trả về số âm nếu phần so sánh của a nhỏ hơn b, 0 nếu bằng nhau, và dương nếu lớn hơn
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

họn bằng cách set bit T0CS (OPTION_REG ). Trong chế độ đếm, thanh ghi TMR0 sẽ tăng lên khi có cạnh lên hay cạnh xuống xuất hiện trên chân T0CKL (cạnh lên hay cạnh xuống được lựa chọn bởi bit T0SE (OPTION_REG, xóa bit T0SE sẽ lựa chọn cạnh lên).
Ngắt Timer 0
Ngắt Timer 0 được tạo ra khi thanh ghi TMR0 tràn từ 0FFh đến 00h. Khi xảy ra tràn, cờ T0IF(INTCON) được bật lên. Ngắt có thể được ngăn chặn bằng cách xóa bit T0IE (INTCON). Cờ ngắt T0IF phải được xóa bằng phần mềm truớc khi thoát khỏi chương trình ngắt trở về chương trình chính.
Lưu ý : Ngắt Timer 0 không làm Vi Điều Khiển thoát khỏi trạng thái ngủ.
Sử dụng Timer 0 với nguồn xung Clock bên ngoài
Khi bộ tiền định tỉ lệ không được sử dụng, ngõ vào xung clock ngoại cũng giống như ngõ ra bộ tiền định tỉ lệ. Nguồn xung clock ngoại sẽ được đồng bộ với xung clock nội bằng cách: nó sẽ được lấy mẫu tại chu kỳ Q2 và Q4 của xung clock nội. Do đó,T0CKI phải ở mức cao ít nhất 2 Tosc và ở mức thấp ít nhất cũng là 2 Tosc.
Bộ tiền định tỉ lệ 8 bit của Timer 0
Bộ đếm 8 bit được sử dụng như bộ tiền định tỉ lệ cho Timer 0 hay bộ hậu định tỉ lệ cho WDT. Bit PSA (OPTION_REG) sẽ lựa chọn bộ đếm này sẽ sử dụng cho Timer0 hay WDT, các bit PS2, PS1, PS0 sẽ xác định tỉ lệ của bộ đếm.
Các thanh ghi điều khiển liên quan đến Timer 0
TMR0 (địa chỉ 01h, 101h) : chứa giá tri đếm Timer0.
INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE).
OPTION_REG (địa chỉ 81h, 181h): điều khiển prescaler.
2.1.4.2) Bộ định thời Timer 1:
Timer1 là một bộ định thời 16 bit bao gồm hai thanh ghi 8 bit (TMR1H và
TMR1L), có khả năng đọc được và ghi được. Cặp thanh ghi TMR1H và TMR1L sẽ tăng từ 0000h lên FFFFh rồi sau đó tràn về 0000h. Nếu được cho phép (bit TMR1IE được set), ngắt sẽ xảy ra khi giá trị TMR1 tràn từ FFFFh về 0000h, lúc đó cờ ngắt TMR1IF sẽ bật lên.
Thanh ghi điều khiển Timer 1
Hình 2.22 T1CON Register
Bit 7,6 Không sử dụng, đọc là 0.
Bit 5,4 T1CKPS1 : T1CKPS0 : Các bit chọn tỉ lệ xung ngõ vào cho Timer1.
11 1 : 8
10 1 : 4
01 1 : 2
00 1 : 1
Bit 3 T10SCEN : Bit cho phép bộ dao động Timer 1 Oscillator
1 : Cho phép dao động
0 : Không cho phép dao động
Bit 2 T1SYNC : Bit lựa chọn đồng bộ hóa xung clock ngoài của Timer 1
(Chú ý: Bit này chỉ có tác dụng khi bit TMR1CS = 1)
1: Không đồng bộ hóa xung clock ngoại
0: Đồng bộ hóa xung clock ngoại.
Bit 1 TMR1CS : Bit chọn nguồn xung clock cho Timer 1
1: Chọn xung clock ngoài qua chân T1OSC/T1CKI ( tác động cạnh lên)
0: Chọn xung clock nội (Fosc/4)
Bit 0 TMR1ON: Bit cho phép ngoặc ngưng Timer 1
1: Cho phép
0: Không cho phép.
Chế độ định thời trong hoạt động cuả Timer 1
Chế độ định thời được lựa chọn bằng cách xóa bit TMR1CS (T1CON). Trong chế độ này, xung clock cung cấp cho Timer 1 là Fosc/4, bit đồng bộ T1SYNC (T1CON) không có tác dụng vì xung clock nội đã luôn luôn được đồng bộ.
Chế độ đếm
Timer 1 có thể hoạt động ở cả chế độ đồng bộ hay bất đồng bộ tùy thuộc vào việc cài đặt bit TMR1CS (T1CON).
- Đếm Đồng Bộ
Chế độ này được lựa chọn bằng cách set bit TMR1CS và xóa bit T1SYNC. Trong chế độ này giá trị của Timer 1 sẽ tăng khi có xung cạnh lên trên chân T1OSI/RC1 ( nếu bit T1OSCEN được set) hay chên trân T1OSO (nếu bit T1OSCEN được xóa).
Xung clock ngoại sẽ được đồng bộ với xung clock nội, hoạt động đồng bộ được thực hiện ngay sau bộ tiền định tỉ lệ xung (prescaler). Trong chế độ ngủ hoạt động đồng bộ sẽ bị tắt cho dù có xung clock ngoài thì Timer 1 cũng không tăng. Điều này có nghĩa là chế độ đếm đồng bộ sẽ không hoạt động được trong chế độ ngủ (SLEEP).
Khi chế độ sử dụng xung clock ngoài được lựa chọn cho Timer 1 ở chế độ đếm đồng bộ, chúng ta phải đảm bảo xung clock ngoài đã được đồng bộ với xung clock nội.
- Đếm bất đồng bộ :
Nếu bit T1SYNC được set, xung clock ngoài sẽ không được đồng bộ hóa. Bộ định thời sẽ tiếp tục đếm trong suốt quá trình Sleep của VĐK và có khả năng tạo ra một ngắt khi bộ định thời tràn và làm VĐK thoát khỏi trạng thái ngủ.
* Một số đặc điềm lưu ý khi đọc ghi vào Timer :
Việc đọc thanh ghi TMR1H hay TMR1L trong khi bộ định thời đang chạy từ một nguồn xung clock ngoài không đồng bộ sẽ cho giá trị tức thời (không phải ngưng Timer lại). Tuy nhiên, phải chú ý rằng việc đọc Timer 1 sẽ phải bao gồm 2 lần đọc giá trị 8 bit, do đó có thể phát sinh vấn đề là Timer có thể bị tràn giữa 2 lần đọc. Để ghi vào Timer tốt nhất chúng ta nên dừng Timer lại và ghi giá trị chúng ta mong muốn. Chúng ta có thể ghi giá trị váo khi Timer đang chạy nhưng việc đó có thể tạo ra một giá trị không như ta mong muốn.
Dao động riêng của Timer 1
Chúng ta có thể tạo một bộ dao động độc lập cho Timer 1 bằng cách sử dụng thạch anh có tần số tối đa 200Khz. Với bộ dao động này Timer có thể đếm ngay cả khi VĐK rơi vào trạng thái ngủ.
Ngắt Timer 1
Khi ngắt được cho phép, nó sẽ xảy ra khi Timer tràn từ giá trị FFFFh xuống 0000h. Khi xảy ra tràn, cờ báo ngắt TMR1IF sẽ bật lên. Ngắt có thể ngăn chặn bằng cách xóa bit TMR1IE, cờ TMR1IF phải được xóa bằng phần mềm trước khi thoát khỏi chương trình phục vụ ngắt trở về chương trình chính.
Lưu ý : Ngắt của Timer 1 ở chế độ định thời và chế độ đếm đồng bộ không làm cho VĐK thoát khỏi trạng thái ngủ, chỉ có ngắt ở chế độ đếm bất đồng bộ mới làm cho VĐK thoát khỏi trạng thái ngủ.
Các thanh ghi liên quan đến Timer 1
INTCON (ñòa chæ 0Bh, 8Bh, 10Bh, 18Bh): cho pheùp ngaét hoaït ñoäng (GIE vaø PEIE).
PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF).
PIE1(địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE).
MR1L (địa chỉ 0Eh): chứa 8bit thấp vào bộ Timer1.
TMR1H (địa chỉ 0Eh): chứa 8bit cao vào Timer1.
T1CON (địa chỉ 10h): xác lập các tham số cho Timer1.
2.1.4.3) Bộ định thời Timer 2:
Timer2 là một bộ định thời 8 bit bao gồm một bộ tiền định tỉ lệ và một bộ hậu định tỉ lệ, Timer2 cung cấp thời gian hoạt động cho chế độ PWM nếu module CCP được chọn. Thanh ghi TMR2 là một thanh ghi có thể đọc và ghi được, nó bị xóa bởi bất cứ tác đông reset nào. Xung clock ngõ vào (Fosc/4) có các tùy chọn tỉ lệ là 1:1, 1:4, 1:16, được lựa chọn bằng các bit điều khiển T2CKPS1 : T2CKPS0 (T2CON).
Timer 2 có một thanh ghi khoảng thời gian 8 bit PR2, đây là một thanh ghi có khả năng đọc được và ghi được. Timer 2 sẽ tăng từ 00h đến khi bằng giá trị ở thanh ghi PR2 nó sẽ reset về 00h ở chu kỳ tăng tiếp theo.
Thanh ghi điều khiển Timer 2 T2CON
Hình 2.24 T2CON Register
Bit 7: không sử dụng
Bit 6:3 TOUTPS3:TOUTPS0: Bit chọn tỉ lệ ngõ ra của Timer 2
0000: 1:1
0001: 1:2
0010: 1:3
….
1111: 1:16 Tỷ lệ ngõ ra
Bit 2 TMR2ON: Bit cho phép hoạt động của Timer 2
1: Cho phép
0: Không cho phép.
Bit 1:0 T2CKPS1:T2CKPS0: Bit chọn tỉ lệ ngõ vào của Timer 2
00 : Prescaler 1
01 : Prescaler 4
1x : Prescaler 16
Xóa các bộ tỉ lệ
Hai bộ đếm prescaler và postcaler sẽ bị xóa bởi một trong các nguyên nhân sau đây:
- Ghi một giá trị vào thanh ghi TMR2
- Ghi một giá trị vào thanh ghi TCON2
- Bất cứ một reset thiết bị nào.
Nhận xét:
Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khi Timer1 là bộ đếm 16 bit (giá trị đếm tối đa là FFFFh). Timer0, Timer1 và Timer2 đều có hai chế
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status