1. Trang chủ
  2. » Luận Văn - Báo Cáo

tài liệu hướng dẫn thí thực hành thí nghiệm học phần thiết kế hệ thống nhúng

45 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu hướng dẫn thí thực hành, thí nghiệm học phần Thiết kế hệ thống nhúng
Trường học Trường Đại học Vinh, Viện Kỹ thuật và Công nghệ
Chuyên ngành Thiết kế hệ thống nhúng
Thể loại Tài liệu hướng dẫn thí nghiệm
Năm xuất bản 2023
Thành phố Nghệ An
Định dạng
Số trang 45
Dung lượng 1,28 MB

Nội dung

Mô phỏng trênproteus và kiểm tra trên mạch phần cứng.1.5.. - CờbáobậnBF:BusyFlagKhi đang thực thi các hoạt động bên trong, LCD bỏ qua mọi giao tiếp với bênngoài và bật cờ BF thông qua ch

Trang 2

MỤCLỤC

Trang

Bài1.LậptrìnhCvớiviđiềukhiển8051 03

Bài2:GiaotiếpvớimatrậnphímvàmànhìnhLCD16x2 11

Bài3:GiaotiếpvớicácđènLED7thanh 18

Bài4:Giaotiếpvớicảmbiếnnhiệtđộ 23

Bài5:Lậptrìnhsửdụngngắtngoài 27

Bài6:Hệđiềuhànhthờigianthực 33

Trang 3

LẬPTRÌNHCVỚIVIĐIỀUKHIỂN8051 1.1 MỤCĐÍCH

D1 LED

Trang 6

//design by : Template code

// version: 1.0

//date: 01/03/2023

//description: ON/OFF led void main() {

do {

P0 = 0x00; // Turn ON diodes on PORT0 P1 =

0x00; // Turn ON diodes on PORT1 P2 =

0x00; // Turn ON diodes on PORT2 P3 =

0x00; // Turn ON diodes on PORT3

Delay_ms(100); // 1 second delay

} while(1);// Endless loop

Trang 7

1.4.2 Bàitậpthựchành

1 ViếtlạichươngtrìnhđiềukhiểnLedđơnnóitrênvớicáchiệuứngledđuổinhau từ P0.0🠒P0.7🠒P1.0🠒P1.7🠒P2.0🠒P2.7🠒P3.0🠒P3.7 sử dụng các lệnh

Trang 8

- Lưuđồthuậttoán?

Trang 10

char keypadPort at P0 ;

Keypad_Init();

// khai báo ma trận phím ở port0// khởi tạo ma trận bàn phímchar Keypad_Key_Click(void);// trả về trạng thái của phím bấm từ (116))

Trang 11

Hình2.2.MànhìnhLCD16x2.

Trang 15

_LCD_SHIFT_RIGHT Shiftdisplayrightwithoutchanging

displaydataRAM

2.3 THIẾTBỊTHỰCHÀNHTHÍNGHIỆMVÀVẬTTƢTIÊUHAO: 2.3.1 Thiếtbịthựchànhthínghiệm

Lcd_Init();// Initialize LCD

Lcd_Cmd(_LCD_CLEAR);// Clear display

Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off

Trang 16

Lcd_Out(1, 1, "Key: " ) ; //WritemessagetextonLCD

Trang 17

- Viết chương trình trên, vẽ sơ đồ trên proteus và kiểm tra hoạt động của hệthống quan sát kết quả.

- Vẽlưuđồthuậttoánchochươngtrìnhtrên

2.4.2 Bàitậpthựchành

1 Viết chương trình nhập vào một số nhị phân 4 bit và chuyển đổi số nhị phân

đó sang số hexa hiển thị lên màn hình LCD Mô phỏng trên proteus và kiểm tratrênmạch phần cứng

2 Viết chương trình nhập vào hai số hexa và tính tổng, tích của hai số hiểnthịhai số đó lên màn hình LCD Mô phỏng trên proteus và kiểmtra trên mạch phần cứng

// Pressed key is the same as previous

// Print key ASCII value on LCD

Trang 18

GIAOTIẾPVỚICÁCĐÈNLED7THANH 3.1 MỤCĐÍCH

D12A Catotchung

Hình3.2.CấutạođènLED7thanh.

764211095

8 3

A B 76

Trang 20

P0.6 G

P0.5 F

P0.4 E

P0.3 D

P0.2 C

P0.1 B

P0.0 A

SỐ HEX

Trang 21

digit = number / 1000u ; // extract thousands digit

digits_array[3]=mask(digit);/ / andstoreittodigitsarray digit

= (number / 100u) % 10u;/ / e x t r a c t h u n d r e d s

Trang 23

sbit OW_Bit at P1_2_bit;

unsigned short Ow_Reset();

//Khởi tạo chân data// Phát ra lệnh reset cảm biến DS1820unsigned short Ow_Read();// Đọc dữ liệu từ cảm biến ds1820, dữ liệu trả vềdưới dạng unsigned short

Void Ow_Write( char par)// Gửi lệnh xuống ds1820

4.2 CƠSỞLÝTHUYẾT

4.2.1 CảmbiếnnhiệtđộDS1820

Cảm biến nhiệt độ DS18B20 là cảm biến nhiệt độ chuyên dùng để đo nhiệt độmôi trường với đầu ra dạng số khác với một số loại cảm biến analog như:LM35,LM335,

Nộidungcáchàmnhưsau:

4.3 THIẾTBỊTHỰCHÀNHTHÍNGHIỆMVÀVẬTTƢTIÊUHAO:

4.3.1 Thiếtbịthựchànhthínghiệm

