Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - Pdf 13

Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
1Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
2

Bài 1: Cho biết địa chỉ bắt đầu của một vùng nhớ RAM là 00000H và dung lượng của vùng
nhớ này là 645KB. Hãy xác định đại chỉ vật lý cuối cùng của vùng nhớ này.

Bài làm:

Ta có dung lượng của vùng nhớ:
10
645KB 645 2 660480byte A1400H
   
Địa chỉ vật lý cuối cùng của vùng nhớ là:
A1400H-1=A13FFHBài 2: Thực hiện kết nối hệ thống 80286 với các dung lượng nhớ sau:
Cho biết vùng địa chỉ của từng bộ nhớ trong các bản đồ (các bộ nhớ đều có 16 bit dữ liệu).

2
  A 18
 
là số đường địa chỉ.

Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
3

Để giải mã 4 vùng nhớ 4MB ta cần 2 đường địa chỉ (
2
2 4

). Vi xử lý 80286 có 24 đường địa
chỉ, ta chỉ dùng 18+2 = 20 đường địa chỉ.

Bảng phân vùng địa chỉ EFROM (4M)

19
A

18
A

17

A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 00000H đến 3FFFFH Bảng phân vùng địa chỉ EFROM (4M)


9
A

8
A

7
A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

12
A

11
A

10
A

9
A

8
A

7
A

6
A

5
A

4
A

3
A


A

14
A

13
A

12
A

11
A

10
A

9
A

8
A

7
A

6
A

5

Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
4Câu b:

Ta có công thức: Dung lượng bộ nhớ =
A
2 D
Trong đó: A: đường địa chỉ; D: số bit dữ liệu

Ta có dung lượng bộ nhớ:
1 20 21
2M 2 2 2
  21 A A 4
2 2 16 2 2
    


A

16
A

15
A

14
A

13
A

12
A

11
A

10
A

9
A

8
A

7


19
A

18
A

17
A

16
A

15
A

14
A

13
A

12
A

11
A

10
A


0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 20000H đến 3FFFFH
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
5

Bảng phân vùng địa chỉ SRAM (4M)

19
A

18
A

17
A

16
A

15
A


4
A

3
A

2
A

1
A

0
A

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 40000H đến 7FFFFH

Bảng phân vùng địa chỉ EPROM (8M)

19
A

18
A


7
A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

A

15
A

14
A

13
A

12
A

11
A

10
A

9
A

8
A

7
A

6


6

Bảng phân vùng địa chỉ EPROM (4M)

19
A

18
A

17
A

16
A

15
A

14
A

13
A

12
A

11

A

0
A

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 80000H đến BFFFFH

Bảng phân vùng địa chỉ EPROM (4M)

19
A

18
A

17
A

16
A

15
A

14
A


3
A

2
A

1
A

0
A

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ C0000H đến FFFFFH

Câu d: Tương tự: với dung lượng nhớ 2M ta có A = 17 đường địa chỉ.

Để giải mã 8 vùng nhớ 2MB ta cần 3 đường địa chỉ (
3
2 8

). Vi xử lý 80286 có 24 đường địa
chỉ, ta chỉ dùng 17+3 = 20 đường địa chỉ.

Bảng phân vùng địa chỉ SRAM (2M)


9
A

8
A

7
A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

A

11
A

10
A

9
A

8
A

7
A

6
A

5
A

4
A

3
A

2

A

16
A

15
A

14
A

13
A

12
A

11
A

10
A

9
A

8
A

7

19
A

18
A

17
A

16
A

15
A

14
A

13
A

12
A

11
A

10
A


1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 80000H đến FFFFFH

Câu e: Tương tự: với dung lượng nhớ 4M ta có A = 18 đường địa chỉ.

Để giải mã 4 vùng nhớ 4MB ta cần 2 đường địa chỉ (
2
2 4

). Vi xử lý 80286 có 24 đường địa
chỉ, ta chỉ dùng 18+2 = 20 đường địa chỉ.

Bảng phân vùng địa chỉ EFROM (4M)

19
A

18
A


7
A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 0H đến 3FFFFH



12
A

11
A

10
A

9
A

8
A

7
A

6
A

5
A

4
A

3
A


15
A

14
A

13
A

12
A

11
A

10
A

9
A

8
A

7
A

6
A


Để giải mã 6 vùng nhớ 2MB ta cần 3 đường địa chỉ (
3
2 8 6
 
). Vi xử lý 80286 có 24 đường
địa chỉ, ta chỉ dùng 17+3 = 20 đường địa chỉ.

Bảng phân vùng địa chỉ SRAM (4M)

19
A

18
A

17
A

16
A

15
A

14
A

13
A


2
A

1
A

0
A

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Vậy vùng địa chỉ của bộ nhớ từ 00000H đến 3FFFFH

Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
9

Bảng phân vùng địa chỉ SRAM (2M)

19
A


8
A

7
A

6
A

5
A

4
A

3
A

2
A

1
A

0
A

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A

10
A

9
A

8
A

7
A

6
A

5
A

4
A

3
A

2
A

1

A

13
A

12
A

11
A

10
A

9
A

8
A

7
A

6
A

5
A

4
10

12
12
12
12
U6
74LS373
D0
3
D1
4
D2
7
D3
8
D4
13
D5
14
D6
17
D7
18
OE
1
LE
11

1
0
0
0
0
0
0
0
0
0
0
0
0
U8
NAND16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

L1: IN AL, DX
CMP AL, 0FFH
JE,L1
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
11 Nếu không có nút nào nhấn, thanh ghi AL sẽ có giá trị bằng 0FFH và lệnh JE sẽ quay
lại tiếp tục nhận dữ liệu và kiểm tra cho tới lúc có nút được bấm. U2 80286
A0
34
A1
33
A2
32
A3
28
A4
27
A5
26
A6
25
A7

8
A23
7
S0
5
S1
4
BHE
1
COD/I NTA
66
HLDA
65
LOCK
68
M/IO
67
PEACK
6
READY
63
CLK
31
RST
29
NMI
59
INTR
57
HOLD

41
D11
43
D12
45
D13
47
D14
49
D15
51
R1
10K
C4
10uF
+5V
U18 74LS245
A0
2
A1
3
A2
4
A3
5
A4
6
A5
7
A6

10K
12
U8
NAN D16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
12
12
12
12
12
12
RESET
U17
82284

RESET
12
PCLK
13
SW1
SW2
SW3
SW4
SW5
SW6
SW7
SW8
XTAL
12MHz
C2
30p
C3
30p
+5V
Bài 5: Cho biết địa chỉ logic của ô nhớ là BA00H:D1AFH
a. Hãy cho biết địa chỉ vật lý của ô nhớ này.
b. Hãy cho 5 ví dụ về các địa chỉ logic khác Bài làm:

a. Vì 80286 có 24 đường địa chỉ, vậy địa chỉ vật lý của ô nhớ là: xxBA00H :
a) mov BP,3654h ;Nạp số 3654H vào thanh ghi BP
b) mov SP,BP ;Sao chép BP vào SP
c) mov (9876h),AX ;Sao chép AX tới ô nhớ có địa chỉ offset 9876H
d) add CX,1 ;Tăng nội dung thanh ghi CX lên 1
e) add DL,07h ;Cộng 07h vào DL
f) or AX,10000000b ;MSB =1 không thay đổi các bit khác
g) or AX,00000001b ;LSB =1 không thay đổi các bit khác
h) and CL,0Fh ;Che 4 bit cao thanh ghi CL
i) mul 08h ;Nhân AX voi 08h
j) xor DX,00001111b ;Nghịch đảo 4 bit thấp DX, không thay đổi các bit khác
k) not BP ;Bù 1
add BP,1 ;Bù 2

Bài 8: Cho biết giá trị chứa trong thanh ghi AX sau khi 8088 thực hiện các lệnh sau:

MOV AX, 0
MOV BX, 2
MOV CX, 50
@:ADD AX, BX
ADD BX, 1
Loop @
Bài làm: mov ax,0 ;ax=0
mov bx,2
mov cx,50
@: add ax,bx ;ax=2,5,9,14, …………ax=ax+bx+(1.x), x từ 0 đến 49

8051
PSEN
29
ALE
30
VCC
40
GND
20
EA
31
X1
19
X2
18
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6

