![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#8 |
Đệ tử 2 túi
Tham gia ngày: Jan 2011
Bài gửi: 37
: |
vâng
đây là code của em #include <16F886.h> #device adc=10 #FUSES NOWDT //No Watch Dog Timer #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES NOPUT //No Power Up Timer #FUSES MCLR //Master Clear pin enabled #FUSES PROTECT //Code not protected from reading #FUSES NOCPD //No EE protection #FUSES BROWNOUT //Reset when brownout detected #FUSES NOIESO //No Internal External Switch Over mode enabled #FUSES NOFCMEN //No Fail-safe clock monitor enabled #FUSES NOLVP //No Low Voltage Programming on B3(PIC16) or B5(PIC18) #FUSES NODEBUG //No Debug mode for ICD #FUSES WRT //Program memory write protected #FUSES BORV40 //Brownout reset at 4v #use delay(clock=4000000) #byte PORTB = 0x06 #byte TRISB = 0x86 //=============================== //define com //mant //=============================== //#define data PIN_B5 //#define //#define SHIFT_CLK_1 PORTB |= 0b00010000 //#define SHIFT_CLK_0 PORTB &= ~0b00010000 #define SHIFT_DTA_1 PORTB |= 0b00100000 #define SHIFT_DTA_0 PORTB &= ~0b00100000 #define MASK_LED_0 0b00101000 #define MASK_LED_1 0b10101111 #define MASK_LED_2 0b10011000 #define MASK_LED_3 0b10001010 #define MASK_LED_4 0b00001111 #define MASK_LED_5 0b01001010 #define MASK_LED_6 0b01001000 #define MASK_LED_7 0b10101110 #define MASK_LED_8 0b00001000 #define MASK_LED_9 0b00001010 //int16 n; const unsigned char dta[10] = {MASK_LED_0,MASK_LED_1,MASK_LED_2,MASK_LED_3,MASK_ LED_4, MASK_LED_5,MASK_LED_6,MASK_LED_7,MASK_LED_8,MASK_L ED_9}; //=============================== //dinh nghia cac ham //=============================== void sckc(); void lat(); void dichbit(); //=============================== //tao xung clock //=============================== void sckc() { //PORTB=0b11110111 output_high(PIN_B4); delay_us(200); output_low(PIN_B4); delay_us(200); } //=============================== //tao xung latch va hien thi //=============================== void lat() { //PORTB=0b11101111 output_high(PIN_B3); delay_us(200); output_low(PIN_B3); delay_us(200); } //=============================== //DICH BIT //n la so phan tu mang //i so lan lap dich bit //=============================== void main() { unsigned char mask,i,n; int8 dk; mask = 0x80; for(n=0;n<10;n++) { for(i=0;i<8;i++) { if( dta[n] & mask ) {SHIFT_DTA_1;} else {SHIFT_DTA_0;} sckc(); mask>>=1; } dk=0b00001111; if(dk & mask) {SHIFT_DTA_1;} else {SHIFT_DTA_0;} sckc(); mask>>=1; lat(); delay_ms(2000); } } |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|