Phương pháp nghiên cứu Trong quá trình nghiên cứu, nhóm sinh chúng em thực hiện chủ yếu dựa vào các phương pháp chính: - Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đ
Trang 1LỜI CẢM ƠN
LỜI MỞ ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn Sự
phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc
điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Nó đã đáp
ứng được những nhu cầu cần thiết trong hoạt động đời sống hằng ngày Song song với sự ra đời của điện tử tự động hoá là sự ra đời và cải tiến không ngừng của công nghệ thông tin Từ những chiếc máy tính đời đầu chỉ thực hiện những phép tính đơn giản ngày nay máy tính có tốc độ xử lý rất cao, nó có thể xử lý
hàng tỉ phép tính phức tạp trong vòng một giây Ngoài ra do nhu cầu ứng dụng
lý thuyết đã học ở trường vào trong cuộc sống nên chúng em đã chọn đề tài
“Điều khiển từ xa qua máy tính để làm đồ án môn học.
Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy
giáo Ths.Trần Xuân Thiện cùng sự trợ giúp của các bạn trong nhóm và các
tài liệu có liên quan,chúng em đã hoàn thành xong đề tài
Đồ án đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong thầy cô giáo thông cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi
trong thực tế
Chúng em xin chân thành cảm ơn các thầy cô!
Trong thời gian thực hiện đề tài, người thực hiện đã học hỏi được rất nhiều điều bổ ích
từ Giáo Viên hướng dẫn và các bạn trong lớp.
Nhân đây,nhóm thực hiện xin được bày tỏ lòng biết ơn sâu sắc đến Ths Trần Xuân Thiện trên cương vị là người hướng dẫn đề tài, đã tận tình hướng dẫn,
giúp đỡ và tạo mọi điều kiện thuận lợi nhất cho nhóm hoàn thành tốt đề tài.
Nhóm thực hiện cũng xin chân thành cảm ơn các thầy, các cô trong khoa Điện
- Điện Tử, cùng bạn bè đã đóng góp ý kiến và kinh ngiệm qúy báu trong quá
trình thực hiện đề tài này.
Bình Dương, Ngày 14 tháng 1 năm 2014
Người thực hiện Phạm Thị Tuyết Mai Phạm Thị Kim Anh
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 3
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 4
MỤC LỤC
Trang 5mà không phải tốn nhiều công sức Xuất phát từ thực tế đó, bằng những kiến thức đã được học và sự giúp đở của thầy cô, em đã quyết định tìm hiểu về đề
tài “điều khiển thiết bị từ xa qua máy tính”.
II.Tầm quan trọng của đề tài
- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các kiến thức đã được học dưới mái trường Cao Đẳng vào trong thực tế
- Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõ thêm về Truyền dữ liệu điều khiển và Cách điều khiển mạch điện thông qua máy tính
- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển một số thiết bị trong nhà như đèn điện, quạt máy v v
III. Mục đích nghiên cứu
Khi bắt tay vào thực hiện đề tài này, nhóm thực hiện mong muốn rằng sản phẩm của đề tài phải được ứng dụng Và đặc biệt, đối với nhóm nghiên cứu đây là điều kiện, cơ hội, cách thức để củng cố, bổ sung và ứng dụng những gì đã được lĩnh hội được trong lý thuyết cũng như thực tập Từ
đó sử dụng và ứng dụng nó nhằm đáp ứng cho nhu cầu thực tế Đây chính
là những tiền đề đầu tiên để mỗi thành viên trong nhóm có được một số kiến thức chuyên ngành nhất định, làm hành trang cho công việc sau này
IV. Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài này chính là:
- Cách thức giao tiếp giữa mạch đo và máy tính
- Cách thức giao tiếp giữa mạch đo và mạch điều khiển
- Cách lập trình cho vi điều khiển để cho dữ liệu có thể thu, phát liên tục mà không bị ngắt quãng
- Cách cân chỉnh mạch đo, đảm bảo độ chính xác của mạch đo
Trang 6V. Phương pháp và phương tiện nghiên cứu
1 Phương pháp nghiên cứu
Trong quá trình nghiên cứu, nhóm sinh chúng em thực hiện chủ yếu dựa vào các phương pháp chính:
- Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến giao tiếp máy tính, Truyền số liệu, Kỹ thuật mạch điện tử, Thiết kế mạch điện tử và Phương pháp nghiên cứu khoa học, nghiên cứu và phân tích đặc tính chức năng của các linh kiện điện tử cơ bản(điện trở công suất,tụ
điện,diode,relay…), PIC 16F887, IC MAX232… và với sự hướng dẫn nhiệt tình của giáo viên phụ trách, nhóm chúng em vận dụng các kiến thức hiện có
để tổng hợp các tài liệu, sau cùng thiết kế ra mạch điện phù hợp với các yêu cầu mà ban đầu nhóm đã đề ra
- Phương pháp quan sát và thực nghiệm: Sau khi đã có mạch theo tính toán lý thuyết, nhóm sinh viên thực hiện đã thi công mạch thực tế theo đúng sơ đồnguyên lý đã vạch ra Do không có các thiết bị đo chuyên dụng thích hợp, nhóm sinh viên thực hiện đã cân chỉnh thủ công từng khối, đo điện
áp và dòng điện ngõ ra của chúng Sau đó, nhóm đã sử dụng kết quả cân chỉnh này để điều chỉnh lại lý thuyết một cách hợp lý
2 Phương tiện nghiên cứu
a Các tài liệu liên quan đến đề tài
Trang 7CHƯƠNG 2 CƠ SỞ LÝ LUẬN
Đồ án tốt nghiệp thực chất là một quá trình nghiên cứu khoa học - quá trình nhận thức và hành động Quá trình này đòi hỏi phải có thời gian nhất định tương xứng với nội dung của đối tượng nghiên cứu và tính chất phức tạp của vấn đề nghiên cứu
Việc nghiên cứu khoa học giúp ta tìm ra cái mới Cái mới ở đây không những
mang tính chủ quan của người nghiên cứu mà còn mang tính khách quan đối với xã hội Nghiên cứu khoa học phải nhằm mục đích phục vụ xã hội, đáp ứng yêu cầu thực tiễn
Hoạt động nghiên cứu khoa học muốn đạt kết quả tốt phải hội đủ các yếu tố: phương tiện, phương pháp, cơ sở vật chất, máy móc thiết bị, hình thức tổ chức Các yếu tố này có mối quan hệ hữu cơ và phù hợp với đối tượng nghiên cứu
I Kiến thức và năng lực người nghiên cứu
Trong quá trình nghiên cứu và thực hiện đề tài người nghiên cứu cần phải cân nhắc kỹ độ khó và độ phức tạp của đề tài sao cho phù hợp với khả năng, kiến thức và năng lực của người nghiên cứu
Độ phức tạp của đề tài thể hiện ở các mặt: lĩnh vực nghiên cứu rộng hay hẹp, ở một ngành hay liên ngành, đối tượng nghiên cứu là đồng nhất hay không đồng nhất Tuy nhiên cần lưu ý rằng giá trị của đề tài không phụ thuộc vào độ phức tạp của nó Đề tài hẹp chưa hẳn là đề tài kém giá trị Mỗi đề tài nghiên cứu khoa học có một phạm vi nhất định, phạm vi này càng hẹp thì sự nghiên cứu càng sâu Độ khó của đề tài nói lên tính vừa sức đối với người nghiên cứu Do đó độ phức tạp của đề tài thường có mối liên hệ tương hỗ với
độ khó của nó
Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người nghiên cứu) Trước hết đó là kiến thức, kinh nghiệm của người nghiên cứu Người nghiên cứu phải thể hiện năng lực nghiên cứu khoa học bao gồm việc nắm vững lý thuyết cơ bản của khoa học trong lĩnh vực nghiên cứu của
Trang 8mình, nắm được mức độ nhất định về sự phát triển và tiến bộ thuộc lĩnh vực nghiên cứu có như thế mới chọn được đề tài có giá trị Trong tình hình tiến bộ của khoa học kỹ thuậthiện nay trên thế giới, khối lượng thông tin khoa học gia tăng với qui mô lớn và nhịp độ nhanh đòi hỏi người nghiên cứu phải tham khảo tài liệu nước ngoài.Để thực hiện được vấn đề này người nghiên cứu khoa học cần có số vốn ngoại ngữ nhất định
II Vấn đề thực tiễn
Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của nhận thức Angel viết: “Khi xã hội có những yêu cầu kỹ thuật thì xã hội thúc đẩy khoa học hơn mười trường đại học” Mặt khác thực tiễn cũng là tiêu chuẩn để kiểm tra nhận thức
Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề
đã hoặc chưa được giải quyết trong cuộc sống Người nghiên cứu với kinh nghiệm bản thân trong công tác hàng ngày thường thấy được các mặt của vấn đề, các mối quan hệ phức tạp, các diễn biến, phương hướng phát triển của sự vật từ đó có định hướng thích hợp giải quyết đề tài
Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề một cách cụ thể Người nghiên cứu phải xem thực tiễn cao hơn nhận thức (lý luận) vì nó có ưu điểm không những có tính phổ biến mà còn có tính hiện thực trực tiếp Hồ Chủ Tịch cũng đã dạy: “Học tập thì theo nguyên tắc: kinh nghiệm và thực tiễn phải
đi cùng nhau”
Đề tài thực hiện mang tính thực tiễn, nội dung của đề tài là có thật, phát triển từ thực tế khách quan
Có thể nói hầu như mọi công trình nghiên cứu điều có giá trị thực tế của
nó, chỉ khác nhau ở mức độ ít nhiều, phục vụ trước mắt hay lâu dài, gián tiếp hay trực tiếp
III Tác động của điều kiện khách quan đến việc thực hiện đề tài
Trong quá trình nghiên cứu thực hiện đề tài người nghiên cứu là yếu
tố chủ quan góp phần quan trọng đến kết quả còn đối tượng nghiên cứu,
phương pháp nghiên cứu kể cả phương tiện ngiên cứu, thời gian nghiên cứu cùng những người cộng tác nghiên cứu và người hướng dẫn nghiên cứu là những điều kiện khách quan ảnh hưởng trực tiếp đến việc nghiên cứu và kết quả nghiên cứu Người nghiên cứu càng nắm chắc các yếu tố khách quan đó
Trang 9bao nhiêu thì kết quả nghiên cứu càng được khẳng định bấy nhiêu
CHƯƠNG 3 GIỚI THIỆU LINH KIỆN TRONG
MẠCH
I Vi điều khiển PIC 16F887
1 Tóm tắt phần cứng họ PIC 16F887
PIC là viết tắt của “Programable Intelligent Computer”, có thể dịch tạm
là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đàu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều này sau đó được nghiên cứu phát triển thêm và từ đó hình thành dòng vi điều khiển PIC ngày nay
a Sơ đồ chân vi điều khiển PIC16F887
Trang 10Hình 1:Sơ đồ chân vi điều khiển PIC16F887Bảng 1:Bảng chức năng các chân
Tên chân
Số chân (40 chân)
Chức
RE3 Đầu vào mục đích chung PORT E
MCLR Thiết lập lại chân Mức logic thấp trên chân này reset vi
điều khiển
RA0/AN0/ULPWU/C12IN0
RA0 Mục đích chung I / O port A
ULPWU Đứng - theo phương thức vô hiệu hóa đầu vàoC12IN0- C1 C2 sánh hoặc đầu vào tiêu cực
Trang 11điện áp cạnh xuốngCVref Tham chiếu so sánh điện áp ngõ raC2IN+ C2 sánh đầu vào tích cực
T1CKI Timer T1 đồng hồ đầu vào
Trang 12CCP1 CCP1 và pwm1 mô-đun I / O
RC3 Mục đích chung cổng I / O port CSCK MSSP moduleClock I / O trong chế độ SPISCL MSSP mô-đun đồng hồ I / O trong chế độ S2I
SDA
MSSP module dữ liệu I / O trong chế độ S2I
Mục đích chung cổng I / O
port CSDO - Module MSSP xuất dữ liệu trong chế độ SPI
Trang 13C1 C2 sánh hoặc đầu vào
K Serial Lập trình xung clk
RB7 Mục đích chung cổng I / O port BICSPDA
T cho phép lập trình chân
Chú thích: AN = Analog input or output CMOS = CMOS compatible input or output OD = Open Drain
TTL = TTL compatible input ST = Schmitt Trigger input with CMOS levels
HV = High Voltage XTAL = Crystal
b Thông số kỹ thuật vi điều khiển PIC 16F877.
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối đacho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin I/O
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
Trang 14+ Timer1: bộ đếm 16 bit với bộ cha tần số, có thể thực hiện các chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
+ Timer2: bộ đếm 8bit với bộ chia tần số, bộ postcaler Hai bộ capture/so sánh/điều chế độ rộng xung
+ Các chuẩn giao tiếp nối tiếp SSP,SPI và 12C Chuẩn giao tiếp nối tiếp chuẩn UART với 9bit địa chỉ
+ Cổng tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên ngoài+ Các đặc tính Analog
+ 8 kênh chuyển đổi ADC 10bit Hai bộ so sánh
Bên cạch đó là vài đặc tính khắc của vi điều khiển như :
+ Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
+ Bộ nhớ EEPROM với khả năng ghi xóa được 1000.000 lần
+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm
+ Khả năng tự nạp chương trình với sự điều khiển của phần mềm
+ Nạp chương trình ngay trên mạch điện ICSP thông qua 2 chân
+ Watchdog Timer với bộ dao động trong Chức năng bảo mật mã chương trình.chế độ ngủ (Sleep)
+ Có thể hoạt động với nhiều dạng Oscillator khác nhau
c Sơ đồ khối của vi điều khiển PIC16F887
Trang 15Hình 2: Sơ đồ khối vi điều khiển PIC16F887
+ Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm
chương trình có dung lượng 13bit
+ Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h
+ Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình Bộ nhớ stack sẽ được đề cập cụ thể trong phần sau
Trang 16vùng địa chỉ còn lại trong bank Các thanh ghi SFG thường xuyên được xử dụng(ví dụ như thanh ghi STA, TUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình.
Trang 17Hình 4: Sơ đồ cụ thể của bộ nhớ dữ liệu
c Bộ nhớ EEPROM:
Dữ liệu EEPROM và bộ nhớ chương trình Fláh có thể đọc và ghi trong suốt quá trình hoạt động bình thường Bộ nhớ này không được thiết lập trực tiếp trong không gian file thanh ghi đặc biệt Có 6 thanh ghi FSR được sử dụng để đọc và ghi bộ nhớ này:
từ 80H đến FFH, nếu PIC có bộ nhớ EEPROM là 256 byte thì địa chỉ nằm trong khoảng từ 00h đến FFh Với PIC 16F887a có 256 byte bộ nhớ nên
EEPROM nằm trong khoảng từ 00h đến FFh
Khi giao tiếp với bộ nhớ chương trình thì hai thanh ghi EEDATA và
EEDATH kết hợp với nhau lại thành thanh ghi 16 bit để lưu trữ dữ liệu 14bit cho lệnh đọc/ghi và hai thanh ghi EEADR và EEADRH kết hợp lại thành thanh ghi 16 bít để lưu địa chỉ 13 bit của ô nhớ đang truy suất Với pic có dung
lượng bộ nhớ chương trình là 8k wỏd thì địa chỉ trong khoảng từ 0000h đến 1FFFh Nếu truy suất ô nhớ có địa chỉ lớn hơn thì sẽ bị cuộn nằm trong vùng nhớ thực
Bộ nhớ dữ liệu EEPROM cho phép đọc và ghi 1 byte bộ nhớ chương trình Flash cho phép đọc 1 word và ghi khối 4 word Hoạt động ghi của bộ nhớ chương trình sẽ tự động thực hiện xóa trước khi ghi vào khối 4 word Một byte ghi vào bộ nhớ dữ liệu EEPROM sẽ tự động xóa ô nhớ rồi mới ghi dữ liệu mới – xóa trước khi ghi
Khi chip có mã bảo bbệ thì CPU có thể đọc và ghi dữ liệu bộ nhớ
EEPROM Tùy thuộc vào cách thiết lập các bít bảo vệ chống ghi, PIC có thể cho hoặc không cho ghi dữ liệu vào một vài khối bộ nhớ chương trình ; tuy nhiên cho phép đọc bộ nhớ chương trình Khi PIC coa mã bảo vệ thì người dung không còn được truy cập bộ nhớ dữ liệu hoặc bộ nhớ chương trình
Đọc dữ liệu từ bộ nhớ EEPROM:
Trang 18Để đọc dữ liệu của một ô nhớ người sử dụng phải ghi địa chỉ vào thanh ghi EEADR, xóa bit điều khiển EEPGD (EECON1,7) và sau đó set bit điều khiển RD (EECON1<1>) Dữ liệu sẽ xuất hiện trong thanh ghi EEDATA ở chu
kỳ kế EEDATA sẽ lưu giá trị này cho đến khi xuất hiện lần đọc kế hoặc bị thay đỏi bởi người sử dụng
Các bước để đọc bộ nhớ dữ liệu EEPROM:
Ghi địa chỉ vào EEADR địa chỉ không được lớn hơn dung lượng
bộ nhớ
Xóa bit EEPGD chỉ hướng vào bộ nhớ dữ liệu EEPROM
Set bit RD để bắt đầu hoạt động đọc
Đọc dữ liệu từ thanh ghi EEPROM
Các bước trên khi dung với ngôn ngữ ASM thì ta phải tuân thủ đúng quy tắc nhưng khi dung với ngôn ngữ C thì ta chỉ cần dung với một lệnh
read_eeprom(address) trong đó address là địa chỉ của EEPROM mà ta cần đọc, địa chỉ này với dòng pic 16F887a từ 00h đến FFh
Ghi dữ liệu vào bộ nhớ EEPROM:
Để ghi dữ liệu vào EEPROM thì người sử dụng phải ghi địa chỉ vào thanh ghi EEADR và dữ liệu vào thanh ghi EEDATA sau đó phải thực hiện ghi theo trình tự chỉ định để ghi cho mỗi byte
Quá trình ghi sẽ không được khởi động nếu thứ tự ghi không được thực hiện chính xác cho mỗi byte phải cấm tất cả các yêu cầu ngắt khi thực hiện quá trình ghi này
Ngoài ra bit WREN trong thanh ghi EECON2 phải được set để cho phép ghi Cơ chế này ngăn chặn các hoạt động ghi ngẫu nhiên vào EEPROM liên quan đến sai sót mã bảo bệ Người sử dụng nên giữ bit WREN ở trạng thái Clear , ngoại trừ khi truy cập dữ liệu vào bộ nhớ dữ liệu EEPROM Bit WREN không được xóa bằng phần cứng
Sau khi quá trình ghi đã được khởi đọng thì nếu ta xóa bit WREN sẽ không ảnh hưởng đến chu kỳ này Bit WR sẽ bị chặn không cho lên 1 trừ khi bit WREN được set
Khi hoàn tất chu kỳ ghi bit WR được xóa bởi phần cứng và bit cờ báo ngắt hoàn thành xong quá trình ghi EEIF được set Người dung có thể cho phép sự ngắt hoặc kiểm tra bit này để biết quá trình ghi kết thúc bit EEIF phải được xóa bằng phần mềm
Tuy rằng các bước ghi dữ liệu vào bộ nhớ EEPROM có nhiều bước và nhiều bit trên thanh ghi được để ý đến như vậy nhưng khi dùng C để làm việc
với PIC thì ta chỉ cần chú ý đến lệnh ghi : WRITE_EEPROM(address,x)
Trang 19Trong lệnh :write_eeprom(address,x)
Address : địa chỉ của EEPROM ta cần ghi
X : giá trị ta cần ghi (byte)
d Một số thanh ghi chức năng đặc biệt trong vi điều khiển PIC16F887
Thanh ghi EEADR và EEADRH
Cặp thanh ghi EEADRH:EEADR có thể định địa chỉ tối đa 256 byte của
bộ nhớ dữ liệu EEPROM hoặc tối đa 8k word của bộ nhớ chương trình
Thanh ghi EECON1 và EECON2:
EECON1 là thanh ghi điều khiển để truy xuất bộ nhớ Bít điều khiển EEPGD dùng để truy xuất bộ nhớ chương trình hoặc bộ nhớ dữ liệu Khi reset hoặc khi bị EEPGD sẽ cho phép truy suất bộ nhớ dữ liệu khi bit EEPGD bằng
1 thì truy xuất bộ nhớ chương trình
Thanh ghi EECON1
• Bit 7: EEPGD bit lựa chọn bộ nhớ dữ liệu/ chương trình EEPROM
o EEPGD=1 truy xuất bộ nhớ chương trình
o EEPGD=0 truy xuất bộ nhớ dữ liệu
• Bit 6 => 4 chưa sử dụng
• Bit 3 WRERR : bít cờ lỗi EEPROM
o WRERR =1 việc ghi thực hiện xong sớm
o WRERR = 0 việc ghi đã được hoàn thành
• Bit 2: WREN bit cho phép ghi eeprom
o WREN=1 cho phép ghi
o WREN=0 không cho ghi
• Bit 1: WR bit điều khiển ghi
o WR=1 bắt đầu chu kỳ ghi Bit WR được xóa bằng phần cứng sau mỗi lần ghi xong
o WR=0 quá trình ghi vào eeprom đã hoàn thành
• Bit 0 :RD bit điều khiển đọc
o RD=1 bắt đầu chi kỳ đọc eeprom bit RD được xóa bằng phần cứng bit RD chỉ có thể được set trong phần mềm
o RD=0 không khởi động chu kỳ đọc eeprom
Các cổng xuất nhập của PIC16F877A.
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua
Trang 20quá trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ
ràng.Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập
và số lượng chân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR liên quan đến chân xuất nhập đó
PORTA và thanh ghi TRISA:
Port A (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều”
(bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của một chân trong PortA là input, ta “set” bit điều khiển tương ứng với chân
đó trong thanh ghi TRISA và ngược lại,muốn xác lập chức năng của một chân trong Port A là output, ta “clear” bit điều khiển 8 tương ứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với các PORT còn lại Bên cạnh đó Port A còn là ngõ vào của bộ ADC, bộ so sánh, ngõ vào analog, ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master
Synchronous Serial Port)
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A (địa chỉ 05h): chứa giá trị các chân trong PortA
TRISA (địa chỉ 05h): điều khiển xuất nhập
CMRCON(địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh
CVRCON(địa chỉ 9Dh):thanh ghi điều khiển bộ so sánh điện áp
ADCON1(địa chỉ 9Fh): thanh ghi điều khiển bộ ADC
PORTB và thanh ghi TRISB:
Portb (RPB) gồm 8 pin I/O thanh ghi điều khiển xuất nhập tương ứng là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chường trình cho vi điều khiển với các chế độ nào khác nhau
PORTB còn liên quan dến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình
Ba chân của PORTB được đa hợp với mạch điện gỡ rối bên trong và chức năng lập trình điện áp thấp RB3/PGM, RB6/PGC và RB7PGD
Mỗi chân của PORTB có điện trở kéo lên Bit điều khiển RBPU
(OPTION_REG<7>) =0 thì có thể mở tất cả các điện trở kéo lên khi portb
Trang 21được thiết lập là ngõ ra thì sẽ tự động ngắt chức năng điện trở kéo lên , cũng tương tự khi CPU bị reset lúc mới cấp điện.
Bốn chân của portb RB4:RB7 có cấu chúc ngắt thay đổi, chỉ có những chân được thiết lập ở cấu hình là ngõ vào thì mới có chức năng ngắt các chân ngõ vào là (RB4:RB7) được so sánh với giá trị cũ đã được chốt trong lần đọc trước của portb Các ngõ ra không trùng nhau của các chân RB4:RB7 được OR lại với nhau để tao ra ngắt ở PORTB với bít cờ báo ngắt
RBIF<INTCON<0>>
Ngắt này có thể kích hoạt vi điều khiển trở lại trạng thái hoạt động khi nó đang ở chế độ SLEEP Trong chương trình phục vụ ngắt thì người dùng có thể xóa ngắt bằng các cách khác nhau:
• Bất kỳ lệnh đọc hay ghi PORTB sẽ kết thích điều kiện không thích ứng
• Xóa bít cờ RBIF
Điều kiện không tương thích sẽ tiếp tục làm cờ báo ngắt RBIF bằng 1 Khi đọc PORTB sẽ chấm dứt điều kiện không tương thích và cho phép xóa bít
cờ báo ngắt RBIF
Cấu trúc ngắt thay đổi dùng để thoát khỏi chế độ nghỉ khi có nhấn phím
và các hoạt động mà PORTB chỉ được dùng cho cấu trúc thay đổi ngắt
PORTC và thanh ghi TRISC:
PORTC là port 2 chiều 8 bít Thanh ghi định hướng là TRISC Khi bit TRISC=1 thì portc là nhập, khi TRISC=0 thì portc là xuất
Portc được đa hợp với vài chức năng ngoại vi Các chân của portc có mạch đệm Schmit Trigger ở ngõ vào Khi khối I2C được cho phép thì các chân PORTC (3,4) có thể được định cấu hình ở các mức I2C hoặc mức SMBUS bằng cách sử dụng bít CKE (SSPSTAT<6>)
Khi cho phép chức năng ngoại vi, nên chú ý đến các bít TRIS cho mỗi chân của PORTC Một vài thiết bị ngoại vi ghi lên bít TRIS để làm một chân như là 1 ngõ ra, trong khi đó các thiết bị ngoại vi ghi lên bít TRIS để làm như một chân ngõ vào Khi ghi đè bít TRIS thì không ảnh hưởng đến các thiets bị
đã cho phép, các kệnh đọc – hiệu chỉnh – ghi (BSF,BCF,XORWF) với TRISC
là đích đến phải tránh dùng Người sử dụng tham chiếu tới phần thiết bị ngoại
vi tướng ứng để thiếp lập cho đúng bít TRIS
PORTD và thanh ghi TRISD:
Trang 22Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng làTRISD Port D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port).
Các thanh ghi liên quan đến Port D bao gồm:
- Thanh ghi PortD : chứa các giá trị chân trong PortD
- Thanh ghi TRISD: điều khiển xuất nhập.
PORTE và thanh ghi TRISE:
Port E (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISE Các chân của PortE có ngõ vào analog Bên cạnh đó Port E còn là các chânđiều khiển của chuẩn giao tiếp PSP.
Các thanh ghi liên quan đến Port E bao gồm:
- Port E: chứa giá trị các chân trong Port E.
- TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP.
- ADCON1: thanh ghi điều khiển các khối ADC.
II Lcd 16x2
Hình 5: Hình ảnh thực tế của LCD 16x2LCD (Liquid Crystal Display ) Màn hình là một mô-đun hiển thị điện tử và tìm thấy một loạt các ứng dụng Một màn hình hiển thị LCD 16x2 là mô-đun rất cơ bản và rất thường được sử dụng trong các thiết bị khác nhau và mạch Các mô-đun được ưa thích hơn bảy phân đoạn và đèn LED phân khúc đa khác Lý do là : màn hình LCD là kinh tế ; lập trình dễ dàng , không có giới hạn ký tự hiển thị tùy chỉnh đặc biệt và thậm chí cả (không giống như trong bảy phân đoạn ) , hình ảnh động và như vậy
Một màn hình LCD 16x2 có nghĩa là nó có thể hiển thị 16 ký tự trên mỗi dòng
và có 2 dòng như vậy LCD này mỗi nhân vật được hiển thị trong ma trận 5x7 pixel LCD này có hai đăng ký, cụ thể là, lệnh và dữ liệu
Trang 23Các lệnh đăng ký lưu trữ các hướng dẫn lệnh cho màn hình LCD Một lệnh là một chỉ dẫn cho màn hình LCD để làm một công việc được xác định trước như khởi tạo nó , thanh toán bù trừ màn hình của nó , thiết lập vị trí con trỏ , kiểm soát hiển thị, vv Các cửa hàng đăng ký dữ liệu các dữ liệu sẽ được hiển thị trên màn hình LCD Dữ liệu là giá trị ASCII của các nhân vật sẽ được hiển thị trên màn hình LCD
Sơ đồ pin :
Hình 6: Sơ đồ chân của LCD 16x2
2 Vcc Chân cấp nguồn cho LCD ( Vcc = 4.7V ~ 5.3v, thường thì
sẽ dùng ở mức 5V )
thông qua một điện trở biến
Chân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
DR bên trong LCD
Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt
lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD
Trang 24chuyển vào(chấp nhận) thanh ghi bêntrong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp
DB0-DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
Bảng 2: Chức năng các chân của LCD
Lưu ý: Hai chân 15(Led+) và 16(Led-) đó là chân led của LCD, do led của LCD chỉ 4.1V và dòng chỉ 200mA nên ta phải hạn dòng cho led không bị cháy, dựa vào công thức : R = (VDD- VLED )/ ILED
III Module thu phát sóng RF (APC240)
1 Module thu phát sóng RF
Trong một phiên truyền thông, vì tận cùng bản chất của dữ liệu là bao gồm các bit 0 và 1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho bên nhận Một tín hiệu xoay chiều hay một chiều tự nó sẽ không thực hiện tác vụ này Tuy nhiên, nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi này sẽ giúp phân biệt bit 0 và bit 1 Lúc đó, dữ liệu cần truyền sẽ có thể gửi và nhận thành công dựa vào chính sự thay đổi của tín hiệu Dạng tín hiệu đã điều chế này còn được gọi là sóng mang (carrier signal)
Có ba thành phần của dạng sóng có thể thay đổi để tạo ra sóng mang, đó là biên độ, tần số và pha Tất cả các dạng truyền thông dùng sóng vô tuyến đều dùng vài dạng điều chế để truyền dữ liệu Để mã hóa dữ liệu vào trong một tín hiệu gửi qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta phải thực hiện một vài kiểu điều chế trong sóng vô tuyến đang truyền
Trang 25Hình 7: Hình ảnh thực tế của phát sóng RS
2 Đặc tính kỹ thuật của module thu phát sóng RF
Khoảng cách truyền giữa hai module là 1000 mét Công suất ngỏ ra là 20mW, tần số phát từ 418MHz đến 455MHz, giao tiếp với vi điều khiển theo chuẩn UART
Hình 8: Sơ đồ kết nối
3 SETA Ngõ vào: thông số thiết lập A; điện trở kéo lên 47KΩ
4 RXD Ngõ vào: đầu vào UART, mức TTL; điện trở kéo lên 47 KΩ
Bảng 3: Chức năng các chân
Kí hiệu Tham số (điều kiện) Min Typ Max Units
Trang 26VCC Cung cấp điện áp 2.1 3.6 V
2.93.220351.5
mAmAmAmAuA
Sen Độ nhạy thu @ 1K bpsĐộ nhạy thu @ 10K bps -107-113 dBmdBm
TW
Thức tỉnh và tìm kiếm thời gian đoạn đầu @ 1K bps
msmsmsmsms
Bảng 4: Thông số kỹ thuật của bộ phát sóng RS
để truyền tải trạng thái, sau đó 32bits đầu đồng bộ sẽ được gửi đi Sau khi dữ liệu được chuyển giao, chân AUX sẽ được gửi đến mức cao và các mô-đun sẽ nhập vào trạng thái liên tục nhận một lần nữa.Trong chế độ này phần đầu trong gói dữ liệu được truyền không phải là dài nên các mô-đun nhận phải làm việc trong chế
độ 1 hoặc 2 Khi mô-đun thu phát hiện
Trang 27dữ liệu trong các kênh không dây hiện nay, nó sẽ kiểm tra dữ liệu và thiết lập chân AUX để đầu ra thấp và sau đó dữ liệu đến cổng nối tiếp sau khi dữ liệu được xác nhận một cách chính xác.
và được gửi đi Sau khi dữ liệu được chuyển giao, chân AUX
sẽ được chuyển sang mức cao và các mô-đun sẽ đi vào trạng thái nhận liên tục một lần nữa
Vì tín hiệu ban đầu chưa được xác định, nên module nhận có thể làm việc ở chế
Sau khi dữ liệu được chuyển giao, cổng nối tiếp đượ đóng lại và chân AUX được nên mức cao Các mô-đun sẽ đi vào trạng thái ngủ một lần nữa và chờ cho tới khi có tín hiệu báo thức
được đóng lại Tiêu thụ điện năng rât thấp (khoảng 1.5uA)
Trang 28Bảng 5: Chế độ làm việc của phát sóng RS
IV IC Max-232:
Max-232 là IC thường được dùng trong lĩnh vực giao tiếp với máy tính, theo chuẩn RS-232, MAX-232 có nhiều loại, ở đây chỉ đề cập đến loại MAX-232E có 16 chân
Với điện áp là 5V thì điện ra của ngõ xuất sẽ dao động trong khoảng ±
8V khi tải ở ngõ nhận có giá trị là 5kΩ
, trong điều kiện tồi tệ nhất mức điện áp tối thiểu ở ngõ ra cũng phải dao động trong khoảng ±
5V.Gồm có một tải 3kΩ
, điện áp tối thiểu, và một nhiệt độ hoạt động tối đa Trong một mạch điện mở rộng thì điện áp ngõ ra dao động trong khoảng từ (V+ - 0,6V) đến V- Ngưỡng ngõ vào của hai họ CMOS/TTL phải tương thích với nhau Max 232 không có điện trở kéo lên ở ngõ vào chân phát
Hình 9: Hình dạng và cấu tạo của MAX232
Ngõ nhận của RS-232 sẽ chuyển đổi tín hiệu đến ngõ ra của con logic để đảm bảo ngưỡng vào của ngõ nhận đạt được 0.8V và 2.4V thì điều
CMOS-có nghĩa là phải nhỏ hơn ngưỡng ±
3V (theo bắt buộc về đặc điểm kỹ thuật của EIA/TIA-232E) điều này cho phép ngõ vào nhận (receiver) phản ứng lại mức độ hợp lý của TTL/CMOS cũng giống như của RS-232
Việc bảo đảm ngưỡng vào ở mức thấp 0.8V là sự đảm bảo được rằng ngõ nhận không thể tồn tại lâu trạng thái ngõ ra ở mức 1 Điện trở 5kΩ
ở ngõ vào
Trang 29hoàn toàn đảm bảo được rằng ngõ nhận với ngõ vào tương ứng sẽ chỉ có duy nhất một ngõ ra ở mức 1
Ngõ vào nhận chỉ sai lệch xấp xỉ 0.5V Điều này đã làm cho ngõ ra được chuyển trạng thái nhanh gọn hơn, thậm chí với tín hiệu tăng chậm hoặc giảm theo thời gian thì lượng tín hiệu nhiễu cũng vừa phải hơn
CHƯƠNG 4 GIAO TIẾP MÁY TÍNH
I Phân tích cơ sở giao tiếp máy tính
Máy tính là thiết bị trợ giúp đặc biệt cho con người ở các lĩnh vực văn
phòng, đồ hoạ, lập trình.v.v Khoa học kỹ thuật ngày càng phát triển thì máy tính trở nên rất cần thiết và hữu ích Chính vậy, máy tính được đưa vào ứng
Trang 30dụng rất nhiều trong cuộc sống đặc biệt trong lĩnh vực kỹ thuật Những ứng dụng mạnh nhất của máy tính trong kĩ thuật là thu thập dữ liệu từ thiết bị ngoại
vi và điều khiển các quá trình hoạt động của hệ thống một cách tự động theo chương trình mà con người định sẳn
Máy tính giao tiếp với các thiết bị ngoại vi theo các cách sau:
+ Giao tiếp qua rãnh cắm của máy tính (Slot Card)
+ Giao tiếp máy tính qua cổng song song (LPT)
+ Giao tiếp máy tính qua cổng nối tiếp (COM)
+ Giao tiếp máy tính qua cổng USB
1 Giao tiếp qua cổng nối tiếp (COM)
Giao tiếp qua cổng COM được sử dụng khá phổ biến Dữ liệu truyền ở cổng này thuộc dạng dữ liệu nối tiếp Tín hiệu truyền ở cổng này có thể truyền
đi xa nhờ có cấu tạo đường dây cáp ít sợi hơn cổng song song, mức áp tín hiệu cao
Cổng COM loại 9 chân có tổng cộng 8 đường dẫn tín hiệu không kể đường nối đất
Hình 10: Đầu nối cổng cắm nối tiếp (cái)
Chân Tín hiệu Mô tả