Tải bản đầy đủ (.pdf) (49 trang)

Thực hành Hệ Thống Nhúng potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (612.75 KB, 49 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
oOo






TÀI LIỆU THỰC HÀNH

HỌC PHẦN: THỰC HÀNH HỆ THỐNG NHÚNG
BỘ MÔN: KỸ THUẬT MÁY TÍNH











THÁI NGUYÊN, 2011
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

2
Biên soạn:
ThS Nguyễn Tuấn Anh
ThS Nguyễn Tuấn Linh


ThS Nguyễn V

ăn Huy









TÀI LIỆU THỰC HÀNH

HỌC PHẦN: THỰC HÀNH CHUYÊN NGÀNH
ĐIỆN - ĐIỆN TỬ - SPKT
MÃ SỐ HỌC PHẦN:
SỐ TÍN CHỈ:







Trưởng BM Kỹ thuật máy tính



ThS. Nguyễn Tuấn Linh

Trưởng khoa Điện tử



TS. Nguyễn Duy Cương
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

3
MỤC LỤC
BÀI 1. CHUYỂN ĐỔI TÍN HIỆU TƯƠNG TỰ SANG SỐ 5
Phần I. THỰC HÀNH 6
1.1. Mục đích thực hành: 6
1.2. Cơ sở lý thuyết: 6
1.3. Thực hành: 7
1.3.1. Nội quy an toàn thực hành: 7
1.3.2. Nội dung bài thực hành: 7
1.3.3. Phương pháp và cách thức thực hành: 7
1.4. Ghi chép số liệu, kết quả thực hành 10
1.5. Chuẩn bị của sinh viên: 10
Phần II. VIẾT BÁO CÁO THỰC HÀNH 10
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 10
BÀI 2. ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG PWM 11
Phần I. THỰC HÀNH 12
1.1. Mục đích thực hành: 12
1.2. Cơ sở lý thuyết: 12
1.3. Thực hành: 13
1.3.1. Nội quy an toàn thực hành: 13
1.3.2. Nội dung bài thực hành: 13
1.3.3. Phương pháp và cách thức thực hành: 13
1.4. Ghi chép số liệu, kết quả thực hành 15

1.5. Chuẩn bị của sinh viên: 15
Phần II. VIẾT BÁO CÁO THỰC HÀNH 15
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 16
BÀI 3. QUANG BÁO SỬ DỤNG LED MATRẬN 8X8 17
Phần I. THỰC HÀNH 18
1.1. Mục đích thực hành: 18
1.2. Cơ sở lý thuyết: 18
1.3. Thực hành: 18
1.3.1. Nội quy an toàn thực hành: 18
1.3.2. Nội dung bài thực hành: 19
1.3.3. Phương pháp và cách thức thực hành: 19
1.4. Ghi chép số liệu, kết quả thực hành 21
1.5. Chuẩn bị của sinh viên: 21
Phần II. VIẾT BÁO CÁO THỰC HÀNH 21
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 21
BÀI 4. XỬ LÝ NGẮT VÀ GIAO TIẾP BÀN PHÍM 22
Phần I. THỰC HÀNH 23
1.1. Mục đích thực hành: 23
1.2. Cơ sở lý thuyết: 23
1.3. Thực hành: 24
1.3.1. Nội quy an toàn thực hành: 24
1.3.2. Nội dung bài thực hành: 24
1.3.3. Phương pháp và cách thức thực hành: 24
1.4. Ghi chép số liệu, kết quả thực hành 26
1.5. Chuẩn bị của sinh viên: 26
Phần II. VIẾT BÁO CÁO THỰC HÀNH 26
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 26
BÀI 5. TRUYỀN THÔNG VỚI PC QUA CỔNG USB 27
Phần I. THỰC HÀNH 28
1.1. Mục đích thực hành: 28

Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

4
1.2. Cơ sở lý thuyết: 28
1.3. Thực hành: 28
1.3.1. Nội quy an toàn thực hành: 28
1.3.2. Nội dung bài thực hành: 29
1.3.3. Phương pháp và cách thức thực hành: 29
1.4. Ghi chép số liệu, kết quả thực hành 34
1.5. Chuẩn bị của sinh viên: 34
Phần II. VIẾT BÁO CÁO THỰC HÀNH 35
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 35
BÀI 6. ĐỌC DỮ LIỆU TRONG THẺ NHỚ SD/MMC 36
Phần I. THỰC HÀNH 37
1.1. Mục đích thực hành: 37
1.2. Cơ sở lý thuyết: 37
1.3. Thực hành: 37
1.3.1. Nội quy an toàn thực hành: 37
1.3.2. Nội dung bài thực hành: 38
1.3.3. Phương pháp và cách thức thực hành: 38
1.4. Ghi chép số liệu, kết quả thực hành 47
1.5. Chuẩn bị của sinh viên: 47
Phần II. VIẾT BÁO CÁO THỰC HÀNH 48
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH 48




Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử


5
Biên soạn: Th.S Nguyễn Tuấn Anh











QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH
MÔN HỆ THỐNG NHÚNG

BÀI 1.
CHUYỂN ĐỔI TÍN HIỆU TƯƠNG TỰ SANG SỐ

CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)

Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

