of Technology, Faculty of Mechanical Engineering Phung Tri CongSƠ ĐỒ CHÂN ● PIC16F887 có 35 chân xuất nhập ● RE3 có nhiệm vụ reset... of Technology, Faculty of Mechanical Engineering Phu
Trang 1HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
(I/O Ports)
Trang 2HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
SƠ ĐỒ CHÂN
● PIC16F887 có 35 chân xuất nhập
● RE3 có nhiệm vụ reset
Trang 3HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI PORTA VÀ TRISA
PORTA là 1 port 8 bit, 2 chiều xuất nhập (input/output) và được điều
khiển bởi thanh ghi TRISA
● Set bit TRISA (bit = 1) thì bit tương ứng trên PORTA là Input
● Clear bit TRISA (bit = 0) thì bit tương ứng là Output
Trang 4HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI ANSEL
● Thanh ghi ANSEL quy định một chân I/O ở mode input là Digital
hay Analog
Trang 5HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
Trang 6
RA0/AN0/ULPWU/C12INO-HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
Trang 7
RA1/AN1/C12IN1-HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA2/AN2/VREF-/CVREF/C2IN+
Trang 8HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA3/AN3/VREF+/C1IN+
Trang 9HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA4/T0CKI/C1OUT
Trang 10HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA5/AN4/SS/C2OUT
Trang 11HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA6/OSC2/CLKOUT
Trang 12HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
RA7/OSC1/CLKIN
Trang 13HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI PORTB VÀ TRISB
● Điều khiển xuất nhập PORTB là Input hay Output
Trang 14HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI ANSELH
● Dùng để cấu hình chân input trên PORTB là Analog hay Digital
● Đây là các bit cao của module Analog
Trang 15HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI WEAK PULL-UP PORTB
● Cấu hình mỗi chân của PORTB có dạng điện trở kéo lên nội
Trang 16HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI INTERRUPT-ON-CHANGE
PORTB
● Cấu hình mỗi chân của PORTB là chân ngắt hay không
Trang 17HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI PORTC VÀ TRISC
● Điều khiển xuất nhập PORTC là Input hay Output
Trang 18HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI PORTD VÀ TRISD
● Điều khiển xuất nhập PORTD là Input hay Output
Trang 19HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
THANH GHI PORTE VÀ TRISE
● Điều khiển xuất nhập PORTE là Input hay Output
Trang 20HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 1: XUẤT LED (1)
Trang 21HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
set_tris_d (0);
while(TRUE) {
Viết code CCS làm sáng đèn D2 trong 1 giây rồi tắt, đến lượt đèn D3
sáng 1 giây rồi tắt, cứ như thế lập đi lập lại
Trang 22HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
MỘT SỐ LỆNH CƠ BẢN TRONG CCS-C
• #include < > or #include ‘ ‘ // Declare the mcu
• byte id = x // Ex: byte PortB = 0x06;
• define id text // Ex: define a 1234567
• #use ‘function name’(parameters) // #use delay (clock = 20M)
• delay_cycles(a) // a: instruction cycle
• input_X(value) // input from X port on MCU
• Set_tris_X(value) // X: name of port on MCU
Trang 23HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 2: ĐÈN GIAO THÔNG (1)
● Thiết kế trong Proteus mạch điều khiển đèn giao thông tại một ngã
tư trong thành phố?
● Viết code CCS điều khiển hệ thống đèn giao thông trên: đèn xanh
sáng 25 giây, đèn vàng 5 giây, đèn đỏ 30 giây?
Trang 24HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 2: ĐÈN GIAO THÔNG (2)
Trang 25HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
while(TRUE) {
Trang 26HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 3: DỊCH LED (1)
● Thiết kế trong Proteus mạch điện sử dụng 8 đèn Led nối vào 1 Port
của VĐK?
● Viết code CCS làm sáng đèn D1 trong 1 giây rồi tắt, đến lượt đèn D2
sáng 1 giây rồi tắt, cứ như thế cho đến đèn D8 sáng 1 giây rồi tắt, sau
đó quay lại D1 ?
1 Sử dụng các lệnh xuất LED thông thường
2 Sử dụng chương trình con với hàm “a<<1”
Trang 27HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 3: DỊCH LED (2)
Trang 28HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
SET_TRIS_D(0);
while(TRUE) {
led();
} }
Trang 29HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 4: SỬ DỤNG NÚT NHẤN (1)
Lấy lại hình mạch điện trong ví dụ 1, thiết kế thêm 3 nút nhấn Viết
code CCS sao cho:
● Nhấn nút SW3 thì cả 2 đèn sáng
Trang 30HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 4: SỬ DỤNG NÚT NHẤN (2)
Trang 31HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
PORTD = 1;
}
if (INPUT(PIN_C2)==0) {
} } }
sao cho nó input thì phải
có 8 cái nút nhấn thì nó mới sáng hết
được, còn cho
nó output thì chỉ có cái nút
đầu sáng ????
Trang 32HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 5: 1 LED 7 ĐOẠN (1)
Viết code CCS hiển thị số 0 đến 9 cứ sau 2 giây
Trang 33HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 5: 1 LED 7 ĐOẠN (2)
Trang 34HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 5: 1 LED 7 ĐOẠN (3)
Trang 35HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
while(TRUE) {
for(i=0;i<=9;i++) {
xuat(i);
delay_ms(2000);
} } }
Trang 36HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 6: 2 LED 7 ĐOẠN (1)
Thiết kế và Viết code CCS hiển thị số: 09, 18, 27, 36, 45, 54, 63, 72,
81, 90 cứ sau 2 giây sử dụng linh kiện 7SEG-MPX1-CC,
RES16DIPIS và đường BUS?
Trang 37HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 6: 2 LED 7 ĐOẠN (2)
Trang 38HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
while(TRUE) {
for(i=0;i<=9;i++) {
xuat(i);
delay_ms(2000);
} } }
Trang 39HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 7: QUÉT LED (1)
Thiết kế và Viết code CCS hiển thị số: 0000, 1111, 2222, 3333, 4444,
5555, 6666, 7777, 8888 và 9999 cứ sau 1 giây sử dụng linh kiện
7SEG-MPX4-CC, RES16DIPIS và đường BUS?
Trang 40HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 7: QUÉT LED (2)
Trang 41HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
VÍ DỤ 7: QUÉT LED (3)
Trang 42HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
Trang 43HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong
i=0;
output_C(0b11111111);
while (1) {
for (j=0;j<=666;j++) {
hienthi(hien[i]);
} i++;
if(i>9) {
i=0;
} } }