ÑAÏI HOÏC GTVT TP Phần I (3 điểm) Câu 1 Xác định bảng phân vùng địa chỉ cho các tín hiệu chọn chip ( CSx ) ứng với mạch giải mã địa chỉ sau Câu 2 Xác định bảng phân vùng địa chỉ cho các tín hiệu chọn.
Trang 1Phần I (3 điểm)Câu 1:
Xác định bảng phân vùng địa chỉ cho các tín hiệu chọn chip (CSx) ứng với mạch giải mã địa chỉsau:
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
CS1 CS2 CS3 CS4
A15
A14
A11 A12 A13
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A
Trang 24
/CS3 74LS138
1 2 3
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
A15
74LS138
1 2 3
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
/CS1 A12
Câu 6:
Xác định bảng phân vùng địa chỉ cho các tín hiệu chọn chip (CSx) ứng với mạch giải mã địa chỉsau:
/CS6 A11
/CS4 /CS3
A15
A8
/CS5 A13
/CS2
74LS138
1 2 3
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
A13
74HC138
15 14 13 12 11 10 9 7
1 2 3
5 4 6
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A B C
G2B G2A G1
/CS0
A14 A15
Trang 3Thiết kế mạch giải mã địa chỉ tạo tín hiệu chọn chip cho các bộ đệm I/O hai chiều sử dụng IC
74245 theo bảng phân vùng địa chỉ sau:
Trang 5Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 16KB
1 PPI 8255 mở rộng I/O
1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 8KB
1 PPI 8255 mở rộng I/O
1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
Trang 6Địa chỉ Cxx0H Cxx1H Cxx2H Cxx3HCâu 27:
Dùng vi mạch 74138 và các cổng logic cần thiết để thiết kế mạch giải mã địa chỉ cho kit 8051 với 2chip RAM 16KB và 2 chip RAM 8KB Xác định rõ vùng địa chỉ cho mỗi chip
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
CS1 CS2 CS3 CS4
A15
A14
A11 A12 A13
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A
Trang 7Xác định bảng phân vùng địa chỉ cho các tín hiệu chọn chip (CSx) ứng với mạch giải mã địa chỉsau:
7408
4
/CS3 74LS138
1 2 3
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 8K 6264
1 PPI 8255 mở rộng I/O
1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 16K
1 PPI 8255 mở rộng I/O
1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 8K 6264
1 PPI 8255 mở rộng I/O
Trang 8 1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
A15
74LS138
1 2 3
15 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
/CS1 A12
Câu 36:
Một sơ đồ kit MCU8051 có cấu hình như sau:
1 RAM dữ liệu ngoài 8K 6264
1 PPI 8255 mở rộng I/O
1 bộ chốt 8-bit dùng IC 74573 nối với ngõ vào của DAC0808
1 bộ ADC0809 nhận 8 kênh analog vào
Trang 915 14 13 12 11 10 9 7
6 4 5
A B C
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G1 G2A G2B
CS1 CS2 CS3 CS4
A15
A14
A11 A12 A13
Trang 10Phần II (3 điểm)Câu 1:
Vẽ lưu đồ và viết chương trình con TINHTB tính giá trị trung bình của 10 số BCD (dạng không nén)chứa trong các ô nhớ RAM nội từ địa chỉ 30H Kết quả (phần nguyên) chứa trong thanh ghi R7.Câu 2:
Vẽ lưu đồ và viết chương trình cộng 10 số nguyên không dấu chứa trong RAM nội từ địa chỉ 30H.Kết quả đặt trong R6 (byte thấp) và R7 (byte cao)
Câu 3:
Số A6H được đặt trong một ô nhớ RAM ngoài trong khoảng địa chỉ từ 0100H đến 0150H Vẽ lưu
đồ và viết chương trình tìm địa chỉ của ô nhớ này rồi đặt trong R7 (byte cao) và R6 (byte thấp).Câu 4:
Vẽ lưu đồ và viết chương trình con xét giá trị của chân P1.0 và lấy bù số 16-bit cất trong hai thanhghi R7_R6 (R7: byte cao, R6: byte thấp) Nếu P1.0 = 0 thì lấy bù 1, P1.0 = 1 thì lấy bù 2 Kết quảCâu 5:
Vẽ lưu đồ và viết chương trình tìm giá trị lớn nhất trong 20 số không dấu 8-bit được đặt trong RAMnội từ địa chỉ 30H Kết quả đặt trong thanh ghi R7
trả về cất trong R7_R6
Câu 6:
Cho mạch kết nối như sau:
P1.0 P1.3 P1.5
P1.1 P1.2
P1.7
8051
D1 D3
D7 74HC373
1 11
2 6 12 16
3 7 13 17
OE LE
Q1 Q3 Q5 Q7
D1 D3 D5
Trang 11P1.0 P1.3 P1.5
P1.1 P1.2
P1.7
8051
D1 D3
D7 74HC373
1 11
2 6 12 16
3 7 13 17
OE LE
Q1 Q3 Q5 Q7
D1 D3 D5
Hãy vẽ lưu đồ và viết chương trình chuyển số BCD (không nén) trong hai thanh ghi R7 (byte cao)
và R6 (byte thấp) thành số HEX và cất trong ô nhớ RAM ngoài có địa chỉ là 1000H
P1.3 P1.5
P1.1 P1.2
2 6 12 16
3 7 13 17
OE LE
Q1 Q3 Q5 Q7
D1 D3 D5 D7
b d
+5V
c e a
g 330x8
Hãy vẽ lưu đồ và viết chương trình để hiển thị giá trị BCD trong ô nhớ 20H lên LED 7 đoạn, 1s sauthì hiển thị giá trị BCD trong ô nhớ 21H lên LED 7 đoạn, 1s sau thì lặp lại Biết fosc = 12MHz Giả
sử có sẵn bảng mã LED 7 đoạn trong bộ nhớ chương trình tại địa chỉ tương ứng với nhãn TABLE(không cần lập bảng mã)
Câu 11:
Cho mạch kết nối như sau:
Trang 12P1.0 P1.3 P1.5
P1.1 P1.2
P1.7
8051
D1 D3
D7 74HC373
1 11
2 6 12 16
3 7 13 17
OE LE
Q1 Q3 Q5 Q7
D1 D3 D5
Câu 12:
Cho mạch kết nối như sau:
+5V P1.0
P1.3 P1.5
P1.1 P1.2
2 6 12 16
3 7 13 17
OE LE
Q1 Q3 Q5 Q7
D1 D3 D5 D7
b d
+5V
c e a
g 330x8
Hãy vẽ lưu đồ và viết chương trình để hiển thị giá trị BCD trong ô nhớ 30H lên LED 7 đoạn, 0.5ssau thì hiển thị giá trị BCD trong ô nhớ 31H lên LED 7 đoạn, 0.5s sau thì lặp lại Giả sử hệ thốngdùng thạch anh 12MHz Giả sử có sẵn bảng mã LED 7 đoạn trong bộ nhớ chương trình tại địa chỉtương ứng với nhãn TABLE
Trang 13Vẽ lưu đồ và viết chương trình con đổi các ký tự chữ hoa trong các ô nhớ 20H 2FH trong RAMnội sang chữ thường và ngược lại, rồi cất vào trong các ô nhớ RAM ngoài có địa chỉ 8400H 840FH.
Câu 18:
Vẽ lưu đồ và viết chương trình con đổi các ký tự chữ thường trong các ô nhớ 20H 2FH trongRAM nội sang chữ hoa và ngược lại, rồi cất vào trong các ô nhớ RAM ngoài có địa chỉ 2000H 200FH
Câu 22:
Vẽ lưu đồ và viết chương trình cộng nội dung của hai ô nhớ RAM ngoài 4000H và 4001H Nếu kếtquả vượt quá FFH thì ghi giá trị 80H vào ô nhớ RAM ngoài 4002H, nếu không thì ghi giá trị 01Hvào ô nhớ RAM ngoài 4002H
Trang 14Vẽ lưu đồ và viết chương trình kiểm tra một khối dữ liệu trong RAM ngoài có chiều dài 100 bytebắt đầu từ địa chỉ 1000H xem có bao nhiêu byte có giá trị là 0, dương và âm Kết quả được lưu vàocác ô nhớ trong RAM nội như sau: ô nhớ 20H chứa số byte bằng 0, ô nhớ 21H chứa số byte dương,
ô nhớ 22H chứa số byte âm
Câu 29:
Vẽ lưu đồ và viết chương trình xuất chuỗi xung vuông ra chân P1.0 với tần số f = 1KHz, duty cycle
= 30% (thời gian mức cao = 30% thời gian của chu kì xung) Giả sử fOSC= 24MHz
Câu 30:
Vẽ lưu đồ và viết chương trình xuất chuỗi xung vuông ra chân P1.7 với tần số f = 10KHz, dutycycle = 40% (thời gian mức cao = 40% thời gian của chu kì xung) Giả sử fOSC= 8MHz
Câu 31:
Vẽ lưu đồ và viết chương trình xuất chuỗi xung vuông ra chân P1.2 với tần số f = 500Hz, duty cycle
= 70% (thời gian mức cao = 70% thời gian của chu kì xung) Giả sử fOSC= 6MHz
Câu 32:
Vẽ lưu đồ và viết chương trình con tên BCD_CHECK nhận dạng số BCD Nếu nội dung thanh ghi
A là số BCD nén (2 digit) thì chương trình con sẽ trả về cờ C = 1, ngược lại thì sẽ trả về cờ C = 0.Câu 33:
Vẽ lưu đồ và viết một chương trình con tên STORE lưu trữ giá trị trong thanh ghi A vào RAMngoài bắt đầu từ địa chỉ 1000H và theo thứ tự tăng dần địa chỉ (mỗi lần gọi STORE sẽ lưu trữ mộtbyte và địa chỉ bộ nhớ được tăng thêm 1) Cho dung lượng vùng nhớ là 100 byte, lần lưu trữ thứ
101 sẽ được ghi đè vào địa chỉ đầu trở lại
Câu 34:
Cho PPI 8255 có tín hiệu chọn chip như câu 2 và hai chân địa chỉ A0 và A1 được nối tương ứng vớiA6 và A7 của 8051
a Xác định một giá trị địa chỉ có thể cho mỗi port A, B, C và Control
b Viết đoạn chương trình khởi động PPI 8255 làm việc ở mode 0, port A nhập, port B và C xuất;Nhập dữ liệu từ port A, nếu là số âm (MSB = 1) thì xuất ra port B, nếu là số dương (MSB = 0) thìxuất ra port C
Trang 15Câu 35:
Cho ADC 0809 có địa chỉ như câu 2, hãy vẽ lưu đồ trình bày cách truy xuất ADC 0809 và viếtchương trình con tên ADC_RD lần lượt đọc dữ liệu từ 8 kênh analog và cất vào vùng đệm RAMnội tại địa chỉ 30H37H
Câu 36:
Cho DAC 0809 có địa chỉ như câu 2, hãy vẽ lưu đồ và viết chương trình con tên DAC_OUT xuất raDAC giá trị lớn nhất (không dấu) từ chuỗi dữ liệu cất trong vùng RAM nội tại địa chỉ 30H37H.Câu 37:
Vẽ lưu đồ và viết chương trình kiểm tra một khối dữ liệu trong RAM ngoài có chiều dài 200 bytebắt đầu từ địa chỉ 1000H xem có bao nhiêu ô nhớ có giá trị là 0 Kết quả (số ô nhớ có giá trị là 0)được lưu vào ô nhớ có địa chỉ là 0FFFH trong RAM ngoài
Trang 16Phần III (4 điểm)Câu 1:
Giả sử cĩ một hệ thống đếm số người đi vào một sân vận động như trong hình vẽ
8051
Bộ cảm biến
Đèn báo
Bộ cảm biến sẽ tạo ra 1 xung (kích cạnh xuống) đưa vào chân T0 của 8051 (P3.4) khi cĩ 1 người đivào sân vận động Một bĩng đèn được điều khiển bởi chân P1.7 sẽ sáng khi P1.7 = 0 và tắt nếu P1.7
= 1 Hãy viết chương trình dùng timer để đếm số người; khi số đếm là 5000 thì đếm lại từ 0 đồngthời bật đèn báo hiệu trong vịng 5 giây Giả sử hệ thống dùng thạch anh 12MHz
Đèn báo
Bộ cảm biến sẽ tạo ra 1 xung (kích cạnh xuống) đưa vào chân T1 của 8051 (P3.5) khi cĩ 1 người đivào sân vận động Một bĩng đèn được điều khiển bởi chân P1.7 sẽ sáng khi P1.7 = 0 và tắt nếu P1.7
= 1 Hãy viết chương trình dùng timer để đếm số người; khi số đếm là 20000 thì đếm lại từ 0 đồngthời bật đèn báo hiệu trong vịng 2 giây Giả sử hệ thống dùng thạch anh 12MHz
Câu 3:
Viết chương trình dùng timer 1 đo thời gian mức cao của xung đưa vào chân INT1 (P3.3) của 8051.Thời gian đo được (tính bằng s) được lưu vào ơ nhớ 30H (byte thấp) và 31H (byte cao) Giả sử hệthống dùng thạch anh 12MHz
Câu 4:
Viết chương trình nhập một chuỗi mã ASCII từ port nối tiếp và cất vào RAM ngồi bắt đầu từ địachỉ 1000H Biết chuỗi kết thúc bằng ký tự null (mã ASCII là 00H) Cất cả ký tự null vào RAMngồi Giả sử truyền ở chế độ UART 8 bit, tốc độ baud là 1200, fOSC=12MHz và bit SMOD = 0.Câu 5:
Viết chương trình sử dụng ngắt gởi liên tiếp các ký tự trong tập mã ASCII (cĩ mã từ 00H đến 7FH)đến thiết bị gắn với port nối tiếp của 8051, nếu là ký tự khơng hiển thị được (cĩ mã ASCII từ 00H
1FH, và 7FH) thì thay bằng dấu ‘.’ trước khi gởi ra Giả sử truyền ở chế độ UART 8 bit, tốc độbaud là 2400, fOSC=12MHz và bit SMOD = 0
Câu 6:
Trang 17Viết chương trình nhập các ký tự chữ số từ bàn phím vào port nối tiếp, chuyển các ký tự chữ số đóthành mã ASCII tương ứng và xuất ra thiết bị gắn với port nối tiếp Giả sử truyền ở chế độ UART 8bit, tốc độ baud là 2400, fOSC=12MHz và bit SMOD = 0.
Câu 7:
Viết chương trình nhập các ký tự chữ cái từ bàn phím vào port nối tiếp, chuyển các ký tự chữ hoathành ký tự chữ thường và xuất ra thiết bị gắn với port nối tiếp Giả sử truyền ở chế độ UART 8 bit,tốc độ baud là 2400, fOSC=12MHz và bit SMOD = 0
Câu 8:
Giả sử có một chuỗi mã ASCII 50 byte chứa trong RAM nội bắt đầu từ ô nhớ 20H Hãy viếtchương trình phát các ký tự chữ hoa có trong chuỗi này ra port nối tiếp Giả sử truyền ở chế độUART 8 bit, tốc độ baud là 2400, fOSC = 12MHz và bit SMOD = 0 Biết mã ASCII của A ÷ Z là41H ÷ 5AH
Câu 9:
Giả sử có một chuỗi mã ASCII 20 byte chứa trong RAM nội bắt đầu từ địa chỉ 30H Hãy viếtchương trình phát các ký tự chữ thường có trong chuỗi này ra port nối tiếp Giả sử truyền ở chế độUART 8 bit, tốc độ baud là 9600, fOSC= 12MHz và bit SMOD = 0 Biết mã ASCII của a ÷ z là 61H
÷ 7AH
Câu 10:
Viết đoạn chương trình dùng ngắt timer để thực hiện liên tục công việc: cứ sau mỗi 40ms thì nhậnmột số có dấu từ port nối tiếp và xét nội dung dữ liệu đó Nếu là giá trị dương (> 0) thì cất vào ônhớ RAM ngoài địa chỉ là 4000H, ngược lại thì bỏ qua Giả sử truyền ở chế độ UART 8 bit, tốc độbaud là 9600, fOSC=12MHz và bit SMOD = 0
Câu 14:
Viết chương trình dùng ngắt timer thực hiện công việc sau: Ban đầu, thanh ghi R6 bằng 0 Cứ sau1s thì tăng nội dung của thanh ghi R6 lên 1, đổi giá trị số HEX trong R6 thành số BCD cất trong 2 ônhớ 20H và 21H Khi giá trị của R6 bằng 24 thì xóa R6 về 0 Giả sử hệ thống dùng thạch anh12MHz
Câu 15:
Viết đoạn chương trình dùng ngắt timer để thực hiện liên tục công việc: cứ sau mỗi 10ms thì nhận
dữ liệu từ port nối tiếp và xét nội dung dữ liệu đó Nếu là giá trị dương (kể cả giá trị 0) thì cất vào ônhớ RAM ngoài địa chỉ là 8000H, còn nếu là giá trị âm thì bỏ qua Giả sử truyền ở chế độ UART 8bit, tốc độ baud là 9600, fOSC=12MHz và bit SMOD = 0
Trang 18Câu 16:
Giả sử cĩ một chuỗi mã ASCII 30 byte chứa trong RAM nội bắt đầu từ ơ nhớ 20H Hãy viếtchương trình sử dụng ngắt phát chuỗi dữ liệu này ra port nối tiếp với điều kiện chỉ truyền các ký tựchữ hoa trong chuỗi Giả sử truyền ở chế độ UART 8 bit, tốc độ baud là 2400, fOSC= 12MHz và bitSMOD = 0
Đèn báo
Bộ cảm biến sẽ tạo ra 1 xung (kích cạnh xuống) đưa vào chân INT0 của 8051 (P3.2) khi cĩ 1 người
đi vào sân vận động Một bĩng đèn được điều khiển bởi chân P1.7 sẽ sáng khi P1.7 = 0 và tắt nếuP1.7 = 1 Hãy viết chương trình dùng ngắt để đếm số người và bật đèn báo hiệu khi cĩ người thứ5.000 đi vào sân vận động Giả sử hệ thống dùng thạch anh 12MHz
Đèn báo
Bộ cảm biến sẽ tạo ra 1 xung (kích cạnh xuống) đưa vào chân INT1 của 8051 (P3.3) khi cĩ 1 người
đi vào sân vận động Một bĩng đèn được điều khiển bởi chân P1.7 sẽ sáng khi P1.7 = 0 và tắt nếuP1.7 = 1 Hãy viết chương trình dùng ngắt để đếm số người và bật đèn báo hiệu khi cĩ người thứ20.000 đi vào sân vận động Giả sử hệ thống dùng thạch anh 12MHz
Trang 19Câu 21:
Viết chương trình dùng ngắt để phát liên tiếp các ký tự hiển thị được trong tập mã ASCII (mã từ20H đến 7EH) ra port nối tiếp, mỗi lần phát cách nhau 50ms Giả sử truyền ở chế độ UART 8 bit,tốc độ baud là 2400, fOSC= 12MHz và bit SMOD = 0
Câu 22:
Giả sử cĩ một hệ thống đếm sản phẩm như hình vẽ Cứ mỗi sản phẩm chạy qua bộ cảm biến sẽ tạo
ra một xung vuơng (kích cạnh xuống) đưa vào chân INT0(P3.2) của 8051 Hãy viết chương trìnhdùng các ngắt để đếm số sản phẩm, mỗi khi đủ 200 sản phẩm thì xĩa bộ đếm và tạo một xung mứcthấp trên chân P1.7 trong thời gian 2 giây, sau đĩ lặp lại Giả sử hệ thống dùng thạch anh 12MHz
8051
Bộ cảm biến
Đèn báo
Câu 23:
Giả sử cĩ một hệ thống đếm sản phẩm như hình vẽ Cứ mỗi sản phẩm chạy qua bộ cảm biến sẽ tạo
ra một xung vuơng (kích cạnh xuống) đưa vào chân INT1 (P3.3) của 8051 Hãy viết chương trìnhdùng các ngắt để đếm số sản phẩm, mỗi khi đủ 100 sản phẩm thì xĩa bộ đếm và tạo một xung mứcthấp trên chân P1.7 trong thời gian 5 giây, sau đĩ lặp lại Giả sử hệ thống dùng thạch anh 12MHz
8051
Bộ cảm biến
Đèn báo
Trang 20Bộ cảm biến c鳆a m酐
74LS04
Câu 26:
Giả sử cĩ một hệ thống báo động như hình vẽ Bộ cảm biến cửa mở sẽ tạo ra một xung vuơng (kíchcạnh xuống) đưa vào chân INT1 (P3.3) của 8051 Hãy viết chương trình dùng các ngắt để tạo ra âmhiệu cĩ tần số 400Hz trên loa (nối với chân P1.7) nếu cửa bị mở Giả sử hệ thống dùng thạch anh12MHz
8051
Bộ cảm biến c鳆a m酐
74LS04
Câu 27:
Giả sử cĩ một hệ thống báo động như hình vẽ Bộ cảm biến cửa mở sẽ tạo ra một xung vuơng (kíchcạnh xuống) đưa vào chân INT1 (P3.3) của 8051 Hãy viết chương trình dùng các ngắt để tạo ra âmhiệu cĩ tần số 200Hz trên loa (nối với chân P1.7) nếu cửa bị mở Giả sử hệ thống dùng thạch anh12MHz
8051
Bộ cảm biến c鳆a m酐
Trang 21Câu 30:
Cảm biến báo cháy báo động bằng mức điện áp 0 Tín hiệu từ cảm biến được đưa đến chân ngắtngoài 1 INT1 (P3.3) của 8051 Hãy viết chương trình để 8051 tạo tín hiệu báo động đèn đỏ ở chânP1.7 với tần số 2Hz và sáng đèn vàng đều ở chân P1.6 Nếu không có báo động thì cho đèn vàngnhấp nháy với tần số 0.5Hz Giả sử fOSC=12MHz
Viết chương trình sử dụng ngắt ngoài 0 tác động cạnh xuống Khi có ngắt thì phát một byte dữ liệu
ra port nối tiếp (UART 8 bit, tốc độ baud 1200, fOSC= 12MHz, SMOD = 0) Biết rằng byte dữ liệunày có giá trị thay đổi sau mỗi lần phát theo thứ tự là: 11111110B, 11111101B, 11111011B, … ,10111111B, 01111111B và lặp lại
Câu 33:
Viết chương trình phát liên tiếp các byte mã ASCII được cất trong RAM ngoài bắt đầu từ địa chỉ1000H ra port nối tiếp Việc phát sẽ kết thúc khi gặp mã 00H (không phát mã này) hay hết chiều dàichuỗi là 100 byte Giả sử truyền ở chế độ UART 8 bit, tốc độ baud là 2400, tần số thạch anh là12MHz và bit SMOD = 0
Câu 34:
Viết chương trình nhập một chuỗi mã ASCII từ port nối tiếp và cất vào RAM ngoài bắt đầu từ địachỉ 1000H Biết chiều dài chuỗi chứa trong ô nhớ 30H trong RAM nội Giả sử truyền ở chế độUART 8 bit, tốc độ baud là 2400, tần số thạch anh là 12MHz và bit SMOD = 0
Câu 35:
Viết chương trình nhập một chuỗi mã ASCII từ port nối tiếp và cất vào RAM ngoài bắt đầu từ địachỉ 1000H Biết chiều dài chuỗi chứa trong ô nhớ 30H trong RAM nội Việc nhập sẽ kết thúc nếugặp ký tự null (mã ASCII là 0, nhập cả ký tự null) hay hết chuỗi Giả sử truyền ở chế độ UART 8bit, tốc độ baud là 2400, tần số thạch anh là 12MHz và bit SMOD = 0
Câu 36:
Viết chương trình nhập một chuỗi mã ASCII từ port nối tiếp và cất vào RAM ngoài bắt đầu từ địachỉ 1/’ 000H Biết chiều dài chuỗi chứa trong ô nhớ 30H trong RAM nội Việc nhập sẽ kết thúc nếugặp ký tự null (mã ASCII là 0, nhập cả ký tự null) hay hết chuỗi Giả sử truyền ở chế độ UART 8bit, tốc độ baud là 2400, tần số thạch anh là 12MHz và bit SMOD = 0
Câu 37:
Viết chương trình mỗi khi có ngắt ngoài thì nhận liên tiếp 10 byte ký tự từ port nối tiếp và cất vàoRAM ngoài từ địa chỉ 2000H Giả sử truyền ở chế độ UART 8 bit, tốc độ baud là 9600, tần số thạchanh là 12MHz và bit SMOD = 0
Câu 38:
Viết một chương trình kiểm tra port nối tiếp Ngõ ra của port nối tiếp (TxD) được nối với ngõ vào(RxD) và chạy chương trình kiểm tra Nếu kết quả OK thì đặt chân P1.0 = 1, ngược lại thì P1.0 = 0