6

Phần I. THỰC HÀNH
1.1. Mục đích thực hành:
- Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên
nền PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là

phần mềm PIC C Compile và phần mềm mô phỏng Proteus.
- Lập trình đọc 8 kênh dữ liệu ADC, hiển thị kết quả lên LCD
- Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức
thực tế.
- Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công
tác khoa học kỹ thuật.
1.2. Cơ sở lý thuyết:
Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần
cứng là hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C,
biên dịch trên nền PIC C compile.
Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã
có, theo sơ đồ khối sau đây:

Trong đó:
 Hiển thị trạng thái là một module LCD16x2, dùng để hiển thị tất cả trạng thái
của hệ thống
 Cảm biến là bộ phận cảm biến nhiệt từ môi trường ngoài, chuyển thành tín
hiệu điện áp đưa về bộ điều khiển trung tâm.
 Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần
mềm nhúng vào, thể hiện thuật toán của chúng ta.
Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau
đây:
 Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại,
mạch lọc, LCD, cảm biến, ADC,
 Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ
nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

7
1.3. Thực hành:

1.3.1. Nội quy an toàn thực hành:
- Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm
vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội
quy có kiểm tra sát hạch.
- Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà
nước phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền.
Ví dụ: Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt
1.3.2. Nội dung bài thực hành:
- Làm quen phần mềm PIC C Compile, Proteus
- Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán Giao tiếp thiết bị
ngoại vi cơ bản: LCD, mạch tương tự (lấy tín hiệu ADC).
- Tạo một project mới trên CCS
- Lập trình phần mềm nhúng, đáp ứng được bài toán.
- Nạp vào mạch thật
- Kiểm tra hoạt động và đánh giá kết quả
1.3.3. Phương pháp và cách thức thực hành:
1. Giới thiệu thiết bị và dụng cụ thực hành
2. Phân nhóm thực hành
3. Sơ đồ hay cách thức tiến hành TN
Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus:
27.0
3
1
VOUT
2
U1
LM35
3
2
1

411
U2:A
LM324
R1
100k
R2
10k
+5v
R3
10k
ADC0
ADC0
MCLR/VPP
1
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-
4
RA3/AN3/VREF+
5
RA4/T0CKI
6
RA5/AN4/SS/LVDIN
7
RE0/RD/AN5
8
RE1/WR/AN6
9

RE2/CS/AN7
10
OSC1/CLKI
13
RA6/OSC2/CLKO
14
RC0/T1OSO/T1CKI
15
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RD2/PSP2
21
RD3/PSP3
22
RD4/PSP4
27
RD5/PSP5
28
RD6/PSP6
29
RD7/PSP7
30
RC4/SDI/SDA
23

