VÍ DỤ 42 YÊU CẦU BÀI TOÁN SỬ DỤNG CẤU TRÚC WHILE DO ĐỂ THỰC THI PHÁT BIỂU KHI THANH GHI A KHÁC 0DH VÀ THANH GHI R7 KHÁC 0

Tìm thấy 10,000 tài liệu liên quan tới từ khóa "VÍ DỤ 42 YÊU CẦU BÀI TOÁN SỬ DỤNG CẤU TRÚC WHILE DO ĐỂ THỰC THI PHÁT BIỂU KHI THANH GHI A KHÁC 0DH VÀ THANH GHI R7 KHÁC 0":

Nghiên cứu, thiết kế, chế tạo, mạch điều khiển tốc động cơ DC

NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO, MẠCH ĐIỀU KHIỂN TỐC ĐỘNG CƠ DC

Mục lục
LỜI NÓI ĐẦU 3
PHẦN I: CƠ SỞ LÍ LUẬN 5
1.1 Vi điều khiển PIC16F877A 5
1.1.1 Khái quát về vi điều khiển PIC16F877A 5
1.1.2 Tìm hiểu về vi điều khiển PIC16F877A 8
1.2 Một số linh kiện khác 18
1.2.1 IRFZ44N 18
1.2.2 PC817 19
1.2.3 IC7812 IC7805 20
1.2.4 IR2184………………………………………………………………………………………………..20
1.2.5 Động cơ DC 23
1.2.6 Giới thiệu mạch cầu H dùng mosfet………………………………………………….......28
PHẦN II THIẾT KẾ VÀ THI CÔNG 31
2.1 Phần Cứng 31
2.1.1 Sơ đồ khối 31
2.1.2 Mạch điều khiển 32
2.1.3 Mạch công suất 33
2.1.5 Mạch nguyên lý hoàn thiện. 35
2.2 Chương trình 36
KẾT LUẬN......................................................................................................................................... 39

PHẦN I:CƠ SỞ LÍ LUẬN
1.1 Vi điều khiển PIC16F877A
1.1.1 Khái quát về vi điều khiển PIC16F877A
1.1.1.1 Sơ đồ chân và sơ đồ nguyên lí của PIC16F877A
Sơ đồ chân

Sơ đồ nguyên lý

1.1.1.2. Nhận xét
Từ sơ đồ chân và sơ đồ nguyên lý ở trên, ta rút ra các nhận xét ban đầu như sau :
PIC16F877A có tất cả 40 chân
40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chan thạch anh và một chân dùng để RESET vi điều khiển.
5 port của PIC16F877A bao gồm :
+ PORTB : 8 chân
+ PORTD : 8 chân
+ PORTC : 8 chân
+ PORTA : 6 chân
+ PORT E : 3 chân
1.1.1.3. Khái quát về chức năng của các port trong vi điều khiển PIC16F877A
PORTA
PORTA gồm có 6 chân. Các chân của PortA, ta lập trình để có thể thực hiện được chức năng “hai chiều” : xuất dữ liệu từ vi điều khiển ra ngoại vi và nhập dữ liệu từ ngoại vi vào vi điều khiển.
Việc xuất nhập dữ liệu ở PIC16F877A khác với họ 8051. Ở tất cả các PORT của PIC16F877A, ở mỗi thời điểm chỉ thực hiện được một chức năng :xuất hoặc nhập. Để chuyển từ chức năng này nhập qua chức năng xuất hay ngược lại, ta phải xử lý bằng phần mềm, không như 8051 tự hiểu lúc nào là chức năng nhập, lúc nào là chức năng xuất.
Trong kiến trúc phần cứng của PIC16F877A, người ta sử dụng thanh ghi TRISA ở địa chỉ 85H để điều khiển chức năng IO trên. Muốn xác lập các chân nào của PORTA là nhập (input) thì ta set bit tương ứng chân đó trong thanh ghi TRISA. Ngược lại, muốn chân nào là output thì ta clear bit tương ứng chân đó trong thanh ghi TRISA. Điều này hoàn toàn tương tự đối với các PORT còn lại
Ngoài ra, PORTA còn có các chức năng quan trọng sau :
Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sang Digital
Ngõ vào điện thế so sánh
Ngõ vào xung Clock của Timer0 trong kiến trúc phần cứng : thực hiện các nhiệm vụ đếm xung thông qua Timer0…
Ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port)
PORTB
PORTB có 8 chân. Cũng như PORTA, các chân PORTB cũng thực hiện được 2 chức năng : input và output. Hai chức năng trên được điều khiển bới thanh ghi TRISB. Khi muốn chân nào của PORTB là input thì ta set bit tương ứng trong thanh ghi TRISB, ngược lại muốn chân nào là output thì ta clear bit tương ứng trong TRISB.
Thanh ghi TRISB còn được tích hợp bộ điện trở kéo lên có thể điều khiển được bằng chương trình.
PORTC
PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên.
Ngoài ra PORTC còn có các chức năng quan trọng sau :
Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng
Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ v.v….
Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART
PORTD
PORTD có 8 chân. Thanh ghi TRISD điều khiển 2 chức năng input và output của PORTD tương tự như trên. PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếp song song PSP (Parallel Slave Port).
PORTE
PORTE có 3 chân. 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 đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP.

1.1.2 Tìm hiểu về vi điều khiển PIC16F877A
1.1.2.1 Cấu trúc phần cứng của PIC16F877A
PIC là tên viết tắt của “ Programmable Intelligent computer” do hãng General Instrument đặt tên cho con vi điều khiển đầu tiên của họ. Hãng Micrchip tiếp tục phát triển sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau.
PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả các ứng dụng thực tế. Đây là dòng PIC khá dễ cho người mới làm quen với PIC có thể học tập và tạo nền tản về họ vi điều khiển PIC của mình.
Cấu trúc tổng quát của PIC16F877A như sau :
8K Flash Rom
368 bytes Ram
256 bytes EFPROM
5 port vào ra với tín hiệu điều khiển độc lập
2 bộ định thời Timer0 và Timer2 8 bit
1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm năng lượng với nguồn xung clock ngoài
2 bộ Capture Compare PWM
1 bộ biến đổi Analog > Digital 10 bit, 8 ngõ vào
2 bộ so sánh tương tự
1 bộ định thời giám sát (Watch Dog Timer)
1 cổng song song 8 bit với các tín hiệu điều khiển
1 cổng nối tiếp
15 nguồn ngắt

Sơ đồ khối vi điều khiển 16F877A

1.1.2.2 Tổ chức bộ nhớ PIC16F877A
Bộ nhớ chương trình

Bộ nhớ chương trình PIC16F877A
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ Flash, dung lượng 8K word (1 word chứa 14bit) và được phân thành nhiều trang như hình trên.
Để mã hóa được địa chỉ 8K word bộ nhớ chương trình, thanh ghi đếm chương trình PC có dung lượng 13 bit.
Khi vi điều khiển reset, bộ đếm chương trình sẽ trỏ về địa chỉ 0000h. Khi có ngắt xảy ra thì thanh ghi PC sẽ trỏ đế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ớ dữ liệu
Bộ nhớ dữ liệu của PIC16F877A được chia thành 4 bank. Mỗi bank có dụng lượng 128 byte.
Nếu như 2 bank bộ nhớ dữ liệu của 8051 phân chia riêng biệt : 128 byte đầu tiên thuộc bank1 là vùng Ram nội chỉ để chứa dữ liệu, 128 byte còn lại thuộc bank 2 là cùng các thanh ghi có chức năng đặc biệt SFR mà người dùng không được chứa dữ liệu khác trong đây thì 4 bank bộ nhớ dữ liệu của PIC16F877A được tổ chức theo cách khác.
Mỗi bank của bộ nhớ dữ liệu PIC16F877A bao gồm cả các thanh ghi có chức năng đặc biệt SFR nằm ở các các ô nhớ địa chỉ thấp và các thanh ghi mục đích dùng chung GPR nằm ở vùng địa chỉ còn lại của mỗi bank thanh ghi. Vùng ô nhớ các thanh ghi mục đích dùng chung này chính là nơi người dùng sẽ lưu dữ liệu trong quá trình viết chương trình. Tất cả các biến dữ liệu nên được khai báo chứa trong vùng địa chỉ này.
Trong cấu trúc bộ nhớ dữ liệu của PIC16F877A, các thanh ghi SFR nào mà thường xuyên được sử dụng (như thanh ghi STATUS) sẽ được đặt ở tất cả các bank để thuận tiện trong việc truy xuất. Sở dĩ như vậy là vì, để truy xuất một thanh ghi nào đó trong bộ nhớ của 16F877A ta cần phải khai báo đúng bank chứa thanh ghi đó, việc đặt các thanh ghi sử dụng thường xuyên giúp ta thuận tiên hơn rất nhiều trong quá trình truy xuất, làm giảm lệnh chương trình.

Sơ đồ bộ nhớ dữ liệu của PIC16F877A
Dựa trên sơ đồ 4 bank bộ nhớ dữ liệu PIC16F877A ta rút ra các nhận xét như sau :
Bank0 gồm các ô nhớ có địa chỉ từ 00h đến 77h, trong đó các thanh ghi dùng chung để chứa dữ liệu của người dùng địa chỉ từ 20h đến 7Fh. Các thanh ghi PORTA, PORTB, PORTC, PORTD, PORTE đều chứa ở bank0, do đó để truy xuất dữ liệu các thanh ghi này ta phải chuyển đến bank0. Ngoài ra một vài các thanh ghi thông dụng khác ( sẽ giới thiệu sau) cũng chứa ở bank0
Bank1 gồm các ô nhớ có địa chỉ từ 80h đến FFh. Các thanh ghi dùng chung có địa chỉ từ A0h đến Efh. Các thanh ghi TRISA, TRISB, TRISC, TRISD, TRISE cũng được chứa ở bank1
Tương tự ta có thể suy ra các nhận xét cho bank2 và bank3 dựa trên sơ đồ trên.
Cũng quan sát trên sơ đồ, ta nhận thấy thanh ghi STATUS, FSR… có mặt trên cả 4 bank. Một điều quan trọng cần nhắc lại trong việc truy xuất dữ liệu của PIC16F877A là : phải khai báo đúng bank chứa thanh ghi đó. Nếu thanh ghi nào mà 4 bank đều chứa thì không cần phải chuyển bank.
1.1.2.3 Một vài thanh ghi chức năng đặc biệt SFR
Thanh ghi STATUS: thanh ghi này có mặt ở cả 4 bank thanh ghi ở các địa chỉ 03h, 83h, 103h và 183h : chứa kết quả thực hiện phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất trong bộ nhớ dữ liệu.

Thanh ghi OPTION_REG : có mặt ở bank2 và bank3 có địa chỉ 81h và 181h. Thanh ghi này cho phép đọc và ghi, cho phép điều khiển chức năng pull_up của các chân trong PORTB, xác lập các tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0

Thanh ghi INTCON : có mặt ở cả 4 bank ở địa chỉ 0Bh,8Bh,10Bh,18Bh. Thanh ghi cho phép đọc và ghi, chứa các bit điều khiển và các bit báo tràn timer0, ngắt ngoại vi RB0INT và ngắt khi thay đổi trạng thái tại các chân của PORTB.

Thanh ghi PIE1 :địa chỉ 8Ch, chứa các bit điều khiển chi tiết các ngắt của các khối chức năng ngoại vi.

Thanh ghi PIR1 : địa chỉ 0Ch, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.

Thanh ghi PIE2 : địa chỉ 8Dh, chứa các bit điều khiển các ngắt của các khối chức năng CCP, SSP bú, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM.

Thanh ghi PIR2: địa chỉ 0Dh, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2

Thanh ghi PCON : địa chỉ 8Eh, chứa các cờ hiệu cho biết trạng thái các chế độ reset của vi điều khiển.

1.1.2.4 Thanh ghi W(work)
Đây là thanh ghi rất đặc biệt trong PIC16F877A. Nó có vai trò tương tự như thanh ghi Accummulator của 8051, tuy nhiên tầm ảnh hưởng của nó rộng hơn rất nhiều.
Tập lệnh của PIC16F877A có tất cả 35 lệnh thì số lệnh có sự “góp mặt” của thanh ghi W là 23 lệnh. Hầu hết các lệnh của PIC16F877A đều liên quan đến thanh ghi W. Ví dụ như, trong PIC chúng ta không được phép chuyển trực tiếp giá trị của một thanh ghi này qua thanh ghi khác mà phải chuyển thông qua thanh ghi W.
Thanh ghi W có 8 bit và không xuất hiện trong bất kỳ bank thanh ghi nào của bộ nhớ dữ liệu của 16F877A. Mỗi dòng lệnh trong PIC16F877a được mô tả trong 14 bit. Khi ta thực hiện một lệnh nào đó, nó phải lưu địa chỉ của thanh ghi bị tác động (chiếm 8 bit) và giá trị một hằng số k nào đó (thêm 8 bit nữa) là 16 bit, vượt quá giới hạn 14 bit. Do vậy ta không thể nào tiến hành một phép tính toàn trực tiếp nào giữa 2 thanh ghi với nhau hoặc giữa một thanh ghi với một hằng số k. Hầu hết các lệnh của PIC16F877A đều phải liên quan đến thanh ghi W cũng vì lý do đó. Khi thực hiện một dòng lệnh nào đó, thì PIC sẽ không phải tốn 8 bit để lưu địa chỉ của thanh ghi W trong mã lệnh ( vì được hiểu ngầm). Có thể xem thanh ghi W là thanh ghi trung gian trong quá trình viết chương trình cho PIC16F877A.
1.1.2.5 Các vấn đề về Timer
PIC16F877A có tất cả 3 timer : timer0 (8 bit), timer1 (16 bit) và timer2 (8 bit).
Timer0

Sơ đồ khối của Timer0
Cũng giống như 8051, Timer0 của 16F877A cũng có 2 chức năng : định thời và đếm xung. 2 chức năng trên có thể được lựa chọn thông qua bit số 5 TOCS của thanh ghi OPTION.
Ngoài ra, ta cũng có thể lựa chọn cạnh tích cực của xung clock, cạnh tác động ngắt…thông qua thanh ghi trên.
Timer0 được tích hợp thêm bộ tiền định 8 bit (prescaler), có tác dụng mở rộng “dung lượng” của Timer0. Bộ prescaler này có thể được điều chỉnh bởi các 3 bit PS2:PS0 trong thanh ghi OPTION. Nó có thể có giá trị 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128, 1:256 tùy thuộc vào việc thiết lập các giá trị 0 ,1 cho 3 bit trên.
Bộ tiền định có giá trị 1:2 chẳng hạn ,có nghĩa là : bình thường không sử dụng bộ tiền định của Timer0 (đồng nghĩa với tiền định tỉ lệ 1:1) thì cứ khi có tác động của 1 xung clock thì timer0 sẽ tăng thêm một đơn vị. Nếu sử dụng bộ tiền định 1:4 thì phải mất 4 xung clock thì timer0 mới tăng thêm một đơn vị. Vô hình chung, giá trị của timer0 (8 bit) lúc này không còn là 255 nữa mà là 2554=1020.
Các thanh ghi liên quan đến Timer0 bao gồm :
TMR0 : chứa giá trị đếm của Timer0
INTCON : cho phép ngắt hoạt động
OPTION_REG : điều khiển prescaler
Timer1
Xem thêm

39 Đọc thêm

NGHIÊN CỨU DÙNG SMARTPHONE ĐỂ MỞ KHÓA VÀ CHỐNG TRỘM CHO XE MÁY

NGHIÊN CỨU DÙNG SMARTPHONE ĐỂ MỞ KHÓA VÀ CHỐNG TRỘM CHO XE MÁY

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC KINH TẾ
KỸ THUẬT CÔNG NGHIỆP
KHOA ĐIỆN TỬ



BÁO CÁO TỔNG KẾT KHOA HỌC
TÊN ĐỀ TÀI
NGHIÊN CỨU DÙNG SMARTPHONE ĐỂ MỞ KHÓA VÀ CHỐNG TRỘM CHO XE MÁY


GVHD: GVCThS. Đỗ Thị Thu Dung
SVTH: MSSV:
1. Đỗ Trọng Chinh 1151070006
2. Nguyễn Đình Hồng 1151070026
3. Vũ Thị Mến 1151070043
4. Nguyễn Văn Minh 1151070044



Hà Nội, 052015


MỤC LỤC

Danh mục bảng biểu 2
Danh mục hình vẽ 2
Danh mục ký hiệu các chữ viết tắt 3
Lời mở đầu 4
Giới thiệu chung 5
1. Lý do chọn đề tài 5
2. Mục đích của đề tài 5
3. Đối tượng và phạm vi nghiên cứu 5
4. Hướng nghiên cứu và phát triển 5
Chương 1 Sự tương tác giữa điện thoại và các thiết bị ngoại vi 7
1.1. Tương tác qua sóng Bluetooth 7
1.2. Tương tác qua sóng vô tuyến RF 11
1.3. Tương tác qua giao tiếp hồng ngoại 12
1.4. Giao tiếp gần NFC 13
Chương 2 Phương thức hoạt động của sóng Bluetooth 15
2.1. Giới thiệu về Bluetooth 15
2.2. Cấu tạo của mạch Blutooth 16
2.3. Nguyên lý hoạt động của Bluetooth 18
2.4. Ứng dụng của Bluetooth 18
Chương 3 Sử dụng giao tiếp Bluetooth để điều khiển và làm thiết bị an ninh cho phương tiện giao thông 21
3.1. Các chức năng cần cho mạch điều khiển và chống trộm xe máy 21
3.2. Tìm hiểu về module Bluetooth HC05 21
3.3. Tìm hiểu về Chip Atmega8 25
3.4. Thiết kế và lập trình cho mạch điều khiển 32
Chương 4: Kết quả nghiên cứu và hướng phát triển của đề tài 45
4.1. Kết quả nghiên cứu 45
4.2. Hướng phát triển của đề tài 46
Kiến nghị các hướng nghiên cứu tiếp theo 47
Tài liệu tham khảo 48




DANH MỤC BẢNG BIỂU

Bảng 3.1. Các nguồn Clock tương ứng với việc thiết lập các FUSE tương ứng 26
Bảng 3.2. Sử dụng mạch RC thích hợp trong Chip 27
Bảng 3.3. 19 tín hiệu ngắt theo mức ưu tiên từ cao xuống thấp ở Atmega8 28
Bảng 3.4. Bảng trạng thái thanh ghi MCUCR 29
Bảng 3.5. Sự liên hệ giữa UBRR và tốc độ Baud 30


DANH MỤC HÌNH VẼ

Hình 1.1. Ký hiệu Bluetooth (trên điện thoại di động) 7
Hình 1.2. Mô phỏng sự kết nối giữa các thiết bị dùng Bluetooth 8
Hình 1.3. Bluetooth MDU 0001 và Bluetooth mouse 10
Hình 1.4. Lenovo IdeaPad S103t 10
Hình 1.5. Đồng hồ Citizen W700 hỗ trợ Bluetooth 11
Hình 1.6. Sử dụng sự tương tác qua sóng vô tuyến RF 11
Hình 1.7. Sử dụng sự tương tác qua giao tiếp hồng ngoại 13
Hình 1.8. Sử dụng sự tương tác qua giao tiếp gần 13
Hình 1.9. Sử dụng sự tương tác qua giao tiếp gần 14
Hình 2.1. Sơ đồ chân IC HC05 16
Hình 2.2. Module mạch thu phát sóng Bluetooth 17
Hình 3.1. Sơ đồ chân HC05 21
Hình 3.2. Module Bluetooth HC05 22
Hình 3.3. Cửa sổ giao diện giao tiếp với cổng Serial 23
Hình 3.4. Sơ đồ chân IC Atmega8 26
Hình 3.5. Mạch dao động sử dụng thạch anh ngoài 27
Hình 3.6. Thanh ghi MCUCR 29
Hình 3.7. Thanh ghi GICR 29
Hình 3.8. Thanh ghi cờ ngắt 29
Hình 3.9. Thanh ghi UCSRA 31
Hình 3.10. Thanh ghi UCSRB 31
Hình 3.11. Thanh ghi UCSRC 31
Hình 3.12. Sơ đồ nguyên lý mạch mở khóa và chống trộm 32
Hình 3.13. Khối reset 32
Hình 3.14. Khối dao động thạch anh 33
Hình 3.15. Khối nguồn 33
Hình 3.16. Khối đầu ra điều khiển 34
Hình 3.17. Khối điều khiển tự động 35
Hình 3.18. Jack cắm cho module Bluetooth HC05 35
Hình 3.19. Sơ đồ mạch in mạch mở khóa và chống trộm 35
Hình 3.20. Mạch thiết kế điều khiển mở khóa và chống trộm 36
Hình 3.21. Sơ đồ mạch nguyên lý của tag điều khiển 39
Hình 3.22. Sơ đồ mạch in của tag điều khiển 40
Hình 3.23. Mạch thiết kế của tag điều khiển 40
Hình 4.1. Phần module gắn trên xe máy 45
Hình 4.2. Phần tag điều khiển (remote) 46


DANH MỤC KÝ HIỆU CÁC CHỮ VIẾT TẮT

Ký hiệu Nghĩa tiếng Anh Nghĩa tiếng Việt
ISM Industrial, Scientific, Medical (band) Băng tần cho công nghiệp, khoa học và y tế
BSIG (SIG) Bluetooth Special Interest Group Tổ chức gồm các công ty hàng đầu trong lĩnh vực viễn thông, máy tính và công nghiệp mạng đang phát triển công nghệ Bluetooth
PC Personal Computer Máy tính cá nhân
PDA Personal Digital Assistant Thiết bị hỗ trợ cá nhân
RF Radio Frequency Tần số vô tuyến
NFC NearField Communication Giao tiếp gần
HĐH Hệ điều hành
ĐTDĐ Điện thoại di động
VĐK Vi điều khiển







LỜI MỞ ĐẦU

Ngày nay, điện thoại di động đã trở thành một trong những công cụ liên lạc thiết yếu của con người. Không chỉ thế, ngoài chức năng liên lạc, cùng với sự phát triển của công nghệ, sự kết nối toàn cầu, điện thoại di động còn được trang bị nhiều ứng dụng giải trí, định vị, mua sắm, thanh toán trực tuyến,…chúng gọi chung là điện thoại thông minh Smartphone.
Cuộc sống hiện đại và mọi thứ sẽ trở nên tiện lợi hơn, dễ dàng hơn khi những thao tác trên được số hóa gọn nhẹ nhanh chóng và tập trung vào một vật bất ly thân của bạn là chiếc Smartphone. Điều khiển các thiết bị và tìm kiếm chúng bằng Smartphone thông qua sóng Bluetooth, một công nghệ không phải quá mới nhưng chưa được dùng nhiều trên các thiết bị ở thị trường Việt Nam hiện nay, một công nghệ mang lại lợi ích thiết thực cho người dùng. Mặt khác, để thực hiện học đi đôi với hành, áp dụng các kiến thức đã được học trên ghế nhà trường với thực tế cuộc sống, nhóm sinh viên quyết định đi sâu nghiên cứu công nghệ không dây Bluetooth của các thiết bị điện tử chạy trên nền hệ điều hành Android với chủ đề “Nghiên cứu dùng Smartphone để mở khóa và chống trộm cho xe máy”.
Thực tế trong cuộc sống hiện nay, sinh viên sử dụng điện thoại di động và đi xe máy là phổ biến. Các hiện tượng mất trộm đôi khi xảy ra trong trường cũng như nơi ở làm cho sinh viên rất bức xúc với tệ nạn xã hội này vì chúng tôi đang đi học, chưa kiếm được tiền, chỉ nhờ sự chu cấp của cha mẹ. Trong chương trình học chúng tôi lại được học về các hệ thống thông tin viễn thông nên chúng tôi có ý tưởng sử dụng hệ thống thông tin viễn thông điều khiển từ xa để có thể mở khóa và chống trộm cho xe máy, bảo vệ tài sản riêng cho mỗi người.

Nhóm tác giả sinh viên










GIỚI THIỆU CHUNG

1. Lý do chọn đề tài
Trong thực tế, sinh viên sử dụng điện thoại di động và đi xe máy là phổ biến. Các hiện tượng mất trộm đôi khi xảy ra trong trường cũng như nơi ở làm sinh viên rất bức xúc với tệ nạn xã hội này, vì chúng tôi đang đi học, chưa kiếm được tiền, chỉ nhờ sự chu cấp của cha mẹ. Trong chương trình học chúng tôi lại được học về các hệ thống thông tin viễn thông, để thực hiện học đi đôi với hành – đưa kiến thức đã được học vào đời sống thực tế nên chúng tôi có ý tưởng sử dụng hệ thống thông tin viễn thông điều khiển từ xa để có thể mở khóa và chống trộm cho xe máy, bảo vệ tài sản riêng cho mỗi người.
2. Mục đích của đề tài
Cùng với sự phát triển rất nhanh của công nghệ số, đặc biệt là thiết bị smartphone đã ra đời, chúng gần như là một vật bất ly thân và là người trợ lý tuyệt vời. Vậy tại sao ta không thể biến nó như một chiếc Remote để có thể đóng mở khóa chiếc xe của bạn thật đơn giản và nhanh chóng hơn. Ý tưởng triển khai đề tài nghiên cứu khoa học này nhằm tạo ra một thiết bị giúp việc mở khóa và đảm bảo an ninh cho xe máy bằng điện thoại Smartphone tốt hơn. Nhờ vậy mà ta có thể mở khóa xe một cách dễ dàng hơn, ngay cả khi ta quên chìa khóa cũng như đánh mất chìa khóa. Hoặc trong những lúc có kẻ gian lợi dụng sự mất tập trung cảnh giác để ăn cắp xe, thì nhờ thiết bị sẽ gửi cảnh báo về cho xe, cũng như phục vụ cho công tác truy tìm kẻ gian và tìm lại xe. Ý tưởng được đề xuất ra với mục đích giúp cho cuộc sống thêm tiện lợi và an toàn hơn..
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Chúng tôi tìm hiểu về khả năng giao tiếp, khả năng hoạt động, những ứng dụng có thể sử dụng của công nghệ giao tiếp Bluetooth và các thiết bị chạy hệ điều hành Android, nhằm ứng dụng nó vào việc đóng mở khóa và chống trộm cho xe, cụ thể là xe máy.
Phạm vi nghiên cứu:
Chúng tôi sẽ vận dụng các kiến thức đã được học trong phạm vi ngành điện tử truyền thông. Chúng tôi sẽ nghiên cứu thiết kế mạch cơ bản, sử dụng ngôn ngữ lập trình đã học, làm báo cáo chi tiết và cũng làm ra sản phẩm mô hình thực tế.
4. Hướng nghiên cứu và phát triển
Hướng nghiên cứu của đề tài là sẽ làm ra một mô hình sản phẩm thực tế, qua đó nhờ các phương pháp đo đạc, đánh giá kết quả và đem nó vào thực tế để so sánh thực nghiệm xem thiết bị có những hạn chế gì, tìm cách đưa ra giải pháp và hướng phát triển trong tương lai. Hướng phát triển trong tương lai là biến thiết bị của ta nhỏ gọn hơn, đa chức năng hơn, ổn định hơn và quan trọng là hữu ích dễ sử dụng, giá thành chi phí thấp.

CHƯƠNG 1 – SỰ TƯƠNG TÁC GIỮA ĐIỆN THOẠI DI ĐỘNG VÀ CÁC THIẾT BỊ NGOẠI VI

1.1. Tương tác qua sóng Bluetooth
1.1.1. Khái niệm Bluetooth
Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp với nhau trong khoảng cách ngắn, bằng sóng vô tuyến qua băng tần chung ISM (Industrial, Scientific, Medical) trong dải tần 2,40–2,48 GHz và có khả năng truyền tải giọng nói và dữ liệu.
Phạm vi hoạt động của thiết bị Bluetooth là khoảng 10m. Bluetooth truyền dữ liệu với tốc độ 1 Mbps, nhanh gấp 3 và 8 lần tốc độ trung bình của cổng song song và cổng nối tiếp tương ứng. Đây là dãy băng tần không cần đăng ký được dành riêng để dùng cho các thiết bị không dây trong công nghiệp, khoa học và y tế.
Bluetooth được thiết kế nhằm mục đích thay thế dây cáp giữa máy tính và các thiết bị truyền thông cá nhân, kết nối vô tuyến giữa các thiết bị điện tử lại với nhau một cách thuận lợi với giá thành rẻ.
Khi được kích hoạt Bluetooth có thể tự động định vị những thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng. Nó được định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói.











Công nghệ không dây Bluetooth là một tiêu chuẩn trong thực tế, dùng cho các thiết bị cỡ nhỏ, chi phí thấp, sóng ngắn liên kết giữa PC di động, điện thoại di động và giữa các máy tính với nhau. Bluetooth Special Interest Group (BSIG) là tổ chức gồm những công ty hàng đầu trong lĩnh vực viễn thông, máy tính và công nghiệp mạng đang cố gắng phát triển công nghệ này và cung cấp rộng rãi trên thị trường.
Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần cáp và dây dẫn. Bluetooth ít tiêu hao năng lượng và có giá thành thấp mặc dù tốc độ của nó chậm hơn khá nhiều so với mạng không dây WiFi. Apple đã trang bị chức năng hỗ trợ Bluetooth vào hệ máy Mac của mình trong nhiều năm để kích hoạt khả năng hoạt động với các thiết bị bàn phím và chuột không dây hỗ trợ Bluetooth, đồng bộ hoá dữ liệu với điện thoại di động (ĐTDĐ) và thiết bị hỗ trợ cá nhân PDA, in ấn với các máy in hỗ trợ Bluetooth và kết nối đến các thiết bị khác.













Bluetooth đã phải đối mặt với cuộc chiến đang leo thang giữa các nhà sản xuất PC nhưng ngược lại, công nghệ Bluetooth là đứa con cưng của các hãng sản xuất ĐTDĐ vì đại đa số các ĐTDĐ đều có hỗ trợ Bluetooth cũng như các thiết bị headset không dây. Trong tương lai, công nghệ Bluetooth phiên bản mới sẽ tiếp tục phát triển rộng hơn ở nhiều lĩnh vực.
1.1.2. Các đặc điểm của Bluetooth
Bluetooth có thể đạt được tốc độ truyền dữ liệu 1Mbps (do sử dụng tần số cao) mà các thiết bị không cần phải lấy trực tiếp nhau.Bluetooth hỗ trợ tốc độ truyền tải dữ liệu lên tới 720 Kbps trong phạm vi 10m. Khác với kết nối hồng ngoại (IrDA), kết nối Bluetooth là vô hướng và sử dụng dải tần 2,4 GHz trên dãy băng tần ISM.
Tiêu thụ năng lượng thấp, cho phép ứng dụng được trong nhiều loại thiết bị, bao gồm cả các thiết bị cầm tay và điện thoại di động.
Giá thành hạ (giá một con chip Bluetooth đang giảm dần).
Khoảng cách giao tiếp cho phép:
+ Khoảng cách giữa hai thiết bị đầu cuối có thể lên đến 10m ngoài trời và 5m trong tòa nhà.
+ Khoảng cách thiết bị đầu cuối và Access point có thể lên tới 100m ngoài trời và 30m trong nhà.
Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng.
Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếng nói là 7 kênh để truyền dữ liệu trong một mạng cá nhân.
An toàn và bảo mật: được tích hợp với sự xác nhận và mã hóa.
Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ.
1.1.3. Ứng dụng của Bluetooth
1.1.3.1. Thiết bị thông minh
Gồm có các loại điện thoại di động: PDA thiết bị hỗ trợ cá nhân, PC, cellphone, laptop, notebook,.. Điện thoại di động: Samsung S5620 monte, HTC legend, Puma phone…Công nghệ Bluetooth gắn sẵn trên thiết bị di động, máy tính chỉ cần cài drive nên không cần dùng cáp. Camera kỹ thuật số hay máy tính cho phép người dùng xem tivi, chụp ảnh, quay phim, nghe MF3, FM, duyệt web và email từ điện thoại, kết nối 3G, AGPS, GPS, EDGE, GPRS, HSDPA, Bluetooth và WLAN…, truyền các máy in, máy ảnh số… với nhau mà không cần nối dây.
1.1.3.2. Thiết bị truyền thanh
Gồm các loại tai nghe (headset), loa và các trạm thu âm thanh… Jabra, hãng sản xuất phụ kiện cho điện thoại di động vừa ra mắt BT3030, tai nghe Bluetooth vượt trội về kiểu dáng lẫn thiết kế. Đây là sản phẩm công nghệ mới nhất của Jabra, nó được chế tạo giống như vòng thẻ đeo cổ truyền thống của lính Mỹ. BT3030 hỗ trợ chuẩn Bluetooth 2.0+ EDR (chuẩn mới nhất), HSP, HFP, A2DP và AVRCP. Ngoài ra với 6 nút nhấn rất tiện dụng để gửi và nhận cuộc gọi kết hợp điều khiển nghe nhạc và tất nhiên nó sẽ tự hạ thấp âm lượng nhạc phát khi có cuộc gọi đến.
1.1.3.3. Thiết bị truyền dữ liệu
Gồm chuột, bàn phím, joystick, camera, bút kỹ thuật số, máy in, LAN access point, máy tính nhận diện khuôn mặt, bàn phím nhận diện….dùng để kết nối Internet hoặc mạng cục bộ bằng điện thoại. Nó hoạt động 100m; ngõ RS232 qua cổng COM. Tốc độ 56Kbps.
















Bluetooth MDU 0001 USB là thiết bị kết nối không dây sử dụng công nghệ Bluetooth class 2, vùng phủ sóng bán kính 10m; nối với PC qua USB 1.1. Tuy nhỏ như đầu ngón tay nhưng thiết bị được tích hợp gần như tất cả các chuẩn giao tiếp hiện có, ví dụ: RS232, FTP, Dial up, Fax, OBEX (chuẩn đồng bộ hóa dữ liệu cho PDA)…, nên khi lắp MDU 0001 USB vào thì vô hình trung PC của bạn biến thành một đài phát sóng. Ngược lại PC này cũng có thể dò tìm và kết nối đến tất cả máy tính, PDA đang trong vùng phủ sóng. Cắm thiết bị, cài đặt driver, khởi động lại máy là tất cả các máy tính trong bán kính 10m có thể kết nối, trao đổi dữ liệu với nhau.
1.1.3.4. Các ứng dụng nhúng
Điều khiển nguồn năng lượng trong xe hơi, các loại nhạc cụ, trong công nghiệp, y tế…













1.1.3.5. Một số ứng dụng khác
Do số lượng công ty tham gia vào tổ chức SIG ngày càng nhiều vì vậy số lượng các loại sản phẩm được tích hợp công nghệ Bluetooth được tung ra thị trường ngày càng nhiều, bao gồm cả các thiết bị dân dụng như tủ lạnh, lò vi sóng, máy điều hòa nhiệt độ, các loại đồ chơi,…
Nhờ công nghệ Bluetooth, chiếc đồng hồ Citizen W700 này báo cho người sử dụng khi điện thoại di động của họ có cuộc gọi đến và hiển thị tất cả các thông tin thông qua một chức năng được gọi là ID.












1.2. Tương tác qua sóng vô tuyến RF.
1.2.1. Khái niệm
Điều khiển từ xa bằng tần số vô tuyến (RF) là loại điều khiển từ xa xuất hiện đầu tiên và đến nay vẫn giữ một vai trò quan trọng và phổ biến trong đời sống. Nếu điều khiển IR chỉ dùng trong nhà thì điều khiển RF lại dùng cho nhiều vật dụng bên ngoài như các thiết bị mở cửa gara xe, hệ thống báo hiệu cho xem các loại đồ chơi điện tử từ xa thậm chí kiểm soát vệ tinh và các hệ thống máy tính xách tay và điện thoại thông minh…








1.2.2. Hoạt động
Với loại điều khiển này, nó cũng sử dụng nguyên lý tương tự như điều khiển bằng tia hồng ngoại nhưng thay vì gửi đi các tín hiệu ánh sáng, nó lại truyền sóng vô tuyến tương ứng với các lệnh nhị phân. Bộ phận thu sóng vô tuyến trên thiết bị được điều khiển nhận tín hiệu và giải mã nó. Ưu điểm truyền xa hơn IR với khoảng cách khoảng 30m hoặc có thể lên tới 100m, truyền xuyên tường, kính… Khuyết điểm là bị nhiễu sóng do bên ngoài có rất nhiều các thiết bị máy móc sử dụng các tần số khác nhau. Khắc phục khuyết điểm tránh nhiễu sóng bằng cách truyền ở các tần số đặc biệt và nhúng mã kỹ thuật số địa chỉ của thiết bị nhận trong các tín hiệu vô tuyến. Điều này giúp bộ thu vô tuyến trên thiết bị hồi đáp tín hiệu tương ứng một cách chính xác.

1.3. Tương tác qua giao tiếp hồng ngoại
1.3.1. Khái niệm tia hồng ngoại (ánh sáng hồng ngoại)
Tia hồng ngoại là bức xạ điện từ có bước sóng trong khoảng từ 400.000nm đến 760.000nm, dài hơn bước sóng ánh sáng khả kiến nhưng ngắn hơn tia bức xạ vi ba. Tên “hồng ngoại” có nghĩa là “dưới mức đỏ”, màu đỏ là màu sắc có bước sóng dài nhất trong ánh sáng thường. Mọi vật có nhiệt độ lớn hơn 0 độ K đều phát ra tia hồng ngoại.
1.3.2. Hoạt động
Sóng hồng ngoại có những đặc tính quan trọng giống như ánh sáng ( sự hội tụ qua thấu kính, tiêu cự…). Ánh sáng thường và ánh sáng hồng ngoại khác nhau rất rõ trong sự xuyên suốt qua vật chất. Có những vật chất ta thấy nó một màu xám đục nhưng với ánh sáng hồng ngoại nó trở nên xuyên suốt. Vì vật liệu bán dẫn “trong suốt” đối với ánh sáng hồng ngoại, tia hồng ngoại không bị yếu đi khi vượt qua các lớp bán dẫn để đi ra ngoài.
Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó được ứng dụng rộng rãi trong công nghiệp, lượng thông tin có thể đạt được 3Mbits. Lượng thông tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với sóng điện từ mà ta vẫn dùng. Trong kỹ thuật truyền tin bằng sợi quang dẫn không cần các trạm khuếch đại giữa chừng, người ta có thể truyền một lúc 15000 điện thoại hay 12 kênh truyền hình qua một sợi tơ quang với đường kín 0,13mm với khoảng cách 10km đến 20km. Lượng thông tin truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với sóng điện từ mà ta vẫn dùng. Tia hồng ngoại dễ hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa chùm hồng ngoại phát đi hẹp, có hướng, do đó khi thu phải đúng hướng.

















1.4. Tương tác qua giao tiếp gần NFC
1.4.1. Khái niệm
NFC (NearField Communications) là công nghệ kết nối không dây phạm vi tầm ngắn trong khoảng cách 4cm, sử dụng cảm ứng từ trường để thực hiện kết nối giữa các thiết bị khi có sự tiếp xúc trực tiếp hay để gần nhau. NFC được phát triển dựa trên nguyên lý nhận dạng bằng tín hiệu tần số vô tuyến (Radio frequency identification RFID), hoạt động ở dải băng tần 13,56 MHz và tốc độ truyền tải dữ liệu tối đa 424 Kbps.














1.4.2. Ứng dụng
Do khoảng cách truyền dữ liệu khá ngắn nên giao dịch qua công nghệ NFC được xem là an toàn. Thiết bị được trang bị NFC thường là điện thoại di động, có thể giao tiếp với các thẻ thông minh, đầu đọc thẻ hoặc thiết bị NFC tương thích khác. Ngoài ra, NFC còn được kết hợp nhiều công nghệ sử dụng trong các hệ thống công cộng như bán vé, thanh toán hóa đơn…






























CHƯƠNG 2 – PHƯƠNG THỨC HOẠT ĐỘNG CỦA SÓNG BLUETOOTH

2.1. Giới thiệu về Bluetooth (công nghệ không dây Bluetooth)
2.1.1. Khái niệm
Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn này cho sản phẩm của mình. Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiêt bị có thể nhận ra và tương tác với nhau khi sử dụng công nghệ Bluetooth. Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị có sử dụng công nghệ Bluetooth. Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA (Prosonal Digital Assistant).
Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền thông với các thiết bị khác với một khoảng cách nhất định về cự ly để đảm bảo công suất cho việc phát và nhận sóng. Công nghệ này thường được sử dụng để truyền thông giữa hai loại thiết bị khác nhau. Ví dụ: Bạn có thể hoạt động trên máy tính với một bàn phím không dây, sử dụng bộ tai nghe không dây để nói chuyện trên điện thoại di động của bạn hoặc bổ sung thêm một cuộc hẹn vào lịch biểu PDA của một người bạn từ PDA của bạn.
2.1.2. Lịch sử phát triển của Bluetooth
Blutooth l.0 (71999): Phiên bản đầu tiên được đưa ra thị trường với tốc độ kết nối ban đầu là lMbps. Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ này chưa bao giờ đạt quá mức 700Kbps
Bluetooth 1.1 (2001): Đánh dấu bước phát ừiển mới của công nghệ Bluetooth trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới.
Bluetooth 1.2 (112003): Bắt đầu có nhiều tiến bộ đáng kể. Chuẩn này hoạt động dựa trên băng tần 2,4GHz và tăng cường kết nối thoại.
Bluetooth 2.0+ERD (2004): Bắt đầu nâng cao tốc độ và giảm thiểu một nửa năng lượng tiêu thụ so với trước đây. Tốc độ của chuẩn Bluetooth lên đến 2.1 Mbps với chế độ cải thiện kết nối truyền tải ERD (Enhanced datarate).
Bluetooth 2.1+ERD (2004): Đây chính là thế hệ nâng cấp của Bluetooth 2.0 có hiệu năng cao hơn và tiết kiệm năng lượng hơn.
Bluetooth 3.0+HS (2008): Có tốc độ truyền dữ liệu đạt mức 24Mbps bằng sóng Blutooth High Speed.
Bluetooth 4.0 (30062010): Chuẩn Bluetooth mới nhất hiện nay. Bluetooth 4.0 là sự kết hợp của “Classic Bluetooth” (Bluetooth 2.1 và 3.0), “Bluetooth high speed” (Bluetooth 3.0 + HS) và “ Bluetooth low energy” Bluetooth năng lượng thấp (Bluetooth Smart Ready Bluetooth Smart). “Bluetooth low energy” là một phần của Bluetooth 4.0 với một giao thức tiêu chuẩn
2.1.3. Đặc điểm của công nghệ Bluetooth
2.1.3.1. Ưu điểm
Tiêu thụ năng lượng thấp.
Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điện thoại di động.
Giá thành ngày một giảm.
Khoảng cách giao tiếp cho phép giữa hai thiết bị kết nối có thể lên đến 100m.
Bluetooth sử dụng băng tần 2,4GHz, tốc độ truyền dữ liệu có thể đạt tới mức tối đa lMbps mà các thiết bị không cần phải trực tiếp nhìn thấy nhau.
Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua chuẩn Bluetooth, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng.
Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ.
2.1.3.2. Nhược điểm
Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác.
Chỉ kết nối được hai thiết bị với nhau, không kết nối thành mạng.

2.2. Cấu tạo của mạch Bluetooth
2.2.1. Cấu tạo

































2.2.2. Đặc điểm kỹ thuật
Chuẩn Bluetooth : V2.0+EDR.
Điện áp hoạt động : 3.35VDC, 30mA.
Kích thước 28mm x 15mm x 2.35mm.
Tần số: 2,4GHz.
Tốc độ: 2.1Mbs (Max)160kbps
Tốc độ baudrate mặc định: 9600, 8bit dữ liệu, lbit stop.
Hỗ trợ tốc độ baud: 9600, 19200, 38400, 57600, 115200, 230400, 460800.
Nhiệt độ làm việc: 20oC ~ 75oC
Độ nhạy: 80dBm
Module có 2 chế độ làm việc:
+ Kết nối truyền thông.
+ Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp và cài đặt module.

2.3. Nguyên lý hoạt động của Bluetooth
Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2,4GHz đến 2,485GHz. Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ. Khi kết nối, nó sẽ tự động tìm ra tần số tương thích để di chuyển đến thiết bị cần kết nối trong khu vực nhằm đảm bảo sự liên tục.
Chế độ hoạt động:
+ Ở chế độ SLAVE: Bạn cần thiết lập kết nối từ Smartphone, Laptop, USB Bluetooth để dò tìm module sau đó đăng nhập với mã PIN là 1234. Sau khi đăng nhập thành công, bạn đã có một cổng nối tiếp từ xa hoạt động ở baud rate 9600.
+ Ở chế độ MASTER: Module sẽ tự động dò tìm thiết bị Bluetooth khác (một module Bluetooth HC06. HC05, USB Bluetooth, Bluetooth của Laptop…) và tiến hành đăng nhập chủ động mà không cần thiết lập gì từ máy tính hoặc Smartphone.
Module Bluetooth HC05 được điều khiển bằng tập lệnh AT để thực hiện các tác vụ mong muốn. Để Bluetooth module chuyển từ chế độ thông thường qua điều khiển bằng lệnh AT, ta có 2 cách như sau:
+ Cấp nguồn cho module Bluetooth (Vcc và Gnd) đồng thời cấp mức điện áp cao (=Vcc) cho chân KEY của module Bluetooth. Khi đó giao tiếp bằng tập lệnh AT với module bằng cổng Serial (nối tiếp) (TX và RX) với baud rate là 38400 (khuyên dùng).
+ Cấp nguồn cho module Bluetooth trước, sau đó cấp mức điện áp cao cho chân KEY của module Bluetooth. Lúc này bạn có thể giao tiếp với module bằng tập lệnh AT với baud rate là 9600.
Sau khi đăng nhập thành công với thiết bị Bluetooth khác, đèn trên module Bluetooth HC05 sẽ nhấp nháy chậm cho thấy kết nối Serial đã được thiết lập.

2.4. Ứng dụng của Bluetooth
Truyền tải dữ liệu không dây giữa thiết bị di động và máy tính:
Chúng ta có thể ghép nối dễ dàng Smartphonetablet với một chiếc Laptop thông qua Bluetooth nhằm mục đích gửi các tập tin qua lại. Mặc dù có thể nó không thực sự thích hợp để gửi những file nhạc dung lượng lên đến hàng trăm MB hoặc hơn nữa, nhưng Bluetooth vẫn là phương pháp thuận tiện hơn cả nếu bạn muốn gửi một vài tấm ảnh chụp cho bạn bè. Để kết nối không dây Bluetooth, hai thiết bị đều phải được kích hoạt tùy chọn Bluetooth và đặt không quá xa nhau. Sau khi đã ghép nối thành công, bạn có thể bắt đầu chọn những dữ liệu mình muốn gửi cho đối phương (ảnh, bài hát, video ngắn…), sau đó chờ đối phương chấp nhận là xong, thực sự công việc này rất đơn giản. Hiện nay, không chỉ Windows mà các hệ điều hành khác như Mac OSX và Linux cũng hỗ trợ Bluetooth.
Truyền tải tập tin giữa các máy tính:
Hai máy tính được kích hoạt kết nối Bluetooth cũng có thể truyền tải dữ liệu cho nhau giống như giữa máy tính và điện thoại. Với những tập tin có kích thước vừa phải, bạn sẽ không cần phải sử dụng đến các đoạn cáp kết nối nữa. Thậm chí dù 2 mẫu máy tính của người dùng có khác hệ điều hành hoặc đang sử dụng mạng kết nối riêng biệt thì cũng không ảnh hưởng đến việc truyền dữ liệu qua Bluetooth.
Chia sẻ kết nối mạng qua Bluetooth:
Một tính năng thú vị của Bluetooth là cho phép người dùng chia sẻ kết nối mạng internet của thiết bị này với một thiết bị khác. Thông thường, “Tethering” qua Bluetooth được sử dụng để vào mạng trên Laptop thông qua kết nối internet của Smartphone. Trường hợp này điện thoại có vai trò khá giống với modem. Cách thức chia sẻ kết nối mạng bằng Bluetooth sẽ tiêu thụ ít năng lượng hơn so với WiFi, vì vậy nó có thể là lựa chọn lý tưởng trong một số tình huống cụ thể.
Kết nối các thiết bị ngoại vi:
Ngày nay, Bluetooth thường được sử dụng rất nhiều để kết nối các thiết bị ngoại vi cho Smartphone, tablet hoặc Laptop. Dưới đây là một số thiết bị ngoại vi mà bạn có thể kết nối không dây qua Bluetooth.
+ Tai nghe: Tai nghe Bluetooth là sản phẩm đặc thù được sử dụng cực kỳ phổ biến đặc biệt khi đi kèm với Smartphone. Ghép nối tai nghe với điện thoại giúp bạn có thể sử dụng để đàm thoại trong khi lái xe và không thấy vướng víu như các mẫu tai nghe có dây trước đây. Các nút bấm tích hợp sẵn trên tai nghe cũng có chức năng trả lờigác máy, do đó bạn gần như không cần thao tác trên điện thoại nữa.
+ Smartwatch: Đồng hồ thông minh hiện nay đa phần cũng đều sử dụng Bluetooth hoặc NFC để kết nối với Smartphone. Từ đó, Smartwatch có thể nhận được những thông báo về tin nhắn, cuộc gọi đến, mạng xã hội từ điện thoại một cách nhanh chóng
+ Chuột: Chuột Bluetooth có thể hoạt động với các model Laptop, tablet và thậm chí cả Smartphone. Tuy nhiên, bạn cần lưu ý rằng chuột Bluetooth thường dùng pin và một số loại có độ trễ khá cao so với chuột có dây.
+ Bàn phím: bàn phím cũng có thể kết nối qua Bluetooth, trong đó đặc biệt hữu ích khi sử dụng cùng máy tính bảng. Khi dùng kết nối USB thông thường, thiết bị thường bị giới hạn số cổng nhất định, nhưng với Bluetooth bạn có thể kết nối đồng thời chuột và bàn phím không dây cực kỳ thuận tiện mà không lo thiếu cổng cắm.
+ Gamepad: Tay cầm chơi game là một loại thiết bị đầu vào sử dụng kết nối Bluetooth. Wiimote của Nintendo hay tay cầm của PlayStation 3 cũng đều giao tiếp với máy console thông qua Bluetooth.
+ Máy in: Máy in hỗ trợ Bluetooth cho phép bạn in tài liệu mà không cần tới kết nối mạng WiFi hoặc kết nối qua dây.
Trang bị kết nối Bluetooth cho máy tính để bàn:
Nếu bạn sở hữu một chiếc máy tính nhưng không được tích hợp phần cứng hỗ trợ Bluetooth, bạn có thể sử dụng một số thiết bị Bluetooth gắn ngoài với giá thành khá rẻ. Hầu hết các model Laptop mới đều tích hợp sẵn Bluetooth, nhưng máy tính để bàn thường thì không. Giải pháp trong tình huống này là bạn có thể mua thiết bị thuphát Bluetooth Dongle có giá bán chỉ vào khoảng 1,50 USD trên trang mạng Amazon. Cắm Dongle vào cổng USB của máy tính bàn, nó sẽ hoạt động như một bộ thuphát tín hiệu Bluetooth và cho phép máy tính của bạn có thể giao tiếp với các thiết bị khác thông qua công nghệ kết nối không dây này. Tuy nhiên, bạn cũng cần lưu ý Bluetooth tiêu tốn khá nhiều năng lượng của thiết bị. Do đó, kích hoạt Bluetooth cả ngày mà không sử dụng tới chắc chắn là một ý tưởng tồi, đặc biệt đối với các Smartphone.



















CHƯƠNG 3 – SỬ DỤNG GIAO TIẾP BLUETOOTH ĐỂ ĐIỀU KHIỂN VÀ LÀM THIẾT BỊ AN NINH CHO PHƯƠNG TIỆN GIAO THÔNG

