PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 08-07-2011, 01:13 PM   #8
thanhtb_89
Đệ 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);
}
}
thanhtb_89 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:37 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam