Help me.

isaacDuy

Trứng gà
Mong các anh chị giúp đỡ, em muốn làm mạch mà khi nhấn nút nhấn ở chân D0( nút nhấn mắc lên nguồn) thì led ở PORTB chạy đuổi nhau. nhả tay ra thì led tắt. Code e viết ko chạy, mong anh chị sửa giùm em
Code:
#include <htc.h>
#include <math.h>

__CONFIG(XT & WDTDIS & PWRTEN & MCLREN & UNPROTECT & SWBOREN & IESODIS & FCMDIS & LVPDIS & DEBUGDIS); 
__CONFIG(BORV21); 
#define _XTAL_FREQ 4000000

void main()
{
	ANSEL=0X00;
	ANSELH=0X00;
	TRISB=0X00;
	TRISD=1;
	PORTB=0XFF;
	char i;
	i=0;
	while (1)
	{
		if(RD0==1)
		{
			for(i=0;i<=7;i++)
			{
				PORTB=~(3<<i);
				__delay_ms(150);
			}
		}	
	
		else PORTB=0xFF;
	}
}
 

eMagic

Gà mẹ
Staff member
Code:
	while (1)
	{
		while(RD0==1)
		{
                        __delay_us(100);
			for(i=0;i<=7;i++)
			{
				PORTB=~(3<<i);
				__delay_ms(150);
			}
		}	
                PORTB=0xFF;
bạn thử xem sao.
 

electric_man

Thành Viên PIF
nếu các led chạy đuổi nhau thì phải là: PORTB<<1 là ok rồi!!! code trên thì dịch 1 led chạy!!!
Code:
#include <htc.h>

__CONFIG(XT & WDTDIS & PWRTEN & MCLREN & UNPROTECT & SWBOREN & IESODIS & FCMDIS & LVPDIS & DEBUGDIS); 
__CONFIG(BORV21); 
#define _XTAL_FREQ 4000000

void main()
{
	ANSEL=0x00;
	ANSELH=0x00;
	TRISB=0x00;
	TRISA=0xFF;
	
	
		while(RA0==1)
		{
			
				PORTB=PORTB<<1;
				__delay_ms(150);
			
		}
		 PORTB=0xFF;	
}
 

kid_boy

Trứng gà
kinh, bác Duy nhà ta làm ác thật, hc, mình chưa làm được gì hết, cố lên bác, kakaka
 

isaacDuy

Trứng gà
xin các bạn sửa giúp mình code này, led sáng từ P.7 xuống P.0 rồi nhưng không biết tại sao đợi một thời gian lâu sau vòng lặp mới xuất hiện ?

#include<htc.h>
__CONFIG(XT & WDTDIS & PWRTEN & MCLREN & UNPROTECT &
SWBOREN & IESODIS & FCMDIS & LVPDIS & DEBUGDIS);
__CONFIG(BORV21);
#define _XTAL_FREQ 4000000

void delay()
{
char i;
for (i=0; i<2; i++)
__delay_ms(100);
}

void main()
{
char j;
ANSEL = 0;
ANSELH = 0;
TRISB = 0x00;
PORTB=0xFF;

while(1)
{
for(j=7;j>=0;j--)
{
PORTB =~(1 << j);
delay();
}
}
PORTB=0xFF;
}
 
Top