3.1. Các chức năng cần thiết kế cho mạch điều khiển và chống trộm xe máy.
Vì có thể có nhiều ý tưởng cho chức năng của thiết bị nên chúng tôi đưa ra một số ý tưởng sau để thiết kế:
Sử dụng module Bluetooth có khả năng phát ra Bluetooth kết hợp với chiếc Smartphone, thông qua việc truyền nhận thông tin bằng Bluetooth giữa hai thiết bị trên để điều khiển việc đóng mở khóa điện của xe và chống trộm.
Thiết kế một tag (thiết bị điều khiển từ xa) dự phòng khi điện thoại hết pin dùng chuẩn giao tiếp Bluetooth.
Trong phạm vi của sóng Bluetooth, khóa điện được mở và bạn có thể mở khóa cơ và đề máy chạy xe. Không có sóng Bluetooth, khóa điện trên xe tự động khóa, nếu tác động vào khóa cơ thì không thể đề máy chạy xe, đồng thời chiếc xe sẽ hú còi cảnh báo chống trộm.

3.2. Tìm hiểu về module Bluetooth HC05
Mạch giao tiếp với Smartphone dùng module Bluetooth HC05 có khả năng phát ra Bluetooth, kết hợp với chip Atmega8 để nhận dữ liệu từ module Bluetooth HC05.
3.2.1. Sơ đồ chân HC05 và module Bluetooth HC05




























Phương thức hoạt động:
Điện áp hoạt động: 3,3V.
Module có hai chế độ làm việc (có thể lựa chọn chế độ làm việc bằng cách thay đổi trạng thái chân 34 KEY):
+ Tự động kết nối.
+ Đáp ứng theo lệnh: Khi làm việc ở chế độ này, các bạn có thể gửi các lệnh AT để giao tiếp với module.
Module HC05 có thể nhận 1 trong 3 chức năng: Master, Slave, Loopback (có thể lựa chọn các chức năng bằng lệnh AT).
Giao tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua hai đường RX và TX, vì vậy các bạn có thể sử dụng PC với chuẩn RS232 hoặc các dòng vi điều khiển để giao tiếp.
Bằng cách thay đổi trạng thái chân 34 (KEY), bạn có thể cấu hình chế độ hoạt động cho module:
Để module làm việc ở chế độ kết nối tự động: KEY phải ở trạng thái Floating (trạng thái không kết nối).
Để module làm việc ở chế độ đáp ứng theo lệnh: KEY = ‘0’ (kết nối xuống đất). Cấp nguồn cho module chuyển KEY = ‘1’ (kết nối lên VCC) lúc này có thể sử dụng các lệnh AT để giao tiếp.
 Giao tiếp với module Bluetooth HC05 sử dụng tập lệnh AT.
Cài đặt phần mềm Hercules Setup Untility, sau đó mở ứng dụng, chọn Serial, giao diện giao tiếp với cổng nối tiếp sẽ hiện ra:


















Chúng ta cấu hình cổng vào, chế độ, khung dữ liệu, tốc độ Baud cho cổng nối tiếp.
Thiết lập module HC05 hoạt động ở chế độ đáp ứng theo lệnh. Ở chế độ này, các bạn có thể cấu hình và kiểm soát module của mình.
Các bạn kết nối module Bluetooth với PC bằng USB TO COMPL2303 như sau:
RX (màu trắng) TX của module HC05.
TX (màu xanh lá cây) RX của module HC05.
VCC với 5.0.
GND với GND.
3.2.2. Chế độ hoạt động:
Chế độ đáp ứng theo lệnh:
Ở chế độ này các bạn kết nối module với USB TO COM PL2303 như trên.
Để giao tiếp bằng tập lệnh AT có 2 cách:
Cách 1: Cấp nguồn trước rồi cấp chân KEY lên VCC(3.3V). Khi đó bạn có thể giao tiếp với module với baud rate bằng 9600.
Cách 2: Cấp nguồn đồng thời cấp chân KEY lên VCC(3.3V). Bây giờ bạn có thể giao tiếp với module với baud rate bằng 38400.
Tập lệnh giao tiếp AT:
Ở khung Send các bạn nhập lệnh bắt đầu bằng AT để giao tiếp.Ví dụ:
AT+NAME?0D0A Hỏi tên module. Module sẽ đáp trả bằng mã HC05
AT+PSWD?0D0A Hỏi mật khẩu của module. Mặc định mật khẩu ban đầu là 1234. Để đổi lại mật khẩu bạn dùng lệnh AT+PSWD=?0D0A. Trong đó là mật khẩu bạn muốn đặt gồm 4 kí tự.
AT+ADDR ?0D0A Hỏi địa chỉ của module. Module sẽ trả lại địa chỉ. Chẳng hạn: 1003:93:12345. Đó là địa chỉ của module.
AT+ROLE? 0D0A Hỏi vai trò của module.
ROLE=1Master. ROLE=0Slave. Để đổi vai trò bạn chỉ cần nhập lệnh :
AT+ROLE=x 0D0A với x bằng 0 hay 1 tùy thuộc bạn muốn nó hoạt động ở vai trò nào.
AT+CMODE? 0D0A Hỏi chế độ kết nối tự động. Mặc định ban đầu ở chế độ tự động kết nối không địa chỉ riêng CMODE=1. Muốn đổi sang chế độ kết nối có địa chỉ riêng, dùng lệnh AT+CMODE=0 0D0A.
AT+BIND? 0D0A Hỏi địa chỉ kết nối tự động khi nhận vai trò Master. Mặc định ban đầu là 0:0:0, kết nối với module Bluetooth bất kỳ. Khi muốn module chuyển sang tự động kết nối có địa chỉ riêng, bạn đổi thành:
AT+BIND=:: 0D0A trong đó :: là địa chỉ ADDR của module Bluetooth khác làm Slave.
3.2.3. Cách thức giao tiếp của module HC05 với Smartphone và module Bluetooth khác.
Module BT HC05 có thể nhận vai trò MASTER hay SLAVE là do người dùng thiết lập cho nó bằng cách sử dụng tập lệnh AT như trên.
Vai trò Slave:
Với vai trò Slave: Module không thể tự động tìm kiếm các thiết bị có ứng dụng Bluetooth. Khi đó bạn cần sử dụng điện thoại hoặc máy tính có Bluetooth để đăng nhập với module. Khi kết nối lần đầu bạn phải nhập mật khẩu để có thể kết nối với module. Mặc định mật khẩu lúc đầu là 1234. Nếu bạn đã dùng tập lệnh AT để đổi mật khẩu thì hãy nhập mật khẩu bạn đã thay đổi đó. Sau khi kết nối, điện thoại của bạn có thể tự động kết nối mà không cần phải nhập mật khẩu để giao tiếp nữa.Công cụ hỗ trợ đắc lực là bạn dùng phần mềm Bluetooth spp, bạn lên Google Play và tải ứng dụng về. Cách thức sử dụng sẽ được trình bày ở phần sau.
Mặc định ban đầu module hoạt động ở chế độ Slave. Để module hoạt động giao tiếp được, bạn cần cấp nguồn cho module và để chân KEY ở trạng thái không kết nối.
Vai trò Master:
Để module BT HC05 nhận vai trò Master các bạn dùng lệnh AT+ROLE=10D0A và Send. Module sẽ báo lại OK, khi đó nó đã nhận vai trò Master sẵn sàng để giao tiếp.
Với vai trò Master, module sẽ tự động tìm kiếm các các thiết bị có Bluetooth và đăng nhập chủ động mà không cần thiết lập gì. Việc thiết lập vai trò Master cho module đã được trình bày ở phần trên. Tuy nhiên việc tự động kết nối cũng có hai trường hơp.
+ Trường hợp 1: Module BT hc05 tự động tìm kiếm và kết nối với thiết bị bất kì,một máy tính,smartphone hay module BT hc05 khác. Đây là một cấu hình rất không an toàn khi công việc giao tiếp qua chuẩn Bluetooth của bạn cần sự bảo mật.
+ Trường hợp 2: Tự động tìm kiếm module khác có địa chỉ riêng. Khi đó module HC05 sẽ chỉ tìm kiếm thiết bị có địa chỉ mà bạn đã thiết lập cho nó trước đó. Cách thiết lập như sau: Dùng lệnh AT+BIND=::D0A, trong đó dãy :: được cách nhau bởi dấu (:) là địa chỉ của module mà module HC05 của bạn muốn kết nối. Lúc này module sẽ chỉ tìm đúng địa chỉ bạn đã thiết lập và tự động kết nối. Trong lần kết nối đầu, module sẽ tìm kiếm cho đến khi tìm thấy module làm Slave kia.
Lưu ý: Khi đã kết nối với module BT khác, đèn trên module nhấp nháy chậm hơn cho thấy kết nối Bluetooth đã được thiết lập. Đồng thời lúc này chân số 32(PIO9) sẽ lên mức cao (3.3V), bình thường khi chưa kết nối, chân này ở mức thấp (0V).

3.3. Tìm hiểu vi điều khiển Atmega8
Để giao tiếp và truyền nhận thông tin, ta dùng chip vi điều khiển Atmega8 để nhận và xử lý thông tin nhận được từ điện thoại thông qua chuẩn Bluetooth.
3.3.1. Tổng quan về Atmega8
Tốc độ tối đa: 16MHz.
Dung lượng bộ nhớ chương trình: 8 KB.
Bộ nhớ EEPROM: 512 Byte.
Dung lượng bộ nhớ RAM: 1 KB.
Bộ nhớ chương trình có khả năng ghi 10.000 lần, bộ nhớ EEPROM có thể ghi 100.000 lần. Hỗ trợ Bootloader, có khả năng tự ghi vào bộ nhớ chương trình, cập nhật chương trình cho chip mà không cần mạch nạp.
Timer 8 bit: 2.
Timer 16 bit: 1.
ADC: 6 kênh, 10 bit.
Giao tiếp: TWI (I2C), UART, SPI
Điện áp hoạt động:
Atmega8L: 2,7V – 5,5V.
Atmega8: 4,5V – 5,5V.

Sơ đồ chân:












Hệ thống Clock:
Nguồn Clock:
Chip có thể hoạt động với các nguồn Clock tương ứng với việc thiết lập các FUSE tương ứng như trong bảng 3.1.








Ta chỉ tập trung vào hai nguồn clock đó là sử dụng thạch anh ngoài và sử dụng mạch RC tích hợp trong chip (dao động nội).
Sử dụng thạch anh ngoài (hình 3.5):






















Để chip có thể hoạt động thì cần được FUSE đúng. Khi xuất xưởng thì mặc định chip được FUSE sử dụng dao động nội với tần số 1MHz.
Nguồn RESET:
Atmega8 có 4 cách RESET:
Reset khi cấp nguồn.
Reset ngoài (thông qua chân RESET).
Watchdog RESET.
Reset khi nguồn bị sụt áp.
3.3.2. Lập trình cổng vào ra:
Điều khiển vào ra (IO):
Atmega8 có 3 cổng vào ra: cổng B, cổng C, cổng D.
Mỗi cổng được cấu hình, điều khiển thông qua 3 thanh ghi: DDRx, PORTx và PINx. (x: B, C, D).
Các thanh ghi này có thể truy xuất từng bit để có thể điều khiển từng chân (Pin) của mỗi cổng.
DDRx: quy định chiều của chân, DDRx=1: chân được cấu hình làm đầu ra, ngược lại DDRx=0 quy định chân làm đầu vào.
PORTx: nếu PORTx=1 khi chân được cấu hình làm đầu vào thì sẽ kích hoạt điện trở treo dương tại chân tương ứng. Để vô hiệu hóa trở treo này thì PORTx phải được gán 0 hoặc chân được cấu hình làm đầu ra (DDRx=1).
Nếu chân được cấu hình làm đầu ra (DDRx=1):
Nếu PORTx=1 thì chân tương ứng sẽ được đưa lên cao (1–VCC), ngược lại nếu PORTx=0 thì chân tương ứng sẽ được đưa xuống thấp (0–GND)
PINx: Đọc dữ liệu từ chân VĐK, độc lập với cấu hình chiều của chân (cả khi DDRx=0 và DDRx=1) trạng thái của chân có thể được đọc thông qua các bit của thanh ghi PINx.
Nếu bit thứ 2 (PUD) của thanh ghi SFIOR được ghi giá trị 1 thì trở treo sẽ bị vô hiệu hóa bất chấp các thiết lập thông qua các thanh ghi PORTx, DDRx như đã nói ở trên.
3.3.3. Ngắt ngoài.
Ngắt là một tín hiệu khẩn cấp được gửi đến bộ vi xử lý, yêu cầu bộ vi xử lý dừng các công việc hiện tại nhẩy đến thực hiện nhiệm vụ khẩn cấp đó, nhiệm vụ này được gọi là trình phục vụ ngắt. Sau khi thực hiện xong nhiệm vụ này thì vi xử lý tiếp tục làm các công việc tiếp theo.
Khi có hai tín hiệu ngắt đến cùng một lúc thì tín hiệu nào ưu tiên cao hơn sẽ được thực hiện. Ở Atmega8 có 19 tín hiệu ngắt từ mức ưu tiên cao xuống thấp như sau.

















Ngắt thường được sử dụng để thực hiện các công việc mà không biết trước thời điểm như trong truyền thông, đếm sự kiện...
Để phục vụ cho đề tài, chúng ta chỉ nghiên cứu phần ngắt ngoài.
Để cho phép các ngắt hoạt động thì cần set bit I trong thanh ghi SREG lên 1.
Ở chip atmega8 có 2 ngắt ngoài được ký hiệu là INT0 và INT1. Các thanh ghi điều khiển ngắt ngoài
Thanh ghi MCUCR





Đây là thanh ghi điều khiển kiểu tác động ngắt theo sườn âm hay sườn dương, hay mức.
4 bit cao thì không cần quan tâm nhiều, 4 bit thấp có bit 0 và 1 điều khiển INT0, bit 2 và 3 điều khiển INT1.
Bảng 3.4. Bảng trạng thái thanh ghi MCUCR
ISCx1 ISCx0
0 0 Ngắt kích mức thấp
0 1 Ngắt khi có sự thay đổi trạng thái bất kì
1 0 Ngắt kích sườn xuống(1 xuống 0)
1 1 Ngắt kích sườn lên(0 lên 1)

Thanh ghi GICR





Ở thanh ghi này thì chỉ cần quan tâm đến 2 bit là INT1 tức là cho phép ngắt INT1 hoạt động và INT0 cho phép ngắt INT0 hoạt động.
Thanh ghi cờ ngắt.



Ở thanh ghi này thì chỉ cần quan tâm đến 2 bit là INTF1 và INTF0. Khi có một sự kiện ngắt trên INT1 thì bit INTF1 bật 1, khi có một sự kiện ngắt ở trên INT0 thì INTF0 bật 1.
Bộ truyền thông nối tiếp trên Atmega8 có thể hoạt động ở nhiều chế độ và ở đây ta chỉ xét chế độ bất đồng bộ.
Khởi tạo nguồn clock cho bộ truyền thông, khởi tạo tốc độ Baud.
Để khởi tạo tốc độ Baud ta ghi giá trị tương ứng với tốc độ Baud vào thanh ghi UBRR.
Liên hệ giữa UBRR và tốc độ Baud cho bởi công thức sau:













Ví dụ chúng ta sử dụng xung hệ thống là 3.6864MHz, ta cần dùng tốc độ Baud là 9600
Có 2 trường hợp: nếu ta chọn U2X=0 thì UBRR=3.686.4009600161=23.
Nếu ta chọn U2X=1 thì UBRR=3.686.400960081=47.
Định dạng khung truyền: ta chỉ xét định dạng khung truyền là 1 bit start, 8 bit dữ liệu, 1 bit stop, không kiểm tra chẵn lẻ.
Các thanh ghi cấu hình, điều khiển bộ USART:
Thanh ghi UDR:
+ Để truyền dữ liệu đi thì ta ghi dữ liệu cần truyền vào thanh ghi này và bộ bộ USART sẽ gửi dữ liệu cần truyền đi.
+ Sau khi nhận đươc dữ liệu thì thanh ghi này sẽ chứa dữ liệu nhận được.

Thanh ghi UCSRA:







Các bit ta quan tâm:
+ bit 7 RXC: Cờ này bằng 1 khi có dữ liệu nhận được và sẽ được xóa thành 0 khi không có dữ liệu trong bộ đệm (UDR).
+ bit 6 – TXC: Cờ này được bật mỗi khi truyền xong dữ liệu. Muốn xóa thì ta ghi giá trị 1 vào bit này.
+ bit 5 – UDRE: UDRE được set thành 1 khi UDR là rỗng và sẵn sàng cho truyền dữ liệu.
Thanh ghi UCSRB:







Tạm thời ta quan tâm các bit sau:
bit 4 RXEN: Cho phép nhận, ghi giá trị 1 vào bit này cho phép USART nhận dữ liệu.
bit 3 – TXEN: Cho phép truyền dữ liệu, ghi 1 vào bit này cho phép USART truyền dữ liệu.
bit 2 – UCSZ2: Kết hợp với các bit UCSZ1..0 trong thanh ghi UCSRC để quy định số bit dữ liệu trong 1 khung truyền.
Thanh ghi UCSRC:







Có cùng địa chỉ với thanh ghi UBRRH:
bit 7 – URSEL: Xác định truy cập UBRRH hay UCSRC, khi URSEL=1: truy cập UCSRC, khi URSEL=0: truy cập UBRRH.
bit 6 – UMSEL: Chọn chế độ của USART: =0: truyền bất đồng bộ, =1 truyền đồng bộ. Và chúng ta chỉ tìm hiểu truyền bất đồng bộ.
bit 3 – USBS: =1: 2 bit stop; =0: 1 bit stop.
bit UCSZ1..0: Kết hợp với UCSZ2 ở trên quy định số bit dữ liệu, ta chỉ tìm hiểu kiểu truyền 8 bit dữ liệu UCSZ2=0; UCSZ1=1; UCSZ0=1;

3.4. Thiết kế và lập trình cho mạch điều khiển
3.4.1. Phần gắn trên xe máy
3.4.1.1. Mạch nguyên lý











a. Khối reset.







Linh kiện:
R1: Điệntrở 10 k.
C1: Tụ hóa 10F.

Nhiệm vụ:
Chân âm của tụ được nối đất, chân dương của tụ nối vào chân số 1 của Atmega8 và điện trở, đầu kia điện trở nối với dương nguồn 5V. Atmega8 reset ở mức thấp. Bình thường chân reset ở mức cao.
b. Khối dao động thạch anh :






Linh kiện:
X1: Thạch anh 12MHz.
C2,C3: Tụ gốm 33pF.
Nhiệmvụ:
Bộ dao động nối với Atmega8qua 2 chân 9 và 10 của atmega 8, được mắc như hình vẽ. Atmega8 có 1 bộ dao động nội. Vì vậy trong mạch này ta sẽ sử dụng dao động nội mà không cần phải sử dụng dao động ngoài.
c. Khối nguồn .






Linh kiện :
IC LM7805
C4: Tụ hóa 100F
R4: 330 
Led2: LED báo nguồn

Nhiệm vụ:
ICLM7805 được sử dụng để chuyển đổi các điện áp cao hơn về chuẩn 5V cho để cấp nguồn cho Atmega8 và module Bluetoooth HC05. Điện áp vào cần cao hơn 5V, thông thường từ 6 đến 12V. Tụ hóa 100Fdùng để lọc san phẳng điện áp vào của IC LM7805, trở 330 dùng để hạn chế nguồn vào cho LED báo nguồn .
d. Khối đầu ra điều khiển:







Linhkiện:
Relay: 5 chân 12V
Q1: Transistor A1015
Q2: Transistor Tip41C
R2, R3: điện trở 330 
Led1: LED đơn
Chìa khóa: Công tắc cần gạt 3 chân làm mô phỏng ổ khóa
D1: Diode1N4007
HD1, HD2: Header loại 2 chân.
Nhiệm vụ: Cặp transistor A1015 và Tip41C được mắc nối tiếp để tăng hệ số khuếch đại. Khi tín hiệu vào chân PortC.3=0(GND) làm transistor A1015 mở, cho dòng đi qua điện trở R3 và Led1 kích transistor Tip41C. Lúc này 2 chân điều khiển của Relay được cấp nguồn làm mở relay, nối công tắc cần gạt sang vị trí HD2 (Cổng ra nối sang khóa điện). Bình thường công tắc cần gạt nối với HD1(Cổng ra kết nối còi báo). Trong khi diode 1N4007 có chức năng bảo vệ.
e. Khối điều khiển tự động:











Linh kiện:
R5: Điệntrở 100 
Q3: Transistor C1815
Nhiệm vụ:
Khi có giao tiếp Bluetooth, chân 32(PIO9) của module Bluetooth HC05 có mức điện áp 3,3V. Bình thường chân này ở 0V. Vì vậy khi có giao tiếp, chân TP1 được nối với chân số 32 của module Bluetooh HC05 sẽ cho dòng qua trở R5, mối BE thông làm chân C của C1815 được kéo xuống mức thấp. Đây sẽ là điều kiện để điều khiển được việc đóng mở khóa điện. Có giao tiếp mới mở được khóa điện. Mất giao tiếp không thể mở được khóa điện.
Ngoài ra còn có jack cắm 6 lỗ để ta cắm module Bluetooth HC05 trên mạch hoàn thiện. Thứ tự các chân:





3.4.1.2. Mạch in


























3.4.1.3. Lập trình viết trên Codevision avr:
include
include

char kiemtra,t;
char Ma_lenh,t,solannhan,c;
long mode;

External Interrupt 0 service routine
interrupt EXT_INT0 void ext_int0_isr(void)chuong trinh phuc vu ngat;
{
PORTC.3=1;
}

Voidbat(void){
PORTC.3=0;if(t==r){PORTC.3=1;};if(PIND.2==1){PORTC.3=1;};putsf(DANG MO KHOA);putchar();kiemtra=0;}
void tat(void){PORTC.3=1;putsf(LOCKED);kiemtra=0;}
void batlientuc(void){while(c){PORTC.3=0;PORTD.2=0;t=getchar();if(t==t){putsf(LOCKED);PORTC.3=1;c=0;mode=0;solannhan=0;PORTD.2=1;}}
}
void main(void)
{
PORTB=0xff;
DDRB=0xff;

PORTC=0xff;
DDRC=0xff;

PORTD=0xff;
DDRD=0xff;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

External Interrupt(s) initialization
INT0: On
INT0 Mode: Rising Edge
INT1: Off
GICR|=0x40;
MCUCR=0x03;
GIFR=0x40;
ACSR=0x80;
SFIOR=0x00;

ADCSRA=0x00;

SPCR=0x00;
TWCR=0x00;
asm(sei)

PORTC.3=1;
kiemtra=0;
mode=0;
solannhan=0;

while (1)
{
Ma_lenh=getchar();
t=Ma_lenh;
if(t==0){mode=mode10+0;putchar(0);solannhan++;}
if(t==1){mode=mode10+1;putchar(1);solannhan++;}
if(t==2){mode=mode10+2;putchar(2);solannhan++;}
if(t==3){mode=mode10+3;putchar(3);solannhan++;}
if(t==4){mode=mode10+4;putchar(4);solannhan++;}
if(t==5){mode=mode10+5;putchar(5);solannhan++;}
if(t==6){mode=mode10+6;putchar(6);solannhan++;}
if(t==7){mode=mode10+7;putchar(7);solannhan++;}
if(t==8){mode=mode10+8;putchar(8);solannhan++;}
if(t==9){mode=mode10+9;putchar(9);solannhan++;}

if(mode==100393){kiemtra=1;mode=0;solannhan=0;}

if(t==r){kiemtra=0;solannhan=0;mode=0;}
if(t==t){kiemtra=2;solannhan=0;mode=0;}

if(mode==111111){c=1;putsf(OK);kiemtra=3;solannhan=0;mode=0;}
switch(kiemtra)
{
case 1: {bat();}break;
case 2: {tat();}break;
case 3: {batlientuc();}break;
}
}
}

3.4.2. Tag điều khiển
3.4.2.1. Mạch nguyên lý















Cũng gần giống như mạch điều khiển, chiếc tag cầm tay cũng có các khối reset và khối dao động như mạch điều khiển. Khối nguồn sử dụng pin 4,5V trực tiếp.
Jack cắm 6 lỗ JP6 để cắm module Bluetooth HC05 lên mạch
Nút bấm nhỏ một đầu nối vào chân PortC.5, đầu còn lại nối xuống GND.
Led báo hiển thị của nút bấm chân âm nối vào PortC.3 của Atmega8, nối với trở 330 và nối lên dương nguồn.
Công tắc cần gạt 3 chân nhỏ JP2 để bật tắt nguồn trên tag.

3.4.2.2. Mạch in



































3.4.2.3. Lập trình:
include
include
include
bit t=1;
void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0x7F;
DDRC=0x7F;

PORTD=0xff;
DDRD=0xff;

TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;

USART initialization
Communication Parameters: 8 Data, 1 Stop, No Parity
USART Receiver: On
USART Transmitter: On
USART Mode: Asynchronous
USART Baud Rate: 9600 (Double Speed Mode)
UCSRA=0x02;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C;

ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;
PINC.5=1;
t=1;

while (1)
{
if(t==1)
{
putsf(100393);
putchar(r);
PORTC.3=0;
}
if(PINC.5==0){while(~PINC.5);t=~t;putchar(t);PORTC.3=1;}

}
}