-MáytínhcàiđặtphầnmềmMikroCfor8051

Trang 25

//Extracthundredsdigit text[6)] = (temp_fraction/10)%10+ 4 8 ; // Extract tens digit text[7]

=t e m p _ f r a c ti o n % 1 0 + 48; // Extract ones digit

ifyouseegreekalphalettertrytyping178insteadof223Lcd_Chr(2,1

4,'C');

// -mainloop

Trang 26

4.4.2 Bàitậpthựchành

1 ViếtlạichươngtrìnhtrênđổinhiệtđộC🠒 Fvàngượclại.Môphỏngtrên proteus và kiểm tra trên mạch phần cứng

2 Hiển thị nhiệt độ đo được từ cảm biến DS1820 lên các đèn LED 7 thanh Mô phỏng trên proteus và kiểm tra trên mạch phần cứng

// Issue command SKIP_ROM// Issue command READ_SCRATCHPAD

temp = (Ow_Read() << 8) + temp;

// - Format and display result on Lcd

Trang 27

LẬPTRÌNHSỬDỤNGNGẮTNGOÀI 5.1 MỤCĐÍCH

Trang 28

EA:( I E 7 bit)là bitchophép ngắt toàn bộ.Tức lànếu bạn sử dụng mộttrong5 ngắt

kể trên của vđk thì bạn phải setb i t n à y l ê n v ớ i g i á t r ị 1 N g ư ợ c

Trang 29

Sơ đồ nguyên lý ghép nối vi điều khiển với phím bấm và màn hình LCD 16x2 được trình bày trên hình 5.1 và 5.2.

Trang 30

Hình5.2.SơđồnguyênlýghépnốiviđiềukhiểnvớimànhìnhLCD16x2

Trang 31

//Design by : Template code

// version: 1.0

//date: 1/3/2023

//description: counter on lcd NOTES:

Make sure you turn ON the PORT0 LEDs (SW7.1), set Pull up PORT3.2 (SW4.3) and set jumper J4 in GND position

// Global variable cnt and tmp with starting

void External_ISR()org 0x0003 ilevel 0 {// Interrupt rutine

EA_bit = 0;// Disable Interrupts

Trang 32

Lcd_Out(1, 1, " counter exemple : "); Lcd_Out(2, 1, " design

Template codebkhn"); delay_ms(2000);

// Moving text Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1, 1,

//sprintf(buffer, "%10d", cnt);// Format ww and store it to buffer text[0]

= cnt/1000+ 48;// Extract thousands digit

text[1] = (cnt/100)%10 + 48;// Extract hundreds digit text[2] =

(cnt/10)%10 + 48;// Extract tens digit text[3] = cnt%10+ 48;// Extract

Trang 33

- Ngắtlàgì?Ngắtngoàilàgì?

Trang 35

HỆĐIỀUHÀNHTHỜIGIANTHỰC 6.1 MỤCĐÍCH

t h ự c C á c đ ặ c đ i ể m k h á c c ó t h ể đ ư ợ c t h ê m v à o n h ư m ộ t

v ò n g n g o à i k h i c ầ n t h i ế t N h â n n h ỏ c ủ a m ộ t R T O S

t h í c h h ợ p c h o m ộ t ứ n g d ụ n g b ộ x ử l ý n h ỏ , t r o n g

k h i n h ữ n g v ò n g n g o à i c ó t h ể g i ú p đỡxâydựnghệthốngthờigianthực lớn.Các RTOSthườngcungcấp các mức xử lý ưu tiên Các công việc

ưu tiên cao hơn sẽ được thực hiện trước Ngoài các chứcn ă n g c ủ a h ệ đ i ề u h à n h

Trang 36

Hình7.1:SơđồchứcnăngcủamộthệRTOS

Trang 37

Nhiều hệ điều hành không thời gian thực cũng cung cấp nhân của tương tựnhưng điểm khác biệt lớn nhất của hệ điều hành thời gian thực và hệ điều hành khôngthờigian thựcnóichunglàtính tiền định(deterministic) Thời gian tiềnđịnh tức làcác dịch

vụ của hệ điều hành thực hiện chỉ được yêu cầu một khoảng thời gian nhất định, muốntiền định tức là phải tính toán chính xác theo toán học Các đáp ứng về thời gian lànghiêm ngặt trong hệ điều hành thời gian thực, không thể có thành phần thờigian ngẫunhiên Với một phần thời gian ngẫu nhiên có thể tạo ra trễ ngẫu nhiên, từ đó gây ra cácđáp ứng deadline không thoả mãn

Trang 38

6.3 THIẾTBỊTHỰCHÀNHTHÍNGHIỆMVÀVẬTTƢTIÊUHAO: 6.3.1 Thiếtbịthựchànhthínghiệm

Trang 40

ChọnYes

Trang 41

Tạofilemain.c

Trang 42

Viếtcode:

Trang 43

/**************************************************************/job0 () _task_ 0{

Trang 45

Viết chương trình đèn giao thông Mô phỏng trên proteus và kiểmtra trên mạch phần cứng.

/* wait for timeout: 150 ticks */

/* wait for timeout: 150 ticks */}

}

Ngày đăng: 16/05/2024, 17:38

HÌNH ẢNH LIÊN QUAN

Led7thanhlàthiếtbịchuyêndùngđểhiểnthịsố0?9. Hình dạng  của led 7 thanh trong hình 3.1. - tài liệu hướng dẫn thí thực hành thí nghiệm học phần thiết kế hệ thống nhúng
ed7thanhl àthiếtbịchuyêndùngđểhiểnthịsố0?9. Hình dạng của led 7 thanh trong hình 3.1 (Trang 18)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w