RC5/SDO
24
RC6/TX/CK
25
RC7/RX/DT
26
RB0/INT0
33
RB1/INT1
34
RB2/INT2
35
RB3/CCP2B
36
RB4
37
RB5/PGM
38
RB6/PGC
39
RB7/PGD
40
RC1/T1OSI/CCP2A
16
U3
PIC18F452
D7
14
D6
13

D5
12
D4
11
D3
10
D2
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
LCD1
LM016L
R4
10k
ADC1
ADC2

ADC3
ADC4
ADC5
ADC6
ADC7
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7


Hình 1. Phần cứng hệ thống nhúng.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

8
4. Trình tự tiến hành thực hành
Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau:
Ký hiệu Tên linh kiện Giải thích Số lượng
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6

RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37

RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5

RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A

PIC16F877A Vi điều khiển 1
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9
D1
8
D0
7
E
6
RW
5
RS
4

VSS
1
VDD
2
VEE
3

LM016L
Màn hình hiển
thị trạng thái hệ
thống
1
27.0
3
1
VOUT
2
U1
LM35

LM35 Cảm biến nhiệt 1
Thiết kế mạch như hình ở “Hình 1.”.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

9
5. Tạo Dự án nhúng:
o
Viết mã nguồn như sau:
#include "ADC_LCD_Moto control.h"
#define use_portb_lcd TRUE

#include <LCD.C>
#define Forward_pin PIN_D0
#define Backward PIN_D1
void main()
{
int16 AD;
int8 k;
const int16 Tmax=1024;
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_init();

set_tris_d(0);output_d(0);
while(1){
for(k=0;k<8;k++){
set_adc_channel(k);
AD=read_adc();//0 1023
lcd_gotoxy(1,1); printf(LCD_PUTC, "ADC%u=%4lu",k,AD);
lcd_gotoxy(1,2);
printf(LCD_PUTC, "Volt=%5.2f",(float)AD/205);
delay_ms(5000);
}
}

}

Nạp vào Mạch mô phỏng, kiểm tra kết quả.


Nạp vào mạch thật, kiểm chứng kết quả có trùng khớp với mình mong
muốn hay không.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử

10
1.4. Ghi chép số liệu, kết quả thực hành
1.5. Chuẩn bị của sinh viên:
- Đọc và nghiên cứu bài thực hành
- Đọc và nghiên cứu lý thuyết có liên quan đến nội dung bài thực hành
- Chuẩn bị các vật dụng, giấy vở ghi chép số liệu thực hành
- Mạch máy tính nhúng, phần lập trình nhúng.
- Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn
thực hành. Nếu không đạt, sẽ không được tham gia thực hành và có được thực
hành tiếp vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải
quyết.
Phần II. VIẾT BÁO CÁO THỰC HÀNH
2.1. Quy định chung:
Báo cáo thực hành được viết một mặt trên khổ giấy A4, đóng quyển, bìa
mềm (theo mẫu ). Mỗi sinh viên có một quyển báo cáo riêng.
2.2. Nội dung báo cáo:
2.2.1. Cơ sở lý thuyết
Phân tích cơ sở lý thuyết như mục 1.2.
2.2.2. Báo cáo kết quả thực hành
- Tổng hợp những kết quả chính cho nội dung báo cáo
- Phân tích sơ đồ nguyên lý, mã lệnh

- Lập bảng trạng thái đầu vào, đầu ra (nếu có)
- Nhận xét kết quả:
+ Các kết quả thu được từ thực hành
+ So sánh kết quả thực hành với lý thuyết
+ Mức độ kết quả đạt được so với yêu cầu đề ra
+ Đánh giá các sai số của dụng cụ, thiết bị thực hành, người thao tác
- Kiến nghị.
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH
Bộ môn hay tập thể hướng dẫn thực hành tổ chức đánh giá điểm thực hành
thông qua lựa chọn một trong những hình thức sau:
- Chấm điểm dựa trên nội dung bản báo cáo thực hành của từng sinh viên
- Chấm điểm theo hình thức bảo vệ vấn đáp.
Điểm thực hành của sinh viên được tổng hợp theo lớp có chữ ký xác nhận Trưởng bộ
môn chuyên môn.


Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