3.4.3. Nguyên lý hoạt động của mạch
3.4.3.1. Mạch điều khiển
Dùng IC Atmega8 giao tiếp với module Bluetooth HC05 để truyền nhận tín hiệu.
Khi giao tiếp với Smartphone qua chuẩn Bluetooth 4.0, từ Smartphone ta gửi tín hiệu đến module Bluetooth HC05. Module nhận được mã gửi vào từ điện thoại và tiến hành truyền nhận với Atmega8 thông qua giao tiếp nối tiếp. Atmega8 tiến hành xử lý theo code đã lập trình:
Nhận được mã “100393”: Mở khóa điện. Khi đó PortC.3=0. Cặp transistor A1015 và Tip41 hoạt động vì chân PortC.3 được kéo xuống 0V làm relay hoạt động. Trong mạch sử dụng relay 5 chân, 2 đầu ra. Chân chung được nối tới ổ khóa xe máy chính là công tắc cần gạt trên mạch, nguyên lý hoạt động như ổ khóa trên xe. Hai đầu ra lần lượt nối ra để điều khiển còi báo và dây đề + nổ máy. Khi chưa nhận được tín hiệu mở khóa mà bật công tắc (tương đương với việc vặn ổ khóa) điện sẽ cấp sang phía còi báo làm còi kêu, còn ngược lại sẽ cấp điện cho việc đề máy chạy xe.
Nhận được mã “t”: Đây là mã để tắt khóa điện. PortC.3=1 làm cặp transistor không hoạt động, relay đóng.
Nhận được mã “r”: Cho phép nhập lại mã bảo mật để mở khóa.
Ngoài việc phải tắt mở bằng tay thì ta còn có chế độ tự động dựa vào nguyên lý: Khi giao tiếp Bluetooth được hình thành giữa điện thoại hoặc tag với mạch điều khiển chân 32 trên module sẽ cho điện áp ra 3.3V. Đây là điều kiện cho phép ta điều khiển như việc ta dùng nút bấm để điều khiển vậy. Khi có giao tiếp Bluetooth, transistor C1815 mở làm chân C nối xuống mass. Chân C của C1815 nối với Port D2 của Atmega8. Vậy lúc này Port D.2=0. Khi bạn di chuyển ra xa vượt quá tầm kiểm soát của sóng Bluetooth làm chân 32 mất điện áp  C1815 đóng  PortD.2=1  PortC.3=1. Công việc tương đương như ta dùng nút bấm vậy.
Khi bạn muốn người thân của mình cũng sử dụng được chiếc xe mà không cần có điện thoại hay tag, khi đó ta gửi mã “111111”. Đây là mã để mở khóa điện trên xe dù bạn có ra xa tầm kiểm soát của Bluetooth thì khóa điện trên xe sẽ không bị ngắt nữa.
Nguồn cấp cho mạch hoạt động: Nguồn 12V trực tiếp từ ắcquy xe máy, trong mạch sử dụng IC ổn áp 7805 để lấy điện áp 5V nuôi chip và Module BT HC05 hoạt động.



3.4.3.2. Tag điều khiển
Khi điện thoại hết pin hoặc mất điện thoại, ta đừng quá lo lắng vì vẫn còn chiếc tag cầm tay. Nguyên lý hoạt động của tag: Xử lý truyền tín hiệu đi bằng Atmega8 và module Bluetooth HC05.
Khi được cấp nguồn từ pin, ta tự động gửi đi mã “100193” đã được lập trình sẵn để mạch điều khiển thu nhận tín hiệu phục vụ cho mở khóa điện trên xe. Bạn cấp nguồn cho tag bằng công tắc gạt nhỏ trên mạch. Khi muốn tắt khóa ta chỉ việc gạt công tắc để ngắt nguồn hoạt động là mạch điều khiển tiến hành ngắt khóa điện. Trên tag có một nút bấm nhỏ phục vụ cho việc mở khóa hoàn toàn cho người thân dùng. Khi nhấn nút một lần tag sẽ gửi đi mã “111111” (đã trình bày ở trên), nhấn hai lần sẽ gửi đi mã “t” để tắt trạng thái mở khóa hoàn toàn, chuyển về trạng thái ban đầu. Với chiếc tag đã bật công tắc để cấp nguồn ta di chuyển lại gần xe sẽ tự động mở khóa điện và khi ra xa sẽ tự động ngắt khóa điện. Phạm vi hoạt động trong bán kính 15m.























CHƯƠNG 4 – KẾT QUẢ NGHIÊN CỨU VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI


4.1. Kết quả nghiên cứu.
Nhóm nghiên cứu đã hoàn thiện được bản báo cáo trình bày về phần lý thuyết, giới thiệu được một số phương thức tương tác giữa điện thoại và các thiết bị ngoại vi, cụ thể hơn về phương thức tương tác qua sóng Bluetooth, phương thức hoạt động của sóng Bluetooth. Tiếp theo, nhóm nghiên cứu đã áp dụng phần lý thuyết để thực hiện trong thực hành: Sử dụng giao tiếp Bluetooth để điều khiển và làm thiết bị an ninh cho phương tiện giao thông, cụ thể là thiết kế thành công mạch điều khiển mở máy và chống trộm cho xe máy. Nhóm đã thiết kế mạch và lập trình để mạch có thể chạy theo ý tưởng đề ra.
Có sản phẩm đã chạy tốt kèm theo như các hình ảnh dưới đây:
• Phần module gắn trên xe máy :





















• Phần tag điều khiển (Remote)


















4.2. Hướng phát triển của đề tài.
Trên cơ sở phần lý thuyết và thực hành mà nhóm đã nghiên cứu thành công ở trên, nhóm nghiên cứu nhận thấy là có thể nghiên cứu tiếp những vấn đề dưới đây: Thông qua sóng
Xem thêm

49 Đọc thêm

ĐO NHIỆT ĐỘ ĐỘ ẨM HIỂN THỊ LCD SỬ DỤNG ATMEGA

ĐO NHIỆT ĐỘ ĐỘ ẨM HIỂN THỊ LCD SỬ DỤNG ATMEGA

TỔNG QUAN VÀNHIỆM VỤNguyễn Thanh Tùng –ĐỒ ÁN I4I.1.Tổng quan1.Mục tiêu của đề tàiThiết kế một mạch dùng để đo nhiệt độ và độ ẩm kết quả đo được hiển thị thông quamột màn hình hiển thị. Thiết bị đo nhiệt độ và đo độ ẩm của môi trường , hiển thịthông qua màn hình: hiển thị nhiệt độ đo được, hiển thị độ ẩm đo được.- Dải đo nhiệt độ là 0ĢC đến 150ĢC với sai số cực đại 1.5ĢC.- Dải đo độ ẩm từ 0% đến 100%, với sai số tuyệt đối là 2%.2.Lựa chọn linh kiện- Vi điều khiển ATmega8- Cảm biến đo nhiệt độ LM35- Cảm biến đo độ ẩm HS1101- Màn hình hiển thị gồm 2 dòng nên lựa chọn LCD 16x2.3.Ý nghĩa khoa học của đề tài- Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật số, các hệ thống điềukhiển dần dần được tự động hóa. Với những kỹ thuật tiên tiến như vi xử lí,vi mạchsố… được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thôsơ,với tốc độ xử lí chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiểntự dộng với các lệnh chương trình đã được thiết lập trước.- Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay, vấn đề nhiệt độ độ ẩmđược xem là quan trọng nhất và được đặt lên hàng đầu. Để đảm bảo cho hệ thống làmviệc chính xác hiệu quả vận hành an toàn thì việc đo và hiển thị nhiệt độ độ ẩm là hếtsức quan trọng. Chúng ta cần phải biết giá trị nhiệt độ độ ẩm để có những điều chỉnh
Xem thêm

52 Đọc thêm

Câu hỏi trắc nghiệm môn vi xử lý

CÂU HỎI TRẮC NGHIỆM MÔN VI XỬ LÝ

ực hiện phép toán số học (12H+45H) a. OV = 0, P = 0 b. OV = 0, P = 1 c. OV = 1, P = 0 d. OV = 1, P = 1 192. Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (21H68H) a. OV = 0, P = 0 b. OV = 0, P = 1 c. OV = 1, P = 0 d. OV = 1, P = 1 193. Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (BCH+AAH) a. CY = 0, P = 0 b. CY = 0, P = 1 c. CY = 1, P = 0 d. CY = 1, P = 1 194. Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (CDH98H) a. CY = 0, P = 0 b. CY = 0, P = 1 c. CY = 1, P = 0 d. CY = 1, P = 1 195. Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (65HDCH) a. CY = 0, P = 0 b. CY = 0, P = 1 c. CY = 1, P = 0 d. CY = 1, P = 1 196. Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (FFH+01H) a. CY = 0, P = 0 b. CY = 0, P = 1 c. CY = 1, P = 0 d. CY = 1, P = 1 197. Khả năng fanout của các port 1, 2 và 3 trong chip 8051 là: a. 1 tải TTL b. 2 tải TTL c. 4 tải TTL d. 8 tải TTL 198. Khả năng fanout của các port 0 trong chip 8051 là: a. 1 tải TTL b. 2 tải TTL c. 4 tải TTL d. 8 tải TTL 199. Các cờ được dùng để chỉ thị tình trạng nhớ của CPU: a. Cờ nhớ CF b. Cờ chiều IF c. Cờ tràn OF d. Cờ TFO, TF1 200. Công dụng của thanh ghi SP: a. Chứa địa chỉ của dữ liệu hiện đang ở đỉnh ngăn xếp. b. Chứa địa chỉ của lệnh kế tiếp được thi hành c. Chứa dữ liệu của quá trình tính toán. d. Chỉ vào một địa chỉ trong bộ nhớ. 201. Phương pháp xác định hình thức truy xuất của một toán hạng được gọi là: a. Mode địa chỉ b. Địa chỉ assembler. c. Mã lệnh d. Mã gợi nhớ 202. Một lệnh đầy đủ của ngôn ngữ assembly gồm các phần (xếp theo thứ tự): a. Mã lệnh, nhãn lệnh, toán hạng và ghi chú. b. Nhãn lệnh, toán hạng, mã lệnh và ghi chu. c. Toán hạng, mã lệnh, nhãn lệnh và ghi chú. d. Nhãn lệnh, mã lệnh, toán hạng và ghi chú. 203. Trình biên dịch cho ngôn ngữ Assembler có chức năng: a. Kiểm tra b. Biên dịch từ tập tin nguồn dạng ASCII sang tập tin mã dạng BIN c. Biên dịch từ tập tin nguồn dạng ASCII sang tập tin mã dạng DEC d. Cả hai câu a và b đều đúng. 204. Cho biết cỡ bộ nhớ gọi địa chỉ được của bộ vi xử lý với 12 đường địa chỉ: a. 64KB b. 1MB c. 4KB d. 256KB 15 205. Cho biết cỡ bộ nhớ gọi địa chỉ được của bộ vi xử lý với 16 đường địa chỉ: a. 64KB b. 1MB c. 4KB d. 256KB 206. Cho biết cỡ bộ nhớ gọi địa chỉ được của bộ vi xử lý với 20 đường địa chỉ: a. 64KB b. 1MB c. 4KB d. 256KB 207. Cho biết cỡ bộ nhớ gọi địa chỉ được của bộ vi xử lý với 18 đường địa chỉ: a. 64KB b. 1MB c. 4KB d. 256KB 208. Các cờ được dùng để chỉ thị tình trạng tràn của thanh ghi A là: a. Cờ nhớ CF c. Cờ chiều IF b. Cờ tràn OF d. Cờ TF0, TF1 209. Chức năng của thanh ghi PSW: a. Dùng để lưu giữ thông tin về các trạng thái hoạt động của ALU b. Gĩư địa chỉ của lệnh kế tiếp sẽ thực hiện c. Chứa dữ liệu d. Dùng để đếm 210. Đối với chip 8051, khi reset thì việc thi hành chương trình luôn bắt đầu ở địa chỉ: a. 0000H b. 0030H c. FFFFH d. Cả ba câu a, b, c đều sai 211. Nếu dùng một thiết bị ngoại vi có dung lượng là8 KB thì cần phải truy xuất bao nhiêu đường địa chỉ: a. A0.. A10 b. A0.. A11 c. A0.. A12 d. A0.. A13 212. Nếu dùng một thiết bị ngoại vi có dung lượng là4 KB thì cần phải truy xuất bao nhiêu đường địa chỉ: a. A0.. A10 b. A0.. A11 c. A0.. A12 d. A0.. A13 213. Nếu dùng một thiết bị ngoại vi có dung lượng là2 KB thì cần phải truy xuất bao nhiêu đường địa chỉ: a. A0.. A10 b. A0.. A11 c. A0.. A12 d. A0.. A13 214. Nếu dùng một thiết bị ngoại vi có dung lượng là16 KB thì cần phải truy xuất bao nhiêu đường địa chỉ: a. A0.. A10 b. A0.. A11 c. A0.. A12 d. A0.. A13 215. Công dụng của con trỏ lệnh là: a. Chứa địa chỉ đầu của đoạn ngăn xếp. b. Giữ địa chỉ của lệnh kế tiếp sẽ được thực hiện. c. Trỏ vào 1 địa chỉ trong bộ nhớ. d. Chứa dữ liệu. 216. Kiểu định địa chỉ của chip 8051, trong đó các toán hạng đều là thanh ghi Rn được gọi là: a. Địa chỉ tức thời b. Địa chỉ thanh ghi c. Địa chỉ trực tiếp bộ nhớ d. Địa chỉ tương đối 217. Lệnh sau MOVDPTR, A sử dụng mode địa chỉ: a. Địa chỉ gián tiếp bộ nhớ b. Địa chỉ thanh ghi c. Địa chỉ tương đối d. Địa chỉ tức thời 218. Lệnh assembly của 8051 “INC A” sẽ cộng thêm 1 vào: a. Thanh ghi tích luỹ A b. Thanh ghi tích luỹ B c. Thanh ghi DPTR c. Thanh ghi IP 219. Lệnh assembly của 8051 “MOV A, B” sẽ: a. Nạp giá trị 0AH vào thanh ghi B 16 b. Nạp giá trị 0BH vào thanh ghi A c. Sao chép nội dung của thanh ghi A vào thanh ghi B d. Sao chép nội dung của thanh ghi B vào thanh ghi A 220. Lệnh assembly của 8051 dùng để copy nội dung của ô nhớ có địa chỉ 85H vào thanh ghi a. a. MOV A, 85H b. MOV 85H, A c. MOV A, 85H d. MOV 85H, A 221. Lệnh assembly của 8051 “MOV DPTR, 1000H” sẽ: a. Nạp giá trị 00H vào thanh ghi DPH và 10H vào thanh ghi DPL b. Nạp giá trị 10H vào thanh ghi DPH và 00H vào thanh ghi DPL c. Sao chép nội dung của thanh ghi DPTR vào ô nhớ có địa chỉ 1000H d. Sao chép nội dung của ô nhớ có địa chỉ 1000H vào thanh ghi DPTR 222. Lệnh đọc bộ nhớ dữ liệu ngoài: a. MOVX A, DPTR b. MOVX DPTR, A c. MOV A, DPTR c. MOV DPTR, A 223. Lệnh ghi ra bộ nhớ dữ liệu ngoài: a. MOVX A, DPTR b. MOVX DPTR, A c. MOV A, DPTR c. MOV DPTR, A 224. Các đường tín hiệu dùng để xác định vị trí của một ô nhớ: a. RD, WR b. Vcc, GND c. D0..D7 d. A0..A15 225. Các đường tính hiệu sau của chip 8051 là loại multiplex: a. P2.0..7 b. P1.0..7 c. P0.0..7 d. Cả hai câu a và c đều đúng 226. Để đặt bit 67H (làm cho bit 67H nhận giá trị 1) ta dùng lệnh: a. SETB 67B b. MOV A, 2CH ORL A, 80H MOV 2CH, A c. MOV A, 67H d. Cả hai câu a và b đều đúng. 227. Bộ nhớ RAM trên chip 8051 gồm có: a. RAM đa chức năng b. Các dãy thanh ghi c. RAM định địa chỉ bit d. Cả ba câu a, b, c đều đúng. 228. Lệnh MOV A, 0H làm cho cờ: a. CY = 1 b. AC = 0 c. F0 = 1 d. OV = 1 229. Các tín hiệu vào của mạch giải mã địa chỉ gồm có: a. Các đường của P0, P1 b. Các đường của P0, P2 c. Các đường của P3 d. Cả ba câu a, b, c đều đúng 230. Trong mode địa chỉ tức thời có toán hạng là giá trị dữ liệu nằm ở: a. Toán hạng thứ nhất b. Toán hạng thứ hai c. Mã lệnh d. Cả ba câu a, b, c đều đúng 231. Chương trình con là: 17 a. Đoạn chương trình thực hiện 1 công việc và kết thúc bằng lệnh RET b. Đoạn chương trình thực hiện 1 công việc và kết thúc bằng lệnh END c. Có thể được gọi ở nhiều nơi trong chương trình chính d. Cả hai câu a và c đều đúng. 232. Các cờ được dùng để chỉ thị tình tràn của Timer là: a. Cờ tràn OF b. Cờ chiều IF c. Cờ tràn CF d. Cờ TFO, TF1 233. Lệnh MOV A, B dùng: a. Mode địa chỉ thanh ghi b. Mode địa chỉ tức thời c. Mode địa chỉ trực tiếp d. Mode địa chỉ gián tiếp 234. Mạch giải mã địa chỉ là: a. Mạch tính địa chỉ vật lý 20 bit b. Mạch mã hoá dữ liệu BCD ra led 7 đoạn c. Mạch tạo xung chọn chip (CS), xác định vùng địa chỉ bộ nhớ hay ngoại vi trong hệ vi xử lý d. Cả ba câu a, b, c đều đúng. 235. Vi điều khiển 8051 có các port xuất nhập sau: a. P0, P1, P2, P3 b. AD0 .. AD7 c. PSEN d. ALE 236. Cho đoạn mã Assembler sau: MOV A, 55H SUBB A, 56H Kết quả của thanh ghi A là: a. 00H b. FEH c. FFH d. Không xác định 237. Cho đoạn mã Assembler sau: MOV A, 55H LOOP: DEC A JZ LOOP END Kết quả của thanh ghi A là: a. 55H b. 56H c. 54H d. 0H 238. Cho đoạn mã Assembler sau: MOV A, 25H LOOP: DEC A JNZ LOOP END Kết quả của thanh ghi A là: a. 25H b. 26H c. 24H d. 0H 239. Cho đoạn mã Assembler sau: MOV A, 77H MOV B, 07H DIV AB Kết quả của thanh ghi A là: a. 11H b. 12H c. 7H d. 0H 18 240. Cho đoạn mã Assembler sau: MOV A, 77H MOV B, 07H DIV AB Kết quả của thanh ghi B là: a. 11H b. 12H c. 7H d. 0H 241. Cho đoạn mã Assembler sau: MOV A, 0F0H MOV B, 0E2H ORL A, B Kết quả của thanh ghi A là: a. E2H b. F2H c. FFH d.F0H 242. Cho đoạn mã Assembler sau: MOV A, 0F0H MOV B, 0E2H ORL A,B Kết quả của thanh ghi B là: a. E2H b. F2H c. FFH d.F0H 243. Cho đoạn mã Assembler sau: MOV A, 30H MOV R1, 0F0H MOV R1, A MOV A, R1 Kết quả của thanh ghi A là: a. 60H b. 06H c. F0H d. 30H 244. Cho đoạn mã Assembler sau: MOV A, 30H MOV R1, 0F0H MOV R1, A MOV A, R1 Kết quả của thanh ghi R1 là: a. 60H b. 06H c. F0H d. 30H 245. Cho đoạn mã Assembler sau: MOV A, 22H MOV B, 10H MUL A,B Kết quả của thanh ghi A là: a. 22H b. 10H c. 20H d. 02H 246. Cho đoạn mã Assembler sau: MOV A, 22H MOV B, 10H MUL A,B Kết quả của thanh ghi B là: a. 22H b. 10H c. 20H d. 02H 247. Cho đoạn mã Assembler sau: 19 MOV A, 0H DEC A Kết quả của thanh ghi A là: a. 0H b. 1H c. FFH d. Không xác định 248. Cho đoạn mã Assembler sau: MOV A, 0FFH INC A Kết quả của thanh ghi A là: a. 0H b. FEH c. FFH d. Không xác định 249. Cho đoạn mã Assembler sau: MOV A, 0FFH ADD A, 2H Kết quả của thanh ghi A là: a. 0H b. 1H c. FFH d. Không xác định 250. Cho đoạn mã Assembler sau: MOV P3, 55H CLR P3.2 Kết quả của thanh ghi P3 là: a. 55H b. 56H c. 54H d. 51H 251. Cho đoạn mã Assembler sau: MOV P1, 0FFH CLR P1.0 Kết quả của thanh ghi P1 là: a. 0H b. FEH c. FFH d. Không xác định 252. Cho đoạn mã Assembler sau: MOV P2, 00H CPL P2.1 CPL P2.0 Kết quả của thanh ghi P2 là: a. 5H b. 4H c. 3H d. 1H 253. Cho đoạn mã Assembler sau: MOV A, 0F4H MOV B, 0FH ADD A,B Kết quả của thanh ghi A là: a. 5H b. F4H c. 3H d. FH 254. Cho đoạn mã Assembler sau: MOV A, 0F4H MOV B, 0FH ADD A,B Kết quả của thanh ghi B là: a. 5H b. F4H c. 3H d. FH 255. Cho đoạn mã Assembler sau: MOV P2, 0FFH CPL P2.0 20 Kết quả của thanh ghi P2 là: a. 0H b. FEH c. FFH d. Không xác định 256. Cho đoạn mã Assembler sau: CLR C MOV A, 0FFH MOV B, 05H SUBB A,B Kết quả của thanh ghi A là: a. 4H b. FEH c. FAH d. Không xác định 257. Cho đoạn mã Assembler sau: CLR C MOV A, 0FFH MOV B, 05H SUBB A,B Kết quả của thanh ghi B là: a. 4H b. FEH c. FAH d. 5H 258. Cho đoạn mã Assembler sau: MOV R1, 0F0H MOV R1, 0FH MOV A, 0F0H ADD A, R1 Kết quả của thanh ghi A là: a. 0H b. FEH c. FFH d. F0H 259. Cho đoạn mã Assembler sau: MOV R1, 0F0H MOV R1, 0FH MOV A, 0F0H ADD A, R1 Kết quả của thanh ghi R1 là: a. 0H b. FEH c. FFH d. F0H 260. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 0AAH ADD A, R0 Kết quả của thanh ghi A là: a. C3H b. AAH c. 6DH d. 6BH 261. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 0AAH ADD A, R0 Kết quả của thanh ghi R0 là: a. C3H b. AAH c. 6DH d. 6BH 262. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 0AAH 21 ADD A, R0 Kết quả của cờ là: a. CY = 0, AC = 0 b. CY = 0, AC = 1 c. CY = 1, AC = 0 c. CY = 1, AC = 1 263. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 0AAH ADD A, R0 Kết quả của cờ là: a. AC = 0, OV = 0 b. AC = 0, OV = 1 c. AC = 1, OV = 0 d. AC = 1, OV = 1 264. Cho đoạn mã Assembler sau: MOV A, 93H MOV R0, 77H ADD A, R0 ADDC A, R0 Kết quả của thanh ghi A là: a. 93H b. 77H c. 82H d. 0AH 265. Cho đoạn mã Assembler sau: MOV A, 93H MOV R0, 77H ADD A, R0 ADDC A, R0 Kết quả của thanh ghi R0 là: a. 93H b. 77H c. 82H d. 0AH 266. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 55H ANL A, R0 Kết quả của thanh ghi A là: a. C3H b. 55H c. 41H d. D7H 267. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV R0, 55H ANL A, R0 Kết quả của thanh ghi R0 là: a. C3H b. 55H c. 41H d. D7H 268. Cho đoạn mã Assembler sau: MOV A, 0F0H ANL A, 0FH Kết quả của thanh ghi A là: a. F0H b. 0FH c. 00H d. FFH 269. Cho đoạn mã Assembler sau: MOV A, 0F0H ORL A, 0FH 22 Kết quả của thanh ghi A là: a. F0H b. 0FH c. 00H d. FFH 270. Cho đoạn mã Assembler sau: MOV A, 0FFH MOV R0, 0F0H XRL A, R0 Kết quả của thanh ghi A là: a. F0H b. 0FH c. 00H d. FFH 271. Cho đoạn mã Assembler sau: MOV A, 0FFH MOV R0, 0F0H XRL A, R0 Kết quả của thanh ghi R0 là: a. F0H b. 0FH c. 00H d. FFH 272. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 00H MOV 7FH, 40H DEC R0 DEC R0 DEC R0 Kết quả của thanh ghi R0 là: a. 7FH b. 7EH c. FFH d. 3FH 273. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 00H MOV 7FH, 40H DEC R0 DEC R0 DEC R0 Kết quả của ô nhớ có địa chỉ 7EH và 7FH là: a. ( 7EH ) = 00H, ( 7FH ) = 40H b. ( 7EH ) = FFH, ( 7FH ) = 3FH c. ( 7EH ) = 3FH, ( 7FH ) = FFH d. ( 7EH ) = 40H, ( 7FH ) = 00H 274. Cho đoạn mã Assembler sau: SETB C MOV A, 0C9H MOV R2, 54H SUBB A, R2 Kết quả của thanh ghi A là: a. C9H b. 54H c. 74H d. 75H 275. Cho đoạn mã Assembler sau: SETB C MOV A, 0C9H 23 MOV R2, 54H SUBB A, R2 Kết quả của thanh ghi R2 là: a. C9H b. 54H c. 74H d. 75H 276. Cho đoạn mã Assembler sau: MOV A, 0C5H SWAP A ADD A, 32H Kết quả của thanh ghi A là: a. C5H b. 32H c. E8H d. 8EH 277. Cho đoạn mã Assembler sau: MOV R0, 20H MOV A, 3FH MOV 20H, 75H XCH A, R0 Kết quả của thanh ghi A là: a. 20H b. 3FH c. 75H d. 57H 278. Cho đoạn mã Assembler sau: MOV R0, 20H MOV A, 36H MOV 20H, 75H XCHD A, R0 Kết quả của thanh ghi A là: a. 76H b. 35H c. 36H d. 75H 279. Khi lập trình cho ROM bên trong chip 8051, nguồn điện Vpp cung cấp là: a. Vpp = 5V b. Vpp = 12,5V c. Vpp = 21V d. Vpp = 0V 280. Để vùng nhớ của ngăn xếp (stack) có địa chỉ bắt đầu là 40H thì thanh ghi SP phải có giá trị là: a. 39H b. 3FH c. 40H d. 41H 281. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV 20H, 77H ADD A, 20H ADDC A, 20H Kết quả của thanh ghi A là: a. C3H b. 77H c. 20H d. B2H 282. Cho đoạn mã Assembler sau: MOV A, 0C3H MOV 20H, 77H ADD A, 20H ADDC A, 20H Kết quả của ô nhớ có địa chỉ 20H là: a. C3H b. 77H c. 20H d. B2H 283. Cho đoạn mã Assembler sau: MOV A, 0ABH 24 CLR C ADDC A, 0BAH Kết quả của thanh ghi A là: a. ABH b. BAH c. 65H d. 66H 284. Cho đoạn mã Assembler sau: MOV A, 7FH MOV R0, 26H MOV 26H, 0AAH ADD A, 26H ADDC A, R0 Kết quả của thanh ghi A là: a. D4H b. D3H c. 7FH d. 26H 285. Cho đoạn mã Assembler sau: MOV A, 7FH MOV R0, 26H MOV 26H, 0AAH ADD A, 26H ADDC A, R0 Kết quả của thanh ghi R0 là: a. D4H b. D3H c. 7FH d. 26H 286. Cho đoạn mã Assembler sau: MOV A, 7FH MOV R0, 26H MOV 26H, 0AAH ADD A, 26H ADDC A, R0 Kết quả của ô nhớ có địa chỉ 26H là: a. 7FH b. D3H c. AAH d. 26H 287. Cho đoạn mã Assembler sau: SETB C MOV A, 56H MOV 66H, 76H MOV R0, 66H SUBB A, R0 Kết quả của thanh ghi A là: a. 66H b. E0H c. 56H d. DFH 288. Cho đoạn mã Assembler sau: SETB C MOV A, 56H MOV 66H, 76H MOV R0, 66H SUBB A, R0 Kết quả của thanh ghi R0 là: a. 66H b. E0H c. 56H d. DFH 289. Cho đoạn mã Assembler sau: 25 SETB C MOV A, 56H MOV 66H, 76H MOV R0, 66H SUBB A, R0 Kết quả của ô nhớ có địa chỉ 66H là: a. 56H b. 66H c. 76H d. DFH 290. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 00H MOV 7FH, 40H INC R0 INC R0 INC R0 Kết quả của thanh ghi R0 là: a. 7FH b. 01H c. 41H d. 80H 291. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 00H MOV 7FH, 40H INC R0 INC R0 INC R0 Kết quả của ô nhớ có địa chỉ 7EH là: a. 00H b. 01H c. 02H d. 03H 292. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 00H MOV 7FH, 40H INC R0 INC R0 INC R0 Kết quả của ô nhớ có địa chỉ 7FH là: a. 43H b. 42H c. 41H d. 40H 293. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 00H MOV 7FH, 40H DEC R0 DEC R0 DEC R0 Kết quả của thanh ghi R0 là: a. 7FH b. 7EH c. FFH d. 3FH 294. Cho đoạn mã Assembler sau: MOV R0, 7FH 26 MOV 7EH, 00H MOV 7FH, 40H DEC R0 DEC R0 DEC R0 Kết quả của ô nhớ có địa chỉ 7EH là: a. 7FH b. 7EH c. FFH d. 3FH 295. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 00H MOV 7FH, 40H DEC R0 DEC R0 DEC R0 Kết quả của ô nhớ có địa chỉ 7FH là: a. 7FH b. 7EH c. FFH d. 3FH 296. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ORL A, R0 MOV R0, A ORL A, 7EH Kết quả của ô nhớ có địa chỉ 7EH là: a. 5FH b. 55H c. 4FH d. 7EH 297. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ORL A, R0 MOV R0, A ORL A, 7EH Kết quả của ô nhớ có địa chỉ 7FH là: a. 5FH b. 55H c. 4FH d. 7EH 298. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ORL A, R0 27 MOV R0, A ORL A, 7EH Kết quả của thanh ghi R0 là: a. 5FH b. 55H c. 4FH d. 7EH 299. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ORL A, R0 MOV R0, A ORL A, 7EH Kết quả của thanh ghi A là: a. 5FH b. 55H c. 4FH d. 7EH 300. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 0ADH MOV 7FH, 26H DEC R0 MOV A, 7FH XRL A, R0 MOV R0, A XRL A, 7FH Kết quả của thanh ghi R0 là: a. 26H b. ADH c. 8BH d. 00H 301. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 0ADH MOV 7FH, 26H DEC R0 MOV A, 7FH XRL A, R0 MOV R0, A XRL A, 7FH Kết quả của thanh ghi A là: a. 26H b. ADH c. 8BH d. 00H 302. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 0ADH MOV 7FH, 26H DEC R0 MOV A, 7FH XRL A, R0 MOV R0, A 28 XRL A, 7FH Kết quả của ô nhớ có địa chỉ 7EH là: a. 26H b. ADH c. 8BH d. 00H 303. Cho đoạn mã Assembler sau: MOV R0, 7FH MOV 7EH, 0ADH MOV 7FH, 26H DEC R0 MOV A, 7FH XRL A, R0 MOV R0, A XRL A, 7FH Kết quả của ô nhớ có địa chỉ 7FH là: a. 26H b. ADH c. 8BH d. 00H 304. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ANL A, R0 MOV R0, A ANL A, 7EH Kết quả của ô nhớ có địa chỉ 7EH là: a. 45H b. 55H c. 4FH d. 7EH 305. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ANL A, R0 MOV R0, A ANL A, 7EH Kết quả của ô nhớ có địa chỉ 7FH là: a. 45H b. 55H c. 4FH d. 7EH 306. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ANL A, R0 MOV R0, A ANL A, 7EH 29 Kết quả của thanh ghi R0 là: a. 45H b. 55H c. 4FH d. 7EH 307. Cho đoạn mã Assembler sau: MOV R0, 7EH MOV 7EH, 55H MOV 7FH, 4FH INC R0 MOV A, 7EH ANL A, R0 MOV R0, A ANL A, 7EH Kết quả của thanh ghi A là: a. 45H b. 55H c. 4FH d. 7EH 308. Cho đoạn mã Assembler sau: MOV A, 0F0H XRL A, 0FH Kết quả của thanh ghi A là: a. F0H b. FFH c. 0FH d. 00H 309. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A ANL 5AH, 0BDH CPL A ANL 5AH, A Kết quả của thanh ghi A là: a. 5AH b. A5H c. 00H d. BDH 310. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A ANL 5AH, 0BDH CPL A ANL 5AH, A Kết quả của ô nhớ có địa chỉ 5AH là: a. 5AH b. A5H c. 00H d. BDH 311. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A ORL 5AH, 22H CPL A ORL 5AH, A Kết quả của thanh ghi A là: a. 00H b. FFH c. 5AH d. A5H 312. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A 30 ORL 5AH, 22H CPL A ORL 5AH, A Kết quả của ô nhớ có địa chỉ 5AH là: a. 00H b. FFH c. A5H d. 5AH 313. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A XRL 5AH, 0DBH CPL A XRL 5AH, A Kết quả của thanh ghi A là: a. 5AH b. A5H c. 42H d. 24H 314. Cho đoạn mã Assembler sau: MOV A, 5AH MOV 5AH, A XRL 5AH, 0DBH CPL A XRL 5AH, A Kết quả của ô nhớ có địa chỉ 5AH là: a. 5AH b. A5H c. 42H d. 24H 315. Cho đoạn mã Assembler sau: MOV A, 0C5H RL A Kết quả của thanh ghi A là: a. 8AH b. 8BH c. 62H d. E2H 316. Cho đoạn mã Assembler sau: MOV A, 0C5H RR A Kết quả của thanh ghi A là: a. 8AH b. 8BH c. 62H d. E2H 317. Cho đoạn mã Assembler sau: MOV A, 0B6H RL A Kết quả của thanh ghi A là: a. 5BH b. 5CH c. 6DH d. 6CH 318. Cho đoạn mã Assembler sau: MOV A, 0B6H RR A Kết quả của thanh ghi A là: a. 5BH b. 5CH c. 6DH d. 6CH 319. Cho đoạn mã Assembler sau: MOV A, 52H ADD A, 7BH RLC A 31 Kết quả của thanh ghi A là: a. 66H b. E6H c. 9AH d. 9BH 320. Cho đoạn mã Assembler sau: MOV A, 52H ADD A, 7BH RRC A Kết quả của thanh ghi A là: a. 66H b. E6H c. 9AH d. 9BH 321. Cho đoạn mã Assembler sau: MOV A, 0A3H ADD A, 0E6H RLC A Kết quả của thanh ghi A là: a. 12H b. 13H c. 24H d. C4H 322. Cho đoạn mã Assembler sau: MOV A, 0A3H ADD A, 0E6H RRC A Kết quả của thanh ghi A là: a. 12H b. 13H c. 24H d. C4H 323. Cho đoạn mã Assembler sau: MOV A, 0C5H SWAP A Kết quả của thanh ghi A là: a. 50H b. 5CH c. 00H d. 0CH 324. Cho đoạn mã Assembler sau: MOV P1, 0ABH MOV C, P1.0 ANL C, P1.6 MOV P1.5, C Kết quả của thanh ghi P1 là: a. 2BH b. 4BH c. 8BH d. ABH 325. Cho đoạn mã Assembler sau: MOV P2, 5DH MOV C, P2.2 ORL C, P2.4 MOV P2.7, C Kết quả của thanh ghi P2 là: a. 5DH b. 7DH c. 9DH d. DDH 326. Cho đoạn mã Assembler sau: MOV P1, 0ABH MOV C, P1.0 ANL C, P1.6 MOV P1.4, C Kết quả của thanh ghi P1 là: 32 a. ABH b. BBH c. CBH d. DBH 327. Cho đoạn mã Assembler sau: MOV P2, 5DH MOV C, P2.1 ORL C, P2.3 MOV P2.0, C Kết quả của thanh ghi P2 là: a. 5AH b. 5BH c. 5CH d. 5DH 328. Cho đoạn mã Assembler sau: MOV P3, 5BH CPL P3.1 CPL P3.2 Kết quả của thanh ghi P3 là: a. 5AH b. 5BH c. 5CH d. 5DH 329. Cho đoạn mã Assembler sau: MOV P3, 5BH CLR P3.6 CPL P3.1 CPL P3.0 Kết quả của thanh ghi P3 là: a. 18H b. 81H c. 5BH d. B5H 330. Cho đoạn mã Assembler sau: MOV R0, 00H WAIT: DJNZ R0, WAIT MOV A, R0 Kết quả của thanh ghi A là: a. 01H b. FFH c. 00H d. Không xác định 331. Cho đoạn mã Assembler sau: MOV R0, 00H DJNZ R0, WAIT WAIT: MOV A, R0 Kết quả của thanh ghi A là: a. 01H b. FFH c. 00H d. Không xác định 332. Cho đoạn mã Assembler sau: MOV R0, 07H WAIT: DJNZ R0, WAIT MOV A, R0 Kết quả của thanh ghi A là: a. 01H b. FFH c. 00H d. Không xác định 333. Cho đoạn mã Assembler sau: MOV A, 2FH MOV R0, 0F2H ADD A, R0 CJNE A, 00H, DUNG MOV A, 0FFH 33 DUNG: MOV R0, 2FH Kết quả của thanh ghi A và R0 là: a. A = 21H, R0 = 2FH b. A = 2FH, R0 = F2H c. A = FFH, R0 = F2H d. A = FFH, R0 = 2FH 334. Cho đoạn mã Assembler sau: MOV A, 0FH MOV R0, 0F1H ADD A, R0 CJNE A, 00H, DUNG MOV A, 0FFH DUNG: MOV R0, 2FH Kết quả của thanh ghi A và R0 là: a. A = 21H, R0 = 2FH b. A = 2FH, R0 = F2H c. A = FFH, R0 = F2H d. A = FFH, R0 = 2FH 335. Cho đoạn mã Assembler sau: MOV A, 2BH MOV R0, 07H WAIT: INC A DJNZ RO, WAIT Kết quả của thanh ghi A là: a. 30H b. 31H c. 32H d. 33H 336. Cho đoạn mã Assembler sau: MOV A, 0ABH MOV 20H, 03H ADD A, 20H CJNE A, 20H, DUNG MOV A, 00H DUNG: MOV 20H, 0ABH Kết quả của thanh ghi A và 20H là: a. A = AEH, 20H = 03H b. A = 00H, 20H = ABH c. A = 00H, 20H = 03H d. A = AEH, 20H = ABH 337. Cho đoạn mã Assembler sau: MOV A, 0ABH MOV 20H, 03H ADD A, 58H CJNE A, 20H, DUNG MOV A, 00H DUNG: MOV 20H, 0ABH Kết quả của thanh ghi A và 20H là: a. A = 00H, 20H = 58H b. A = 03H, 20H = 58H c. A = 00H, 20H = ABH d. A = 03H, 20H = ABH 338. Xung tín hiệu ALE có tần số bằng …. tần số dao động bên trong chip vi điều khiển: a. 16 b. 12 c. 112 d. 1 339. Khi thi hành bộ nhớ từ bộ nhớ mở rộng chân EA cần được mắc: a. Mức cao (+5V) b. Mức thấp (0V) 34 c. Bỏ trống d. Cả 3 câu đều sai 340. Trong các lện h sau lệnh nào tương đương: (1) MOV A, 00010010B (2) MOV A, 12H (3) MOV A,18 a. (1) (2) b. (2) (3) c. (1) (3) d. (1) (2) (3) 341. Cho đoạn mã Assembler sau: MOV 30H, 2EH MOV R1, 2FH INC R1 MOV A,R1 MOV R1, 40H Kết quả thanh ghi R1 là: a. 2FH b. 40H c. 2EH d. 30H 342. Cho đoạn mã Assembler sau: MOV 30H, 2EH MOV R1, 2FH INC R1 MOV A,R1 MOV R1, 40H Kết quả của thanh ghi A là: a. 2FH b. 40H c. 2EH d. 30H 343. Cho đoạn mã Assembler sau: MOV 30H, 0EH MOV A,15H MOV A, 30H Kết quả thanh ghi A: a. 15H b. 30H c. 0EH d. Không xác định. 344. Cho đoạn mã Assembler sau: MOV 4BH, 56H MOV R0, 4AH MOV A, 14H INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi A: a.4AH b.14H c. 56H d. 15H 345. Cho đoạn mã Assembler sau: MOV 4BH, 56H MOV R0, 4AH MOV A, 14H INC A MOV R0, A 35 INC R0 MOV A,R0 Kết quả thanh ghi R0: a.4AH b.4BH c. 56H d. 14H 346. Cho đoạn mã Assembler sau: MOV 4BH, 56H MOV R0, 4AH MOV A, 14H INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi 4AH: a.4AH b.4BH c. 56H d. 15H 347. Cho đoạn mã Assembler sau: MOV 4BH, 56H MOV R0, 4AH MOV A, 14H INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi 4BH: a.4AH b.4BH c. 56H d. 14H 348. Cho đoạn mã Assembler sau: MOV R0, 52H MOV A, 17H MOV 53H, A INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi A: a.53H b.52H c. 17H d. 18H 349. Cho đoạn mã Assembler sau: MOV R0, 52H MOV A, 17H MOV 53H, A INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi R0: a.53H b.52H c. 17H d. 18H 350. Cho đoạn mã Assembler sau: 36 MOV R0, 52H MOV A, 17H MOV 53H, A INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi 52H: a.53H b.52H c. 17H d. 18H 351. Cho đoạn mã Assembler sau: MOV R0, 52H MOV A, 17H MOV 53H, A INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi 53H: a.53H b.52H c. 17H d. 18H 352. Cho đoạn mã Assembler sau: MOV R0, 52H MOV A, 17H INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi A: a.53H b.52H c. 19H d. 18H 353. Cho đoạn mã Assembler sau: MOV R0, 52H MOV A, 17H INC A MOV R0, A INC R0 MOV A,R0 Kết quả thanh ghi R0: a.53H b.52H c. 19H d. 18H 354. Để khởi động con trỏ ngăn xếp (SP) bắt đầu tại địa chỉ 49H
Xem thêm