26
P2.6/A14
27
P2.7/A15
28
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.5/T1
15
P3.6/WR
16
P3.7/RD
17
R1
10K
C1
10uF
+5V
XTAL
12MHz
C2
33p

R4R5
220V AC
B2S
1 2
220V AC
B2S
1 2
+12V+12VBài 12: Thiết kế hệ thống một vi xử lý điều khiển động cơ bước có các thông số kỹ thuật:
12V/2A mỗi bước
o
1
. Biết rằng động cơ có 4 cuộn dây cấp điện theo xung, để nó quay theo
chiều kim đồng hồ cần cung cấp dữ liệu vào 4 đầu dây theo dữ liệu trong bảng sau:

Dây 1

Dây 2

Dây 3

Dây 4

Hexa

1 0 0 1 09
0 1 0 1 05
0 1 1 0 06

11
11
11
0
0
00
00
VCC (COMMON)Phân tích nhiệm vụ và yêu cầu :
 Động cơ quay thuận 1 bước được
o
1
=> quay 1 vòng
o
360
có 360 bước.
Vi điều khiển có 4 mã lệnh làm quay được 4 bước =
o
4

Như vậy, để động cơ quay 1 vòng =
o
360
cần có
360
90
4


mov p0, #05h
call delay
mov p0, #06h
call delay
mov p0, #0ah
call delay
djnz r7, quay_thuan
mov r7, #22
quay_nguoc:
mov p0, #0ah
call delay
mov p0, #06h
call delay
mov p0, #05h
call delay
mov p0, #09h
call delay
djnz r7, quay_nguoc
mov p0, #0ah
call delay
mov p0, #06h
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
15

call delay
jmp ban_dau
delay:

mov 72h,#116 ;ma so 2
mov 73h,#134 ;ma so 3
mov 74h,#157 ;ma so 4
mov 75h,#139 ;ma so 5
mov 76h,#143 ;ma so 6
mov 77h,#123 ;ma so 7
mov 78h,#115 ;ma so 8
mov 79h,#165 ;ma so 9
mov 7ah,#158 ;ma so a
mov 7bh,#193 ;ma so b
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
16

mov 7ch,#149 ;ma so c
mov 7dh,#102 ;ma so d
mov 7eh,#140 ;ma so e
mov 7fh,#141 ;ma so f

;khoi tao 8255
mov dptr,#0F003h ;dia chi thanh ghi dieu khien
mov a,#10000001b ;PA PB out, PC low in, PC high out
movx @dptr,a

repeat:
call scan_key
jc hienthi
call convert

mov a,#0feh ;bat dau o cot so 0 , cho 1 cot xuong muc 0
mov r6,#4 ;su dung r6 lam bo dem , 4 vi co 4 cot
quetphim1:
;tich cuc cot , cho cot 0 xuong muc 0
mov dptr,#0F002 ;port C
movx @dptr,a

mov r7,a ;luu a
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
17

;doc lai port C de xu ly tiep
movx a,@dptr

anl a,#0f0h ;cach ly hang , neu phim nhan thi hang = 0 , 0 and 1 = 0
cjne a,#0f0h,anphim ;hang co tich cuc khong , neu co phim an p2 <> 0f0h , dua den
chuong trinh an ;phim de tinh toan
mov a,r7 ;neu khong co phim an a = 0f0h , lay lai noi dung a
rl a ;xoay a de di chuyen den cot ke tiep
djnz r6,quetphim1 ;neu nhu 1 cot khong co phim nhan thi quay lai
quetphim1 de ktra cot ke tiep

clr c ;cho c= 0 neu khong co phim nhan
mov a,#0ffh ;cho a= 0ffh neu khong co phim nhan
ret
anphim:
;neu co phim an ta xu ly nhu sau :

convert: ;dich chuyen noi dung tu 50h den 57h, chuyen doi noi dung
trong thanh ghi a vao 50h
mov 57h,56h
mov 56h,55h
mov 55h,54h
mov 54h,53h
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
18

mov 53h,52h
mov 52h,51h
mov 51h,50h

mov r0,#70h
add a,r0
mov r0,a
mov a,@r0
mov 50h,a

ret

display:
mov a,#11111110b ;chon led 1
mov dptr,#0F000h ;port B
movx @dptr,a
mov a,50h
mov dptr,#0F000h ;port A