11
Biên soạn: Th.S Nguyễn Tuấn Anh












QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH
MÔN HỆ THỐNG NHÚNG

BÀI 2.
ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG PWM

CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)

Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


12

Phần I. THỰC HÀNH
1.1. Mục đích thực hành:
- Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền
PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm
PIC C Compile và phần mềm mô phỏng Proteus.
- Lập trình điều khiển tốc độ động cơ theo phương pháp PWM, đọc dữ liệu phản hổi từ
động cơ, hiển thị kết quả lên LCD
- Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế.
- Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác
khoa học kỹ thuật.
1.2. Cơ sở lý thuyết:
Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần cứng là

hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C, biên dịch
trên nền PIC C compile.
Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã có,
theo sơ đồ khối sau đây:

Trong đó:
 Hiển thị trạng thái là một module LCD16x2, dùng để hiển thị tất cả trạng thái của
hệ thống
 Cảm biến là bộ phận cảm biến nhiệt từ môi trường ngoài, chuyển thành tín hiệu
điện áp đưa về bộ điều khiển trung tâm.
 Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần mềm
nhúng vào, thể hiện thuật toán của chúng ta.
Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau đây:
 Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại,
mạch lọc, LCD, cảm biến, ADC,
 Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ
nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


13
1.3. Thực hành:
1.3.1. Nội quy an toàn thực hành:
- Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm
vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội quy có
kiểm tra sát hạch.
- Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà nước
phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền. Ví dụ:
Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt

1.3.2. Nội dung bài thực hành:
- Làm quen phần mềm PIC C Compile, Proteus
- Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán Giao tiếp thiết bị ngoại
vi cơ bản: LCD, mạch tương tự (lấy tín hiệu ADC).
- Tạo một project mới trên CCS
- Lập trình phần mềm nhúng, đáp ứng được bài toán.
- Nạp vào mạch thật
- Kiểm tra hoạt động và đánh giá kết quả
1.3.3. Phương pháp và cách thức thực hành:
1. Giới thiệu thiết bị và dụng cụ thực hành

2. Phân nhóm thực hành
3. Sơ đồ hay cách thức tiến hành TN
Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus:
M+
R4
1k
+88.8
Q1
TIP31
Q2
TIP32
Q3
2SC2547
Q4
2SC2547
Q5
TIP31
Q6
TIP32

Q7
2SC2547
Q8
2SC2547
R1
1k
R2
1k
R3
1k
+12V
VCC
R6
10K
R8
10K
INC DEC
KB1
KB2
KB1 KB2
A
B
C
D
PWM
DIR
M+
MCLR/VPP
1
RA0/AN0

2
RA1/AN1
3
RA2/AN2/VREF-
4
RA3/AN3/VREF+
5
RA4/T0CKI
6
RA5/AN4/SS/LVDIN
7
RE0/RD/AN5
8
RE1/WR/AN6
9
RE2/CS/AN7
10
OSC1/CLKI
13
RA6/OSC2/CLKO
14
RC0/T1OSO/T1CKI
15
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1

20
RD2/PSP2
21
RD3/PSP3
22
RD4/PSP4
27
RD5/PSP5
28
RD6/PSP6
29
RD7/PSP7
30
RC4/SDI/SDA
23
RC5/SDO
24
RC6/TX/CK
25
RC7/RX/DT
26
RB0/INT0
33
RB1/INT1
34
RB2/INT2
35
RB3/CCP2B
36
RB4

37
RB5/PGM
38
RB6/PGC
39
RB7/PGD
40
RC1/T1OSI/CCP2A
16
U1
PIC18F452


Hình 2. Phần cứng hệ thống nhúng.
4. Trình tự tiến hành thực hành
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


14
Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau:
Ký hiệu Tên linh kiện Giải thích Số lượng
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6

RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37

RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5

RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1

PIC18F452 Vi điều khiển 1
Q1
TIP41

Q2
TIP42