66 Đọc thêm

ĐỒ ÁN ĐK TỐC ĐỘ ĐỘNG CƠ DC HIỂN THỊ TRÊN MÀN HÌNH MÁY TÍNH (CÓ COS VÀ MẠCH)

ĐỒ ÁN ĐK TỐC ĐỘ ĐỘNG CƠ DC HIỂN THỊ TRÊN MÀN HÌNH MÁY TÍNH (CÓ COS VÀ MẠCH)

02048byteĐối với các chip có bộ nhớ SRAM 128 byte thì địa chỉ của cácbyte SRAM này được đánh số từ 00H đến 7FH. Đối với các chip có bộnhớ SRAM 256 byte thì địa chỉ của các byte trong SRAM được đánh sốtừ 00H đến FFh. SRAM có địa chỉ từ 00H – 7FH là vùng RAM thấp vàphần có địa chỉ từ 80H – FFH là vùng RAM cao. Cổng vào/ra song song( I/O Port )8051 có 4 cổng vào/ra song song là P0,P1,P2,P3. Tất cả các cổng nàyđều là cổng vào/ra cả hai chiều 8bit. Các bit của mỗi cổng là một chântrên chip, như vậy mỗi cổng sẽ có 8 chân trên chip.Cổng P0 không có điện trở treo cao bên trong, mạch lái tạo mứccao chỉ có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/dữliệu. như vậy với chức năng ra thông thường thì P0 là cổng ra còn vớichức năng vào thì P0 là cổng vào cao trở. Nếu muốn sử dụng P0 làmcổng vào/ra thông thường ta phải thêm điện trở bên ngoài. Giá trị điện trởbên ngoài thường là 4k – 10k.Các cổng p1, p2, p3 đều có điện trở bên trong, do đó có thể dùngvới các chức năng cổng vào/ra thông thường mà không cần thêm điện trởngoài. Thực chất điện trở bên ngoài các FET không phải điện trở tuyếntính thông thường nhưng khả năng tạo dòng ra của mạch lái khi đầu ra ởmức cao( hoặc khi là đầu vào ) rất nhỏ, chỉ khoảng 100 micro Ampe. Cổng vào ra nối tiếp ( Serial Port )Cổng này thường chỉ được sử sụng khi giao tiếp với mày tính hoặcgiao tiếp với vi điều khiển khác. Cổng nối tiếp có hai thanh ghi SCON,SBUF và PCON. Thanh ghi PCON không định địa chỉ bit và có bít 7 là
Xem thêm

13 Đọc thêm

Mạch mô phỏng đèn giao thông

MẠCH MÔ PHỎNG ĐÈN GIAO THÔNG

Ý tưởng thực hiện:
Nhận thấy giao thông hiện nay còn tình trạng tắc, nghẽn nên nhóm em thực hiện mô phỏng đèn giao thông ngã tư với 2 đường 1 chiều giao nhau sử dụng vi điều khiển 8051, nhằmnghiên cứu, mô phỏng quá trình hoạt động của đèn giao thông, đồng thời đưa ra một số ý kiến về chức năng của đèn giao thông để giảm thiểu tình trạng trên.

Chức năng của mạch:
Mạch thực hiện đếm lùi, số đếm được hiển thị qua led 7 đoạn. Khi mạch thực hiện đếm lùi, 6led đỏ vàng và xanh sẽ lần lượt sáng biểu thị cho 2 cột đèn giao thông ở ngã tư.
Mạch có thể thay đổi thời gian sáng của các đèn thuận tiện điều tiết giao thông. Đồng thời cùng một chương trình, ta có thể áp dụng cho nhiều đèn giao ở các ngã tư có hai tuyến đường một chiều giao nhau mà không phải sửa chương trình để thay thời gian đếm.
Mạch có chức năng điều tiết lưu lượng giao thông, khi lượng xe lưu thông của hai tuyến đường không đồng đều bằng cách giảm thời gian đèn đỏ của tuyến đường có nhiều phương tiện tham gia ( tăng lưu lượng xe qua tuyến đường ), tăng thời gian chờ đèn đỏ cho tuyến đường còn lại ( giảm lưu lượng xe qua tuyến đường ). Chức năng được thực hiện nhờ các nút bấm. Khi ở chế độ này thời gian đếm ở nửa chu kì bị giảm một nửa.
Với các chức năng trên ta có thể kết hợp với một bộ điều khiển từ xa giúp cho các người điều khiển giao thông có thể theo dõi, điều khiển lượng xe lưu thông từ xa mà không phải đến địa điểm xảy ra tắc nghẽn.

Linh kiện làm mạch:
Vi điều khiển 8051.
Led xanh, đỏ, vàng mỗi loại 2 cái.
Tụ thạch anh 12MHz, tụ gốm 33pF, Trở 330 Ω, 1 kΩ.
Nút bấm.
2 led 7 đoạn.
Nguồn 5V.

Quá trình hoạt động:
Chế độ 0:
Khi mạch bắt đầu hoạt động ta thực hiện lựa chọn số đếm cho đèn giao thông. Ban đầu led 7 đoạn hiển thị giá trị 00, chân p2.6 và p2.7 được nối qua một nút bấm và nối xuông đất. Hai chân được được đưa lên mức 1 qua lệnh được lập trình trên 8051, khi ấn nút bấm, chân p2.6 được nối đất chuyển xuống mức 0, vi điều khiển sẽ nhảy tới chương trình con thực hiện tăng số đếm được hiển thị qua led 7 đoạn, thời gian sáng của đèn đỏ bằng với giá trị hiển thị trên led, việc tăng số đếm được lặp lại khi ta tiếp tục ấn nút p2.6. Sau khi kết thúc lựa chọn thời gian sáng cho đèn đỏ, ta ấn nút p2.7 để tiếp tục lựa chọn thời gian sáng cho đèn vàng. Sau khi hoàn tất ta ấn tiếp nút p2.7 để mạch bắt đầu hoạt động, trong quá trình hoạt đông ta có thể ấn tiếp nút p2.7 để đưa mạch về trạng thái ban đầu.
Cổng p1, p3 dùng hiển thị số đếm ra led 7 đoạn, cổng p2 dùng nối với các led biểu thị đèn giao thông, cổng p0 sử dụng làm các chân điều kiện chạy chương trình.
Chế độ 1:
Khi thời gian sáng của đèn đỏ bằng 01, mạch chuyển sang chế độ 1. Ở chế độ này Vi điều khiển chuyển băng thanh ghi, thời gian sáng tiếp tục được lập trình như chế độ 0. Sau khi lập trình xong trong nửa chu kỳ đầu mạch thực hiện đếm bình thường, nửa chu kỳ sau thời gian sáng của đèn đỏ giảm một nửa, nút p2.6 có nhiệm vụ chuyển đổi việc lựa chọn giảm thời gian sáng của đèn đỏ giữa hai cột đèn giao thông. Khi ấn nút p2.7 mạch được chuyển về trạng thái ban đầu ở chế độ 0.
Thuật toán:


CODE:
org 00H
MAIN:
LCALLDELAY
MOV DPTR,MALED
MOV A,0
MOVC A,A+DPTR
MOV P1,A
MOV P2,0
MOV A,0
MOVC A,A+DPTR
MOV P3,A
MOV R0,0
CLR P0.0
CLR P0.3
SETB P2.6
SETB P2.7
MOV R7,0
MOV 34H,1
MOV R1,0
MOV R2,0
MOV A,0
MOV R6,10
LJMPTIM
NHAN1:
DEC R0
MOV A,R0
JNZTIM40
MOV R0,9
DEC 34H
TIM40:
MOV A,34H
DEC A
MOV 34H,A
MOV R7,34H
LJMPTIM26
TIM27:
MOV A,R7
JNZTIM15
MOV A,R0
DEC A
JNZTIM15
SETB PSW.4
SETB P0.1
LJMPMAIN
TIM15:
MOV A,0
MOV R6,10
MOV R1,0
LCALLDELAY
LJMPTIM2
TIM4:
MOV P2,0
SETB P2.6
SETB P2.7
DEC R2
CLR P2.0
SETB P2.3
LOOP:
JNB PSW.4,TIM19
JNB P0.1,TIM25
JB P0.1,TIM16
TIM19:
MOV A,0
MOVC A,A+DPTR
MOV P1,A
LCALLDELAY
LCALLDELAY
CPL P2.0
CPL P2.3
MOVC,P2.0
CPLC
MOV P2.1,C
MOVC,P2.3
CPLC
MOV P2.4,C
CLR P2.2
CLR P2.5
JNB PSW.4,TIM22
CLR P0.0
JB P0.1,TIM17
TIM22:
MOV R7,34H
TIM17:
JNB PSW.4,TIM23
JNB P0.1,TIM23
MOV R7,35H
TIM23:
MOV A,R7
MOVC A,A+DPTR
MOV P3,A
TIM24:
MOV A,R2
MOV R6,A
TIM21:
MOV A,R0
MOV R1,A
JNB PSW.4,LOOP1
JNB P0.1,TIM20
MOV R1,36H
TIM20:
CPL P0.1
LOOP1:
JNB P2.7,TIM36
MOV A,R1
MOVC A,A+DPTR
MOV P1,A
LCALLDELAY
LCALLDELAY
MOV A,R7
JZTIM11
TIM12:
JNB P2.6,TIM13
MOV A,R6
DEC A
JZNHAN
LOOP4:
MOV R6,A
JNB P2.7,TIM36
DJNZ R1,LOOP1
JBC P0.3,TIM19
MOV A,R7
DEC A
MOV R7,A
LJMPTIM8
TIM11:
SETB P0.3
LJMPTIM12
TIM25:
LJMPTIM18
TIM36:
CLR PSW.4
LCALLDELAY
LCALLDELAY
LJMPMAIN
TIM16:
JNB P0.1,TIM19
MOV A,34H
MOV B,2
DIV AB
MOV R7,A
MOV 35H,A
MOV A,B
MOV B,10
MUL AB
ADD A,R0
MOV B,2
DIV AB
MOV 36H,A
LJMPTIM19
NHAN:
MOV A,R1
JZTIM7
SETB P0.0
MOVC,P2.1
MOV P2.2,C
MOVC,P2.4
MOV P2.5,C
CLR P2.1
CLR P2.4
LJMPLOOP4
TIM18:
SETB P0.1
LJMPLOOP
TIM13:
JB PSW.4,TIM35
LJMPMAIN
TIM35:
CPL P2.0
CPL P2.3
CLR P0.3
LJMPTIM16
TIM8:
MOV A,R6
DEC A
MOV R6,A
JZNHAN
TIM7:
MOV A,00H
MOVC A,A+DPTR
MOV P1,A
LCALLDELAY
LCALLDELAY
MOV R1,9
MOV A,R7
MOVC A,A+DPTR
MOV P3,A
JB P0.0,TIM32
MOV A,R6
JZTIM31
TIM32:
LJMPLOOP1
TIM31:
MOVC,P2.1
MOV P2.2,C
MOVC,P2.4
MOV P2.5,C
Xem thêm

12 Đọc thêm

Dùng các vi mạch tương tự tính toán, thiết kế mạch đo và cảnh báo nhiệt độ sử dụng cặp nhiệt ngẫu. Yêu cầu: Dải đo từ: t0C =00C ÷ tmax = 0(100+100n)0C.

