intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

BÀI TẬP VỀ PIC 16F877

Chia sẻ: Nguyễn Phước Lộc | Ngày: | Loại File: PDF | Số trang:4

295
lượt xem
119
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương trình dịch Led P2.7 – P2.0. CTC delay có thể tùy chỉnh, delay tối đa là 12,75s ORG 0030H MOV TMOD,#01H MOV A,#80H LAP: MOV P2,A CALL DELAY RR A SJMP LAP DELAY: LP: MOV R7,0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ INC R7 CLR TF0 CLR TR0 CJNE R7,#20,LP RET END 2.

Chủ đề:
Lưu

Nội dung Text: BÀI TẬP VỀ PIC 16F877

  1. [BÀI TẬP VỀ PIC 16F877] loc.plsoft@gmail.com 1/ Chương trình dịch Led P2.7 – P2.0. CTC delay có thể tùy chỉnh, delay tối đa là 12,75s ORG 0030H MOV TMOD,#01H MOV A,#80H LAP: MOV P2,A CALL DELAY RR A SJMP LAP DELAY: MOV R7,0 LP: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ INC R7 CLR TF0 CLR TR0 CJNE R7,#20,LP RET END 2. #include "16F877A.H" #use delay(clock=20000000) #use Fast_IO(A) #byte porta=0x05 #bit ra0=porta.0 int8 k; #bit b0=k.0 #bit b1=k.1 #bit b2=k.2 unsigned mang1[]={0, 1, 2, 3, 4, 5, 6, 7}; unsigned mang2[]={0, 1, 3, 2, 6, 7, 5, 4}; void main() { set_tris_A(255); int8 i; while(1) { for(i=0;i
  2. [BÀI TẬP VỀ PIC 16F877] loc.plsoft@gmail.com output_bit(PIN_B1,b1); output_bit(PIN_B2,b2); delay_ms(200); } } } 3. Thực hiện mạch logic #include "16F877A.H" #use delay(clock=20000000) #use Fast_IO(A) #byte porta=0x05 #bit ra0=porta.0 #bit ra1=porta.1 #bit ra2=porta.2 void main() { int1 a,b,c; set_tris_a(0b000000111); while(1) { a=~(((~ra0) | ra1) & (~ra2)); b=~((~ra2) & ra1); c=~(a^b); output_bit(PIN_A3,c); } } 4. Dịch Led 2 chiều !!! #include "16F877A.H" #use delay(clock=20000000) #use Fast_IO(D) #byte portd=0x08 void main() { int8 i,led=1; set_tris_d(0); 2
  3. [BÀI TẬP VỀ PIC 16F877] loc.plsoft@gmail.com while(1) { for(i=1;i
  4. [BÀI TẬP VỀ PIC 16F877] loc.plsoft@gmail.com 6. Đếm cạnh xuống, giải mã BCD cho vô 2 Led 7 đoạn xuất cùng 1 port #include "16F877A.H" #use delay(clock=20000000) #use Fast_IO(B) #byte portb=0x06 void main() { int8 count=0,a,b; set_tris_B(0); set_tris_A(1); while(1) { b= ((count/10)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2