TIP41
TIP42
Tranzitor 8
5. Tạo Dự án nhúng:
o
Viết mã nguồn như sau:
#include "ADC_LCD_Moto control.h"
#define use_portb_lcd TRUE
#include <LCD.C>

#define Forward_pin PIN_D0
#define Backward PIN_D1
void main()
{
int16 AD;
int8 k;
const int16 Tmax=1024;

setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_psp(PSP_DISABLED);
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


15
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_init();

set_tris_d(0);output_d(0);
while(1){
output_hight(PIN_D6); output_low(PIN_D6);
delay_ms(100);
}
}

Nạp vào Mạch mô phỏng, kiểm tra kết quả.


Nạp vào mạch thật, kiểm chứng kết quả có trùng khớp với mình mong muốn
hay không.
1.4. Ghi chép số liệu, kết quả thực hành
1.5. Chuẩn bị của sinh viên:

- Đọc và nghiên cứu bài thực hành
- Đọc và nghiên cứu lý thuyết có liên quan đến nội dung bài thực hành
- Chuẩn bị các vật dụng, giấy vở ghi chép số liệu thực hành
- Mạch máy tính nhúng, phần lập trình nhúng.
- Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn thực
hành. Nếu không đạt, sẽ không được tham gia thực hành và có được thực hành tiếp
vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải quyết.

Phần II. VIẾT BÁO CÁO THỰC HÀNH
2.1. Quy định chung:
Báo cáo thực hành được viết một mặt trên khổ giấy A4, đóng quyển, bìa mềm
(theo mẫu ). Mỗi sinh viên có một quyển báo cáo riêng.
2.2. Nội dung báo cáo:
2.2.1. Cơ sở lý thuyết
Phân tích cơ sở lý thuyết như mục 1.2.
2.2.2. Báo cáo kết quả thực hành
- Mỗi sinh viên (nhóm sinh viên) thiết kế 01 mạch (sơ đồ nguyên lý, phần lập
trình nhúng) ngẫu nhiên đã được chuẩn bị trước ở mục 1.4, trên phần mềm
Proteus và PICC Compile.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


16
- Tổng hợp những kết quả chính cho nội dung báo cáo
- Phân tích sơ đồ nguyên lý, mã lệnh
- Lập bảng trạng thái đầu vào, đầu ra (nếu có)
- Nhận xét kết quả:
+ Các kết quả thu được từ thực hành
+ So sánh kết quả thực hành với lý thuyết

+ Mức độ kết quả đạt được so với yêu cầu đề ra
+ Đánh giá các sai số của dụng cụ, thiết bị thực hành, người thao tác
- Kiến nghị.
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH
Bộ môn hay tập thể hướng dẫn thực hành tổ chức đánh giá điểm thực hành thông
qua lựa chọn một trong những hình thức sau:
- Chấm điểm dựa trên nội dung bản báo cáo thực hành của từng sinh viên
- Chấm điểm theo hình thức bảo vệ vấn đáp.
Điểm thực hành của sinh viên được tổng hợp theo lớp có chữ ký xác nhận Trưởng bộ môn
chuyên môn.




Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


17
Biên soạn: Th.S Nguyễn Tuấn Anh












QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH
MÔN HỆ THỐNG NHÚNG

BÀI 3.
QUANG BÁO SỬ DỤNG LED MATRẬN 8X8

CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)

Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


18

Phần I. THỰC HÀNH
1.1. Mục đích thực hành:
- Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền
PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm
PIC C Compile và phần mềm mô phỏng Proteus.
- Quang báo sử dụng LED matrận 8x8, cho phép lập trình chữ chạy trên 4 led8x8.
- Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế.
- Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác
khoa học kỹ thuật.
1.2. Cơ sở lý thuyết:
Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần cứng là
hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C, biên dịch
trên nền PIC C compile.
Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã có,

theo sơ đồ khối sau đây:
Bộ điều khiển
trung tâm
LED ma trận