DÙNG CÁC VI MẠCH TƯƠNG TỰ TÍNH TOÁN, THIẾT KẾ MẠCH ĐO VÀ CẢNH BÁO NHIỆT ĐỘ SỬ DỤNG CẶP NHIỆT NGẪU. YÊU CẦU: DẢI ĐO TỪ: T0C =00C ÷ TMAX = 0(100+100N)0C.

Đề tài: Dùng các vi mạch tương tự tính toán, thiết kế mạch đo và cảnh báo nhiệt độ sử dụng cặp nhiệt ngẫu.
Yêu cầu: Dải đo từ: t0C =00C ÷ tmax = 0(100+100n)0C.
Đầu ra: Chuẩn hóa đầu ra với các mức điện áp:
1. U=0 ÷ 10V
2. U= 0 ÷ 5V
3. I=0÷20mA.
4. I=4÷20mA
Dùng cơ cấu đo để chỉ thị hoặc LED 7 thanh hiển thị nhiệt độ
Khi nhiệt độ trong giới hạn bình thường : t0C=0÷tmax2. Thiết kế mạch nhấp nháy cho LED với thời gian sáng và tối bằng nhau và bằng: T0=(1+0,5a) giây.
Đưa ra tín hiệu cảnh báo bằng còi khi nhiệt độ vượt giá trị : t0C= tmax2
Trong đó:
a: chữ số hàng đơn vị của danh sách (ví dụ: STT=3a=3; STT=10a=0)
n: Số thứ tự sinh viên trong danh sách.
Xem thêm

28 Đọc thêm

Bài giảng xử lý song song

BÀI GIẢNG XỬ LÝ SONG SONG

1. Lập trình đa luồng (MultiThreaded Programming)
1.1. Tiến trình (Process)
• Tiến trình: một thực thể thực thi của chương trình đã bắt đầu nhưng chưa kết thúc
• Tiến trình là đơn vị nhỏ nhất cho cấp phát tài nguyên
• Tiến trình được tạo qua lời gọi hệ thống, vd. fork( ) trong UNIX
• Hệ thống quản lý tiến trình qua khối điều khiển tiến trình (PCB)
• Liên lạc giữa các tiến trình thông qua các giao thức IPC
• Theo quan điểm hệ thống
– Tiến trình là đơn vị chiếm dụng tài nguyên: CPU, bộ nhớ, thanh ghi, thẻ tệp...
– Các tiến trình là riêng biệt: tiến trình không thể truy cập trực tiếp đến tài nguyên của tiến trình khác
– Liên lạc giữa các tiến trình rất tốn chi phí
• Tiến trình có thể được nhìn theo 2 góc độ: chiếm dụng tài nguyên và thực thi lệnh → theo góc độ 2 thi tiến trình là tập hợp các luồng
1.2. Luồng (Thread)
• Luồng là đơn vị thực thi của tiến trình
• Một tiến trình bao gồm một hoặc nhiều luồng, mỗi luồng thì thuộc về một tiến trình
• Luồng có vùng nhớ ngăn xếp riêng, con trỏ lệnh riêng, các thanh ghi riêng
• Các luồng trong tiến trình chia sẻ các tài nguyên khác của tiến trình, vd. bộ nhớ
• Liên lạc giữa các luồng thông qua vùng nhớ của tiến trình
Xem thêm

54 Đọc thêm

TÌM HIỂU KIẾN TRÚC MIPS : BÁO CÁO BÀI TẬP LỚN MÔN HỌC KIẾN TRÚC MÁY TÍNH TIÊN TIÊN

TÌM HIỂU KIẾN TRÚC MIPS : BÁO CÁO BÀI TẬP LỚN MÔN HỌC KIẾN TRÚC MÁY TÍNH TIÊN TIÊN

CHƯƠNG I: KIẾN TRÚC CISC VÀ RISC31.1. Kiến trúc CISC31.2. Kiến trúc RISC31.3. So sánh giữa CISC và RISC4CHƯƠNG II: KIẾN TRÚC MIPS62.1. Giới thiệu về MIPS:62.2. Các thành phần cơ bản của kiến trúc MIPS:62.3. Tập các thanh ghi trong kiến trúc MIPS:82.3.1. Thanh ghi CPU82.3.1.1. Tập thanh ghi MIPS (32 thanh ghi)82.3.1.2. Thanh ghi đặc biệt (2 thanh ghi)102.3.1.3. Thanh ghi chương trình(PC)102.3.1.4. Các thanh ghi lệnh102.3.2. Thanh ghi FPU112.3.2.1. Dữ liệu trong thanh ghi FPU112.3.2.2. Các thanh ghi đa năng122.3.2.3. Các thanh ghi điều khiển132.4. Bộ nhớ132.5. Kiểu dữ liệu và cách thức đánh địa chỉ142.5.1. Kiểu dữ liệu:142.5.2. Cách thức đánh địa chỉ:15CHƯƠNG III: TẬP LỆNH TRONG MIPS173.1. Nguyên tắc thiết kế tập lệnh MIPS183.2. Các cấu trúc lệnh trong MIPS183.2.1. Cấu trúc lệnh RFormat (Register)183.2.2. Cấu trúc IFormat (Immediate)193.2.3. Cấu trúc JFormat (Jump)203.3. Các lệnh cơ bản trong kiến trúc MIPS203.3.1. Các lệnh nạpghi (loadstore)203.3.1.1. Các lệnh nạp (Load)213.3.1.2. Các lệnh ghi (Store)213.3.2. Các lệnh số học, logic và lệnh dịch223.3.2.1. Lệnh số học223.3.3.2. Các lệnh logic233.3.2.3. Các lệnh dịch243.3.3. Các lệnh nhảy và rẽ nhánh253.3.3.1. Các lệnh rẽ nhánh253.3.3.2. Các lệnh nhảy263.3.4. Các lệnh di chuyển dữ liệu263.3.5. Làm việc với Stack273.3.6. Làm việc với thủ tục273.4. Xây dựng chương trình hợp ngữ MIPS283.4.1. Cấu trúc chương trình hợp ngữ MIPS283.4.2. Giới thiệu chương trình MARS29CHƯƠNG IV: KỸ THUẬT PIPELINE TRONG KIẾN TRÚC MIPS304.1. Ứng dụng của kỹ thuật Pipeline trong các vi xử lý hiện đại304.2. Kỹ thuật Pipeline trong kiến trúc MIPS314.2.1. Việc triển khai Pipeline trong MIPS là dễ dàng314.2.2. Mô hình Pipeline trong MIPS32
Xem thêm

33 Đọc thêm

ĐỒ ÁN QUẠT TẢN NHIỆT TỰ ĐỘNG

ĐỒ ÁN QUẠT TẢN NHIỆT TỰ ĐỘNG

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………PHẦN MỞ ĐẦU1.1 Lý do chọn đề tàiGVHD: Vương Sỹ KôngNhóm SVTH: Nguyễn Văn Quyết – Loan Thanh Lương44 Chúng ta đang sống trong thế kỷ XXI, thế kỷ của khoa học cách mạng kỹthuật. Xung quanh chúng ta có vô số các thiết bị điện tử. Các thiết bị điện tử to lớndùng trong công nghiệp cho đến các thiết bị điện tử dân dụng hàng ngày quanhchúng ta đều đựơc điều khiển bởi các mạch điện tử, tìm hiểu về các mạch điện tử làmột điều hết sức thiết thực và bổ ích và có ứng dụng thực tiễn. Khi máy hoạt động các chi tiết máy được nung nóng. Máy chỉ hoạt động tốtnếu chế độ nhiệt của các chi tiết được giữ trong một giới hạn nhất định. Vì vậytrong các loại máy móc người ta phải dùng hệ thống làm mát. Nhiệm vụ của hệthống làm mát là lấy đi phân nhiệt dư thừa của các chi tiết rồi tản ra môi trườngxung quanh, đảm bảo cho các chi tiết của động cơ luôn hoạt động ở chế độ thíchhợp nhất. Có hai hệ thống làm mát là: hệ thống làm mát bằng nước sử dụng chođộng cơ có công suất lớn và hệ thống làm mát bằng không khí thường dùng chođộng cơ có công suất nhỏ. Đối với những động cơ dùng quạt làm mát cho động cơ thì quạt làm mát độngcơ được điều khiển bằng bộ xử lý trung tâm, khi động cơ hoạt động thì quạt giólàm mát động cơ sẽ chạy ở nhiều chế độ, có lúc ngừng hoạt động khi nhiệt độ độngcơ giảm thấp, và sẽ hoạt động trở lại khi nhiệt độ tăng lên mức giới hạn. Ví dụ như
Xem thêm

47 Đọc thêm

TAI LIEU LOGO DÀNH CHO HỌC SINH TIỂU HỌC

TAI LIEU LOGO DÀNH CHO HỌC SINH TIỂU HỌC

Giải toán bằng LogoI Làm các phép tính trong LOGOCó thể sử dụng các phép tính cộng (+), trừ (), nhân () và chia () trong LOGO.Khi đó, LOGO sẽ hiện kết quả trong khung xám của cửa sổ lệnh bằng lệnh PRINT (pr)Ví dụ: Pr 3+5 sẽ hiện kết quả của phép tính 3+5.Nếu biểu thức cần tính kết quả là đây các phép tính thì LOGO sẽ thực hiện nhânchia trước, cộng trừ sau.Nếu dãy các phép tính chỉ có cộng và trừ hoặc nhân và chia thì LOGO sẽ thựchiện các phép tính tuần tự từ trái qua phải.Nếu có các thành phần nằm trong cặp dấu ngoặc đơn thì các thành phần đỏ sèđược ưu tiên thực hiện trước.Khi giải các bài toán, ngoài việc thực hiện các phép toán để tìm ra đáp số thì cònphải ghi lời giải của nó.Để ghi lời giải dạng văn bản hoặc kết quả các phép tính vào màn hình chính củaLOGO ta dùng lệnh LABEL. Nội dung viết ra được đặt trong cặp dấu . Sử dụng biến trong LogoBiến là một đại lượng có thể thay đổi giá trị của nó.Tại sao phải dùng biến? có thể hiểu một cách đơn giản nhất: Dùng biến để đảmbảo tính tổng quát của một dạng bài toán. Sau này khi sử dụng thành thạo, ta sẽ thấy cònnhiều trường hợp khác cũng phải dùng đến biến.Ghi chú: với cách giải toán bằng phương pháp dùng ký hiệu thay thế thì các kýhiệu thay thế đó cũng được gọi là các biến. Các cấu trúc xét điều kiện trong Logo+ ififesle+ While
Xem thêm

9 Đọc thêm

Tài liệu Thi công chức tin học văn phòng ( có đáp án)

TÀI LIỆU THI CÔNG CHỨC TIN HỌC VĂN PHÒNG ( CÓ ĐÁP ÁN)

Hãy chọn đáp án đúng và ghi vào phiếu trả lời (có thể lựa chọn một hoặc hai đápán)1. Bộ nhớ trong của máy vi tính gồm những thành phần nào ?A. Đĩa từB. ROM và CDROMC. RAM và đĩa cứngD. RAM và ROM2. CPU (Central Proccessor Unit) gồm có các thành phần chínhA. Bộ điều khiển Các thanh ghiB. Bộ xử lý số học Các thanh ghiC. Bộ điều khiển Bộ xử lý số học và logicD. Bộ tính toán Các thanh ghi3. Một GB tương dươngA. 1000 MBB. 210 MBC. 1000000 KBD. 1024 MB4. Phát biểu nào sau đây là đúng ?A. Dữ liệu khi đưa vào bộ nhớ RAM máy vi tính sẽ được xuất lên màn hìnhB. Một lập trình viên có thể đọc và ghi trên bất kỳ vị trí nào trong bộ nhớ chínhC. Các thành phần vật lý của một máy vi tính được gọi chung là phần cứngD. Máy tính dùng để giải quyết các bài toán mà con người không làm được.5. Dãy nhị phân 1011100111100111 đổi sang hệ HEX làA. CAF6B. B9E7C. B4F7D. A8D86. Đáp án nào không phải là xu hướng phát triển của bộ vi xử lý ?A. Điện áp cung cấp tăng.B. Tần số đồng hồ ngày càng cao.C. Tốc độ truy cập bộ nhớ tăng lên.D. Số transistor tăng lên7. Cụm từ viết tắt nào không để chỉ mạng máy tính:A. LANB. MANC. NAND. GAN8. Trong mạng máy tính Mô hình chuẩn về kết nối mở OSI (Open SystemsInterconnection) sử dụng mô hình mấy tầng (layer) để mô tả quá trình trao đổidòng dữ liệuA. 7 tầngB. 8 tầng.C. 4 tầng.D. 5 tầng9.
Xem thêm

23 Đọc thêm

LỆNH MIT THANH GHI

LỆNH MIT THANH GHI

Reset C235 U/DC236 U/DC237 U/DC238 U/DC239 U/DC240 U/D1 pha có SetReset C241 U/D RC242 U/D RC243 U/D RC244 U/D R SC245 U/D R S2 pha 2 hướng C246 U DC247 U D RC248 U D RC249 U D R SC250 U D R S2 phaA &B C251 A BC252 A B RC253 A B RC254 A B R SC255 A B R SX0 ¬ X6 là 6 ngõ vào xung đếm, khi có một bộ đếm tốc độ cao đã sử dụng ngõ X nào làmxung đếm thì các bộ đếm khác và các thiết bị khác không được sử dụng ngõ X đó nữa. Nhưvậy tại mỗi thời điểm chúng ta chỉ có thể sử dụng tối đa 6 bộ đếm tốc độ cao.◊X0¬ Đối với các bộ đếm có ngõ vào xung đếm là U/D thì việc xác định đếm lên hay đếmxuống sẽ do trạng thái của các Rờle phụ trợ chuyên dùng quyết định.
Xem thêm

2 Đọc thêm

ĐỀ CƯƠNG ÔN TẬP KĨ THUẬT VI XỬ LÍ

ĐỀ CƯƠNG ÔN TẬP KĨ THUẬT VI XỬ LÍ

Câu 1: Những đặc điểm cấu trúc của bộ VXL (Công suất, độ dài từ, khả năng đánh địa chỉ, tốc độ). Cho bộ VXL có tần số làm việc 750MHz theo kiến trúc NeuMamn, bên trong được thiết kế 4 ALU và để thực hiện một lệnh vi xử lý cần 5 vi lệnh với hệ số thời gian truy cập bộ nhớ là 100ns. Xác định tốc độ thực hiện lệnh của bộ vi xử lý.
Câu 1: Những đặc điểm cấu trúc của bộ VXL:
1.1
Công suất của bộ VXL: là khả năng xử lý dữ liệu
Đ.điểm:
• Độ dài từ của bộ VXL(data word length), tính bằng số byte.
• Dung lượng nhớ VL có thể đánh địa chỉ (addressing capacity).
• Tốc độ xử lý lệnh của Bộ VXL (instruction execute speed)
Công suất máy tính (tốc độ x.lý thông tin, khả năng lưu trữ thông tin, khả năng kết nối nhiều
loại thiết bị ngoại vi, …) phụ thuộc vào công suất của bộ VXL trong CPU.
Độ dài từ:
Mỗi bộ VXL có thể xử lý dữ liệu với độ dài từ cố định. Phụ thuộc vào từng thế hệ VXL và mức độ phát triển của công nghệ VXL, độ dài từ có thế là 4 bit, 8 bit, 16 bit, 32 bit, 64 bit. Tập lệnh của bộ VXL thường có các lệnh thực hiện theo từ và theo byte. Nếu 1 từ là 2 byte thì cũng phân biệt byte cao và byte thấp. Byte thấp chiếm các bit từ 0 đến 7, Byte cao chiếm các bit từ 8 đến 15. Độ rộng từ có độ dài bao nhiêu bit thì cũng có bấy nhiêu bit đối với các thanh ghi, ALU và bus dữ liệu bên trong bộ VXL. Bus dữ liệu bên ngoài cũng thường có chừng đó độ dài nhưng cũng có thể chỉ 1 byte trong khi độ dài xử lý bên trong của bộ VXL là 6 bit. Độ dài từ càng lớn càng tạo ra nhiều khảnăng tính toán của bộ VXL, khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn.
Khả năng đánh địa chỉ:
Các từ dữ liệu và lệnh máy cắt trong BN tại các ngăn nhớ khác nhau. Mỗi ngăn nhớ phải có địa chỉ nhận biết. Dải đánh địa chỉ càng lớn thì dung lượng BN càng nhiều. Để đánh địa chỉ, bộ VXL thường có thanh ghi địa chỉ. Độ rộng của thanh ghi địa chỉ quyết định giải địa chỉ của vùng nhớ vật lý mà bộ VXL thỏa mãn. VD: độ rộng của thanh ghi là 6 bit có thể đánh được địa chỉ khoảng nhớ vật lý là 216 = 26 . 210 = 64 KB = 65536 từ 8 bit. Với số mũ ở hệ cơ số 2 ta có thể đánh giá ngay được độ rộng của thanh ghi địa chỉ hay bus địa chỉ. VD: để đánh được địa chỉ đến 32Gb, cần phải có 35 đường dây địa chỉ (A0A34). Khả năng
đánh địa chỉ càng lớn thì càng cho phép tạo ra 1 hệ thống máy tính có cấu hình mạnh với nhiều loại thiết bị ngoại vi, bộ nhớ chính có dung lượng lớn (đến vài trăm MB) và khả năng xử lý nhanh.
Tốc độ thực hiện lệnh:
Tốc độ thực hiện lệnh của bộ VXL có thể đo bằng tốc độ thực hiện các lệnh dấu phẩy động FLOPS hoặc tính bằng triệu lệnhgiây (MIPS). Công thức tính MIPS theo kiến trúc NeuMan là: MIPS = (fN)(M+T)=
38 4
f : tần số làm việc của Bộ VXL
N: số lượng các đơn vị xử lý số học và logic (ALU) không phụ thuộc vào nhau bên trong bộ VXL
M: số lượng vi lệnh trung bình của 1 lệnh trong bộ VXL
T : hệ số tg truy cập BN (chu trình chờ đợi trong khi truy cập BN)
Theo CT này, tốc độ thực hiện lệnh của bộ VXL có thể thay đổi nhờ 4 yếu tố. Để nâng cao tốc độ
VXL kiên trúc song song , đường ống, đồng xử lý, BN dự trữ. Và bus rộng đã được áp dụng cho
cac chip VXL công nghệ cao hiện nay. MIPS phụ thuộc vào tần số nhịp đồng hồ của bộ VXL. Tần số nhịp càng lớn thì tốc độ thực hiện lệnh càng cao. Các bộ VXL khi sx thường có kí hiệu chữ cái hay số cụ thể để phân biệt tần số nhịp đồng hồ. Tần số nhịp đồng hồ của bộ VXL phụ thuộc vào công nghệ chế tạo bộ VXL. Phần lớn các bộ VXL được chế tạo theo 2 công nghệ bán dẫn: NMOS và CMOS
1.2 Tốc độ thực hiện lệnh của bộ VXL:
f = 750MHz
N=4
M=5
T=100
MIPS=(fN)(M+T)=(7504)(5+100)=...

Câu 2: Hãy nêu những đặc tính nâng cao tốc độ của bộ vi xử lý là gì? Định nghĩa kiến trúc siêu hướng. Khuôn dạng dữ liệu.
Trả lời:
+ Xử lý song song : là 2 quá trình, tính toán cùng xảy ra đồng thời. Trong kiến trúc máy tính, sự kết hợp 2 bộ VXL trong khối xử lý trung tâm (CPU) tạo ra khả năng xử lý song song trong cùng 1 tg.
Kiến trúc này có thể tạo ra tốc độ xử lý dữ liệu lên gấp đôi so với kiến trúc chỉ dùng 1 bộ VXL.
Cũng có thể thực hiện song song ngay bên trong cấu trúc của bộ VXL, bằng cách thiết kế sao cho quá trình xử lý D.liệu bên trong chip VXL chia thành các phiên khác nhau và thực hiện song song nhờ sự phân chia khối logic điều khiển(CU) bên trong thành phần riêng.
+ Đồng xử lý : là bộ VXL riêng biệt kết nối với bộ VXL thông qua bus hệ thống.

Bộ đồng xử lý chỉ thực hiện 1 số chức năng đặc biệt, ví dụ như các phép toán đòi hỏi sự chính xác sử dụng dấu phẩy động.

Tốc độ xử lý của bộ đồng xử lý những phép tính này sẽ nhanh hơn rất nhiều so với bộ xử lý chính.

Các bộ VXL công nghệ cao hiện nay đã cấy vào bên trong khối xử lý dấu phẩy động

FPU càng làm tăng tốc độ tính toán các phép tính nhanh và chính xác hơn nhiều.
+ Bộ nhớ lưu trữ (cache memory): BN cache là BN có tốc độ cao,
nó có thể nằm bên trong bộ VXL và kết nối trực tiếp với chip xử lý với dung lượng đủ lớn, trong khi đó BN chính kết nối với bộ VXL thông qua bus hệ thống. Sự trao đổi dữ liệu giữa BN chính và bộ VXL bị hạn chế về tốc độ, vì vậy để tăng tốc độ xử lý,
phải tổ chức làm sao khi thực hiện chương trình, bộ VXL trước hết tìm kiếm lệnh ở BN dự trữ trước, nếu không có lệnh chứa trong BN dự trữ thì mới phải tìm tới BN chính. Điều này có nghĩa là nếu đa số lệnh không có trong BN dự trữ thì tốc độ xử lý chậm hơn gấp đôi so với truy cập thẳng vào BN chính. Vì vậy phải tổ chức làm sao đa số các lệnh của chương trình nằm hẳn trong
BN dự trữ,.
Ngày nay, dung lượng BN dự trữ bên trong các chip VXL chưa cao (32Kb :16Kb Dcache, 16Kb Icache). Với BN dự trữ bên ngoài có thể đạt tới dung lượng 24 MB.
+ Ký thuật đường ống : Mô phỏng dây chuyền lắp ráp máy móc, hệ thống đường dẫn, trong 1 số VXL hiện nay có chức năng thực hiện các lệnh máy liên tục thành 1 dây chuyền với 5 công đoạn : nhập D.Liệu của lệnh từ BN, giải mã lệnh, thực hiện các lệnh, ghi kết quả thực hiện lệnh vào BN. Khi lệnh thứ 1 bắt đầu bước vào thực hiện, ở giai đoạn 2 thì mã lệnh của lệnh tiếp theo được đọc từ BN ra để thực hiện bước 1 (giải mã lệnh). Cứ như vậy, các lệnh được thực hiện theo 1 dây chuyền liên tục như là dòng nước đi trong đường ống. Tốc độ xử lệnh vì thế được tăng lên rất cao.
+ Bus rộng : Kĩ thuật bus rộng áp dụng cho cả bên trong lẫn bên ngoài bộ VXL. Bên trong bộ VXL,
thanh ghi tổng (A) có độ dài gấp đôi bus, như vậy tốc độ tính toán sẽ nhanh hơn, bởi không phải
thực hiện các phép truy cập với BN để lưu trữ các kết quả trug gian của các phép tính.
Kiến trúc siêu hướng : Kiến trúc của bộ VXL có các khối chức năng xử lý song song bên trong gọi là kiến trúc siêu hướng, nghĩa là cùng 1 lúc nhiều hướng xử lý khác nhau bên trong VXL. Kiến trúc siêu hướng là sự phát triển tiếp theo của kiến trúc RISC, nó không những nâng cao tốc độ xử lý mà còn nâng cao độ tin cậy của CPU, bởi vì khi có sự cố ở 1 chip VXL thì chip VXL còn lại vẫn đảm nhiệm chức năng được bình thường.
Khuôn dạng d.liệu :
Khuôn dạng d.liệu của các loại VXL được phân biệt theo các số có dấu, không dấu, các kí tự mã ASCII, mã BCD (hệ 2 10) không dấu và có dấu :
B Byte (8 byte), H nửa từ (16 bit), W từ (32 bit), D từ kép (64 bit) (sự phân loại này cho các bộ VXL 32 bit) Bit đấu là bit cao nhất (MSB)
các kí tự mã ASCII : mỗi kí tự được mã hóa bằng 8 bit.
Dữ liệu ở mã BCD : dữ liệu được biểu diễn bằng các nhóm số 4 bit. Mỗi nhóm số 4 bit có giá trị không vượt quá 10 (1010). Phân biệt dữ liệu ở mã BCD đóng gói và không đóng gói. Trong BCD đóng gói, tất cả 64 bit được chia ra 8 nhóm (8 digit) và cả 8 digit được dùng để mã hóa. Hai BCD digit trong 1 byte. Trong BCD không đóng gói, chỉ dùng 4 bit thấp trong từng byte để làm digit mã BCD, 4 bit cao của từng byte không dùng tới và đều ghi giá trị 0. Các dấu phẩy động phân ra số chính xác đơn 32 bit và chính xác kép 64 bit theo chuẩn IEEE 7541985. Cũng có thể mở rộng độ chính xác đến 80 bit ở 1 số bộ VXl. Số dấu phẩy động có bit lớn nhất (MSB) dùng làm dấu, dấu = 0, đó là số dương. Dấu = 1 là dấu âm.