movx @dptr,a
call delay
mov a,#255
movx @dptr,a
Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
19 mov a,#11101111b ;chon led 5
mov dptr,#0F000h ;port B
movx @dptr,a
mov a,54h
mov dptr,#0F000h ;port A
movx @dptr,a
call delay
mov a,#255
movx @dptr,a

mov a,#11011111b ;chon led 6
mov dptr,#0F000h ;port B
movx @dptr,a
mov a,55h
mov dptr,#0F000h ;port A
movx @dptr,a
call delay
mov a,#255
movx @dptr,a

end

Bài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
20

Bài 15: Thực hiện hế thống vi xử lý giao tiếp với bộ ADC loại xấp xỉ liên tiếp bằng vi mạch
vào ra 8255. viết chương trình điều khiển việc đọc dữ liệu từ ngõ vào ADC hiển thị lên 2 led
7 đoạn dưới dạng số HEX.
Bài làm: org 0

;ghi chu phan cung
;PA <- data ADC0804 (add: F000h)
;PB.0 -> write ADC (add: F001h)
;PC.0 <- int ADC (add: F002h)
;control (add: F003h)

;p1 data a -> p led7
p3.0 -> led 7 doan 1
p3.1 -> led 7 doan 2

mov 70h,#192 ;ma so 0
mov 71h,#127 ;ma so 1
mov 72h,#116 ;ma so 2
mov 73h,#134 ;ma so 3

21

;kiem tra chuyen doi xong chua , thoi gian chuyen doi la
100 microsecond
mov dptr,#0F002h ;dia chi PC
movx a,@dptr
anl a,#00000001b
cjne a,#0,loop

mov dptr,#0F000h ;dia chi PA, lay data
movx a,@dptr

call convert
call display

jmp repeat

convert: ;chuyen doi noi dung trong thanh ghi a vao 2 thanh ghi r7 va r6
mov r0,#70h
mov b,a
anl a,#00001111b ;nipple thap
add a,r0
mov r0,a
mov a,@r0
mov r7,a

mov r0,#70h


22

djnz r5,del1
ret
end Bài 16: Một công tắc 4 vị trí và một bộ LED 7 đoạn được nối với 8051 như hình vẽ:
Viết đoạn chương trình nhận dữ liệu từ công tắc cổng 3, rồi hiển thị giá trị nhị phân tương ứng
của nó lên LED 7 đoạn.

Bài làm:

org 00h
mov 70h,#192 ;ma so 0
mov 71h,#127 ;ma so 1
mov 72h,#116 ;ma so 2
mov 73h,#134 ;ma so 3
mov 74h,#157 ;ma so 4
mov 75h,#139 ;ma so 5
mov 76h,#143 ;ma so 6
mov 77h,#123 ;ma so 7
mov 78h,#115 ;ma so 8
mov 79h,#165 ;ma so 9
mov 7ah,#158 ;ma so a
mov 7bh,#193 ;ma so b


org 0
;ghi chu: Xtal 12MHz, moi lenh 1 micro second
mov tmod,#00000001b ;timer 0 mode 1
repeat:
mov tl0,#low(-200+11)
mov th0,#high(-200+11)

setb p1.7
nop ;4 micro second
nop
nop
nop

clr p1.7
setb tr0
jnb tf0,$
clr tf0
clr tr0
jmp repeat
end

Bài 17: Thiết kế hệ thống vi điều khiển đóng mở đèn giao thông trên một ngã tư tự động với
các thời gian sáng đèn đỏ xanh vàng định trước.

Bài làm:

R 220 x 6
D1
RED

P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27

P0.6/AD6
33
P0.7/AD7
32
+5V
C1
10uF
R7
10KBài Tập Điều Kiện - Kỹ Thuật Vi Xử Lý - VT205A4- Nguyễn Văn Bảo Quốc - 205103391 - Học Kỳ 7
24

org 0
;ghi chu phan cung, den sang tac dong muc 1
;p1.0 den do 1
;p1.1 den vang 1
;p1.2 den xanh 1
;p1.3 den do 2
;p1.4 den vang 2
;p1.5 den xanh 2

repeat:
mov p1,#00100001b ;do 1 xanh 2
call delay
call delay


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status