Trong đó:
 Bảng LED ma trận 8x8, hiển thị nội dung lập trình sẵn.
 Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần mềm
nhúng vào, thể hiện thuật toán của chúng ta.
Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau đây:
 Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại,
mạch lọc, LCD, cảm biến, ADC,
 Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ
nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,
1.3. Thực hành:
1.3.1. Nội quy an toàn thực hành:
- Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm
vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội quy có
kiểm tra sát hạch.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


19
- Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà nước
phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền. Ví dụ:
Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt
1.3.2. Nội dung bài thực hành:
- Làm quen phần mềm PIC C Compile, Proteus
- Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán

- Tạo một project mới trên CCS
- Lập trình phần mềm nhúng, đáp ứng được bài toán.
- Nạp vào mạch thật
- Kiểm tra hoạt động và đánh giá kết quả
1.3.3. Phương pháp và cách thức thực hành:
1. Giới thiệu thiết bị và dụng cụ thực hành

2. Phân nhóm thực hành
3. Sơ đồ hay cách thức tiến hành TN
Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus:
H1
H2
H3
H4
H5
H6
H7
H8
C1
C2
C3
C4
C5
C6
C7
C8
H1
H2
H3
H4

H5
H6
H7
H8
C9
C10
C11
C12
C13
C14
C15
C16
H1
H2
H3
H4
H5
H6
H7
H8
C17
C18
C19
C20
C21
C22
C23
C24
H1
H2

H3
H4
H5
H6
H7
H8
C25
C26
C27
C28
C29
C30
C31
C32
MCLR/VPP
1
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-
4
RA3/AN3/VREF+
5
RA4/T0CKI
6
RA5/AN4/SS/LVDIN
7
RE0/RD/AN5
8

RE1/WR/AN6
9
RE2/CS/AN7
10
OSC1/CLKI
13
RA6/OSC2/CLKO
14
RC0/T1OSO/T1CKI
15
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RD2/PSP2
21
RD3/PSP3
22
RD4/PSP4
27
RD5/PSP5
28
RD6/PSP6
29
RD7/PSP7
30

RC4/SDI/SDA
23
RC5/SDO
24
RC6/TX/CK
25
RC7/RX/DT
26
RB0/INT0
33
RB1/INT1
34
RB2/INT2
35
RB3/CCP2B
36
RB4
37
RB5/PGM
38
RB6/PGC
39
RB7/PGD
40
RC1/T1OSI/CCP2A
16
U1
PIC18F452
H1
H2

H3
H4
H5
H6
H7
H8
A
2
B
3
C
21
D
22
INH
23
STB
1
Q0
11
Q1
9
Q2
10
Q3
8
Q4
7
Q5
6

Q6
5
Q7
4
Q8
18
Q9
17
Q10
20
Q11
19
Q12
14
Q13
13
Q14
16
Q15
15
U2
4514
A
2
B
3
C
21
D
22

INH
23
STB
1
Q0
11
Q1
9
Q2
10
Q3
8
Q4
7
Q5
6
Q6
5
Q7
4
Q8
18
Q9
17
Q10
20
Q11
19
Q12
14

Q13
13
Q14
16
Q15
15
U3
4514
A
B
C
D
INH1
A
B
C
D
INH2
A
B
C
D
INH1
INH2
C1
C2
C3
C4
C5
C6

C7
C8
C9
C10
C11
C12
C13
C14
C15
C16
C17
C18
C19
C20
C21
C22
C23
C24
C25
C26
C27
C28
C29
C30
C31
C32


Hình 3. Phần cứng hệ thống nhúng.
4. Trình tự tiến hành thực hành

Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau:
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


20
Ký hiệu Tên linh kiện Giải thích Số lượng
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1

17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4

27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1

PIC18F452 Vi điều khiển 1

LED MATRIX LED am trận 4
A
2
B
3
C
21

D
22
INH
23
STB
1
Q0
11
Q1
9
Q2
10
Q3
8
Q4
7
Q5
6
Q6
5
Q7
4
Q8
18
Q9
17
Q10
20
Q11
19

