Vi xử lý (viết tắt là µP hay uP), đôi khi còn được gọi là bộ vi xử lý, là một linh kiện điện tử máy tính được chế tạo từ các transistor thu nhỏ tích hợp lên trên một vi mạch tích hợp đơn. Khối xử lý trung tâm (CPU) là một bộ vi xử lý được nhiều người biết đến nhưng ngoài ra nhiều thành phần khác trong máy tính cũng có bộ vi xử lý riêng của nó, ví dụ trên card màn hình (Graphic card) chúng ta cũng có một bộ vi xử lý. Trước khi xuất hiện các bộ vi xử lý, các CPU được xây dựng từ các mạch tích hợp cỡ nhỏ riêng biệt, mỗi mạch tích hợp chỉ chứa khoảng vào chục transistor. Do đó, một CPU có thể là một bảng mạch gồm hàng ngàn hay hàng triệu vi mạch tích hợp. Ngày nay, công nghệ tích hợp đã phát triển, một CPU có thể tích hợp lên một hoặc vài vi mạch tích hợp cỡ lớn, mỗi vi mạch tích hợp cỡ lớn chứa hàng ngàn hoặc hàng triệu transistor. Nhờ đó công suất tiêu thụ và giá thành của bộ vi xử lý đã giảm đáng kể. Sự tiến hóa của các bộ vi xử lý một phần nhờ vào việc chạy theo Định luật Moore và hiệu suất của nó tăng lên một cách ổn định sau hàng năm. Định luật này phát biểu rằng sự phức tạp của một mạch tích hợp sẽ tăng lên gấp đôi sau mỗi chu kỳ 18 tháng. Và thực tế, sự phát triển của các bộ vi xử lý đã bám sát định luật này từ những năm 1970. Nhờ đó, từ máy tính mẹ (mainframe computer) lớn nhất cho đến các máy tính xách tay hiện nay đều sử dụng một bộ vi xử lý nhỏ nhắn tại trung tâm của chúng.
Trang 1TRU'CJNG DAI HOC SU' PHAM KY THUAT
THANH PHO HO CHI MINH
KHOA CO KHI CHE TAO M AY
NGANH CONG NGHE KY THUAT
CO DIEN TLT
DE THI CUOI KY HOC KY 2 NAM HOC 2019-2020
Mamonhoc: MIC0236929
Be so: 1 Be thi co 2 trang.
Thai gian: 90 phut.
Duocphep sic dung tai lieu tren mot to giay A4 viet toy
Cau 1: (3 diem)
Cho he thong dem hop banh dung counter 0 cua vi dieu khien PIC16F887, hien thi tren LCD 16x2, 1 ngo ra so dieu khien dong/mo co cau thay thung ung voi ngo RCO.
Hay viet chirong trinh ( hoac ve luu do giai thuat co giai thich each hoat dong) thuc
hien tat ca cac yeu cau sau:
a Hien thj ket qua dem tren LCD nhu sau: (2d)
Biet so hop banh trong 1 thung la 24, so thung tu 0-50 Khi dem du so hop la 24 thi thung tang len 1 va so trai ve 0.
Dau hang Hang 1: So hop Hang 2: XX hop
Cuoi hang
So thung
YY thung Trong do XX: so hop dem dugc, YY la so thung dem duoc.
b Moi lan dem du 1 thung thi tac dong ngo ra RCO len muc 1 trong thbi gian 300ms roi xuong muc 0 (Id)
Cau 3: (4 diem)
Cho he thong dung vi dieu khien PIC16F887 de dieu khien nhiet do cua 16 say bang PWM thong qua mot ngo ra CCP2; co 3 nut nhan dieu khien gom START/STOP, LOW, HIGH ung voi RD0, RD1, RD2; co 3 led don hien thi che do START/STOP, LOW, HIGH ung voi RD5, RD6, RD7 Vi dieu khien su dung tan so dao dong 20 Mhz Chu ky tin hieu PWM la
400 us Hay viet chuong trinh thuc hien cac yeu cau nhu sau:
a Trinh bay cac buoc tinh toan thong so PWM (Id)
b Ve so do nguyen ly (16 say ve tuong trung 1 led don) (Id)
c Vi6t chuong trinh (hoac ve luu do giai thuat co giai thich cac hoat dong ) thuc hien cac yeu cau sau:
- Nut nhitn START/STOP co 2 chuc nang cho phep he thong hoat dong va dirng Trang thai STOP ung voi do rong xung la 0% Trang thai START cho phep hoat dong thi moi tac dong
duoc 2 nut LOW va HIGH Mac dinh chon ch6 do LOW khi nh§n START (Id)
- Nut nhln LOW ung voi do rong xung la 50%, nut nhan HIGH ung voi do rong xung la
100% (Id)
Trang 2Cau 3: (3 diem)
Cho he thong giam sat va dilu khiln nhiet do gdm: vi d ilu khiln PIC16F887 k it ndi 1 cam bien nhiet do LM35 (gia tri ngo ra 10mV/l°C, 0-150°C) tuong ung kenh 3 (AN3), h iln thi tren 2 led 7 doan ung vdi port B va port D, 1 chuong bao dong k it n li vdi REO (xult muc 0: loa keu, muc 1: loa tat)
Hay v ilt chuong trinh (hoac ve luu dd giai thuat co giai thlch each hoat dong) thuc hien tat ca cac yeu cau sau:
a Hien thi ket qua do nhiet do tren led 7 doan (1.5d)
b Khi gia tri nhiet do do thay doi thi dieu khien theo cac che do sau: (1.5d)
1 Nho hon 30 do Tat loa canh bao qua nhiet va hien thi nhu yeu
cau cau a (khong nhap nhay).
nho hon 45 do
Tat loa canh bao qua nhiet va nhap nhay gia tri nhiet do vdi chu ky 500ms sang, 100ms tat.
3 Lon hon 45 do M d loa canh bao qua nhiet va nhap nhay gia tri
nhiet do vdi chu ky 500ms sang, 100ms tat.
Ghi chu: Can bo coi thi khong duoc giai thick de thi.
Chu an dau ra cua hoc phan (ve kien thirc) Noi dung kiem tra9
[G 2.1]: Hieu duoc nguyen ly, chuc nang va ti'nh toan cac
thong so cho cac ngoai vi
Cau 2a, 2b
[G 2.2]: Co kha nang phan tich, viet luu do, viet chuong
trinh dung ngon ngu lap trinh C de dieu khien cho tung
thanh phan doc lap.
Cau 2c, la, lb , 3a, 3b
[G 4.1]: Co kha nang thiet ke phan mem cho cac he thong
dung PIC16F887 dieu khien va cac ngoai vi.
Cau 2c, la, lb , 3a, 3b
Ngay 20 thang 07 nam 2019
Thong qua Truong nganh
(ky va ghi rd ho ten)
Trang 7TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CƠ ĐIỆN TỬ
-
ĐỀ THI CUỐI KỲ HỌC KỲ I NĂM HỌC 2020-2021 Môn: KỸ THUẬT VI XỬ LÝ
Mã môn học: MICO236929
Thời gian: 75 phút
SV được tham khảo tài liệu giấy
Câu 1 (3 điểm): Cho hai vi điều khiển (VĐK) PIC16F887 giao tiếp với nhau theo chuẩn EUSART tốc bộ baud
9600 VĐK 1 giao tiếp với 2 nút nhấn "UP" và "DOWN" lần lượt qua hai chân RB0 và RB1 VĐK 2 giao tiếp một LED bảy đoạn anode chung qua port D Cả hai VĐK sử dụng thạch anh ngoại 20Mhz
a Vẽ mạch nguyên lý (1 điểm)
b Viết chương trình cho VĐK 1 (1 điểm) và VĐK 2 (1 điểm) để nhấn nút "UP" và "DOWN" ở VĐK 1 thì sẽ
đếm lên hoặc xuống và hiển thị trên led 7 đoạn ở VĐK2 Đếm lên đến 9 sẽ quay về 0, và đếm xuống đến 0 sẽ quay về 9
Câu 2 (3 điểm): Một hệ thống gồm VĐK PIC16F887 giao tiếp với màn hình LCD 16x2 chip điều khiển
HD44780 thông qua portD và portE VĐK giao tiếp với cảm biến LM35 thông qua kênh AN0 Hệ thống sử dụng điện áp tham chiếu Vref+ = 1.5V, Vref- = 0V, độ phân giải 10 bit
a Lập công thức thể hiện mối liên hệ giữa giá trị số đọc từ ADC với nhiệt độ môi trường cần đo (1 điểm)
b Viết chương trình hiển thị đầu hàng 1 của LCD giá trị Vref+ kèm đơn vị, cuối hàng 1 giá trị Vref- kèm đơn
vị Chính giữa hàng 2 hiển thị nhiệt độ đo được (2 điểm)
Câu 3 (4 điểm) :Một hệ thống điều khiển động cơ gồm VĐK PIC16F887 giao tiếp với động cơ DC 24V-2A
thông qua IC L298 và 1 nút nhấn UP để thay đổi tốc độ động cơ VĐK sử dụng thạch anh ngoại 8Mhz
a Vẽ mạch nguyên lý (1 điểm)
b Tính toán và hoàn thiện 2 lệnh “setup_timer_2( ? ); ”, “set_pwm1_duty( ? );” để xung PWM được tạo ra
có chu kỳ là =1ms và độ rộng xung =0.3ms (1 điểm)
c Vẽ lưu đồ để khi người dùng nhấn nút UP thì thay đổi tốc độ động cơ theo 3 cấp là : 30%, 60% và 100%
Nếu tốc độ là 100% mà nhấn nữa sẽ về 30% (1 điểm)
d Viết chương trình để hệ thống hoạt động theo yêu cầu c (1 điểm)
Ghi chú: Cán bộ coi thi không được giải thích đề thi
[CĐR 2.1]: Hiểu được nguyên lý, chức năng và tính toán các thông số cho các
ngoại vi như: port, ADC, Ngắt, Timer/Counter, truyền dữ liệu, điều chế độ rộng
xung; các đối tượng điều khiển như led đơn, led 7 đoạn, LCD, nút nhấn, bàn phím
ma trận, cảm biến nhiệt độ, vi mạch giao tiếp công suất để điều khiển động cơ
bước và động cơ DC
Câu 2.a Câu 3.a
[CĐR 2.2]: Có khả năng phân tích, viết lưu đồ, viết chương trình dùng ngôn ngữ
lập trình C để điều khiển cho từng thành phần độc lập
Câu 1b-c Câu 2.b
[CĐR 4.1]: Có khả năng phân tích, thiết kế phần cứng cho các hệ thống dùng vi
điều khiển và các ngoại vi
Câu 1.a Câu 3 b-c-d
Ngày tháng năm 2021
Thông qua Trưởng ngành
(ký và ghi rõ họ tên)
Trang 8TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CƠ ĐIỆN TỬ
-
ĐỀ THI CUỐI KỲ HỌC KỲ I NĂM HỌC 2020-2021 Môn: KỸ THUẬT VI XỬ LÝ
Mã môn học: MICO236929
Thời gian: 75 phút
SV được tham khảo tài liệu giấy
Câu 1 (3 điểm): Cho hai vi điều khiển (VĐK) PIC16F887 giao tiếp với nhau theo chuẩn EUSART tốc bộ baud
9600 VĐK 1 giao tiếp với 2 nút nhấn "UP" và "DOWN" lần lượt qua hai chân RB0 và RB1 VĐK 2 giao tiếp một LED bảy đoạn anode chung qua port D Cả hai VĐK sử dụng thạch anh ngoại 20Mhz
a Vẽ mạch nguyên lý (1 điểm)
b Viết chương trình cho VĐK 1 (1 điểm) và VĐK 2 (1 điểm) để nhấn nút "UP" và "DOWN" ở VĐK 1 thì sẽ
đếm lên hoặc xuống và hiển thị trên led 7 đoạn ở VĐK2 Đếm lên đến 9 sẽ quay về 0, và đếm xuống đến 0
sẽ quay về 9
Chương trình cho VĐK1
#include<16f887.h>
#fuses hs
#use delay(clock=20M)
#use RS232 ( baud = 9600, xmit = pin_c6, rcv = pin_c7) // Khai báo 0.25đ
signed int8 dem=0;
void main()
{
set_tris_b(0x03);
set_tris_c(0x80);
while(true)
{
if(!input(pin_b0)) // chống dội đúng 0.25đ
{
delay_ms(20);
if(!input(pin_b0))
{
while(!input(pin_b0));
dem++;
if(dem>9) dem=0; // đúng UP 0.25đ
putc(dem);
}
}
if(!input(pin_b1))
{
Trang 9delay_ms(20);
if(!input(pin_b1))
{
while(!input(pin_b1));
dem ;
if(dem<0) dem=9; // khai bao bien dem phai la kieu signed
putc(dem); // đúng down 0.25đ
}
}
}
}
Chương trình cho VĐK2
#include<16f887.h>
#fuses hs
#use delay(clock=20M)
#use RS232 ( baud = 9600, xmit = pin_c6, rcv = pin_c7)
const unsigned int8 ma7doan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int8 dem=0;
#int_rda
void ngatnhan()
{
dem = getc();
}
void main()
{
set_tris_c(0x80);
set_tris_d(0);
enable_interrupts(int_rda);
enable_interrupts(global);
while(true){output_d(ma7doan[dem]);}
}
Câu 2 (3 điểm): Một hệ thống gồm VĐK PIC16F887 giao tiếp với màn hình LCD 16x2 chip điều khiển
HD44780 thông qua portD và portE VĐK giao tiếp với cảm biến LM35 thông qua kênh AN0 Hệ thống sử dụng điện áp tham chiếu Vref+ = 1.5V, Vref- = 0V, độ phân giải 10 bit
a Lập công thức thể hiện mối liên hệ giữa giá trị số đọc từ ADC với nhiệt độ môi trường cần đo (1 điểm)
b Viết chương trình hiển thị đầu hàng 1 của LCD giá trị Vref+ kèm đơn vị, cuối hàng 1 giá trị Vref- kèm đơn
vị Chính giữa hàng 2 hiển thị nhiệt độ đo được (2 điểm)
Chương trình
#include<16f887.h>
#fuses hs
#use delay(clock=20M)
#define LCD_RS PIN_E0
Trang 10#define LCD_RW PIN_E1
#define LCD_E PIN_E2
#define OUTPUT_LCD OUTPUT_D
#include<TV_LCD.C> // Dung thu vien cua trinh bien dich cung duoc
unsigned int8 nd;
void main()
{
set_tris_a(0x0f);
set_tris_d(0);
set_tris_e(0);
lcd_setup();
lcd_command(0x80);
lcd_data("1.5V 0V");
setup_adc(adc_clock_div_32);
setup_adc_ports(san0|vss_vref);
set_adc_channel(0); delay_ms(1);
while(true)
{
nd = read_adc()/6.82;
lcd_command(0xc0+7);
sprintf(lcd_data,"%d",nd);
}
}
Câu 3 (4 điểm) :Một hệ thống điều khiển động cơ gồm VĐK PIC16F887 giao tiếp với động cơ DC 24V-2A
thông qua IC L298 và 1 nút nhấn UP để thay đổi tốc độ động cơ VĐK sử dụng thạch anh ngoại 8Mhz
c Vẽ mạch nguyên lý (1 điểm)
d Tính toán và hoàn thiện 2 lệnh “setup_timer_2( ? ); ”, “set_pwm1_duty( ? );” để xung PWM được tạo ra
có chu kỳ là = 1ms và độ rộng xung =0.3ms (1 điểm)
T = 4(PR2 +1)*Tosc*PVT2
Chọn PVT2 =16
Trang 11
Hệ số chu kỳ max = (PR2+1)*4 = 500
Ton = 0.3ms tức là 30% của 1ms Vậy nên thông số cần thiết lập cho PWM là 0.3*500 =150 Vậy ta hoàn thiện các câu lệnh như sau:
setup_timer_2(t2_div_by_16,124,1);
set_pwm1_duty(150);
e Vẽ lưu đồ để khi người dùng nhấn nút UP thì thay đổi tốc độ động cơ theo 3 cấp là : 30%, 60% và 100%
Nếu tốc độ là 100% mà nhấn nữa sẽ về 30% (1 điểm)
f Viết chương trình để hệ thống hoạt động theo yêu cầu c (1 điểm)
Chương trình
#include<16f887.h>
#fuses hs
#use delay(clock=8M)
unsigned int8 captocdo=0;
const unsigned int16 tocdo[3] ={150, 300, 500};
void main()
{
set_tris_b(0x01);
set_tris_c(0);
setup_timer_2(t2_div_by_16,124,1);
setup_ccp1(ccp_pwm);
output_low(pin_c1);
set_pwm1_duty(0);
while(true)
{
if(!input(pin_b0))
{
Trang 12delay_ms(20);
if(!input(pin_b0))
{
while(!input(pin_b0));
captocdo++;
captocdo%=3;
set_pwm1_duty(tocdo[captocdo]); }
}
}
}