Danh sách câu hỏi của đề

Câu hỏi: MIP201 Microcontroller Programming – Bộ ôn tập cuối kỳ số 2

50 câu trắc nghiệm kèm lời giải của môn Microcontroller Programming, xếp đúng thứ tự trong đề.

Danh sách câu hỏi

20/50 câuCòn 30
1What is the primary function of the Prescaler?5 lựa chọnDễ100% trả lời đúng
ATo generate a reset signal
BTo divide the input frequency by a predefined value
CTo compare two separate values
DTo load the timer register
ETo increase the clock frequency
Lời giải
Prescaler (tính toán chia tần số) là một thành phần quan trọng trong các thiết bị thời gian (timer). Chức năng chính của Prescaler là chia tần số đầu vào (input frequency) theo một giá trị xác định (predefined value). Điều này giúp tạo ra một tần số mới, có thể được sử dụng để điều khiển các hoạt động của thiết bị thời gian. Prescaler hoạt động bằng cách đếm số lượng chu kỳ của tín hiệu đầu vào và khi đạt đến giá trị xác định, nó sẽ tạo ra một tín hiệu reset. Tính năng này cho phép thiết bị thời gian hoạt động chính xác và ổn định, ngay cả khi có sự thay đổi trong tần số đầu vào.
Mở trang câu hỏi này →
AAnalogIn (PinName pin)
Boperator float ()
Cread ()
Dwrite_u16 (unsigned short value)
EAnalogOut (PinName pin)
Lời giải
Để tạo một đối tượng AnalogOut kết nối đến một cổng pin cụ thể, bạn cần sử dụng hàm Mbed AnalogOut (PinName pin). Hàm này cho phép bạn tạo một đối tượng AnalogOut và kết nối nó đến một cổng pin cụ thể trên thiết bị. Điều này cho phép bạn điều khiển tín hiệu analog trên cổng pin đó. Ví dụ, bạn có thể sử dụng AnalogOut để tạo một tín hiệu analog để điều khiển một cảm biến hoặc một thiết bị khác. Hàm AnalogOut (PinName pin) là một phần quan trọng của thư viện Mbed và được sử dụng rộng rãi trong các dự án điện tử.
Mở trang câu hỏi này →
3Which Mbed class is used to measure time intervals?4 lựa chọnDễ94% trả lời đúng
ATicker
BAnalogIn
CPwmOut
DTimer
Lời giải
Để đo thời gian chênh lệch giữa hai thời điểm khác nhau, chúng ta sử dụng lớp Mbed Timer. Lớp Timer cho phép chúng ta tạo ra các sự kiện thời gian và đo thời gian chênh lệch giữa các sự kiện đó. Điều này rất hữu ích trong các ứng dụng yêu cầu đo thời gian chính xác như đo thời gian chênh lệch giữa hai sự kiện, đo thời gian thực hiện một hành động, v.v. Ngoài ra, lớp Timer cũng cho phép chúng ta đặt thời gian thực hiện một hành động sau một khoảng thời gian nhất định. Tóm lại, lớp Timer là một lớp quan trọng trong Mbed và được sử dụng rộng rãi trong các ứng dụng yêu cầu đo thời gian.
Mở trang câu hỏi này →
4What is a key feature of the Cortex-M4 processor pipeline?4 lựa chọnDễ88% trả lời đúng
AEight-stage pipeline
BFive-stage pipeline
CThree-stage pipeline
DTwo-stage pipeline
Lời giải
Cortex-M4 là một loại vi xử lý được sử dụng rộng rãi trong các ứng dụng điện tử và công nghệ. Một trong những tính năng quan trọng của Cortex-M4 là cấu trúc pipeline. Cấu trúc pipeline là một chuỗi các bước được thực hiện liên tiếp để tăng tốc độ xử lý của vi xử lý. Trong trường hợp của Cortex-M4, cấu trúc pipeline có 3 giai đoạn chính. Giai đoạn đầu tiên là fetching, giai đoạn thứ hai là decoding và giai đoạn thứ ba là executing. Mỗi giai đoạn được thực hiện nhanh chóng và liên tiếp, giúp tăng tốc độ xử lý của vi xử lý. Điều này cho phép Cortex-M4 xử lý các lệnh một cách nhanh chóng và hiệu quả, đáp ứng được nhu cầu của các ứng dụng hiện đại.
Mở trang câu hỏi này →
Avoid stop (void)
Bint putc( int ch, FILE *stream )
Cfrequency (int hz)
DI2C (PinName sda, PinName scl)
Evoid start (void)
Lời giải
Để trả lời câu hỏi này, chúng ta cần hiểu về các hàm cơ bản của API Mbed được sử dụng để cấu hình hoặc tạo khung cho giao tiếp I2C. Các hàm cơ bản bao gồm: bắt đầu giao tiếp (start), dừng giao tiếp (stop), gửi dữ liệu (putc), và thiết lập tần số (frequency). Tuy nhiên, hàm I2C (PinName sda, PinName scl) không phải là một hàm cơ bản của API Mbed, mà là một hàm được sử dụng để tạo một đối tượng I2C. Hàm putc (int ch, FILE *stream) cũng không phải là một hàm cơ bản của API Mbed được sử dụng cho giao tiếp I2C, mà là một hàm được sử dụng để gửi dữ liệu qua một luồng (stream). Vì vậy, cả hai hàm I2C (PinName sda, PinName scl) và putc (int ch, FILE *stream) không phải là các hàm cơ bản của API Mbed được sử dụng cho giao tiếp I2C.
Mở trang câu hỏi này →
6In the Cortex-M4 memory map, where is the program image usually stored?4 lựa chọnDễ100% trả lời đúng
ACache memory
BFlash memory
CSRAM
DRegister bank
Lời giải
Trong kiến trúc Cortex-M4, Flash memory là nơi lưu trữ hình ảnh chương trình (program image) nhờ đặc tính không khả biến (dữ liệu không bị mất khi ngắt điện). Điều này đảm bảo mã lệnh luôn tồn tại vĩnh viễn để vi điều khiển có thể khởi động và thực thi ngay khi được cấp nguồn. Trái ngược với Flash, SRAM chỉ dùng để lưu trữ dữ liệu tạm thời (biến, ngăn xếp) vì sẽ bị xóa sạch khi mất điện, còn các thanh ghi (registers) chỉ phục vụ việc tính toán tức thời bên trong nhân CPU.
Mở trang câu hỏi này →
ARequires extensive initial setup
BNo prior-installation or set-up required
COnly supports assembly language
DWorks exclusively offline
ERequires a large local database
Lời giải
Mbed Online Compiler (Keil Studio Cloud IDE) là một công cụ lập trình trực tuyến cho phép bạn tạo và biên dịch các dự án lập trình mà không cần phải cài đặt bất kỳ phần mềm nào trên máy tính của mình. Lợi ích chính của việc sử dụng Mbed Online Compiler là không cần phải thực hiện các bước cài đặt ban đầu phức tạp. Bạn có thể bắt đầu lập trình ngay lập tức mà không cần phải lo lắng về việc cài đặt phần mềm hoặc cấu hình môi trường lập trình. Điều này làm cho Mbed Online Compiler trở thành một lựa chọn tuyệt vời cho những người mới bắt đầu lập trình hoặc những người muốn tạo và biên dịch các dự án lập trình một cách nhanh chóng và dễ dàng.
Mở trang câu hỏi này →
8An 8-bit ADC has a resolution corresponding to how many discrete values?5 lựa chọnDễ86% trả lời đúng
A256 values
B8 values
C10 values
D1024 values
E65536 values
Lời giải
Một ADC 8-bit có độ phân giải tương ứng với số giá trị rời rạc là 2^8 = 256 giá trị. Điều này có nghĩa là ADC có thể đo được 256 mức độ khác nhau của tín hiệu đầu vào. Độ phân giải cao hơn sẽ cho phép đo được nhiều mức độ khác nhau hơn, nhưng cũng sẽ làm tăng độ phức tạp và chi phí của ADC. Trong thực tế, độ phân giải của ADC thường được đo bằng số bit, và mỗi bit thêm vào sẽ tăng gấp đôi số giá trị rời rạc có thể đo được. Vì vậy, một ADC 8-bit có thể đo được 2^8 = 256 giá trị rời rạc, trong khi một ADC 10-bit có thể đo được 2^10 = 1024 giá trị rời rạc.
Mở trang câu hỏi này →
AMOSI and MISO
BSCL and SDA
CStart and Stop conditions
DCS and SCLK
Lời giải
UART giao thức có hai dòng truyền (TX) và nhận (RX) tương tự như hai dòng MOSI và MISO trong giao thức SPI. Trong giao thức SPI, MOSI (Master Out Slave In) là dòng truyền dữ liệu từ thiết bị chủ (master) đến thiết bị nô (slave), trong khi MISO (Master In Slave Out) là dòng nhận dữ liệu từ thiết bị nô (slave) về thiết bị chủ (master). Tương tự, trong giao thức UART, TX (Transmit) là dòng truyền dữ liệu từ thiết bị chủ (master) đến thiết bị nô (slave), trong khi RX (Receive) là dòng nhận dữ liệu từ thiết bị nô (slave) về thiết bị chủ (master). Do đó, TX và RX của UART tương tự như MOSI và MISO của SPI.
Mở trang câu hỏi này →
AAnalog-like signals
BCompletely digital signals
CPure square waves
DHigh frequency signals
EConstant DC signals
Lời giải
PWM (Pulse Width Modulation) là một phương pháp sử dụng để tạo ra tín hiệu số có tính chất tương tự tín hiệu analog. Trong PWM, tín hiệu số được tạo ra bằng cách thay đổi chiều rộng của xung điện, từ đó tạo ra tín hiệu có tính chất tương tự tín hiệu analog. Điều này cho phép tạo ra tín hiệu có thể điều khiển được cường độ, giúp giảm thiểu sự tiêu thụ năng lượng và tăng hiệu suất sử dụng. PWM được sử dụng rộng rãi trong các ứng dụng như điều khiển động cơ, đèn LED, và các thiết bị điện tử khác.
Mở trang câu hỏi này →
11What does ISR stand for in embedded systems?4 lựa chọnDễ75% trả lời đúng
AInstruction Storage Register
BInterrupt Service Routine
CInternal System Register
DIntegrated Software Resource
Lời giải
ISR trong hệ thống tích hợp (embedded systems) là viết tắt của Interrupt Service Routine. Nó là một phần mềm được thực hiện khi hệ thống nhận được một tín hiệu ngắt (interrupt). Mục đích của ISR là xử lý tín hiệu ngắt và khôi phục trạng thái hệ thống trở lại bình thường. ISR thường được sử dụng trong các hệ thống có yêu cầu thời gian thực (real-time systems), nơi mà hệ thống cần xử lý các tín hiệu ngắt một cách nhanh chóng và chính xác. Ví dụ, trong một hệ thống điều khiển tự động, ISR có thể được sử dụng để xử lý tín hiệu từ cảm biến và điều chỉnh hành động của hệ thống.
Mở trang câu hỏi này →
AMIMD
BSIMD
CSISD
DMISD
Lời giải
Theo Flynn's Taxonomy, kiến trúc loại nào được sử dụng phổ biến nhất trong hệ thống tích hợp (embedded systems)? Flynn's Taxonomy là một mô hình phân loại kiến trúc máy tính, được phát triển bởi Michael J. Flynn vào năm 1966. Theo mô hình này, kiến trúc máy tính được phân loại thành bốn loại chính: SISD, SIMD, MISD và MIMD. Trong đó, SISD (Single Instruction, Single Data) là kiến trúc loại mà một bộ xử lý thực hiện một lệnh và một dữ liệu tại một thời điểm. Kiến trúc SISD thường được sử dụng trong các hệ thống có yêu cầu tính toán đơn giản, như các hệ thống đo lường, điều khiển và các thiết bị điện tử tiêu dùng. Vì vậy, kiến trúc SISD là loại kiến trúc được sử dụng phổ biến nhất trong hệ thống tích hợp (embedded systems).
Mở trang câu hỏi này →
13How many wires typically comprise the SPI serial bus?5 lựa chọnDễ100% trả lời đúng
ATwo-wire
BFour-wire
CThree-wire
DFive-wire
EEight-wire
Lời giải
Mạng SPI (Serial Peripheral Interface) là một giao thức truyền thông được sử dụng rộng rãi trong các thiết bị điện tử. Để hiểu câu hỏi này, chúng ta cần biết cấu trúc cơ bản của mạng SPI. Theo tiêu chuẩn SPI, mạng này thường bao gồm bốn dây tín hiệu chính: SCK (đồng hồ), MOSI (đầu ra dữ liệu), MISO (đầu vào dữ liệu) và SS (nạp dữ liệu). Dây SCK được sử dụng để tạo ra tín hiệu đồng hồ, dây MOSI được sử dụng để truyền dữ liệu từ thiết bị chủ sang thiết bị khách, dây MISO được sử dụng để truyền dữ liệu từ thiết bị khách trở về thiết bị chủ và dây SS được sử dụng để điều khiển việc truyền dữ liệu. Vì vậy, câu trả lời đúng cho câu hỏi này là mạng SPI thường bao gồm bốn dây tín hiệu.
Mở trang câu hỏi này →
14What is the fundamental architectural basis of the Arm architecture family?5 lựa chọnDễ100% trả lời đúng
APipelined array processor architectures
BCISC-based processor architectures
CRISC-based processor architectures
DVLIW-based processor architectures
EStack-based processor architectures
Lời giải
Architectura cơ bản của gia đình Arm được dựa trên các kiến trúc RISC (Reduced Instruction Set Computing). Kiến trúc RISC là một phương pháp thiết kế máy tính đơn giản hóa bộ lệnh, tập trung vào việc thực hiện các lệnh đơn giản và nhanh chóng. Điều này cho phép các nhà thiết kế máy tính tối ưu hóa hiệu suất và giảm thiểu chi phí sản xuất. Các kiến trúc RISC thường có các đặc điểm như lệnh đơn giản, ít lệnh phức tạp, và khả năng thực hiện lệnh nhanh chóng. Điều này làm cho kiến trúc RISC trở thành cơ sở quan trọng cho gia đình Arm và các nền tảng máy tính khác.
Mở trang câu hỏi này →
ASimplex
BMaster/slave
CPolling
DFull-duplex
EHalf-duplex
Lời giải
Trong giao tiếp SPI, dữ liệu có thể được truyền trong cả hai chiều hoặc cả hai chiều cùng lúc. Đặc tính này được gọi là giao tiếp đầy đủ (full-duplex). Điều này có nghĩa là cả thiết bị truyền và thiết bị nhận đều có thể gửi và nhận dữ liệu cùng một lúc. Điều này cho phép giao tiếp SPI hoạt động nhanh chóng và hiệu quả hơn. Ví dụ, trong một ứng dụng, một thiết bị có thể gửi dữ liệu đến một thiết bị khác trong khi đồng thời nhận dữ liệu từ thiết bị đó. Đặc tính này rất quan trọng trong các ứng dụng cần giao tiếp nhanh chóng và đồng bộ.
Mở trang câu hỏi này →
AIncreasing chip size
BSlower communication networks
CSmaller and lower-power embedded chips
DDecreasing number of connected devices
Lời giải
Trend công nghệ nào đã giúp tăng tốc sự phát triển của Internet of Things (IoT)? Câu trả lời đúng là sự xuất hiện của chip nhỏ và tiêu thụ ít năng lượng hơn. Những chip này cho phép tích hợp nhiều chức năng vào một thiết bị nhỏ gọn, giảm thiểu tiêu thụ năng lượng và tăng khả năng kết nối. Điều này đã giúp mở rộng khả năng của IoT, cho phép kết nối nhiều thiết bị hơn và tăng cường khả năng tự động hóa trong nhiều lĩnh vực khác nhau. Với sự phát triển của chip nhỏ và tiêu thụ ít năng lượng hơn, IoT đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta.
Mở trang câu hỏi này →
AMATLAB and SQL
BC/C++ and Assembly
CJavaScript and HTML
DJava and Python
Lời giải
Embedded hệ thống là các thiết bị có khả năng tự động hóa và xử lý dữ liệu. Để phát triển các hệ thống này, các nhà phát triển thường sử dụng các ngôn ngữ lập trình chuyên dụng. Trong số các lựa chọn trên, C/C++ và Assembly là những ngôn ngữ được sử dụng phổ biến nhất. C/C++ cung cấp khả năng quản lý bộ nhớ và tối ưu hóa hiệu suất, trong khi Assembly cung cấp khả năng truy cập trực tiếp vào các thành phần hardware. MATLAB và SQL chủ yếu được sử dụng trong lĩnh vực khoa học tính toán và quản lý dữ liệu, trong khi JavaScript và HTML thường được sử dụng trong phát triển web. Java và Python cũng có thể được sử dụng trong phát triển hệ thống, nhưng chúng không phải là lựa chọn phổ biến nhất. Vì vậy, đáp án đúng là C/C++ và Assembly.
Mở trang câu hỏi này →
AProtected Mode
BProcess Mode
CThread Mode
DUser Mode
EHandler Mode
Lời giải
Tóm lại, khi bộ xử lý chạy mã lệnh trong phản ứng với ngoại lệ, nó sẽ chuyển sang chế độ xử lý ngoại lệ, cũng được gọi là chế độ Handler Mode.
Mở trang câu hỏi này →
AThe system resets
BThe CPU stops execution
CThe processor resumes the main program
DThe memory is cleared
Lời giải
Đáp án đúng: "The processor resumes the main program". Khi một ngắt được chấp nhận, lõi vi điều khiển đẩy ngữ cảnh đang chạy lên ngăn xếp gồm con trỏ lệnh, thanh ghi trạng thái và một số thanh ghi dùng chung, rồi mới nhảy vào trình phục vụ ngắt; lệnh trả về của trình phục vụ khôi phục đúng ngữ cảnh đó, nên chương trình chính chạy tiếp từ chính chỗ bị cắt ngang chứ không mất dấu. "The system resets" sai vì khởi động lại là phản ứng với tín hiệu reset hoặc với bộ giám sát hết hạn, không phải với một ngắt thông thường. "The CPU stops execution" sai vì ngắt chỉ chen ngang chứ không kết thúc luồng thực thi; muốn dừng hẳn phải có lệnh đưa lõi vào chế độ ngủ hoặc một vòng lặp treo. "The memory is cleared" sai vì không cơ chế ngắt nào xoá bộ nhớ; ngược lại, ngăn xếp phải giữ nguyên dữ liệu đã đẩy vào thì mới quay về được.
Mở trang câu hỏi này →
20What does Pulse-width modulation (PWM) mode use to modulate an amplitude?5 lựa chọnDễ75% trả lời đúng
AThe Prescaler value
BVoltage level
CThe frequency of the clock source
DThe period of the pulse
EThe width of a pulse
Lời giải
Pulse-width modulation (PWM) là một phương pháp điều chế tần số, trong đó độ rộng của xung điện áp được sử dụng để điều chế độ lớn của tín hiệu. Trong PWM, độ rộng của xung điện áp được thay đổi để tạo ra các tín hiệu có độ lớn khác nhau. Điều này cho phép điều khiển các thiết bị điện tử như động cơ, đèn LED, v.v. bằng cách thay đổi độ rộng của xung điện áp. Ví dụ, nếu độ rộng của xung điện áp tăng lên, thì độ lớn của tín hiệu cũng tăng lên. Ngược lại, nếu độ rộng của xung điện áp giảm xuống, thì độ lớn của tín hiệu cũng giảm xuống. Vì vậy, PWM sử dụng độ rộng của xung điện áp để điều chế độ lớn của tín hiệu.
Mở trang câu hỏi này →