Q12
14
Q13
13
Q14
16
Q15
15
U2
4514

4514 Bộ giải mã 4
5. Tạo Dự án nhúng:
o
Viết mã nguồn như sau:
const char Nmax=10;
const char mf[Nmax]={0xf8,0xfc,0x12,0x11,0x11,0x12,0xfc,0xf8,0x00},
DT=1;
Int8 i,j,Dau,cnt;
void main()
{SET_TRIS_B(0);SET_TRIS_D(0); // portb=portd=trisb=trisd=0;

Dau=cnt=0;

while(1)
{ j=128;

if(++cnt==20){Dau=(Dau+1)%Nmax;cnt=0;}

for(i=7;i>=0;i ){

output_d(~mf[(Dau+i)%Nmax]);
output_b(j); j/=2;
delay_ms(DT);
output_b(0);
} } }


Nạp vào Mạch mô phỏng, kiểm tra kết quả.


Nạp vào mạch thật, kiểm chứng kết quả có trùng khớp với mình mong muốn
hay không.
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


21
1.4. Ghi chép số liệu, kết quả thực hành
1.5. Chuẩn bị của sinh viên:
- Đọc và nghiên cứu bài thực hành
- Đọc và nghiên cứu lý thuyết có liên quan đến nội dung bài thực hành
- Chuẩn bị các vật dụng, giấy vở ghi chép số liệu thực hành
- Mạch máy tính nhúng, phần lập trình nhúng.
- Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn thực
hành. Nếu không đạt, sẽ không được tham gia thực hành và có được thực hành tiếp
vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải quyết.
Phần II. VIẾT BÁO CÁO THỰC HÀNH
2.1. Quy định chung:
Báo cáo thực hành được viết một mặt trên khổ giấy A4, đóng quyển, bìa mềm
(theo mẫu ). Mỗi sinh viên có một quyển báo cáo riêng.

2.2. Nội dung báo cáo:
2.2.1. Cơ sở lý thuyết
Phân tích cơ sở lý thuyết như mục 1.2.
2.2.2. Báo cáo kết quả thực hành
- Mỗi sinh viên (nhóm sinh viên) thiết kế 01 mạch (sơ đồ nguyên lý, phần lập
trình nhúng) ngẫu nhiên đã được chuẩn bị trước ở mục 1.4, trên phần mềm
Proteus và PICC Compile.
- Tổng hợp những kết quả chính cho nội dung báo cáo
- Phân tích sơ đồ nguyên lý, mã lệnh
- Lập bảng trạng thái đầu vào, đầu ra (nếu có)
- Nhận xét kết quả:
+ Các kết quả thu được từ thực hành
+ So sánh kết quả thực hành với lý thuyết
+ Mức độ kết quả đạt được so với yêu cầu đề ra
+ Đánh giá các sai số của dụng cụ, thiết bị thực hành, người thao tác
- Kiến nghị.
Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH
Bộ môn hay tập thể hướng dẫn thực hành tổ chức đánh giá điểm thực hành thông
qua lựa chọn một trong những hình thức sau:
- Chấm điểm dựa trên nội dung bản báo cáo thực hành của từng sinh viên
- Chấm điểm theo hình thức bảo vệ vấn đáp.
Điểm thực hành của sinh viên được tổng hợp theo lớp có chữ ký xác nhận Trưởng bộ môn
chuyên môn.


Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


22

Biên soạn: Th.S Nguyễn Tuấn Anh











QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH
MÔN HỆ THỐNG NHÚNG

BÀI 4.
XỬ LÝ NGẮT VÀ GIAO TIẾP BÀN PHÍM

CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)

Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


23

Phần I. THỰC HÀNH
1.1. Mục đích thực hành:
- Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền

PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm
PIC C Compile và phần mềm mô phỏng Proteus.
- Xử lý ngắt và giao tiếp bàn phím, cho phép lập trình quét 16 phím, cho phép hiển thị kết
quả trên LED 7 đoạn, cho phép lập trình cho 3 loại ngắt.
- Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế.
- Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác
khoa học kỹ thuật.
1.2. Cơ sở lý thuyết:
Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần cứng là
hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C, biên dịch
trên nền PIC C compile.
Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã có,
theo sơ đồ khối sau đây:

