wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Port Timer2 and Interrupt

Total questions: 20

Worksheet time: 32mins

Name
Class
Date
1.

เมื่อเปิดเครื่องค่าใน DDRB register จะเป็น 0 หลังจาก code "DDRB |= (1<<5)" ถูก execute แล้วค่า ใน DDRB จะเป็นเท่าไหร่ ให้ตอบเป็นเลขฐาน 2 ขนาด 8 บิต

(a)  

2.

ข้อใดอธิบายถูกต้องเกี่ยวกับความหมายของ Code "DDRB |= (1<<5); PORTB &= ~(1<<5);"

a)

ให้ขา IO5 ของ Arduino เป็น Output ที่มีค่าเริ่มต้นเป็น Logic High

b)

ให้ขา IO5 ของ Arduino เป็น Input แบบใช้ R-pull up ภายใน

c)

ให้ขา IO13 ของ Arduino เป็น Output ที่มีค่าเริ่มต้นเป็น Logic Low

d)

ให้ขา IO13 ของ Arduino เป็น Input แต่ไม่ต้องใช้ R-pull up ภายใน

e)

ไม่มีข้อใดกล่าวถูกต้อง

3.

เมื่อเปิดเครื่องค่าใน PORTB register เป็น 0 หลังจาก code "PORTB &= ~(1<<5)" ถูก execute แล้วค่าใน PORTB จะมีค่าเป็นเท่าไหร่ ตอบเป็นเลขฐานสอง 8 บิต

(a)  

4.

ใน loop() หลังจาก code "PORTB ^= (1<<5)" ถูก execute ครั้งแรก แล้วค่าใน PORTB จะมีค่าเป็นเท่าไหร่ ตอบเป็นเลขฐานสอง 8 บิต

(a)  

5.

ใน loop() หลังจาก code "PORTB ^= (1<<5)" ถูก execute ครั้งที่สอง แล้วค่าใน PORTB จะมีค่าเป็นเท่าไหร่ ตอบเป็นเลขฐานสอง 8 บิต

(a)  

6.

ใน loop() หลังจาก code "PORTB ^= (1<<5)" ถูก execute ครั้งที่สาม แล้วค่าใน PORTB จะมีค่าเป็นเท่าไหร่ ตอบเป็นเลขฐานสอง 8 บิต

(a)  

7.

จงวิเคราะห์ว่าค่า TCCR2A และ TCCR2B จาก code ที่ให้มานั้นเป็นการสั่งงานให้สัญญาณนาฬิกาของ Timer2 มีคาบเท่าใดให้ตอบคาบ (T) หน่วยเป็นวินาทีพร้อมเหตุผลที่มี keyword: CS22, CS21 และ CS20 ทั้งนี้ให้เปิดดูเอกสารของ Unit: Timer

4 lines
8.

จงวิเคราะห์ว่าค่า TCCR2A และ TCCR2B จาก code ที่ให้มานั้นเป็นการสั่งงานให้ Timer2 ทำงานโหมดใด ให้ตอบชื่อโหมดพร้อมเหตุผลที่มี keyword: WGM22, WGM21 และ WGM20 ทั้งนี้ให้เปิดดูเอกสารของ Unit: Timer

4 lines
9.

จาก Code, TCNT2 จะมีค่าเริ่มต้นเป็น 256-156 = 100 จงคำนวณว่า timer 2 จะหน่วงเวลานานเท่าไหร่จนกว่าจะเกิด Overflow (TOV2 flag ของ TIFR2 register = 1)

4 lines
10.

จงอธิบายลำดับการทำงานของโปรแกรม Arduino โดยมี Keyword: Define Variable, Setup() และ Loop().

4 lines
11.

Flow Chart ด้านซ้ายมือส่วนสีเหลืองเข้มเป็น Flow Chart ของ While Loop ที่ตอบสนองกับ While Loop ใน Code. จงอธิบายการลำดับการทำงานของ While Loop ตามความเข้าใจโดยมี Keyword: Test Expression, True, while Loop Body และ False

4 lines
12.

