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 (227.27 KB, 11 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>Câu 1: </b>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 04 LED 7 thanh ; 01 nút nhấn thường mở (BT1).
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
- Sử dụng ngắt ngoài, đếm số lần nhấn BT1.
- Hiển thị số lần nhấn BT1 trên 04 LED 7 thanh (sử dụng phương pháp quét LED). Giả thiết số lần nhấn không quá 1999 lần.
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở; 03 nút nhấn thường mở (BT1). - Công cụ truyền thông nối tiếp Virtual Terminal.
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
- Mô phỏng bãi đỗ xe, cảm biến vào kết nối với nút nhấn BT1, cảm biến ra kết nối với nút nhấn
<i>BT2, nút RESET về giá trị ban đầu kết nối BT3 (yêu cầu viết được chương trình đọc nút nhấn) </i>
- Hiển thị lên Virtual Terminal với tốc độ Baud 9600bps: số xe vào, số xe ra, số xe có trong bãi Giả thiết số bãi xe chứa được tối đa 1000 xe.
Begin
Khởi tạo: vào/ ra
Thiết lập UART: Chế độ Asynchronous
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 04 LED 7 thanh ; 01 nút nhấn thường mở (BT1).
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
<i>- Sử dụng Timer 1 chế độ đếm, đếm số lần nhấn BT1-TI1FP1 (yêu cầu viết được chương trình đọc nút nhấn sử dụng chế độ đếm của Timer). </i>
<i>- Hiển thị số lần nhấn BT1 trên 04 LED 7 thanh(sử dụng phương pháp quét LED) </i>
Giả thiết số lần nhấn không quá 1234 lần.
Begin
Khởi tạo vào/ra Thiết lập Timer1: Prescaler: 0; Period: 1234
Khai báo biến dem;
Khởi tạo Timer1
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32; 01 nút nhấn thường mở (BT1). - Cơng cụ máy hiện sóng Oscilloscope hoặc công cụ đo tần số Counter Timer.
<i>b. Lập lưu đồ thuật tốn và viết chương trình theo yêu cầu như sau: </i>
- Sử dụng Timer 2 để tạo xung
- Khi nhấn nút BT1 lần thứ 01 xung trên chân PB0 có tần số 5KHz; khi nhấn nút BT1 lần thứ 02 xung trên chân PB0 có tần số 1KHz.
- Khi nhấn nút BT1 lần thứ 03 xung trên chân PB0 có tần số 10KHz; khi nhấn nút BT1 lần thứ 04
Khởi tạo: BT1: vào, PB0: ra, dem=0 Thiết lập Timer 2: Cho phép ngắt
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 01 biến trở; 04 Led 7 thanh, 01 Led đơn.
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
<i>- Đọc giá trị ADC1-IN1 trên chân PA1, hiển thị giá trị ADC đo được dưới dạng volt (ví dụ 1.345) trên 04 LED 7 thanh (sử dụng phương pháp quét LED). </i>
- LED1 sáng khi điện áp trên IN1 nằm trong khoảng từ 1V đến 2V, tắt khi điện áp trên IN2 nằm
Khai báo biến adc,x,volt
Khởi tạo ADC
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><i><b>Câu 1: </b></i>
<i><b>a. Thiết kế mạch điện như sau: </b></i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 02 LED 7 thanh ; 01 nút nhấn thường mở (BT1).
- Cơng cụ máy hiện sóng Oscilloscope hoặc công cụ đo tần số Counter Timer.
<i>b. Lập lưu đồ thuật tốn và viết chương trình theo yêu cầu như sau: </i>
- Sử dụng Timer 3 tạo xung PWM có tần số 4 KHz trên kênh CH1.Yêu cầu độ rông xung Ton: Sau khi cấp nguồn Ton=10%Tpwm; Khi nhấn nút BT1 lần thứ 01 Ton=20%Tpwm.
- Khi nhấn nút BT1 lần thứ 02 Ton=60%Tpwm; khi nhấn nút BT1 lần thứ 03 Ton=90%Tpwm; khi nhấn nút BT1 lần thứ 04 quay lại lần nhấn thứ 01
Giả thiết bộ tạo dao động chế độ HSI với tấn số 8MHz.
Begin
Khời tạo vào/ra: BT1: vào Khai báo biến dem=0; Thiết lập Timer 3: Chế độ xung nội
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>07 </b> <i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở; 01 nút nhấn thường mở (BT1). - Công cụ truyền thông nối tiếp Virtual Terminal.
<i>b. Lập lưu đồ thuật tốn và viết chương trình theo u cầu như sau: </i>
- Khi nhấn BT1 lần thứ 01 truyền lên Virtual Terminal “ Họ và tên”; khi nhấn BT1 lần thứ 02 truyền lên Virtual Terminal “ Mã sinh viên”.
- Khi nhấn BT1 lần thứ 03 xóa tồn bộ màn hình; khi nhấn BT1 lần thứ 04 lặp lại lần nhấn thứ 01. Với tốc độ Baud 19200bps. Giả thiết số lần nhấn không quá 2255 lần.
Begin
Khởi tạo vào/ra: BT1: vào PA9-PA10: Chiều ra dữ liệu UART;
Cấu hình UART1: Chế độ Asynchronous, Baud rate: 19200bps Khai báo mảng truyền, nhận: n, m…
Khai báo biến dem=0; Khởi tạo ADC
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 04 LED 7 thanh ; 01 nút nhấn thường mở (BT1).
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
<i>- Sử dụng Timer 3 chế độ đếm, đếm số lần nhấn BT1-TI1FP1 (yêu cầu viết được chương trình đọc nút nhấn sử dụng chế độ đếm của Timer). </i>
- Hiển thị số lần nhấn BT1 trên 4 LED 7 thanh (bằng phương pháp quét Led) Giả thiết số lần nhấn không quá 1220 lần.
BEGIN
Khời tạo vào/ra: 4 LED: ra, BT1: vào Khai báo biến dem=0;
Thiết lập Timer 3 chế độ đếm TI1FP1 Khai báo mảng ma_led
Khởi tạo Timer 3
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32; 01 nút nhấn thường mở (BT1). - Công cụ máy hiện sóng Oscilloscope hoặc cơng cụ đo tần số Counter Timer.
<i>b. Lập lưu đồ thuật toán và viết chương trình theo yêu cầu như sau: </i>
- Sử dụng Timer 1 để tạo xung trên chân PA1 có tần số 10KHz; sau 2 giây có tần số 4KHz; sau 2 giây có tần số 1KHz.
- Sử dụng Timer 3 để tạo xung trên chân PA2 có tần số 5KHz sau 2 giây có tần số 2KHz; sau 2 giây có tần số 500Hz
Giả thiết bộ tạo dao động chế độ HSI với tấn số 8MHz.
Begin
Khởi tạo vào/ra: PA1: ra
Thiết lập ngắt Timer1: Chế độ xung nội
Đảo mức logic trên chân PA1 Đảo mức logic trên chân PA2
END
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><i><b>Câu 1: </b></i>
<i>a. Thiết kế mạch điện như sau: </i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 01 biến trở; 4 Led 7 thanh.
<i>b. Lập lưu đồ thuật tốn và viết chương trình theo u cầu như sau: </i>
<i>- Đọc giá trị ADC1-IN3 trên chân PA3, hiển thị giá trị ADC đo được dưới dạng volt (ví dụ 1.345) trên 04 LED 7 thanh (sử dụng phương pháp quét LED) </i>
- LED13 sáng khi điện áp trên IN3 nằm trong khoảng từ 2V đến 3V, tắt khi điện áp trên IN3 nằm
Khai báo biến adc, x, float=0; Khai báo mảng ma_led
Khởi tạo ADC
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><i><b>Câu 1: </b></i>
<i><b>a. Thiết kế mạch điện như sau: </b></i>
- Các linh kiện được sử dụng: 01 vi điều khiển STM 32, các điện trở, 02 LED 7 thanh ; 01 nút nhấn thường mở (BT1).
- Cơng cụ máy hiện sóng Oscilloscope hoặc công cụ đo tần số Counter Timer.
<i>b. Lập lưu đồ thuật tốn và viết chương trình theo yêu cầu như sau: </i>
- Sử dụng Timer 1 tạo xung PWM trên 2 kênh CH1 và CH2 có tần số 5 KHz , khi khơng nhấn BT1 độ rộng xung Ton1=10%Tpwm, Ton2=60%Tpwm;
- Khi nhấn BT1 sau 2s Ton1=90%Tpwm, Ton2=40%Tpwm. Giả thiết bộ tạo dao động chế độ HSI với tấn số 8MHz.
</div>