Trong đó:
 Bàn phím 16 phím ghép dạng ma trận.
 Hiển thị trạng thái lên LED 7 thanh
 Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần mềm
nhúng vào, thể hiện thuật toán của chúng ta.
Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau đây:
 Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại,
mạch lọc, LCD, cảm biến, ADC,
 Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ
nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


24
1.3. Thực hành:

1.3.1. Nội quy an toàn thực hành:
- Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm
vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội quy có
kiểm tra sát hạch.
- Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà nước
phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền. Ví dụ:
Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt
1.3.2. Nội dung bài thực hành:
- Làm quen phần mềm PIC C Compile, Proteus
- Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán
- Tạo một project mới trên CCS
- Lập trình phần mềm nhúng, đáp ứng được bài toán.
- Nạp vào mạch thật
- Kiểm tra hoạt động và đánh giá kết quả
1.3.3. Phương pháp và cách thức thực hành:
1. Giới thiệu thiết bị và dụng cụ thực hành
2. Phân nhóm thực hành
3. Sơ đồ hay cách thức tiến hành TN
Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus:
MCLR/VPP
1
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-
4
RA3/AN3/VREF+
5
RA4/T0CKI

6
RA5/AN4/SS/LVDIN
7
RE0/RD/AN5
8
RE1/WR/AN6
9
RE2/CS/AN7
10
OSC1/CLKI
13
RA6/OSC2/CLKO
14
RC0/T1OSO/T1CKI
15
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RD2/PSP2
21
RD3/PSP3
22
RD4/PSP4
27
RD5/PSP5

28
RD6/PSP6
29
RD7/PSP7
30
RC4/SDI/SDA
23
RC5/SDO
24
RC6/TX/CK
25
RC7/RX/DT
26
RB0/INT0
33
RB1/INT1
34
RB2/INT2
35
RB3/CCP2B
36
RB4
37
RB5/PGM
38
RB6/PGC
39
RB7/PGD
40
RC1/T1OSI/CCP2A

16
U1
PIC18F452
H1
H2
H3
H4
C1
C2
C3
C4
A
B
C
D
A
B
C
D
1 2 3
654
8 9
=
7
++
C
ON
0
A
B

C
D
1
2
4
3
H1
H2
H3
H4
C1
C2
C3
C4
E
F
G
H
L1
L2
E
F
G
H
L1
L2

Hình 4. Phần cứng hệ thống nhúng.
4. Trình tự tiến hành thực hành
Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau:

Ký hiệu Tên linh kiện Giải thích Số lượng
Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử
THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA


25
Ký hiệu Tên linh kiện Giải thích Số lượng
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1

17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4

27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1

PIC18F452 Vi điều khiển 1
1 2 3
654
8 9
=
7
++
C
ON

0
A
B
C
D
1
2
4
3

Button MATRIX Bàn phím ma trận

1

LED 7 Segments LED 7 đoạn 1
5. Tạo Dự án nhúng:
o
Viết mã nguồn như sau:
#include <18F452.h>
#use delay(clock=8000000)
#fuses HS,NOWDT,NOPROTECT,NOLVP

const int8
LED7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
const int8 time=15;
int8 i,cnt,tmp, L1,L2,L3,L4;
void main()
{ SET_TRIS_b(0);SET_TRIS_C(0);
while(1){
cnt++; tmp=cnt;

L1=tmp % 10; tmp/=10;
L2=tmp % 10; tmp/=10;
for(i=0;i<10;i++){
output_b(LED7[L1]);output_high(PIN_E0);delay_ms(time);
output_low(PIN_D0);
output_b(LED7[L2]);output_high(PIN_E1);delay_ms(time);
output_low(PIN_D1);

} } }


Nạp vào Mạch mô phỏng, kiểm tra kết quả.

×