Cho hệ thống gồm có 16 led đơn được theo kiểu Cathode chung với sơ đồ bố trí như hình vẽ. Khi Mode=0 thì các led chuyển trạng thái với thời gian trễ thay đổi trạng thái là 400ms. Khi Mode=1 thì Led sáng dịch 1 bit bắt đầu từ D11 với thời gian trễ là 100ms.
Trang 1ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
Khoa Điện- Điện Tử
TIỂU LUẬN Môn: kỹ thuật vi xử lý
Giảng viên: Trần Xuân Tiến
Sinh viên: Phạm Thị Thanh Ngân
Doãn Huy Hoàng Lớp: 112191.1
Hưng Yên, năm 2021
Trang 2Đề số 11 Phân tích yêu cầu bài toán, vẽ sơ đồ nguyên lý và tính toán lựa chọn
1 Phân tích yêu cầu bài toán:
Cho hệ thống gồm có 16 led đơn được theo kiểu Cathode chung với
sơ đồ bố trí như hình vẽ:
D7
D8 D4
13
=>16 led đơn phải nối cathode chung với nhau vào âm nguồn
Công tắc ba cực Mode được nối với chân P1.5, các led được nối với
cổng P2 và P3
Ta nối anot của đèn led vào cổng của vi điều khiển lần lượt:
P2: D11, D8, D4, D5, D6, D9, D13, D12
P3: D7, D1, D2, D3, D10, D16, D15, D14
Khi Mode=0 thì các led chuyển trạng thái như hình vẽ bên dưới với
thời gian trễ thay đổi trạng thái là 400ms (lặp lại)
D7
D5 D6
D8
D4
D9 D10
D11 D12 D13
D7
D5 D6
D8 D4
D9 D10
D11 D12 D13
D7
D5 D6
D8 D4
D9 D10
D11 D12 D13
Trang 3Dựa vào vị trí của các led được kết nối với cổng P2 và P3 ta có thể suy rađược giá trị đưa ra các cổng P2 và P3 để điều khiển đèn led sáng:
*) Cồng P2:
*)Cổng P3:
Khi Mode=1 thì Led sáng dịch 1 bit bắt đầu từ D11 với thời gian trễ là 100ms
Các đèn led sẽ sáng dịch 1 bit bắt đầu từ D11 rồi kêt thúc tại D7 lần lượt theo thứ tự được đánh dấu trong hình
D7
D8 D4
19 20
7 8
9
11 10
12 13
Thời gian trễ trong chương trình sử dụng timer 1 chế độ 0
Trang 42.Sơ đồ nguyên lý:
3 Lựa chọn các linh kiện
-Nguồn cung cấp cho mạch: U = 5V DC
-Sử dụng led đơn 5mm thông số: U led_ max =3 , V I led_ max =10mA
-Điện trở hạn dòng cho led:
3
5 2.2
280
10 10
led led
led
R
-Thạch anh 12MHz, tụ không không phân cực 33pF
-Tụ phân cực 10uF – 16V- 33mA
Trang 5-Điện trở mạch : 220
-Một công tắc 3 cực, một nút nhấn
II.Viết chương trình trên phần mềm ride, trình bày nguyên lý hoạt động và chạy mô phỏng trên phần mềm Proteus
2.1 Lưu đồ thuật toán
Bắt đầu
Cổng P1.5=0
Cổng P2,P3 sáng Sáng dịch 1 bit
như hình từ D11
Trễ 400ms Trễ 100ms
End
2.2 Nguyễn lý hoạt động
Trang 6Khi nạp chương trình vào IC , cấp nguồn cho IC hoạt động , bộ dao động hoạt động cùng lúc với IC để cấp dao động cho IC chay chương trình
Với yêu cầu khi mode=0 ta điểu khiển led theo 3 bước , mỗi bước cách nhau 400ms và có lặp lại Bước 1 sáng tất cả các led cổng P2 gọi trễ
và tắt các led Bước 2 sáng các led 11,4,6,13 ở cổng P2 và sáng led 7,2,10,15 ở cổng P3 gọi trễ và tắt led Bước 3, sáng tất cả các led cổng P3 gọi trễ và tắt led
Với yêu mode=1, các led sẽ được sáng dịch 1 bít theo thứ tự: D11=> D8=>D4=> D5=> D6=> D9=> D13=> D12=>D11=> D7=> D2=>D10=> D15=> D7=> D1=> D2=> D3=> D10=> D16=> D15=> D14
2.3 CODE:
$INCLUDE(REG51.INC)
ORG 0000H
MAIN:
jb P1.5, TT2; chuyen trang thai
; p1.5=1 nhay den TT2
TT1: ;mode = 0
mov p2,#00h ;tat led
mov p3,#00h
jb P1.5, TT2 ;kiem tra trạng thái
Trang 7call delay400ms ;gọi tre
mov p2,#0ffh ; sang led 11,8,4,5,6,9,13,12
jb P1.5, TT2
call delay400ms
mov p3,#055h ;sang led 7,2,10,15
mov p2,#55h ;sang led 11,4,6,13
jb P1.5, TT2
call delay400ms
mov p2,#00h ;tat led
mov p3,#0ffh ;sang led 7,1,2,3,10,16,15,14
jb P1.5, TT2
call delay400ms
jmp main
mov r2,#08 ; nap gia tri 8 vao r2
mov p3,#00h ;tat led
mov A,#01h ;nap gia tri 1 vao A
Setb C ;thiet lap co nho
Trang 8LOOP:
mov p2,A ;led 11 sang
jnb p1.5, TT1 ;p1.5=0 nhay toi TT1
clr c ;xoa 1 bit
call delay100ms ;goi delay
rlc A ;dich trai thanh gi A
djnz r2,loop ;kiem tra có dieu kien r2=8 thoat khoi loop
mov p2,#01h ;sang den 11
call delay100ms
mov p2,#00h ;tat den cong P2
mov p3,#01h ;sang den 7
call delay100ms
mov p3,#04h ;sang den 2
call delay100ms
mov p3,#10h ;sang den 10
call delay100ms
Trang 9mov p3,#40h ;sang den 15
call delay100ms
mov r3,#09
loop2:mov p3,a ;sang den 7
rlc a ;dich trai thanh ghi A
call delay100ms
jnb p1.5,TT2
clr c ;xoa 1 bit
djnz r3, loop2
mov p3,#01h ;sang den 7
call delay100ms
mov p3,#00h ;tat den
jmp $
DELAY400ms:
MOV R0,#80 ; lap 80 lan 5ms => 80x5=400ms LAP:
Trang 10MOV TMOD,#00H ;timer 1 che do 0 (13bit , 8192)
MOV TH1,#23H ;(bit cao)
MOV TL1,#18H ; (bit thap)
SETB TR1 ; chop hep time hoat dong JNB TF1,$ ;nhay tai cho
CLR TF1, ; neu co tràn thi dừng time CLR TR1 ; xoa co tràn
DJNZ R0,LAP RET
DELAY100ms:
MOV R0,#20 ; trễ 5ms * lap 20 lan = 100ms LAP1:
MOV TMOD,#00H ;timer 0 che do 1 ; gia tri dat ban dau 3192 MOV TH1,#23H ; (bit cao)
MOV TL1,#18H ; (bit thap)
Trang 11JNB TF1,$ ;nhảy tai cho CLR TF1, ; nếu time tràn thì dừng timer
DJNZ R0,LAP1 RET
END