Câu 3: Vẽ sơ đồ cấu trúc bên trong của bộ Vi xử lý 8, 16 bit. Giải thích chức năng từng bộ phận: ALU, các thanh ghi, CU. Các vi mạch hỗ trợ cho bộ vi xử lý.
Trả lời:
2. Giải thích chức năng từng bộ phận (ALU, các thanh ghi, CU):
a. Đơn vị số học logic (ALU)
chứa khối logic thực hiện xử lý d.liệu
Thực hiện các phép tính số học và logic : and, sub, mul, div, and, or, not,... Shift left, Shift right, decr, incr,...
Có hai cổng vào (in) để nhận d.liệu vào ALU và cổng ra (out) để lấy kết quả xử lý d.liệu của ALU ra ngoài.
các thanh ghi temp1 và temp2 làm nhiệm vụ nhận d.liệu từ các nơi khác nhau bên trong BVXL thông qua bus d.liệu bên trong và lưu trữ trung gian dữ liệu trong quá trình xử lý d.liệu trong ALU. Tương tự, cổng ra kết nối với bus d.liệu bên trong do đó kết quả phép toán có thế đc ra tới các nơi khác nhau, d.liệu thường được đưa tới nơi bộ cộng.
các lệnh máy đc ALU xử lý có thể là 1 hay 2 toán hạng.
Lệnh máy đc đọc từ BN vào BVXL đc giải mã nhờ bộ giải mã lệnh để tạo ra chuỗi các tín hiệu đi tới ALU đ.khiển quá trình x.lý d.liệu trong ALU.
b. Các thanh ghi : đc chia thành nhóm theo mục đích s.dụng
Nhóm thanh ghi dùng chung:
+ Thanh ghi A (bộ cộng), B, C, D, E, H, L : 8 bit
+ để xử lý 16 bit, có các lệnh thực hiện với các cặp thanh ghi BC, CE, HL
Các thanh ghi khác : thanh ghi trạng thái (SR), con trỏ ngăn xếp (SP), thanh đếm lệnh (PC), thanh ghi lệnh (instruction register),...
Thanh ghi tổng A (accumulator):
tham gia phần lớn các phép tinh
độ dài của thanh tổng có thể tính bằng độ dài từ hoặc gấp đôi độ dài từ của BVXL.
những lệnh IO với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanh ghi tổng A với các thanh ghi của điều khiển ngoại vi.
Lệnh nhập d.liệu IN PORT là lệnh đọc d.liệu từ cổng của ngoại vi vào thanh ghi A và OUTPORT là đọc nội dung thanh ghi A ra port ngoại vi.
Thanh đếm chương trình PC (program counter)
1 chương trình đc BVXL thực hiện phải chứa trong BN chính. PC chứa đ.chỉ của lệnh trong BN và chỉ ra cho BVXL biết lệnh tiếp theo nằm ở ngăn nhớ nào để lấy ra thực hiện.
trong các BVXL công nghệ cao có cơ chế quản lý BN ảo. Cơ chế đánh địa chỉ ảo có sự biến đổi đ.chỉ ảo thành đ.chỉ VL nội dung của đ.chỉ lệnh sẽ phức tạp.
Thanh ghi trạng thái SR (status register)
dùng để ghi kết quả của các lệnh k.tra, s.sánh và 1 số lệnh tính toán với các thanh ghi
thanh ghi trạng thái còn đgl thanh ghi cờ, sdụng các bit cờ có thể thực hiện rẽ nhánh chương trình = các lệnh nháy và rẽ nhánh có đ.kiện
Con trỏ ngăn xếp SP (stack pointer)
Ngăn xếp là BN có cơ chế truy cập theo kiểu LIFO, luôn đc truy cập ở đỉnh TOP. Nó làm nhiệm vụ lưu trữ những thông tin phải dùng đi dùng lại nhiều lần.
Các lệnh tác động đến ngăn xếp: call, ret, int, ...
Các lệnh chuyên dùng để cất giữ n.dung và phục hồi các thanh ghi của ngăn xếp là push và pop, các lệnh này làm thay đổi đỉnh của ngăn xếp.
Con trỏ ngăn xếp SP chứa đ.chỉ của đỉnh ngăn xếp và n.dung của SP sẽ thay đổi mỗi khi thực hiện các lệnh vừa nêu trên
khi khởi động hệ thống máy tính, con trỏ ngăn xếp luôn đc khởi tạo về địa chỉ đỉnh của ngăn xếp.
Thanh ghi đ.chỉ BN và logic (memory address register and logic)
có độ dài 16 bit, các đầu ra của nó đc điều khiển nối ra bus đc của h.thống máy tính để thực hiện chọn ngăn nhớ or để chọn cổng ngoại vi nào đó.
Trong chu kì đọc lệnh, 1 lệnh máy đc đọc từ BN, lúc này ndung thanh ghi đc ngăn nhớ và n.dung của thanh đếm lệnh PC là như nhau, nghĩa là thanh ghi đ.chỉ BN trỏ tới từ lệnh đang đc đọc từ BN.
Thanh ghi đchỉ BN không thể tự động tăng hay giảm ndung mà nó nhận đchỉ lệnh từ PC, từ SP và thanh ghi chỉ số.
Phụ thuộc vào các loại VXL, nó có thể có đ.dài khác nhau: 16, 32, 64 bit
Thanh ghi lệnh IR (instruction register)
chứa lệnh đang thực hiện
như là bộ đệm duy trì ndung mã lệnh và đầu ra của IR đưa tới bộ giải mã lệnh để tạo ra chuỗi các tín hiệu điều khiển thực hiện lệnh.
c. Control Unit (đơn vị điều khiển)
có liên hệ thông tin với t.cả các đ.vị trong BVXL bởi nó đ.khiển toàn bộ h.độg xử lý thông tin bên trong BVXL.
kqua giải mã lệnh đc đưa đến khối logic điều khiển CL (control logic) tạo ra chuỗi các tín hiệu để đ.khiển quá trình ghi đọc với các thanh ghi bên trong, tính toán trong ALU
từ CL, các xung tín hiệu đ.khiển đi ra bus điều khiển của h.thống tác động đến BN hoặc đơn vị IO để thực hiện trao đổi d.liệu
CL nhận tín hiệu đ.khiển từ bên ngoài, như tín hiệu ngắt (INT, NMI), HOLD, RESET,... để xử lý bên trog trc khi đưa ra các tín hiệu trả lời như: chấp nhận ngắt INTA, dừng HALT,...
CL quyết định thứ tự làm việc của từng đvị trong bộ VXL và sự trao đổi thông tin với thế giới bên ngoài chip VXL.
CL là trung tâm đ.khiển của BVXL
3. Các vi mạch hỗ trợ cho BVXL
Mỗi loại VXL có những mạch hỗ trợ phù hợp đi theo:
các bộ VXL công nghệ cao hiện nay (kể từ 80386) đã có những vi mạch VLSI hỗ trợ gộp nhiều chức năng đ.khiển khác nhau đc đưa vào để có thể thành 1 CPU của 1 máy vi tính.
Các máy tính thế hệ pentium 586 150 233 MHz với bảng mẹ PSI ISA có các vi mạch VLSI hỗ trợ như: 82437VX, 82438VX, ... để tạo nhịp đồng hồ, điều khiển IO...
Các máy vi tính hiện nay đều có khả năng thiết lập ban đầu cho các vi mạch hỗ trợ (chipset), đó là các chế độ chipset features setup, bios features setup,...


Câu 4: Vẽ sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ Vi xử lý công nghệ cao. Giải thích các chức năng từng bộ phận: BIU, PUIQ, SFU, Cache, IU, MMU.
Trả lời:
Câu 4: Sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ VXL công nghệ cao. Giải thích chức năng từng bộ phận: BIU, PUIQ, SFU, cache, IU, MMU.
Trả lời:
Chức năng của từng bộ phận:
1. BIU:
2. PUIQ (khối tiền đọc lệnh và hàng lệnh)
chứa các mạch logic để đọc trc các lệnh từ Icache và đặt vào hàng xếp các lệnh theo nguyên tắc vào trc ra sau FIFO
các lệnh này đc chuyển tới khối giải mã lệnh DU (decoding unit)
phần lớn các họ VXL ngày nay cho phép 1 số lệnh đồng thời đc giải mã (xử lý song song )
3. SFU (special function unit): khối chức năng đặc biệt, có thể là:
khối đồ họa
khối xử lý tín hiệu
khối xử lý ảnh
bộ XL ma trận và vector
4. Cache: là BN tốc độ nhanh nằm giữa BVXL và BN chính
Sự tồn tại BN dự trữ với k.thước đủ lớn làm tăng hiệu suất của BVXL vì nó cho phép BVXL truy nhập thông tin nhanh hơn nhiều so với truy cập vào BN chính
BN dự trữ kép (dual cache memory) phân ra BN dự trữ các lệnh (Icache), BN dự trữ lưu trữ d.liệu (Dcache). Cả 2 cache đều kết nối với bus bên trong. Chúng nhận thông tin từ BN chính thông qua bus D.liệu và BIU.
Icache kết nối trực tiếp với PUIQ, nó chuyển 1 hay 1 số lệnh vào PUIQ trong 1 c.kì
Thông qua bus D.liệu bên trong BN dự trữ D.liệu (Dcache) và bus D.liệu điều hành (ODB) giao tiếp với các đơn vị chức năng khác (IU, SFU, FPU)
Trong nhiều loại VXL còn có thêm BN dự trữ thứ cấp (secondary cache memory)
cache bên trong chip VXL là cache sơ cấp (primary cache)
cache thứ cấp nằm bên ngoài chip và giữa cache sơ cấp và BN chính bên trong cấu trúc BN. Nó có tốc độ truy cập nhanh hơn truy cập BN chính (vì nó nằm bên ngoài BVXL nên nó có thể có dung lượng lớn hơn cache sơ cấp).
dung lượng của cache thứ cấp có thể lên đến vài MB (pentium III cho phép mở rộng tới 4 MB)
5. IU (integer unit): đơn vị nguyên
Có đặc tính cấu trúc phục vụ cho xử lý song song nó có các đơn vị thao tác thực hiện các phép số học nguyên cộngtrừ, nhânchia, có tập các thanh ghi 32 bit hoặc 64 bit.
Các BVXL CISC thường có 8 16 thanh ghi.
Các VXL RISC có tới 32 thanh ghi, đôi khi có hơn 100 thanh ghi.
Dòng d.liệu đi theo 2 đường để tới các đvị thao tác các phép tính số học. Đvị giải mã phân chia lệnh DID nhận các chỉ thị đã đc giải mã của CU và gửi chúng tới các đvị x.lý các phép tính thích ứng.
Các phép tính với số nguyên chuyển tới các đvị x.lý các số nguyên của IU, các phép tính dấu phẩy động chuyển tới đvị x.lý dấu phẩy động FDU, ...
D.liệu từ Dcache thông qua bus dữ liệu thao tác ODB chuyển tới các đvị x.lý
Đvị dịch ống cho phép thực hiện các lệnh dịch nhiều bit nhanh trong 1 c.kì đơn

Câu 5: Giải thích phương pháp xử lý lệnh theo kiến trúc siêu hướng (Superscalar). Với xu hướng phát triển công nghệ RISC, CU được hoàn toán cứng hoá hay thường được lập trình.

Trả lời:
Giải thích phương pháp x.lý lệnh theo kiến trúc siêu hướng (superscalar). Với xu hướng phát triển công nghệ RISC, CU được hoàn toàn cứng hóa hay thường đc lập trình.
Trả lời:
Kiến trúc siêu hướng (superscalar) thể hiện trong đặc tính thực hiện các lệnh song song . Khốitiền đọc lệnh gửi ra i lệnh cùng 1 thời điểm tới khối giải mã. Khối điều khiển lần lượt tạo ra các chỉ thị cho 1 số ống thực hiện. Số lượng lệnh không nhất thiết phải = số ống, tuy nhiên số i lệnh = số ống sẽ là hiệu quả nhất, vì như vậy là i lệnh cùng thực hiện song song
Đơn vị điều khiển CU của BVXL có thể hoàn toàn cứng hoặc đc lập trình. Trong hầu hết các BVXL, công nghệ CISC (Intel X86 và Motorola) CU thường đc lập trình. Với xu hướng phát triển công nghệ RISC, CU đc hoàn toàn cứng hóa nhằm tăng tốc độ thực hiện hâu hết các lệnh trong 1 chu kì đơn.

Câu 6: Chức năng của đơn vị quản lý bộ nhớ MMU.

Trả lời:
MMU : có các chức năng sau :
Chuyển đổi địa chỉ ảo hay địa chỉ logic thành địac hỉ vật lý. Điajc hỉ vật lý được chuyển tới cache hoặc thông qua BIU và bus địa chỉ tới BN bên ngoài bộ vxl để chọn vùng nhớ, đảm bảo cơ chế phân trang trong tổ chức BN ảo, đảm bảo cơ chế phân đoạn cho BN, bảo vệ BN cho cả 2 cơ chế phân trang và phân đoạn, quản lý bộ đệm biến đổi truy cập nhanh TLB và quản lý BN dự trữ chuyển đổi ATC (address translation cache) phục vụ quá trình chuyển đổi các trang nhớ ảo thành phân trang nhớ vật lý
Đơn vị phân trang , TLB (hoặc ATC) đều có TRONG mmu của hầu hết các bộ vxl hiện đại. trong intel X86 có đơn vị phân đoạn. Trong trường hợp ko có TLB,MMU chứa phần logic giám sát truy nhập đến các bảng và thư mục tương ứng trong BNC


Câu 7: Bộ nhớ Cache: Cấu trúc Cache, thuật toán thay thế (phương pháp thay
thế dòng của tập trong cache).
Trả lời:
1. Cấu trúc Cache
Cache ghi nhớ 1 tập hợp Ai các địa chỉ của BNC và các từ dữ liệu M(Ai) tương ứng của tập hợp Ai
Dữ liệu trao đổi giữa cache và BNC được nhóm theo các khối dữ liệu
Các dong cất giữ trong cache ko có địa chỉ riêng mà chúng được tham chiếu tại địa chỉ của chúng lưu vào trong BNC
Địa chỉ các dòng trong cache được sắp xếp địa chỉ
Nội dung của mảng là bản sao của tập các khối nhớ liên tiếp nhau kèm theo địa chỉ của BNC
2. Thuật toán thay thế (phương pháp thay thế dòng của tập trong Cache)
B1: CPU yêu cầu lệnhd.liệu lưu trữ trong địa chỉ “a”
B2: Khi đó nội dung từ đ.chỉ “a” không có bên trong BN Cache, CPU phải mang nó về trực tiếp từ BN RAM.
B3: Bộ phận đ.khiển Cache tải 1 hàng (thông thường 64 byte) bắt đầu từ đ.chỉ “a” và bên trong BN Cache. Điều đó nhiều hơn d.liệu CPU đã yêu cầu, do đó nếu chương trình tiếp tục chạy tuần tự (có nghĩa là yêu cầu đ.chỉ a + 1), lệnhd.liệu tiếp theo CPU sẽ yêu cầu đã đc tải trong BN Cache.
B4: Mạch điện gọi là PreFetch tải nhiều v.trí d.liệu hơn sau dòng sau, có nghĩa là bắt đầu những nội dung tải từ địa chỉa + 64 vào BN Cache.
Nếu chương trình thường chạy tuần tự thì CPU không bao h cần lấy d.liệu trực tiếp từ BN RAM về, nhũng lệnh và d.liệu CPU yêu cầu sẽ thường nằm trong BN Cache trc khi CPU hỏi tới chúng.
Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp từ bộ nhớ RAM về (ngoại trừ việc tải lệnh đầu tiên), những lệnh và dữ liệu CPU yêu cầu sẽ thường nằm trong bộ nhớ Cache trước khi CPU hỏi tới chúng. Tuy nhiên những chương trình lại không chạy như vậy, chúng sẽ thường nhảy từ vị trí bộ nhớ này tới vị trí bộ nhớ khác.Thách thức lớn nhất của Bộ phận điều khiển Cache chính là cố gắng phỏng đoán CPU sẽ nhảy tới địa chỉ nào, để tải nội dung của địa chỉ đó vào bên trong bộ nhớ Cache trước khi CPU yêu cầu nó để tránh trường hợp CPU phải đi tới bộ nhớ RAM của hệ thống, vì điều đó làm chậm hiệu suất làm việc của toàn bộ hệ thống. Nhiệm vụ này được gọi là Dự đoán rẽ nhánh và những CPU mới đều có đặc điểm này. Những CPU hiện đại có tỉ lệ “hit” ít nhất là 80%, có nghĩa là ít nhất 80% thời gian CPU không cần truy cập trực tiếp tới bộ nhớ RAM của hệ thống và thay thế vào truy cập tới bộ nhớ Cache .
3. Nguyên tắc hoạt động (theo vở chép)
Địa chỉ vật lý A từ bộ vxl được gửi đến cache khi bắt đầu chương trình truy cập bộ nhớ thì cache so sánh phần tử của A với tất cả các địa chỉ Ai, nếu có sự trùng thì cache được chọn từ dữ liệu tương ứng với địa chỉ A, tức là M(A). Và nó kết thúc chu trình truy cập bộ nhớ bằng cách truy nhập dữ liệu từ bộ vxl tới bản sao hoặc ngược lại đọc bản sao tới bộ vxl.Nếu ko có sự trùng hợp, cache khởi tạo 1 trình tự với 1 hoặc vài chu trình để nạp bộ địa chỉ tương ứng, địa chỉ A chứa M(A)
Cache chia thành 1 số tập (set)
Vd: set 0>set k1
Mỗi tập có một sô dòng (line)
Vd: line 0>set 0
Ko phải mảng chương trình nào cũng được cất toàn bộ vào cache mà chỉ một phần
Mảng thông tin của chương trình thuộc cache gọi là hit(trúng đích) và hệ số của hit gọi là hệ số trúng đích,ký hiệu là H,còn mảng thông tin của chương trình ko thuộc cache goi la miss(trượt đích) và hệ số của miss gọi là hệ số trượt đích,ký hiệu là 1H
Phương pháp thay thế dòng của tập trong cache gọi là thuật toán thay thế bao gồm 1 số phương pháp thay thế sau:
+ tùy ý
+ FIFO
+ít sử dụng nhất
Từ đó ta có thể tính được thời gian truy xuất trung bình của dòng dữ liệu trong bộ nhớ
ta=Hta1+(1H)ta2 hay ta=ta1+(1H)tb
ta1: thời gian truy xuất cache
ta2 : thời gian truy xuất BNC
tb=ta1ta2 : thời gian vận chuyển từ BNC đến cache
Cho dòng X = 275 trong BN chính v ới số lượng các tập trong Cache là k = 128. Xác định dòng X của BN chính đc xếp v ào tập bao nhiêu của BN Cache. Dòng 275 sẽ đc xếp như sau : 275128 = 2 + 19128, nghĩa là dòng 275 của BN chính đc xếp vào tập 19 trong Cache.



Câu 8: Các kiểu của bộ xử lý song song và hiệu suất của xử lý song song. Hãy so sánh cấu trúc máy tính chia sẻ bộ nhớ và phân tán bộ nhớ.
Trả lời:
Các kiểu của BVXL song song :
• Phân loại Flynn:
SISD
SIMD
MISM
MISM
• Phân loại theo cấu trúc:
Truyền thông theo các biến số dùng chung
Các hệ kết nối chặt chẽ hay các BVXL gọi là VXL đối xứng SMP.
Hệ thống VXL chia sẻ BN: Cứ 1 VXL có 1 BN IO dùng riêng của nó
Hiệu suất của XL song song :
E(n) = T(1) nT(n)
Trong đó:
n: số processors
T(n): thời gian thực hiện của n processors

So sánh cấu trúc máy tính chia sẻ BN và phân tán BN :
Máy tính chia sẻ Bộ nhớ
Hệ thống máy tính với tổ chức, mà trong đó các đvị nhớ kết nối trên mạng N làm thành 1 BN chính tổng thể đảm bảo chia sẻ cho tất cả các đvị x.lý, gọi là máy tính có BN chia sẻ.
Máy tính phân tán Bộ nhớ
Hệ thống máy tính mà trong đó mỗi đ.vị x.lý kết nối với 1 đvị nhớ tạo thành 1 khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có BN phân phối tài nguyên.
Câu 10: Các kiểu của bộ xử lý song song. Các bộ xử lý có cấu trúc ống.
Trả lời:
a)Các kiểu bộ xử lý song song
Có nhiều cách phân loại song song dựa trên cấu trúc hoặc hành vi của chúng:
Đơn vị xử lý trung tâm (CPU) đọc các lệnh và các toán hạng từ bộ nhớ, thực hiện lệnh, và chuyển kết quả vào lại bộ nhớ chính (main memory). Các bước thực hiện lệnh này gộp lại thành một chu kỳ lệnh (Instruction Cycle)
Các lệnh có thể hình thành một chuỗi các lệnh liên tiếp nhau đọc từ bộ nhớ vào bộ xử lý, trong khi các toán hạng cũng hợp thành một chuỗi dữ liệu theo sau đi tới và từ bộ xử lý.
Nếu đặt M1 và MD là số lượng các chuỗi lệnh và các chuỗi dữ liệu tương ứng thì theo Micheal J.Flyunn, các máy tính được phân loại thành 4 nhóm dựa trên số lượng M1 và MD.
Phân loại Flynn
1.Một chuỗi lệnh một chuỗi dữ liệu SISD (Single Instruction Stream Multiaple Data Stream) :
M1=MD=1. Hầu hết các máy tính và máy vi tính sử dụng với một chip VXL các loại là các máy tính kiểu SISD
2. Một chuỗi lệnh nhiều chuỗi dữ liệu SIMD :
M1=1,MD>1, trong các hệ thống máy tính SIMD có nhiều bộ VXL làm việc song song với nhau, thực hiện một mệnh lệnh giống nhau nhưng với những dữ liệu khác nhau. Những dạng máy tính chuyên dụng cho xử lý Vector và mảng(array) là những máy tính SIMD
3. Nhiều chuỗi lệnh một chuỗi dữ liệu MISD
M1>1,MD=1. Trong các máy tính MISD có nhiều bộ xử lý làm việc song song và có nhiều bộ xử lý làm việc song song và xử lý chức năng riêng (theo những mệnh khác nhau) nhưng với dữ liệu giống nhau
4. Nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD
M1>1,MD>1. Thi hành theo các mệnh lệnh khác nhau với các dữ liệu khác nhau
Phân loại theo cấu trúc
Một hệ thống máy tính có thể được xem như một tập hợp n>=1 bộ xử lý hay đơn vị xử lý trung tâm(CPU): P1,P2,…,Pn và
m>=0 đơn vị nhớ chia sẻ (share memory unit) hoặc module nhớ :M1,M2…Mm kết nối trong mạng N bên trong hệ thống máy tính.
Máy tính chia sẻ bộ nhớ:
Hệ thống máy tính với tổ chức, mà trong đó các đơn vị nhớ kết nối trên mạng thành một bộ nhớ chính tổng thể đảm bảo chia sẻ cho tất cả các đơn vị xử lý.
Máy tính phân tán bộ nhớ
Hệ thống máy tính mà trong đó mỗi đơn vị xử lý nối với một đơn vị nhớ tạo thành khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có phân phối tài nguyên.
Cấu trúc nối mạng N cũng được phân loại. nó có thể cõ những dạng như sau:
Bus chia sẻ đơn (Single Shared Bus)
Được sử dụng trong các hệ thống máy tính tuần tự cũng như máy tính song song.
Nhược điểm : Khi số lượng n (các đơn vị xử lý) và m (số lượng đơn vị nhớ) tăng lên thì tốc độ của Bus đơn phải rất nhanh và àsự đụng độ cạnh tranh truy cập Bus là tăng thời gian chờ đợi được phục vụ trên Bus với các đơn vị xử lý và đơn vị nhớ.
Nhiều Bus
Mạng nhiều Bus khắc phục được nhược điểm của Bus đơn.
Trong đó, một số đơn vị xử lý và đơn vị nhớ khác lại kết nối với mọt Bus khác, hoặc có những đơn vị xử lý và đơn vị nhớ có thể kết nối cùng một lúc với một số Bus àgiảm quá tải cho các Bus, sự đụng độ truy cập Bus giảm tối thiểu.
Nhược điểm : khi có 1 sự cố nào đó xảy ra đối với một Bus nào đóàthì hiệu suất mạng giảm đi rõ rệt
Các Bus giao nhau (Crossbar Bus)
Mỗi đơn vị xử lý kết nối với tất cả đơn vị nhớ tương tự, mỗi đơn vị nhớ kết nối với các đơn vị xử lý. Cấu trúc này khắc phục được cấu trúc nhiều Bus.
Nhược điểm : Có thể xảy ra trường hợp xấu là tất cả các đơn vị xử lý cũng truy cập vào 1 đơn vị nhớ.
Kết nối hình cây
Mạng kết nối hình cây còn gọi là cây nhị phân, tức là với gốc (các đơn vị xử lý mẹ) chỉ có 2 đơn vị xử lý con kết nối vào
Như vậy nếu có số lượng hàng (tầng cây) là P thì sẽ có số tổng các đơn vị xử lý là n=2p1, tức là số tầng cây P xấp xỉ bằng P=logn
Mạng kết nối siêu lập thể n chiều
Mạng kết nối này còn gọi là kết nối n cup nhị paahn (binary ncube) vì nếu có n chiều thì có 2n đơn vị xử lý kết nối trong khối lập thể. Nếu n=3 thì có 8 đơn vị xử lý.
b) Các bộ xử lý có cấu trúc ống (pipeline processor)
bộ XL ống gồm có 1 chuỗi liên tiếp các mạch xử lý mà các mạch xử lý đó thường đgl phân đoạn hay tầng. Thông qua chuỗi này, dòng toán hạng đc xử lý . Mỗi phân đoạn xử lý từng phần của các toán hạng và các kết quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của ống.
Mỗi phân đoạn x.lý từng phần các toán hạng và k.quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của ống.
Thanh ghi ra, (R)
Cấu trúc của BVXL ống:
Phân đoạn m, (Sm)
Phân đoạn 2, (S2)
Phân đoạn 1, (S1)
Các thanh ghi Ri là những bộ đệm nhận d.liệu Di – 1 (là các kết quả tính đc trong c.kì xung nhịp đồng hồ trc của các đvị tính Ci – 1) từ phân đoạn Si – 1, ngoại trù các thanh ghi Ri nhận d.liệu bên ngoài ống.
Một đường ống lệnh đơn giản có thể đc tổ chức gồm 2 phân đoạn: phân đoạn đọc lệnh (S1) và phân đoạn thực hiện lệnh (S2)
Một đường ống lệnh cơ bản có thể hình thành nhờ phân theo chu kì lệnh: đọc lệnh(S1), giải mã lệnh(S2), đọc các toán hạng(S3), thực hiện lệnh (S4), cất giữ kết quả (S5) Đến bộ nhớ

Câu 11: Hệ thống đa xử lý. Tổ chức hệ điều hành trong hệ thống đa xử lý. Các kiến trúc AMP (Asymmetric MultiProcessing), SMP (Symmetric MultiProcessing).
Hệ thống đa xử lý:
M
Xem thêm

9 Đọc thêm