Flow Chart ด้านซ้ายมือส่วนสีแดงเป็น Flow Chart ของ If-Else ที่ตอบสนองกับ If-Else ใน Code. จงอธิบายการลำดับการทำงานของ If-Else ตามความเข้าใจโดยมี Keyword: If-Else condition, True, If code block, False, และ Else code block

4 lines
13.

จงวิเคราะห์ว่าที่บรรทัด while ((TIFR2 & (1<<TOV2)) ==0) {}; นั้นโปรแกรมจะหลุดออกจาก while loop เมื่อ TIFR2 มีค่าเป็นเท่าไหร่ จงตอบเป็นเลขฐานสองขนาด 8 บิต

(a)  

14.

จากโปรแกรมจงวิเคราะห์ว่าเมื่อเข้า loop() function ครั้งแรกค่าใน myLoop มีค่าเป็นเท่าไหร่

a)

0

b)

1

c)

100

d)

101

15.

จากโปรแกรมจงวิเคราะห์ว่าลำดับการทำงานใน loop() function ครั้งแรก เมื่อโปรแกรม execute คำสั่งบรรทัดที่ 21 แล้ว โปรแกรมจะ execute คำสั่งบรรทัดที่เท่าไหร่เป็นบรรทัดต่อไป

a)

22

b)

23

c)

24

d)

18

16.

จากโปรแกรมจงวิเคราะห์ว่าลำดับการทำงานใน loop() function ครั้งที่หนึ่งร้อย เมื่อโปรแกรม execute คำสั่งบรรทัดที่ 21 แล้ว โปรแกรมจะ execute คำสั่งบรรทัดที่เท่าไหร่เป็นบรรทัดต่อไป

a)

22

b)

23

c)

24

d)

18

17.

จากโปรแกรมจงวิเคราะห์ว่าโปรแกรมจะ execute คำสั่งบรรทัดที่ 22 เมื่อเวลาผ่านไปแล้วกี่วินาที

a)

10 ms

b)

100 ms

c)

156 ms

d)

1000 ms

18.

เมื่อปุ่มกดต่อที่ขา 3 และ LED ต่อที่ขา 8 ของ Arduino Uno ดังรูป จากโปรแกรม เมื่อ execute คำสั่ง PORTB = myCount; คร้้งแรก และไม่มีการกดปุ่ม LED เป็นอย่างไร

a)

LED จะดับเพราะว่า LED ต่อที่ขา 0 ไม่ใช่ขา 8

b)

LED จะดับเพราะว่า LED ต่อที่ขา 3 ไม่ใช่ขา 8

c)

LED จะดับ

d)

LED จะติด

19.

เมื่อปุ่มกดต่อที่ขา 3 และ LED ต่อที่ขา 8 ของ Arduino Uno ดังรูป จากโปรแกรม เมื่อ execute คำสั่ง PORTB = myCount; คร้้งแรก และมีการกดปุ่ม LED 1 ครั้งเป็นอย่างไร

a)

LED จะดับเพราะว่า LED ต่อที่ขา 0 ไม่ใช่ขา 8

b)

LED จะดับปุ่มกดต่อที่ขา 3 ไม่ใช่ขา 8

c)

LED จะดับ

d)

LED จะติด

20.

ข้อใดต่อไปนี้ถูกต้อง

a)

ไม่ว่าจะกดปุ่มอย่างไร LED ก็ไม่มีวันติดเพราะค่า myCount เป็นศูนย์เสมอ

b)

ไม่ว่าจะกดปุ่มอย่างไร LED ก็ไม่มีวันติดเพราะว่า ขาที่ต่อปุ่มกดกับ Code ที่เขียนไม่สอดคล้องกัน

c)

แม้ว่าจะต่อปุ่มกดถูกต้องและสอดคล้องกับโปรแกรมที่เขียนแล้วแต่การกดปุ่มไม่มีผลต่อ LED เพราะว่าค่าตัวแปร myCount จะเป็นศูนย์เสมอ

d)

LED จะติดค้างเพราะว่าการกดปุ่มจะทำให้ LED ติด

e)

LED จะติดและดับสลับกันไปตามการกดเพราะว่าตัวแปร myCount จะเพิ่มค่าขึ้นทุกครั้งที่กด