1
BÀI TẬP MÔN HỆ THỐNG NHÚNG
BÀI 1
a).Thiết kế vi điều khiển PIC 16F877A với dao động là 8Mhz sử
dụng quartz có cơ chế reset hệ thống đầu ra PB được nối với 8
đèn led.
b). Viết chương trình cho vi điều khiển PIC 16F877A được thiết
kế ở phần a) cho việc đóng ngắt cho các đèn led chân lẻ luân
phiên nhau.
2
1:led chẵn sang thì đưa các bit chẵn là 1 và bit lẻ là 0
(pB=10101010)
2:led lẻ sang thì đưa ra các bit lẻ là 1, các bit chẵn là 0.
; chương trình trên ASM.
Processor
Include
16f877A
<16f877a.inc>
-config-WDT-OFF&-PWRTE-ON
; khai báo biến…………………
Cblock 0x20
Counter 1
Endc
; phần chương trình.
Org 0x0000
Banksel TrisB
Clrf
TrisB
Banksel PortB
Loop
Movlw B’10101010’
Movwf PortB
Call
delay1
Call
delay1
3
Movlw B’01010101’
Movwf PortB
Call
delay1
Call
delay1
Goto
loop
; chương trình con
Delay 1
Movlw h’FF’
Movwf counter1
Loop1
Decfsz counter1
Goto loop1
Loop2
Movlw h’FF’
Decfsz counter1
Goto loop2
Return
End.
Bài 2
4
a). Thiết kế vi điều khiển PIC 16F877A sử dụng dao động là
quartz 20Mhz có chế độ reset hệ thống bởi đầu ra là chuẩn PC
được nối với optocoupler có nối ghép collector với led.
b).Viết chương trình cho vi điều khiển PIC 16F877A được thiết
kế ở phần a) cho một led sáng và thay đổi chạy vòng quanh các
led trên
b.
5
processor 16f877A
include
<hangso.h>
; defines
vanables
Cblock 0x20
Counter1
Counter2
Endc
;…………….
Org 0x0000
Banksel TrisC
Clrf
TrisC
Bank
PortC
Movlw B’00000001’
Movwf
PortC
Loop
Ref
PortC
Call
delay
Goto
loop
; chương trình con
Delay
Clrf counter 2
6
Loop1
Clrf counter1
Loop2
Decfsz counter1
Goto
loop2
Decfsz counter2
Goto
loop1
Return
End.
Bài 3
a.Thiết kế vi điều khiển PIC 16F877A với dao động là 8Mhz sử
dụng quartz có cơ chế reset hệ thống và đầu ra kết nối với 1 vi
mạch 8255 (cổng vào ra //) sử dụng các chân PA làm chân giải
mã chọn chip và chân PB của PIC để truyền dữ liệu
b.Viết chương trình cho vi điều khiển PIC 16F877A được thiết
kế ở phần a) với dao động là 8Mhz sử dụng quartz để đưa 1 byte
10101010 ra cổng PA của 8255.
7
b.
processor 16f877A
8
include
<hangso.h>
-config-CP-0FF&-WDT-OFF
; định nghĩa hằng số.
Word-control
equ 0x89
PA0
equ 0x00
PA1
equ 0x01
PRD
equ 0x02
PWR
equ 0x03
PCS
equ
0x04
; bắt đầu chương trình
Org
0x0000
Clrf
PortA
Clrf
PortB
Bsf
Status,RP0
Clrf
TrisA
Clrf
TrisB
Bcf
Status,RP0
Movlw b’10101010’
Movwf PortA
Movlw
Word-control
Call
ghi_PPI
9
End
Ghi_PPI
Nop
Nop
Nop
Bcf
PortA,PRW
Nop
Nop
Nop
Bsf
PortA,PRN
Nop
Nop
Nop
Return
End.
Bài 4
a.Thiết kế 1 bộ vi điều khiển PIC 16F877A sử dụng dao động
RC có cơ chế reset, đầu ra được nối với 8 led trên cổng PB .
10
b. Viết chương trình cho Vi điều khiển PIC 16F877A được thiết
kế ở phần a) cho đếm từ 0->255.
b.
; dem 255
processor 16f877A
include
<hangso.h>
11
; define vanable
Cblock
0x20
Counter 1
Counter 2
Crt
Endc
;…………………………..
Org 0x0000
Banksed TrisB
Clrf
TrisB
Banksed PortB
Clrf
crt
Lan 2
Movlf
h’ff’
Movwf
cnt
Movwf
PortB
Movwf
delay3
Loop
Lo
Decfsz
Goto
delay3
Lo
12
Call
delay_2vong
Decfsz
cnt
Movwf
cnt,w
Goto
loop
Goto
Lan2
; chuong trinh con tre 2 vong
Delay_2vong
Clrf
counter1
Loop1
Clrt
counter2
Loop2
Decfsz
counter1
Goto
loop2
Decfsz
counter2
Goto
loop1
Return
End.
Bài5
a.Thiết kế Vi điều khiển PIC 16f877a vơi tân số 5MHz sử dụng
bộ dao động RC, có reset hệ thống. Đầu ra nối với 8 led ở cổng
PB .
13
b.Viết chương trình cho bật tắt đèn của 4 bit thấp và 4 bit cao
thay phiên nhau.
; chương trình trên ASM bật tắt đèn 4 bit thấp 4 bít cao thay
phiên nhau.
Processor
Include
16f877A
<16f877a.inc>
14
-config-WDT-OFF&-PWRTE-ON
; khai báo biến…………………
Cblock 0x20
Counter 1
Endc
; phần chương trình.
Org 0x0000
Banksel TrisB
Clrf
TrisB
Banksel PortB
Loop
Movlw B’00001111’
Movwf PortB
Call
delay1
Call
delay1
Movlw B’11110000’
Movwf PortB
Call
delay1
Call
delay1
Goto
loop
15
; chương trình con
Delay 1
Movlw h’FF’
Movwf counter1
Loop1
Decfsz counter1
Goto loop1
Loop2
Movlw h’FF’
Decfsz counter1
Goto loop2
Return
End.
Bai 6
a.Thiết kế Vi điều khiển PIC 16f877a vơi tân số 20MHz sử dụng
bộ quartz, có reset hệ thống. Đầu ra nối với 8 led ở cổng PB
b.Viết chương trình cho chạy 2 đèn vòng quanh.
16
b.led chạy vòng quanh 2 đèn.
Processor
16f877A
Include
<hangso.h>
Cblock
0x20
17
Counter1
(20h)
Counter2
(21h)
Endc
Org 0x0000
Banksed
TrisB
Clrf
TrisB
Movlw
B’00001100’
Movwf
TrisA
Banksed
PortB
Movlw
B’00000011’
Movwf
PortB
Loop
Rlf
PortB
Call
delay
Loop3
Btfss
PortA,1
Goto
loop3
Goto
loop
Delay
Clrf
Loop1
counter2
18
Clrf
counter1
Loop2
Decfsz
counter1
Goto loop2
Decfsz
Goto
counter2
loop1
Return
End.
Bài 7
a.Thiết kế Vi điều khiển PIC 16f877a vơi tân số 20MHz sử dụng
bộ quartz, có reset hệ thống. Đầu ra nối với 8 led ở cổng PB .
b.Viết chương trình cho bật đèn theo độ rông xung như sau:
768*0.2 3*768*0.2 4*768*0.2
19
20
b.chương trình cho bật đèn theo độ rông xung.
: chương trình viết trên ASM
Proconor 16f877a.
……………………….*************………………………..
Include
<16f877a.inc>
-config-WDT-OFF&-PWRTE-ON
; khai báo biến…………………
Cblock 0x20;
Counter 1;
Endc
; phần chương trình.
Org 0x0000
Banksel TrisB
Clrf
TrisB
Banksel PortB
Loop:
Molw
B’ 11111111’;
Mowf
port B;
Call
delay _4 vong ;
; chương trình con trễ 4 vòng ;
Delay _4 vong
21
Movlw H’ff;
Movwf counter 1;
Loop 1:
Decfsz
counter 1;
Goto
loop1
Movlw h’ff;
Return
End.
Bài 8
a.Thiết kế vi điều khiển PIC 16F877A với dao động là 8Mhz sử
dụng quartz và đầu ra kết nối với vi mạch 8255 (cổng vào ra //)
sử dụng các chân PA làm chân giải mã chọn chip và cổng, chân
PB của PIC để truyền dữ liệu.
b.Viết chương trình cho vi điều khiển PIC 16F877A được thiết
kế ở phần a) xác định cổng PA , PB là ra và cổng PC là vào của
8255.
22
b.
processor 16f877A
23
include
<hangso.h>
-config-CP-0FF&-WDT-OFF
; định nghĩa hằng số.
Word-control
equ 0x89
PA0
equ 0x00
PA1
equ 0x01
PRD
equ 0x02
PWR
equ 0x03
PCS
equ
0x04
; bắt đầu chương trình
Org
0x00
Clrf
PortA
Clrf
PortB
Bsf
Status,RP0
Clrf
TrisA
Clrf
TrisB
Bcf
Status,RP0
Movlw b’00010111’
Movwf PortA
Movlw
Call
Word-control
ghi_PPI
24
End
Ghi_PPI
Nop
Nop
Nop
Bcf
PortA,PRW
Nop
Nop
Nop
Bsf
PortA,PRN
Nop
Nop
Nop
Return
End.
Bài 9
25
a.Thiết kế vi điều khiển PIC 16F877A với dao động là 8Mhz sử
dụng quartz có reset hệ thống và đầu ra PC kết nối với rơ le 12V
đóng ngắt qua tránsitor npn.
b.Viết chương trình kết nối đóng ngắt trên.