MỤC LỤC LỜ I MỞ ĐẦU ....................................................................................................5 1.Giới thiê ̣ u...................................................................................................5 2. tầm quan trọng: ........................................................................................5 3. mục đích nguyên cứu ...............................................................................5 4. tổng quan..................................................................................................6 5. hạn chế .....................................................................................................6 CHƯƠNG 1 : KHÁI QUÁT VỀ ÂM THANH...........................................................7 I.Khái niệm về âm thanh. ..............................................................................7 1. các khai niệm liên quan đến âm thanh...................................................7 2. các hiệu ứng âm thanh:..........................................................................7 II. nguyên li ́chuyển đổi AD ..........................................................................9 CHƯƠN II: TÌM HIỂU VỀ IC HM2007 ...............................................................10 1.Giới thiê ̣ u nguyên li ́IC HM2007. ..............................................................10 a. Đặc tính.............................................................................................10 b. Sơ đồ chân ........................................................................................11 c. Chức năng làm việc...........................................................................12 1. Giớ i thiê ̣ u về IC nhớ SRAM 624............................................................16 CHƯƠNG III: TÌM HIỂU VỀ CHÍP AVR – ATMEGA8.........................................17 1. Tổng quan.............................................................................................17 2. Cấu trúc bô ̣ nhớ và cổng vào ra............................................................20 a. Cấu trúc bô ̣ nhớ ................................................................................20 b. Cổng vào ra .......................................................................................23 2.Bô ̣ đi ṇ h thời của AT mega8. .....................................................................26 3.Cấu trúc ngăt ́ của ATmega 8. ....................................................................29 Thự c tập tố t nghiệp 2014 GVHD :ths TÓ NG VĂN LUYÊN SVTH: PHẶ M VĂN TƯ Page 4 4.các bộ phận ngoại vi khác: .......................................................................34 5. Bộ truyền dữ liệu nối tiếp USART............................................................37 a. Tóm lược về USART..............................................................................37 b. Hệ thống xung CLOCK .........................................................................38 6. ngôn ngữ C cho AVR................................................................................39 a. khái niê ̣ m .............................................................................................39 b.mảng.....................................................................................................45 c.hàm (Function)......................................................................................45 d.Con trỏ(Pointer)....................................................................................45 e. Truy xuất các thanh ghi vào ra (accessing the io registers) ................47 7. phần mềm lập trin ̀ h cho AVR atmega 8 ...................................................47 CHƯƠNG IV: THIÊT ́ KẾ MA ̣ CH.........................................................................50 1.Sơ đồ nguyên lý mạch điều khiển tín hiệu giọng nói ................................50 2.CODE CHO CPU. .......................................................................................52
Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN TRƯỜNG ĐẠ I HỌ C CÔNG NGHIỆP HÀ NỘ I KHOA ĐIỆN TỬ BÁO CÁO THỰC TẬP Đề tài: Điều khiên̉ thiêt́ bi ̣ điện gia điǹ h bằng giọng nói GVHD:Ths Tống Văn Luyên SVTH: Phạm Văn Tư Lớ p : điện tử –k5 SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN LỜI CẢ M ƠN Đề tài điều khiển thiết bi ̣ điện gia đình đã đượ c em ấp ủ và thự c hiện nó từ rât́ lâu, sau tuần nguyên cứ u và thự c hiện đã thu đượ c nhữ ng thành công bướ c đầu Trong quá trình thự c hiện đề tài nhận đượ c sự hướ ng dẫn và giúp đỡ củ a thầy Ths TỐNG VĂN LUYÊN, và tất cả các thầy cô khoa điện tử trường đại học công nghiệp hà nội Thành công của đề tài cũng là lời cám ơn đến các thầy cô đã giúp đỡ hướng dẫn em suât́ quá trình thiết kế t và thự c hiện Vì là lần đầu tiên khai thác một lĩnh vực khá mới mẻ, nên mặc dù em đã bỏ rât́ nhiều công sứ c, chắc chắn không tránh khỏi nhữ ng thiếu sót nhữ ng hạn chế áp dụng vào thực tiễn hiện Huy vọ ng rằng nhữ ng vấn đề cò n hạn chế đề tài sẽ nhận được nhiều { kiến đóng góp chân thành của các cá nhân,tổ chứ c , và các thầy cô SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN MỤC LỤC LỜI MỞ ĐẦU 1.Giớ i thiệu tầm quan trọ n g: mục đích nguyên cứu tổng quan hạn chế CHƯƠNG : KHÁI QUÁT VỀ ÂM THANH I.Khái niệm về âm các khai niệm liên quan đến âm các hiệu ứng âm thanh: II nguyên li ́ chuyển đổi A/D CHƯƠN II: TÌM HIỂU VỀ IC HM2007 10 1.Giớ i thiệu nguyên li ́ IC HM2007 10 a Đặc tính 10 b Sơ đồ chân 11 c Chức làm việc 12 Giớ i thiệu về IC nhớ SRAM 624 16 CHƯƠNG III: TÌM HIỂU VỀ CHÍP AVR – ATMEGA8 17 Tổng quan 17 Cấu trúc bộ nhớ và cổng vào 20 a Cấu trúc bộ nhớ 20 b Cổng vào 23 2.Bộ ̣nh thờ i của AT mega8 26 3.Cấu trúc ngăt́ của ATmega 29 SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN 4.các bộ phận ngoại vi khác: 34 Bộ truyền liệu nối tiếp USART 37 a Tóm lược về USART 37 b Hệ thống xung CLOCK 38 ngôn ngữ C cho AVR 39 a khái niệm 39 b.mảng 45 c.hàm (Function) 45 d.Con trỏ(Pointer) 45 e Truy xuất ghi vào (accessing the i/o registers) 47 phần mềm lập trình cho AVR atmega 47 CHƯƠNG IV: THIÊT́ KẾ MẠ CH 50 1.Sơ đồ nguyên lý mạch điều khiển tín hiệu giọ ng nói 50 2.CODE CHO CPU 52 SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN LỜI MỞ ĐẦ U 1.Giới thiệ u Sự phát triển của khoa học kĩ thuật ngày càng nhanh góp phần nâng cao suât́ lao độ ng Đặc biệt là sự đời và phát triển của các công nghệ mới, tạo sự thận lợ i cho cuộ c sống sinh hoạt và công nghiệp Đốivớ i nước ngoài việc điều khiển bằng giọng nói đã được nguyên cứu và chế tạo để ứng dụng vào đời sống và sản xuất cũng chỉ mới đời vài năm trở lại đây Như ở mi ̃ đã đượ c ứ ng dụ ng để điều khiển robotcam y khoa Riêng ở nướ c ta li ̃nh vự c này cò n khá mớ i mẻ Do đó chúng ta cần có sự đầu tư để nguyên cứ u theo ki ̣p công nghệ mớ i này Và để có thể phục vụ trự tiếp ứng dụng và các hoạt động sinh hoạt của cuộc sống người , em băt́ tay vào thực hiện nguyên cứu đề tài : “ điều khiển thiết bi ̣ điện gia đình bằng giọng nói” tầ m quân trọ ng: Ở việt nam việc ứng dụng công nghệ tiên tiến thế giới còn chậm phát triển, quá trình đưa công nghệ mới vào phụ c vụ đờ i sống sản xuât́ gặp nhiều khó khăn Tận dụ ng nhữ ng IC đã nhập sẵn và IC chuyên dụ ng nướ c ngoài sản xuất để thiết kế thành sản phẩm cụ thể là một nhu cầu cần thiết cuộ c sống và từ đó phát triển cao để ứ ng dụ ng các li ̃nh vự c điều khiển phứ c tạp đề tài : “ điều khiển thiết bi ̣ điện gia đình “ đượ c tìm hiểu và thự c hiện nhằm đưa ngườ i tiến gần tớ i công nghệ mở mộ t hướ ng mớ i cho việc nguyên cứu, đồng thờ i ứ ng dụ ng đượ c các công nghệ khoa học tiên tiens hiện đại phục vụ cho cuộc sống sinh hoạt mục đích nguyên cứu Đề tài :” điều khiển thiết bi ̣ điện gia đình bằng giọ ng nói “ đượ c thự c hiện nhằm tạo mộ t hệ thống biêt́ tuân theo mệnh lệnh giọ ng nói của ngườ i.giúp cho thao tác sử dụng các thiết bị điện gia đình mộ t cách tiện lợ i và hiện đại Đồng thời hiểu rõ về nguyên lí hoạt động của IC chuyên dụng HM2007 và atmega8, xây dụ ng đượ c mạch điều khiển sử dụ ng HM2007 SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN tỏ ng quân hạn chế Do việc điều khiển bằng giọ ng nói cò n nhiều mớ i mẻ có rât́ i ́t thông tin về nó và phải làm đề tài điều kiện : + thờ i gian thự c hiện chi ̉ có tuần +kinh nghiệm thự c tế chưa có nhiều +Tài liệu về IC HM2007 còn hiếm + đặc biệt là việc tìm mua IC này là rât́ khó khăn, chưa bán tại việt nam Vì thế đề tài chỉ dừng lại ở việc tìm hiểu nguyên lí hoạt động của IC HM2007, cấu trúc AVR, và xây dụng mô hình điều khiển,thiết kế mạch nguyên li ,́ chưa tạo được sản phẩm thực tế SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN CHƯƠNG : KHÁI QUÁT VỀ ÂM THÂNH I.Khái niệm về âm thânh các khái niệ m liên quân đế n âm thânh Âm đượ c phát từ sự rung độ ng của các vật thể không ́ sóng âm lan truyền sự dao động của không khí, lượ ng sóng âm cũng bị hấp thụ và phản xạ các vật cản và dĩ nhiên sóng cũng vòng qua các vật cản nhỏ (hiện tượ ng nhiễu xạ ) và bị làm lệch vận tốc truyền âm qua các môi trườ ng này bi ̣ thay đổi Đặc tính vật lí của âm: tần số,chu kỳ,áp lực âm học - Tần số : tần số giao độ ng của không ́ truyền dẫn 1s - Chu kì : thờ i gian hoàn thành mộ t giao độ ng - Áp lực âm học : các dao động của vật thể tùy theo hướng dịch chuyển gây tác độ ng nén hoặc giãn lên mộ t vật thể khác (có thể là vật thể dù ng để đo) đơn vi ̣ tính là Pascal, N/m2 - Biên độ : giá trị cực đại của áp lực âm học - Cườ ng độ : là công suất âm qua một đơn vị diện tích 1cm2 đặt vuông góc vớ i phương truyền âm mộ t đơn vi ̣ thờ i gian 𝑃 I = = p.v 𝑆 Bướ c sóng là đoạn đườ ng truyền sóng được một chu kz - Tần số riêng : ta đặt tay vào mộ t vật và vật đó rung lên sẽ phát các sóng âm, sóng âm nghe được rõ nhất ứng với một tần số xác định thì được gọi là tần số riêng của vật Tần số riêng thay đổi tù y theo kích thước hình học, bản chất của vật bị kích thích - Tần số cộ ng hưở ng: dao độ ng vớ i biên độ mạnh nhât́ của mộ t vật thể, lúc đó các dao động ở dạng tích lũy lượng Kích thước và dạng lượng ở dạng tổn hao i ́t nhât́ các hiệu ứng âm thânh: Âm đượ c cảm nhận qua tai và đượ c sự phân tích hình dạng của thần kinh thi ̣ giác Bản chất của các âm là các dao động vật chất, nó chịu nhiều ảnh hưở ng của nhiều yếu tố khách quan và chủ quan Đặc tính cảm thụ của ta với các tác động của nguồn âm sau: - Nghe âm : các chấn động của không khí tạo tác động nén và dãn lên màng nhĩ, sự rung độ ng của màng nhi ̃ đượ c thần kinh thi ̣ giác SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN truyền về đại não,các trung tâm thần kinh nghe sẽ giải mã và tạo các cảm giác nhận dạng để biết nội dung của các âm và đến kích thích màng nhĩ - Phổ âm thanh: tai ngườ i cảm nhận đượ c các rung độ ng có tần số từ 20Hz đến 20Khz Các âm quá thấp tai người không nghe được đó là phần ngoại âm, nhữ ng âm lớ n 20khz gọ là siêu âm Tiếng nói của ngườ i chiếm dãy tần từ 80hz tớ i 1,2khz, độ nhạy của tai thay đổi theo tần số và tùy theo áp lực âm Ngườ i có tai tốt thì nghe thâý mứ c 1dB Thự c tế nghe nhạc có sự khác biệt 3dB thì nhận biết rõ ràng Các nguyên cứu cho thấy tai ngườ i không thể phân biệt sự khác của các mứ c âm nhỏ 1dB Trong không gian yên tĩnh ngườ i ta đo đượ c áp lự c âm của các nguồn âm sau: o 0dB: ngưỡ ng nghe thấu đượ c im lặng tuyệt đối o 10dB : lá cây xào xạc o 20dB:quả lắc , tiếng thì thâm o 30dB: trò chuyện o 40dB: trò chuyện bình thườ ng o 50dB: âm nhạc, máy hát o 60dB: tiếng xe cộ lưu thông i ́t (30m) o 70db: tiếng nói to o 80dB: còi xe o 90dB: tiếng cò i xe lử a (150m) o 100dB : tiếng độ ng tàu o 110dB : cưa máy o 120dB: độ ng máy bay (3m) o 130dB: ngưỡ ng đau tai o 140dB: còi xe cứ u hỏa, tiếng pháo cối - Âm vang – âm dộ i: âm đượ c nghe vớ i mộ t đuôi âm tăt́ dần gây cảm giác lạ tai gọi là âm vang Mộ t âm đượ c nghe vớ i nhi ̣p lặp lại vài lần vớ i cườ ng độ âm nhỏ đượ c gọ i là âm dộ i Ở phòng kín với phản xạ có hệ số hấp thụ nhỏ đó âm thườ ng bi ̣ vang Trong mộ t thờ i gian đủ lớ n và có các mặt phản xạ thườ ng tạo các hiệu ứ ng âm dộ i Khi nghe các âm vang hay âm dộ i ngườ i nghe thườ ng liên tưở ng đến SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN sự mở rộ ng củ a không gian xung quanh, điều này gây thi ́ch thú cho ngườ i nghe - Hiệu ứ ng DOPPLER: ngườ i quan sát nghe các nguồn âm thì tần số của nguồn âm thay đổi tù y theo phương vận tốc tương đối giữ a ngườ i quan sát và nguồn âm Khi cả hai tiếng lại gần thì tần số nghe tăng len Khi cả hai lù i xa thì tần số nghe giảm xuống Nếu dù ng mạch biến âm tạo các tần số thay đổi sẽ gây cho ngườ i nghe cảm giác nguồn âm chuyển độ ng - Âm lượ ng : cườ ng độ hay lượ ng của âm đượ c xác ̣nh bằng sự rung của thành phần không ,́ các sóng biến động không khí vớ i lượ ng nhỏ sẽ phát sinh âm nhỏ ( gần nguồn âm mớ i nghe đượ c ), trườ ng hợ p này màng nhi ̃ không rung nhiều , âm đượ c xem ở mứ c thấp, các sóng dao động với biên độ cao sẽ tạo nên âm lớ n Khi đó màng nhi ̃ rung nhiều âm sẽ đượ c xem là lớ n Nếu sóng âm quá cao, màng nhĩ có thể bị tổn thương II nguyên lí chuyể n đỏ i A/D Trong thự c tế hiện tại, các bộ chuyển đổi âm tiêu chuẩn các microphone, loa phóng điều là thiết bi ̣ tương tự Vì vậy các tín hiệu điện liên tụ c theo thờ i gian phải đượ c chuyển đổi thành các ̣nh dạng số dùng cho xử lí số tín hiệu (DSB: Diagital Signal Processor) Công nghệ xử li ́ tín hiệu dự a nguyên lý kỹ thuật PCM ( điều chế xung mã) Trong ki ̃ thuật PCM tín hiệu analog được chuyển thành dãy xung Nhữ ng giá trị biên độ của các xung riêng lẻ được biểu diễn ở mã nhịn phân Quá trình đượ c thự c hiện theo sơ đồ khối sau: SVTH: PHẶ M VĂN TƯ Page Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN CHƯƠN II: TÌM HIỂU VỀ IC HM2007 1.Giới thiệ u nguyên lí IC HM2007 IC HM2007 là một thiết bị đơn chíp CMOS xử li ́ giọ ng nói dướ i dạng mạch LSI điều chế tín hiệu tương tự, điều chế phổ âm, nhận lệnh điều khiểu chức các hệ thống theo tiêu chuẩn, IC HM2007 có thể nhận tới 40 lệnh, việc truyền nhận lệnh được thực hiện qua một micro đưa tín hiệu vào, một bàn phím, một IC nhớ SRAM nhiều bộ phận khác Từ đây tín hiệu được xử lí xây dựng thành một hệ thống thông minh việc nhận diện giọng nói a Đặc tính - Thiết bị đơn chip nhận biết âm dạng CMOS LSI - Tiếng nói được nhận hệ thống theo một chuẩn riệng biệt - IC nhớ SRAM có thể được kết nối trực tiếp - Một chip HM 2007 có thể nhận được 40 từ - Thời gian tối đa từ phù hợp mà IC có thể xử lí 1.92 s SVTH: PHẶ M VĂN TƯ Page 10 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Biến volatile: - Để tương thích với thiết bị ngoại vi ghép nối với vi điều khiển, chẳn hạn bộ ADC, ghép nối với RTC… Người ta dùng biến volatile Biến Volatile biến mà giá trị của nó không được thay đổi bởi chương trình, có thề được thay đổi bởi phần cứng • Chuyển đổi kiểu liệu Trong một biểu thức toán học, toán hạng có thểcó kiểu liệu khác nhau, đó trình biên dịch sẽ tự động chuyển tất cả toán hạng về một kiểu nhất Thứ tự ưu tiên chuyển đổi là: Char -> unsigned char -> int -> unsigned int -> long -> unsigned long -> float Ví dụ1 int a ; long c, b; c = a*b ; // a sẽ được tự động chuyển thành long Ví dụ2 Phép nhân sau đây cho kết quả sai: int a, b = 30000; long c ; c = a*b ; Phép toán sẽ nhân a với b trước, với tích thu được int bị tràn, rồi mới chuyển tích thu được sang long, rồi gán tích bị tràn này cho c Để không bị tràn, ta sửa lại biểu thức sau: int a,b = 30000; long c ; c = (long) a*b ; SVTH: PHẶ M VĂN TƯ Page 44 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Lúc này a,b được chuyển thành long trước nhân, nên tích sẽ long không bị tràn, rồi gán kết quả cho c b.mảng Mảng một dãy biến xếp liên tục Kí hiệu * + dùng để khai báo mảng Mảng khai báo hàm gọi mảng toàn cục (global array), mảng khai báo hàm gọi mảng cục bộ (local array) Ví dụ: int global_array[4] = {1,2,3,4} // mảng có phần từ (dạng nguyên) có khởi tạo giá trị ban đầu global_array [0] = ; // ghi giá trị vào phần tử đầu tiên của mảng int multidim_array [2] [3] = {{1,2,3},{4,5,6}} // mảng đa chiều có khởi tạo giá trị ban đầu c.hàm (Function) - Hàm là đoạn chương trình thực hiện trọn vẹn một công việc nhất định - Hàm chia cắt việc lớn bằng nhiều việc nhỏ Nó giúp cho chương trình sáng sủa, dễ sửa, nhất là đối với các chương trình lớn - Chương trình phục vụ ngắt (ISR) cũng có thể xem một hàm, không có tham số truyền vào mà cũng không có tham số trả về - Giá trị trả về của hàm được lưu các ghi R30, R31, R22, R23 d.Con trỏ(Pointer) Những biến lưu trữ địa chỉ của một biến khác gọi trỏ (pointer) Có hai toán tử liên quan tới trỏ là: &và * &: toán tử lấy địa chỉ, có nghĩa là “địa chỉ của” * : toán tử tham chiếu, có nghĩa là “Giá trị được trỏ bởi” Để sử dụng trỏ ta phải khai báo Kiểu khai báo nhưsau: Type * pointer_name SVTH: PHẶ M VĂN TƯ Page 45 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Ví dụ: Int *con_tro ; Để ý dấu (*) mà chúng ta đặt khai báo một trỏ chỉ có nghĩa rằng: Đó một trỏ và hoàn toàn không liên quan đến toán tử tham chiếu * mà đã nói ở Đó đơn giản chỉ hai tác vụ khác được biểu diễn bởi một dấu Khi một biến trỏ được khai báo, nó chưa chứa đựng giá trị cả, giống kiểu biến khác Để gán địa chỉ cho trỏ cần phải gán giá trị cho trỏ đó (tức khởi tạo trỏ) Ví dụ: Int number; int *con_tro;// khai báo biến trỏ một trỏ nguyên con_tro = &number ;// biến con_tro tới biến number Sau khởi tạo, ta có thể sử dụng trỏ bình thường biểu thức Ví dụ: int value1 = ; int value2 = 15 ; int * mypointer; mypointer = &valuel; // trỏ mypointer trỏ tới biến value1 *mypointer = 10; // giá trị của biến valuel = 10 mypointer = &value2; // trỏ mypointer trỏ tới biến value2 *mypointer = 20; // giá trị của biến value2 = 20 SVTH: PHẶ M VĂN TƯ Page 46 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN e Truy xuất ghi vào (accessing the i/o registers) Việc truy xuất ghi I/O của AVR khá đơn giản, tất cả ghi I/O của AVR đã được khai báo file io.h (hoặc file header cho từng chip cụ thể, mega8.h) vào chương trình là có thể sử dụng ghi Chú ý việc truy xuất bit các ghi có địa chỉ 5Fh trở lên vùng nhớ SRAM không thể thực hiện được Ví dụ: include char temp ; temp = PIND; // đọc giá trị ở cổng D vào biến temp TCCR0 = 0x4F; // ghi giá trị 4Fh vào ghi TCCR0 DDRD = 0x0c; // set bit của ghi DDRD phầ n mề m lậ p trình cho ÂVR âtmêgâ Giới thiệu phần mềm CODEVISIONAVR Chương trình lập trình ATmega8 SVTH: PHẶ M VĂN TƯ Page 47 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Giới thiệu sơ lược phần mềm Codevision Tạo một chương trình mới FILE>> NEW Nhấn OK để tiếp tục các bước tạo project cho phần mềm: SVTH: PHẶ M VĂN TƯ Page 48 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Check vào nút Project>>> OK Chọn thẻ Chip để chọn loại AVR cần lập trình tốc độ xung Clock Gán trạng thái cho Port cần lập trình Sau các bước ta có thể tiến hành lập trình CodeVision AVR SVTH: PHẶ M VĂN TƯ Page 49 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN CHƯƠNG IV: THIẾ T KẾ MẬ CH 1.Sơ đò nguyên lý mậ ch điề u khiể n tín hiệ u giọ ng nó i SVTH: PHẶ M VĂN TƯ Page 50 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN ̉ TI ́N HIỆU GIỌ NG NÓ I TRÊN ALTIUM SƠ ĐỒ NGUYÊN LI ́ KHỐI ĐIỀU KHIÊN SƠ ĐỒ KHỐI CPU: SVTH: PHẶ M VĂN TƯ Page 51 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN ́ KHỐI CÔNG SUÂT: 2.CODE CHO CPU /***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Professional Automatic Program Generat Project : Version : Date : 2/25/2014 Author : NeVaDa Company : SVTH: PHẶ M VĂN TƯ Page 52 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Comments: Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 8.000000 MHz Memory model : Small External RAM size :0 Data Stack size : 256 *****************************************************/ #include #include #define tb1 PORTB.0 #define tb2 PORTB.1 #define tb3 PORTB.2 #define tb4 PORTB.3 #define tb5 PORTB.4 #define tb6 PORTB.5 #define tb7 PORTB.6 #define tb8 PORTB.7 #define bat #define tat #define a0 PIND.0 SVTH: PHẶ M VĂN TƯ Page 53 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN #define a1 PIND.1 #define a2 PIND.2 #define a3 PIND.3 #define a4 PIND.4 #define a5 PIND.5 #define a6 PIND.6 #define a7 PIND.7 void caidat(void) { PORTB=0x00; DDRB=0xFF; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; } void thietbi1(unsigned char tt) { if(tt==tat) tb1=0; SVTH: PHẶ M VĂN TƯ Page 54 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN if(tt==bat) tb1=1; } void thietbi2(unsigned char tt) { if(tt==tat) tb2 =0; if(tt==bat) tb2 =1; } void thietbi3(unsigned char tt) { if(tt==tat) tb3 =0; if(tt==bat) tb3 =1; } void thietbi4(unsigned char tt) { if(tt==tat) tb4 =0; if(tt==bat) tb4 =1; } void thietbi5(unsigned char tt) { if(tt==tat) tb5 =0; if(tt==bat) tb5 =1; SVTH: PHẶ M VĂN TƯ Page 55 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN } void thietbi6(unsigned char tt) { if(tt==tat) tb6 =0; if(tt==bat) tb6 =1; } void thietbi7(unsigned char tt) { if(tt==tat) tb7 =0; if(tt==bat) tb7 =1; } void thietbi8(unsigned char tt) { if(tt==tat) tb2 =0; if(tt==bat) tb8 =1; } void main(void) { caidat(); while (1) { SVTH: PHẶ M VĂN TƯ Page 56 Thực tậ p tố t nghiệ p 2014 if(PIND==0X01) GVHD :ths TÓ NG VĂN LUYÊN thietbi1(bat); else if (PIND==0X02) thietbi1(tat); else if (PIND==0X03) thietbi2(bat); else if (PIND==0X04) thietbi2(tat); else if (PIND==0X05) thietbi3(bat); else if (PIND==0X06) thietbi3(tat); else if (PIND==0X07) thietbi4(bat); else if (PIND==0X08) thietbi4(tat); else if (PIND==0X09) thietbi5(bat); else if (PIND==0X0a) thietbi5(tat); else if (PIND==0X0b) thietbi6(bat); else if (PIND==0X0c) thietbi6(tat); else if (PIND==0X0d) thietbi7(bat); else if (PIND==0X0e) thietbi7(tat); else if (PIND==0X0f) thietbi8(bat); else if (PIND==0X10) thietbi8(tat); } } SVTH: PHẶ M VĂN TƯ Page 57 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN KÊT́ QUẢ MÔ PHỎ NG TRÊN PHẦN MỀM PROTEUS CHO CODE CPU SVTH: PHẶ M VĂN TƯ Page 58 [...]... ngắt bộ vi điều khiển để báo cho nó bi ́t rằng thiết bi cần dịch vụ của nó Một bộ vi điều khiển có thể phục vụ một vài thiết bi , có hai cách để thực hiện điều này đó là sử dụng các ngắt (interrupt) và thăm dò (polling) Trong phương pháp sử dụng các ngắt thì mỗi khi có một thiết bi bất kz cần đến dịch vụ của nó thì nó báo cho bộ vi điều khiển bằng cách... ghi điều khiển EEPROM, ta chỉ sử dụng 4 bit đầu của thanh ghi này, bốn bit cuối là dự trữ, ta nên ghi 0 vào các bit dự trữ bốn bit cuối là dự trữ, ta nên ghi 0 vào các bit dự trữ Tóm tắt bản đồ bộnhớ bên trong atmega8 a Cổng vào ra SVTH: PHẶ M VĂN TƯ Page 23 Thực tậ p tố t nghiệ p 2014 GVHD :ths TÓ NG VĂN LUYÊN Cổng vào ra là một trong số các phương tiện để vi điều khiển giao... LUYÊN - 32 thanh ghi đa mục đích - 2 bộ định thời 8 bit (0,2) - 2 bộ định thời 16 bit (1,3) - Bộ định thời watchdog - Bộ dao động nội RC tần số1MHz, 2MHz, 4MHz, 8MHz - ADC 8 kênh với độ phân gia i 10 bit (Ởdòng Xmega lên tới 12 bit) - 2 kênh PWM 8 bit - 6 kênh PWM có thể lập trình thay đổi độ phân gia i từ 2 tới 16 bit - Bộ so sánh tương tự có thể lựa chọn ngõ vào -... rất nhiều thiết bi (tất nhiên là không tại cùng một thời điểm) Mỗi thiết bi có thể nhận được sự chú ý của bộ vi điều khiển dựa trên mức ưu tiên cho các thiết bi vì nó kiểm tra tất cả các thiết bi theo kiểu xoay vòng Quan trọng hơn là trong phương pháp ngắt thì bộ vi điều khiển cũng có thể che hoặc làm lơ một yêu cầu dịch vụ của thiết bi Điều này lại một... thiết bi Sau đó chuyển sang hiển thị trạng thái của thiết bi kế tiếp cho đến khi tất cả đều được phục vụ Mặc dù phương pháp thăm dò có thể hiển thị tình trạng của một vài thiết bi và phục vụ mỗi thiết bi khi các điều kiện nhất định được thỏa mãn nhưng nó không tận dụng hết công dụng của bộ vi điều khiển Điểm mạnh của phương pháp ngắt là bộ vi điều. .. sử dụng thiết bị - Khi ta muốn xóa các dữ liệu đã được nạp trước đó thì từ bàn phím ma trận ta nhập số 99 rồi nhấn vào nút CLR Mọi dữ liệu về giọng nói lúc này sẽ bi xóa và ta phải cài đặt lại khi muốn tiếp tục sử dụng, việc cài đặt này khá đơn gia n, chỉ cần một vài thao tác là chúng ta có thể cài đặt giọng nói vào một cách dễ dàng - Để cài tín hiệu giọng. .. ngay trong lúc vi điều khiển đang hoạt động và không bi mất dữ liệu khi nguồn cung cấp bi mất Với vi điều khiển AT mega8, bộ nhớ EEPROM có kích thước là 4K byte EEPROM được xem như là một bộ nhớ vào ra được đánh địa chỉ độc lập với SRAM Để điều khiển vào ra dữ liệu với EEPROM ta sử dụng ba thanh ghi: + Thanh ghi EEAR (EEARL): Đây là thanh ghi 16 bit lưu giữ địa... thời gian của bộ vi điều khiển bằng cách hỏi dò từng thiết bi kể cả khi chúng không cần đến dịch vụ + Trình phục vụ ngắt của bảng Vector ngắt Đối với mỗi ngắt thì phải có một trình phục vụngắt ISR (Interrupt Service Ruotine) hay trình quản lý ngắt (Interrupt handler) Khi một ngắt được gọi thì bộ vi điều khiển phục vụ ngắt Khi một ngắt được gọi thì bộ vi điều. .. vào hơn, các thanh ghi chú trong bộ nhớ sẽ giúp ta thiết lập các lựa chọn này + Bộ bi n đổi ADC Bộ bi ́n đổi ADC có chức năng bi ́n đổi tín hiệu tương tự (analog signal) có giá trị thay đổi trong một dải bi ́t trước thành tín hiệu số(digital signal) Bô ADC của Atmega8 có độ phân gia i 10 bit, sai số tuyệt đối là 2LSB, dải tín hiệu ngõ vào từ 0V- Vcc, tín hiệu ngõ vào có nhiều... ta set tất cả 8 bit của thanh ghi DDRA đều là 1, thì 8 chân tương ứng của PortA, là PA1, PA2, … PA7 (tương ứng với các chân của vi điều khiển) được thiết lập thành ngõ ra • Thanh ghi PORTx PORTx là thanh ghi 8 bit có thể đọc ghi Đây là thanh ghi dữ liệu của PORTx Nếu thanh ghi DDRx thiết lập cổng là lối ra, khi đó gia trị của thanh ghi PORTx cũng là gia trị của các