Một số câu lệnh và hàm thông dụng trong Visual Basic

MỘT SỐ CÂU LỆNH VÀ HÀM THÔNG DỤNG TRONG VISUAL BASIC

Một số câu lệnh và hàm thông dụng trong VB
Các Phát biểu và hàm chuẩn trong Visual Basic
I. CÁC PHÁT BIỂU ĐIỀU KHIỂN
a. Cấu trúc chọn lựa IF :

IF < Biểu thức Logic điều kiện> THEN
‘Khi điều kiện đúng
‘Nội dụng các câu lệnh cần thực hiện
ELSE
‘Khi điều kiện sai
‘Nội dụng các câu lệnh cần thực hiện
END IF
Trong câu lệnh không nhất thiết phải sử dụng ELSE, có thể bỏ qua nó tùy vào mục đích

b. Cấu trúc SELECT CASE :
SELECT CASE
CASE
CASE

CASE
CASE ELSE
‘Khi tất cả các giá trị ở trên đều không đúng
‘Nội dung các lệnh cần thực hiện
END SELECT
Tương tự như IF trong câu lệnh không nhất thiết phải sử dụng CASE ELSE, có thể bỏ qua nó tùy vào mục đích

II. CÁC CẤU TRÚC LẶP :
a. Cấu trúc DO WHILE ... LOOP :
DO WHILE
‘Các câu lệnh muốn thực thi biểu thức điều kiện còn đúng
LOOP ‘Quay về DO WHILE để kiểm tra biểu thức điều kiện
Khi VB thực hiện vòng lặp này, đầu tiên sẽ kiểm tra biểu thức điều kiện. Nếu Sai, nó sẽ dừng lại vòng lặp ngay và thực hiện câu lệnh kế tiếp còn nếu đúng thì thực hiện các lệnh bên trong. Vậy cấu trúc DO WHILE… LOOP thực hiện các câu lệnh bên trong nó khi điều kiện đúng.

b. Cấu trúc DO … LOOP WHILE :
DO
‘Các câu lệnh thực thi
LOOP WHILE ‘Quay về DO nếu điều kiện đúng
Khi VB thực hiện vòng lặp này, đầu tiên sẽ thực hiện khối lệnh bên trong nó ngai. Sau khi thực hiện nó sẽ kiểm tra điều kiện. Nếu đúng sẽ quay lại còn sai thì dừng vòng lặp.

c. Cấu trúc DO … LOOP UNTIL :
DO
‘Các câu lệnh thực thi
LOOP UNTIL ‘Quay về DO nếu điều kiện sai
Giống như DO … LOOP WHILE nhưng nó sẽ thoát khỏi vòng lặp khi điều kiện Đúng

d. Cấu trúc FOR … NEXT
FOR TO STEP khoảng tăng
‘ Phần các lệnh thực thi khi biến chưa đạt giá trị cuối
NEXT Biến

(Phần Step có thể có hoặc không, VB ngầm hiểu là +1)
Cấu trúc này lặp với số lần biết trước, lặp từ Giá trị đầu đến giá trị cuối (giá trị đầu có thể lớn hơn giá trị cuối nếu step <0)

III. MỘT SỐ LỆNH :
1 .EXIT FOR
Câu lệnh : EXIT FOR
Lồng vào trong vòng lặp For khi muốn dừng lại vòng lặp bất cứ lúc nào.

2 .EXIT DO
Câu lệnh : EXIT DO
Lồng vào trong vòng lặp có cấu trúc DO khi muốn dừng lại vòng lặp bất cứ lúc nào.

3 .EXIT FOR
Câu lệnh : EXIT SUB
Thoát khỏi thủ tục mà bất cứ lúc nào mà không cần thực hiện các lệnh bệnh trong nó.

4 .END
Chấm dứt chương trình ngay, tất cả các cửa sổ chương trình đều đóng lại khi bạn thực hiện thao tác này.

5. Beep
Phát ra tiếng kêu Beep

6. Lệnh Date :
Cho phép bạn đặt lại ngày hệ thống, hay lấy ngày hệ thống
Cú pháp : DATE =
VD: Date = June 12, 2000

7. TIME
Cho phép đặt lại giờ hệ thống, hay lấy giờ hệ thống
Cú pháp : TIME =
VD: Time = 5 : 12 : 45 PM

8.LOAD
Xem thêm

9 Đọc thêm

THIẾT KẾ MACH NỐI GHÉP 1 LED ĐƠN VỚI CHÂN P1 3 VIẾT CHƯƠNG TRÌNH CHO PHÉP TIMER 0 XẢY RA SAU KHOẢNG THỜI GIAN 1 GIÂY MỖI KHI CÓ NGẮT XẢY RA THÌ BẬT LED TẠI CHÂN P1 3

THIẾT KẾ MACH NỐI GHÉP 1 LED ĐƠN VỚI CHÂN P1 3 VIẾT CHƯƠNG TRÌNH CHO PHÉP TIMER 0 XẢY RA SAU KHOẢNG THỜI GIAN 1 GIÂY MỖI KHI CÓ NGẮT XẢY RA THÌ BẬT LED TẠI CHÂN P1 3

thì mỗi khi nó quay trở về 0 bộ vi điều khiển sẽ bị ngắt, bất chấp nó đangthực hiện việc gì và nhảy tới bảng vector ngắt để phục vụ ISR. Bằng cáchnày thì bộ vi điều khiển có thể làm những công việc khác cho đến khi nóđược thông báo rằng bộ định thời đã quay về 0.II.Bộ định thời8051 có 2 Timer tên là Timer0 và Timer1. Các Timer này đều là Timer 16bit, giá trị đếm max do đó bằng 2^16 = 65536 (đếm từ 0 đến 65535). HaiTimer có nguyên lý hoạt động hoàn toàn giống nhau và độc lập.Sau khi cho phép chạy, mỗi khi có thêm một xung tại đầu vào đếm, giá trịcủa Timer sẽ tự động được tăng lên 1 đơn vị, cứ như vậy cho đến khi giá trịtăng lên vượt quá giá trị max mà thanh ghi đếm có thể biểu diễn thì giá trịđếm lại được đưa trở về giá trị min (thông thường min = 0). Khi đó xảy ratràn Timer (overflow) và có thể gây ra ngắt nếu ngắt tràn Timer được chophép (bit ETx trong thanh ghi IE=1). Việc cho Timer chạy/dừng được thựchiện bởi các bit TR trong thanh ghi TCON (đánh địa chỉ đến từng bit).Thanh ghi 16 bit của bộ Timer 0 (hay Timer 1) được truy cập nhưbyte thấp và byte cao:II.1. Các thanh ghi cơ sở của bộ định thờiCả hai bộ định thời Timer 0 và Timer 1 đều có độ dài 16 bit được truy cậpnhư hai thanh ghi tách biệt byte thấp và byte cao. Chúng ta sẽ bàn riêng về từngthanh ghi.II.1.1.Các thanh ghi của bộ Timer 0Thanh 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).Các thanh ghi này có thể được truy cập, hoặc được đọc như mọi thanh ghi khác
Xem thêm

18 Đọc thêm

Dùng các vi mạch tương tự tính toán, thiết kế mạch đo và cảnh báo nhiệt độ sử dụng IC cảm biến nhiệt độ ( ví dụ: LM34, LM35….).

DÙNG CÁC VI MẠCH TƯƠNG TỰ TÍNH TOÁN, THIẾT KẾ MẠCH ĐO VÀ CẢNH BÁO NHIỆT ĐỘ SỬ DỤNG IC CẢM BIẾN NHIỆT ĐỘ ( VÍ DỤ: LM34, LM35….).

Yêu cầu: - Dải đo từ: t0C =00C ÷ tmax = 0 ÷ 1060C..
Đầu ra: Chuẩn hóa đầu ra với các mức điện áp:
U=0 ÷ 10V
U= 0 ÷ 5V
I=0÷20mA.
I=4÷20mA
Dùng cơ cấu đo để chỉ thị hoặc LED 7 thanh hiển thị nhiệt độ.
Khi nhiệt độ trong giới hạn bình thường : t0C=0÷2*tmax/3. Thiết kế mạch nhấp nháy cho LED với thời gian sáng và tối bằng nhau và bằng: T0= 4 giây.
Đưa ra tín hiệu cảnh báo bằng còi khi nhiệt độ vượt giá trị : t0C= 2*tmax/3
Trong đó:
a: chữ số hàng đơn vị của danh sách (ví dụ: STT=3a=3; STT=10a=0)
n: Số thứ tự sinh viên trong danh sách
Xem thêm

24 Đọc thêm

giáo án toán lớp 6 hai cột

GIÁO ÁN TOÁN LỚP 6 HAI CỘT

Ngày sọan: 100809 Ngày dạy: 210809 Tuần: 01 PPCT tiết: 01
§1. TẬP HỢP PHẦN TỬ CỦA TẬP HỢP
I Mục tiêu :
Học sinh được làm quen với khái niệm tập hợp bằng cách lấy các ví dụ về tập hợp, nhận biết được một đối tượng cụ thể thuộc hay không thuộc một tập hợp cho trước .
Học sinh biết viết một tập hợp theo diễn đạt bằng lời của bài toán, biết sử dụng các ký hiệu  và .
Rèn luyện cho học sinh tư duy linh hoạt khi dùng những cách khác nhau để viết một tập hợp
1 Kiến thức cơ bản : hiểu được thế nào là một tập hợp, viết đúng ký hiệu của một tập hợp bằng cách liệt kê các phần tử và bằng cách chỉ ra tích chất đặc trưng của các phần tử .
2 Kỹ năng cơ bản : biết viết đúng ký hiệu của một tập hợp.
II Phương tiện dạy học:
Sách giáo khoa, bảng phụ
III Hoạt động trên lớp:
1. Ổn định : lớp trưởng điểm danh báo cáo sĩ số .
2. Bài mới :
Hoạt động của thầy Hoạt động của trò Viết bảng
HOAÏT ÑOÄNG 1: Giới thiệu về tập hợp.
Cho HS quan sát các dụng cụ học tập có trên bàn GV giới thiệu thế nào là tập hợp.
Khái niệm về tập hợp.
Gọi B là tập hợp của các chữ cái a, b, c. HS cho một vài ví dụ về tập hợp
HS viết kí hiệu tập hợp B

1 các ví dụ :
Khái niệm tập hợp thường gặp trong toán học và trong đời sống như
Tập hợp các học sinh của lớp 6A.
Tập hợp các số tự nhiên nhỏ hơn 4.
Tập hợp các chữ cái a,b,c
Tập hợp các dụng cụ học tập có trên bàn.
HOAÏT ÑOÄNG 2: Cách viết và các kí hiệu
Giới thiệu tập hợp A các số nhỏ hơn 4.
Giới thiệu kí hiệu  và .
5 có phải là một phần tử của tập hợp A không ?






GV: giới thiệu cách đọc kí hiệu.
Cho HS làm ? 1 và ? 2 .
GV giới thiệu cách biểu diễn tập hợp bằng sơ đồ Venn:
A •1
•3
•2 •0

B
•a
•b
•c
GV: cho HS làm các bài tập 1, 2, 3 trang 6 sgk. HS nghe giảng


HS lên bảng viết: 5 không thuộc A.
Điền số hoặc ký hiệu thích hợp vào ô vuông :

3 A ; 7 A

 A ; a B

1 B ;  B

HS làm ? 1 ? 2












HS làm các bài tập 1 ; 2 ; 3 sgk trang 6 2 Cách viết – các ký hiệu
Người ta thường đặt tên các tập hợp bằng chữ cái in hoa.
Gọi A là tập hợp các số tự nhiên nhỏ hơn 4
A = {0 ; 1 ; 2 ; 3 }
hay A = {2 ; 1 ; 0 ; 3 }
B = { a ,b , c }
Các số 0,1,2,3 gọi là phần tử của tập hợp A.
a,b,c là các phần tử của tập hợp B.
Kí hiệ : 2  A; a  A
 Chú ý : (sgk)
ví dụ :
A = { xN x < 4 }
Để viết một tập hợp , thường có hai cách:
Liệt kê các phần tử của tập hợp .
Chỉ ra tính chất đặc trưng
cho các phần tử của tập hợp đó .
Hoạt động 4. củng cố :
Củng cố từng phần
Hoaït ñoäng 5: hướng dẫn về nhà.
Làm các bài tập 4 ; 5 sgk trang 6
Chuẩn bị trước bài TẬP HỢP CÁC SỐ TỰ NHIÊN6.
Hoaït ñoäng 6: ruùt kinh nghieäm:














Ngày sọan: 100809 Ngày dạy: 210809 Tuần: 01 PPCT tiết: 02
§2. TẬP HỢP CÁC SỐ TỰ NHIÊN
I Mục tiêu :
1. Kiến thức cơ bản : hiểu rõ được tập hợp N và N, nắm được các qui ước về thứ tự trong tập hợp số tự nhiên, biết biểu diễn một số tự nhiên trên tia số, nắm được điểm biểu diễn số nhỏ hơn ở bên trái điểm biểu diễn số lớn hơn trên tia số
2. Kỹ năng cơ bản : phân biệt được các tập hợp N và N, biết sử dụng các ký hiệu và , so sánh được các số tự nhiên, biết tìm số tự nhiên liền trước, liền sau.
3. Thái độ : Rèn luyện cho học sinh tính chính xác khi sử dụng các ký hiệu, vận dụng được tính kế thừa các kiến thức của năm học trước.
II Phương tiện dạy học :
Sách giáo khoa
III Hoạt động trên lớp :
1. ổn định : lớp trưởng báo cáo sĩ số
2. Giảng bài :
Hoạt động của thầy Hoạt động của trò Viết bảng
HOAÏT ÑOÄNG 1: Kiểm tra bài cũ.
Gv: nêu câu hỏi:
Viết tập hợp A các số tự nhiên lớn hơn 3 nhưng nhỏ hơn 10 bằng hai cách: liệt kê và nêu tính chất đặc trưng của phần tử. 1HS lên bảng kiểm tra bài cũ.



HOAÏT ÑOÄNG 2: Tập hợp N và tập hợp N
Ở tiểu học ta đã biết các số đếm được như 0 ; 1 ;2...là các số tự nhiên.
Tập hợp các số tự nhiên ký hiệu là N.
GV vẽ tia và biểu diển các số 0 ; 1 ; 2 ; 3 trên tia số đó và gọi tên các điểm.
GV nhấn mạnh : Mỗi số tự nhiên được biểu diễn bởi một điểm trên tia số.
yêu cầu HS điền các điểm 4,5.

GV giới thiệu tập hợp N
Củng cố

Điền vào ô vuông các ký hiệu Î và Ï :
12 N ; N

HS: chú ý theo dõi.


HS: chú ý nghe giảng.


Học sinh lên bảng điền các điểm 4 , 5 .
Học sinh điền vào ô vuông các ký hiệu Î và Ï cho đúng :
5 N ; 5 N
0 N ; 0 N
I Tập hợp N và Tập hợp N
Tập hợp các số 0 ; 1 ; 2 ; 3 ; . . . . gọi là tập hợp các số tự nhiên.
Ký hiệu: N
N = {0 ; 1 ; 2 ; 3 ; . . . . . . . }
0 ; 1 ; 2 ; 3 ; . .là các phần tử của N.

0 1 2 3 4 5
Tập hợp các số tự nhiên khác 0 được ký hiệu N
N = { 1 ; 2 ; 3 ; . .. . . . . . }
Hoặc N = { x Î N | x ¹ 0 }
HOAÏT ÑOÄNG 3: Thứ tự trong tập hợp số tự nhiên
GV cho HS điền vào ô vuông:
GV: giới thiệu các kí hiệu £ và £.
Sau đó giới thiệu số liền trước và liền sau của một số tự nhiên.
Viết tập hợp
A ={ x Î N | 6 £ x £8 }
Củng cố Bài tập 6 SGK
GV giới thiệu hai số tự nhiên liên tiếp
Làm ? .
GV: yêu cầu HS cho biết số tự nhiên nhỏ nhất ? Số tự nhiên lớn nhất ?
GV yêu cầu HS cho biết số phần tử của tập N và N. Điền ký hiệu > hoặc < vào ô vuông cho đúng :
3 9 ; 15 7
HS nghe giảng.

HS viết tập hợp.

HS làm bài tập củng cố
HS nghe GV giảng bài

HS làm ? .
HS: trả lời.


HS: trả lời.
II. Thứ tự trong tập hợp số tự nhiên
1 Với a , b Î N thì
a ³ b hay a £ b.
2 Nếu a < b và b < c thì a < c.
3 Mỗi số tự nhiên có một số liền sau duy nhất.
4 Số 0 là số tự nhiên nhỏ nhất . Không có số tự nhiên lớn nhất .
5 Tập hợp số tự nhiên có vô số phần tử.
Hoạt động 4. củng cố :
GV: cho HS làm bài tập 8 trang 8.
Hoaït ñoäng 5: hướng dẫn về nhà.
Làm các bài tập 7, 8, 9 sgk trang 8.
Chuẩn bị trước bài GHI SỐ TỰ NHIÊN8.
Hoaït ñoäng 6: ruùt kinh nghieäm:












Ngày sọan: 100809 Ngày dạy: 260809 Tuần: 01 PPCT tiết: 03

Bài 3. GHI SỐ TỰ NHIÊN
I. Mục tiêu :
Học sinh hiểu thế nào là hệ thập phân, phân biệt số và chữ số trong hệ thập phân. Hiểu rõ trong hệ thập phân, giá trị của mỗi chữ số trong một số thay đổi theo vị trí.
HS biết đọc và viết các số La Mã không quá 30.
HS thấy được ưu điểm của hệ thập phân trong việc ghi số và tính toán.
1 Kiến thức cơ bản : Nắm vững cách ghi số tự nhiên, phân biệt được số và chữ số trong hệ thập phân.
2 Kỹ năng cơ bản : Đọc và viết được các số tự nhiên
II. Phương tiện dạy học :
Sách giáo khoa.
III. Hoạt động trên lớp :
1. Ổn định : lớp trưởng báo cáo sĩ số
2. Giảng bài :
Hoạt động của thầy Hoạt động của trò Viết bảng
HOAÏT ÑOÄNG 1: Kiểm tra bài cũ.
Gv: Nêu câu hỏi:
1 Viết tập hợp số tự nhiên N và tập hợp N.
2 Làm bài tập 9, 108 sgk. HS: lên bảng kiểm tra bài cũ.
HOAÏT ÑOÄNG 2: SỐ VÀ CHỮ SỐ
GV : người ta dùng những chữ số nào để viết mọi số tự nhiên?
Đọc vài số tự nhiên bất kỳ? chúng gồm những chữ số nào?
Củng cố: Phân biệt số và chữ số:
Trong số 1234 có bao nhiêu chữ số?
Giới thiệu số trăm, số hàng trăm . . .
GV yêu cầu HS cho VD các số và cho biết số đó có bao nhiêu chữ số?
GV: nêu phần chú ý.
GV yêu cầu HS đọc lại chú ý.


HS đọc và trả lời.

HS: nghe giảng.





HS cho VD.


HS: nghe giảng.
HS đọc lại chú ý. I . Số và chữ số :
Với 10 chữ số 0; 1; 2; 3; 4; 5; 6; 7; 8; 9 ta có thể ghi được mọi số tự nhiên.
Ví dụ : 7 là số có 1 chữ số
364 là số có 3 chữ số







Chú ý:(sgk)
HOAÏT ÑOÄNG 3: Hệ thập phân
GV giới thiệu hệ thập phân và nhấn mạnh trong hệ thập phân, giá trị của mỗi chữ số trong một số vừa phụ thuộc vào bản thân chữ số đó, vừa phụ thuộc vào vị trí của nó trong số đã cho.









HS viết số 444.
Học sinh viết như trên với các số
Củng cố bài tập ? . II . Hệ thập phân :
Cách ghi số như trên là cách ghi số trong hệ thập phân.
Trong hệ thập phân cứ 10 đơn vị ở một hàng thì làm thành 1 đơn vị ở hàng liền trước nó.
444 = 400 + 40 + 4
= a.100 + b . 10 + c
= a.10+ b

HOẠT ĐỘNG 4: CHÚ Ý
GV giới thiệu ngoài cách ghi trên còn có cách ghi khác.
GV cho học sinh đọc 12 chữ số La mã trên mặt đồng hồ
GV giới thiệu cách ghi các số La Mã và giới thiệu cách ghi 30 số đầu tiên. HS nghe giảng.

HS đọc các số.

HS nghe giảng.
III Chú ý :
Trong hệ La mã người ta dùng Chữ I ,V , X , D , C ….
I  1; V  5; X  10

Hoạt động 5. củng cố :
GV: cho HS làm bài tập 11 và 15 trang 10.
Hoaït ñoäng 6: hướng dẫn về nhà.
Làm các bài tập 12, 13, 14 sgk trang 10.
Đọc bài CÓ THỂ EM CHƯA BIẾT.
Chuẩn bị trước bài 412.
Hoaït ñoäng 7: ruùt kinh nghieäm:
Xem thêm

116 Đọc thêm

TIỂU LUẬN Tiểu luận giải quyết các tình huống môn Các mô hình ra quyết định Đại học Duy Tân 2012

TIỂU LUẬN TIỂU LUẬN GIẢI QUYẾT CÁC TÌNH HUỐNG MÔN CÁC MÔ HÌNH RA QUYẾT ĐỊNH ĐẠI HỌC DUY TÂN 2012

MỤC LỤC
TÌNH HUỐNG 2 2
TÌNH HUỐNG 3 7
TÌNH HUỐNG 4 15
TÌNH HUỐNG 5 21
TÌNH HUỐNG 6 30
TÌNH HUỐNG 7 37



TÌNH HUỐNG 2
Công ty sản xuất sàn gỗ hiện dự trữ trong kho các tấm sàn gỗ có chiều dài tiêu chuẩn là 25 feet và đang tính toán để cắt các tấm này theo yêu cầu của các đơn đặt hàng. Có một đơn đặt hàng cần 5000 tấm sàn loại 7 feet, 1200 tấm loại 9 feet và 300 tấm loại 11 feet. Nhà sản xuất đã xác định được 6 cách để cắt các tấm 25 feet này theo đơn đặt hàng, 6 cách này được ghi ở bảng sau:
Các cách cắt Số lượng tấm sàn được tạo ra
Loại 7 feet Loại 9 feet Loại 11 feet
1
2
3
4
5
6 3
2
2
1
0
0 0
1
0
2
1
0 0
0
1
0
1
2
Ví dụ như cách cắt thứ 1 chỉ có thể cắt được 3 tấm loại 7 feet có nghĩa là nó dùng được 21 feet và dư 4 feet. Trong khi đó ở cách cắt thứ 4 nó tạo ra được 1 tấm loại 7 feet và 2 tấm loại 9 feet như vậy là tấm 25 feet được sử dụng hết. Nhà sản xuất đang tính toán để đáp ứng đơn hàng mà chỉ sử dụng số lượng tấm sàn 25 feet ít nhất có thể. Tính số tấm sàn 25 feet được cắt ở mỗi cách khác nhau.
a. Thiết lập mô hình LP cho bài toán này.
b. Xây dựng mẫu bảng biểu cho bài toán này và giải nó bằng công cụ Solver. Trình bày báo cáo và giải thích theo các dạng: Answer; Sensitivity; Limits?
Giải
Gọi là số tấm 25 feet cắt theo cách i thành các tấm loại 7 feet, 9 feet và 11 feet.
Các biến số ra quyết định là: x1, x2, x3, x4, x5, x6.
Điều kiện biên (1):
(2.1)
Điều kiện ràng buộc (2):
........
Xem thêm

46 Đọc thêm

Ngân hàng trắc nghiệm Vi Xử Lý

NGÂN HÀNG TRẮC NGHIỆM VI XỬ LÝ

ĐỀ CƯƠNG ( NGÂN HÀNG TRẮC NGHIỆM VI XỬ LÝ )

Môn học : VI XỬ LÝ

Sưu tầm : Hong Nguyen ( UNETI )

Nguồn: Khoa Điện – Điện Tử biên soạn





Câu 1: Khi sử dụng timer và để điều khiển Timer dừng, ta cần thiết lập bit:

A. CT = 0

B. CT = 1

C. TR = 0
D. TR=1


Câu 6: Bus dữ liệu là bus

A. một chiều

B. Hai chiều
C. Bốn chiều

D. Tám chiều






Câu 8: Cho đoạn mã sau: MOV A,0B5H
RL A
Kết quả thanh ghi A là:
A. 6BH
B. B6H

C. DAH

D. ADH

Câu 9: Khi ta chọn mode hoạt động là mode 3 ta cân thiết lập 2 bit M1M0 có giá trị:

A. 00

B. 01

C. 10

D. 11

Câu 10: Dùng lệnh MOV C,P có ý nghĩa sau:

A. Chuyển P vào C

B. Đặt bit parity chẵn vào TB8
C. Đặt bit parity chẵn vào SBUF

D. Đặt bit parity chẵn vào ACC

Câu 11: Cho đoạn chương trình con (trường hợp thạch anh 12MHz): DELAY:
MOV TMOD,01H MOV TH0,3CH MOV TL0,0B0H SETB TR0
JNB TF0,
Thời gian tạo trễ khi thực hiện đoạn chương trình trên?
A. 20mS

B. 30ms

C. 50ms

D. 40ms







Câu 13: Nguồn xung nhịp cho các Timer là xung vuông có tần số bằng … tần số dao động thạch anh:
A. 12

B. 112
C. 14

D. 16

Câu 14: Để khởi động bộ định thời 1 ta dùng lệnh:

A. SETB TR1
B. SETB TR0

C. CLR TR0

D. CLR TR1

Câu 15: Port 1 của 8051 tại địa chỉ:

A. 80H

B. 90H
C. A0H

D. B0H

Câu 18: Lệnh DIV AB chứa kết quả vào:

A. Thương số cất trong thanh ghi B và số dư cất trong thanh ghi A.

B. Thương số cất trong thanh ghi A và số dư cất trong thanh ghi B.
C. Cất hết vào thanh ghi A

D. Cất hết vào thanh ghi B







Câu 20: Chip 8051 bao gồm:
A. 4K byte ROM
B. 8K byte ROM

C. 16K byte ROM

D. 32K byte ROM
Xem thêm

16 Đọc thêm

Cùng chủ đề