PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   CCS C cho PIC/dsPIC phiên bản 4.xxx (http://www.picvietnam.com/forum/showthread.php?t=2296)

luongnhut 10-11-2008 10:21 AM

quét 8 led 7 đoạn
 
em mới chuyển qua viết bằng ccs, em dang có phần cứng là 8 led 7 đoạn, dung hai port của 16f877a cua xuất mã 7 đoạn và mã quét. quét bằng mức 0, led anot chung. cho 8 led hiện thị từ 0-7, nhưng ko biết viết như thế nào, mấy bác giúp em với

tungtuantu 11-11-2008 10:43 PM

1 Attachment(s)
bạn nào giúp mình với, mình lấy hàm flex_lcd ở trên diễn đàn của CCS, vấn đề của mình là, mình xuất được chữ ra LCD rồi, nhưng trong while(1) mình viết 1 đoặn nháy led đơn giản, nhung led nháy dc 1 lúc đúng theo code, rồi sáng mãi 1 lúc, rồi lại nháy cứ thế mãi, lúc led sáng mãi đồng thời các kí tự trên LCD xuất hiẹn loạn cả lên, mình nghĩ vì 1 lí do nào đó mà vdk bị reset lại, mình đã tắt WDT rồi, ai xem giúp mình với, có ai gặp trường hợp này chưa. Mình dùng 30F4011, dùng bản PCWHD 4.068
Chương trình mình gửi kèm theo

delpiero10 12-11-2008 05:07 AM

Ai có code của bài giải mã bàn phím 4x4 hiển thị ra LCD thì giúp mình(Bàn phím nối vào 8 chân portb còn LCD nối kiểu 4 bit)? Thank!

longphi_batbai 26-11-2008 04:43 PM

hiển thị tốc độ đặt qua 4 led 7seg
 
3 Attachment(s)
xin chào các bạn, các anh chị trong diễn đàn picvietnam

em mới bắt đầu làm quen với pic, và đang tập làm bài thực hành điều khiển động cơ dùng pid mà anh Falleaf đã phát động

sau khi tham khảo các luồng về CCS cũng như các TUT trên diễn đàn, em có viết 1 đoạn code dùng ccs để hiển thị tốc độ cần đặt lên 4 led 7 đoạn với hướng làm như sau: khởi đầu hiển thị giá trị 0000, dùng 2 nút INC và DEC lần lượt tăng giảm giá trị ở hàng ngàn, rồi dùng Move để chuyển sang hàng trăm và tiếp tục dùng INC và DEC để tăng giảm giá trị mong muốn....


do mới bắt đầu viết bằng CCS nên tất nhiên code sai nhiều. mong các bạn và các anh chị góp ý giúp em để em có thể học hỏi được nhiều hơn

thank for reading, rất mong được sự hồi âm của các bạn và các anh chị

àh quên, các anh cho em hỏi:

- em định làm 1 chương trình con để đọc giá trị tốc độ từ encoder về timer 0 ở chế độ đếm xung: mỗi khi có ngắt timer 1 thì tính tốc độ động cơ và khi đó gọi 1 hàm con để hiển thị tốc độ vừa tính được lên led 7 đoạn. em ko biết xử lý thế nào? vì khi đó phải quét cả 4 led mà gọi hàm con đó trong ngắt timer 1 thì có vấn đề gì ko. mong các anh giúp giùm em

lion 29-11-2008 11:15 PM

Trích:

Nguyên văn bởi longphi_batbai (Post 20858)
xin chào các bạn, các anh chị trong diễn đàn picvietnam

em mới bắt đầu làm quen với pic, và đang tập làm bài thực hành điều khiển động cơ dùng pid mà anh Falleaf đã phát động

sau khi tham khảo các luồng về CCS cũng như các TUT trên diễn đàn, em có viết 1 đoạn code dùng ccs để hiển thị tốc độ cần đặt lên 4 led 7 đoạn với hướng làm như sau: khởi đầu hiển thị giá trị 0000, dùng 2 nút INC và DEC lần lượt tăng giảm giá trị ở hàng ngàn, rồi dùng Move để chuyển sang hàng trăm và tiếp tục dùng INC và DEC để tăng giảm giá trị mong muốn....


do mới bắt đầu viết bằng CCS nên tất nhiên code sai nhiều. mong các bạn và các anh chị góp ý giúp em để em có thể học hỏi được nhiều hơn

thank for reading, rất mong được sự hồi âm của các bạn và các anh chị

àh quên, các anh cho em hỏi:

- em định làm 1 chương trình con để đọc giá trị tốc độ từ encoder về timer 0 ở chế độ đếm xung: mỗi khi có ngắt timer 1 thì tính tốc độ động cơ và khi đó gọi 1 hàm con để hiển thị tốc độ vừa tính được lên led 7 đoạn. em ko biết xử lý thế nào? vì khi đó phải quét cả 4 led mà gọi hàm con đó trong ngắt timer 1 thì có vấn đề gì ko. mong các anh giúp giùm em

phương pháp quét led 7 thanh làm cho VDK chỉ bận với công việc quét led liên tục mà ít làm được các việc khác. nếu công việc khác mà mất thời gian quá nâu thì led lại bị nhấp nháy .

phương pháp này chỉ để học mà thực tế chắc chẳng ai dùng . Thường thì người ta dùng thanh ghi dich + chốt đầu ra . VD : 74HC595

dùng IC đệm 74HC595 chỉ mất 3 chân của PIC mà số lượng LED 7 thanh có thể có thể mở rộng bao nhiêu cũng được.

tui đã dùng phương pháp này để điều khiển 103 con LED 7 thanh

longphi_batbai 30-11-2008 08:21 PM

cám ơn góp ý của Lion nhá, theo như Lion nói, thì mình phải xử lý ngắt để đếm xung và tính tốc độ nên chắc chắn Led bị nhấp nháy. bạn có thể cho mình xin 1 đoạn code mẫu dùng ic đệm 74595 để tham khảo cách viết được ko? nếu được thì cảm ơn Lion lắm lắm.

ketxanh 30-11-2008 11:34 PM

Trích:

Nguyên văn bởi longphi_batbai (Post 20858)
xin chào các bạn, các anh chị trong diễn đàn picvietnam

em mới bắt đầu làm quen với pic, và đang tập làm bài thực hành điều khiển động cơ dùng pid mà anh Falleaf đã phát động

sau khi tham khảo các luồng về CCS cũng như các TUT trên diễn đàn, em có viết 1 đoạn code dùng ccs để hiển thị tốc độ cần đặt lên 4 led 7 đoạn với hướng làm như sau: khởi đầu hiển thị giá trị 0000, dùng 2 nút INC và DEC lần lượt tăng giảm giá trị ở hàng ngàn, rồi dùng Move để chuyển sang hàng trăm và tiếp tục dùng INC và DEC để tăng giảm giá trị mong muốn....


do mới bắt đầu viết bằng CCS nên tất nhiên code sai nhiều. mong các bạn và các anh chị góp ý giúp em để em có thể học hỏi được nhiều hơn

thank for reading, rất mong được sự hồi âm của các bạn và các anh chị

àh quên, các anh cho em hỏi:

- em định làm 1 chương trình con để đọc giá trị tốc độ từ encoder về timer 0 ở chế độ đếm xung: mỗi khi có ngắt timer 1 thì tính tốc độ động cơ và khi đó gọi 1 hàm con để hiển thị tốc độ vừa tính được lên led 7 đoạn. em ko biết xử lý thế nào? vì khi đó phải quét cả 4 led mà gọi hàm con đó trong ngắt timer 1 thì có vấn đề gì ko. mong các anh giúp giùm em

Mình có xem qua code của bạn.Mình thấy chường chình của bạn khi biên dịch báo lỗi rất nhiều. Các lỗi chủ yếu là thiếu dấu ;. bạn cũng nên coi lại giá trị trong câu lênh set_tris_B(00b11110011);. Bạn nên chú ý, phải inlude cho đúng tên file. Bạn hãy chinh sửa, nếu bạn gặp vấn đề gì mính có thể giúp được mình sẽ giúp hết sức. Chúc bạn sớm thành công

lion 03-12-2008 07:54 PM

đây là 1 đoạn code viết cho 74hc595 :

Code:

//--------------------------------------------------------------
#define  DATA      RB7
#define  CLK        RB6
#define  STR        RB5

void display_used_74hc595(unsigned char x)
{
  unsigned char i ;
     
  for(i=0;i<8;i++)
    {
        if( bit_test(x,0) == 1 )
          {
              DATA=1 ; 
          }
        else
          {
              DATA=0 ;         
          };
        CLK=0;
        CLK=1;
       
        x = x>>1 ;   
    };
}
//--------------------------------------------------
void main(void)
{
 

  TRISA=0xff;
  TRISB=0x00;
  TRISC=0xff;
  TRISD=0xff;
 
    while(true)
      {
           
                           
             
              display_used_74hc595( 1 ) ;
             
              STR=1;
              STR=0;
         
        };
}


bien_van_khat 24-12-2008 02:54 PM

Trích:

Nguyên văn bởi picpen (Post 20250)
trích :
Code:

vấn đề thứ 2 là biến count của bạn là biến int 16 bit tức giá trị tối đa chỉ là 2^16=65536!! thì điều kiện If của bạn liệu có đúng ko??
Thực ra giá trị dương của biến " INT16 " nằm trong khoảng từ : 0 >> 2^15 = 32768
Mọi người chú ý đến phạm vi hoạt động của biến được khai báo nếu không sẽ bị tràn làm sai kết quả

int16 mặc định là signed int16, có giá trị từ -32678 đến +32767, bạn chú ý!

kimhuynguyen 25-12-2008 04:59 PM

Ccs_pcwhd4.084
 
Cho mục đích thử nghiệm:
http://www.mediafire.com/file/jtyxvz...WHD_v4.084.RAR

tallht 08-01-2009 09:45 PM

hii cho thử nghiệm là sao vậy pác?

kimhuynguyen 09-01-2009 07:32 AM

Trích:

Nguyên văn bởi tallht (Post 22040)
hii cho thử nghiệm là sao vậy pác?

Gọi là thử nghiệm vì là sử dụng c***k. Có thể phát sinh lỗi không mong muốn trong quá trình sử dụng. Nếu sử dụng bản này và phát sinh lỗi, có thể chia sẻ với mọi người.

vdtk3 10-01-2009 12:52 AM

Các bác cho em hỏi tại sao em lập trình với 16f887 trên CCS 4.068 thì khi cho nhấp nháy portb.3 và portb.2 cùng lúc nhưng chỉ có portb.3 là nhấp nháy còn portb.2 thì không ??
Thanks !!

namqn 10-01-2009 01:21 AM

Trích:

Nguyên văn bởi vdtk3 (Post 22053)
Các bác cho em hỏi tại sao em lập trình với 16f887 trên CCS 4.068 thì khi cho nhấp nháy portb.3 và portb.2 cùng lúc nhưng chỉ có portb.3 là nhấp nháy còn portb.2 thì không ??
Thanks !!

Bạn thử nghiệm trên mạch thực hay mô phỏng? Code của bạn ra sao?

Thân,

vdtk3 10-01-2009 03:30 PM

em đã thử cả trên proteus và trên mạch thật. Đây là code của em :
Code:

#include <16F887.h>
#include <DEF_887.h>
#device *=16adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use DELAY(clock=20000000)

#include <lcd.c>

void init_main(void)
  {
      //khoi tao ADC
      setup_adc(adc_clock_internal);
      setup_adc_ports(all_analog);
     
      //khoi tao pwm
      setup_timer_2(T2_DIV_BY_1,250, 1);
      setup_ccp1(ccp_pwm);
      setup_ccp2(ccp_pwm);
      //khoi tao I/O
      TRISB2 = 0;
      TRISB3 = 0;
      trisb0 = 1;
      trisd = 0x00;
      trisc = 0x00;
     
      portb = 0xff ;
  }
void main (void)
  {
      init_main();
  while (1)
      {
        rb2 = 1;
        rb3= 1;
        delay_ms(1000);
        rb2= 0 ;
        rb3 = 0;
        delay_ms(1000);
      }
  }

Thanks!!!

namqn 10-01-2009 06:07 PM

Bạn sửa lại code trong vòng while (1) của bạn thành như sau xem:
Code:

  while (1)
      {
        PORTB = PORTB | 0x0C;        //Bat cac bit RB2 va RB3
        delay_ms(1000);
        PORTB = PORTB & 0xF3;        //Tat cac bit RB2 va RB3
        delay_ms(1000);
      }

Bạn đọc thêm về hoạt động read-modify-write đã được nói đến nhiều lần trên diễn đàn, chẳng hạn ở đây:
http://www.picvietnam.com/forum/showthread.php?p=4613

Thân,

vdtk3 10-01-2009 08:06 PM

Cảm ơn bác Namqn nhiều em thử được rồi ! Mấy hôm trước em cũng viết vậy nhưng vẫn chạy bình thường, cứ tưởng là máy bị Virut cơ chứ .

namqn 10-01-2009 08:52 PM

Trích:

Nguyên văn bởi vdtk3 (Post 22069)
Cảm ơn bác Namqn nhiều em thử được rồi ! Mấy hôm trước em cũng viết vậy nhưng vẫn chạy bình thường, cứ tưởng là máy bị Virut cơ chứ .

Với tốc độ xung clock tương đối thấp, bạn có thể gặp may rằng các hiện tượng liên quan đến hoạt động read-modify-write chưa đủ mạnh để làm cho PIC của bạn chạy không đúng ý đồ.

Thân,

ga_dientu 14-01-2009 04:40 AM

Code:

#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#define led pin_B0
int16 count;
int8 a;
//Chuong trinh ngat TMR0
#int_timer0
void interrupt_timer0()
{
set_timer0(6);
++count;
if(count==2000)
  {
count=0;
a=a<<1;  // dich trai a 1bit
  }
if(a==256)
  {
a=1;
count=0;
  }
}
//Chuong trinh chinh
main()
{
set_tris_b(0);
enable_interrupts(global);
enable_interrupts(int_timer0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
set_timer0(6);
count=0;
a=1;
while(true)
  {
portb=a;
  }
}

Đây là chương trình dùng ngắt Timer0 định thời 1s của anh NHH,mong a chị giải đáp dùng em làm sao tính được thời gian định thời trong chương trình này

ga_dientu 16-01-2009 08:09 PM

Việc tính toán thời gian định thời của Timer em đã hiểu, chỉ còn vấn đề tại sao lại set_timer0 (6). Mong sớm nhận được câu trả lời .

manhha2799 16-01-2009 08:53 PM

set_timer0 (6) là để cho chương trình đếm từ bắt đầu từ số 6 chứ không phải là số 0. Tức là mỗi lần tràn là 256-6=250.

namqn 16-01-2009 09:45 PM

Trích:

Nguyên văn bởi manhha2799 (Post 22208)
set_timer0 (6) là để cho chương trình đếm từ bắt đầu từ số 6 chứ không phải là số 0. Tức là mỗi lần tràn là 256-6=200.

256 - 6 = 250!

Thân,

ga_dientu 06-02-2009 10:33 PM

Một số chương trình hiến thị LCD có viết là LCD = 0xC3 // vị trí hàng 2,cột 4//,em chưa hiểu mấy cách xác định vị trí này.

namqn 06-02-2009 10:57 PM

Trích:

Nguyên văn bởi ga_dientu (Post 22426)
Một số chương trình hiến thị LCD có viết là LCD = 0xC3 // vị trí hàng 2,cột 4//,em chưa hiểu mấy cách xác định vị trí này.

Bạn tham khảo các tutorial về các module LCD, chẳng hạn như ở đây:
http://www.winpicprog.co.uk/pic_tutorial3.htm

Để đặt con trỏ màn hình LCD ở một vị trí nào đó, bạn sẽ dùng lệnh "Set Display Address", có bit 7 mang giá trị '1' (ứng với giá trị 0x80). 7 bit thấp hơn của lệnh sẽ xác định địa chỉ cần di chuyển con trỏ đến. Thông thường, hàng 1 của LCD có địa chỉ bắt đầu là 0x00, hàng 2 của LCD có địa chỉ bắt đầu là 0x40.

Do đó, cột 4 của hàng 2 sẽ có địa chỉ là 0x43. Như vậy cần xuất lệnh 0x80 + 0x43 = 0xC3 để di chuyển đến hàng 2, cột 4.

Thân,

thaithien 05-03-2009 10:34 PM

Em lục nhưng chưa thấy link download CCS.Ai biết chỉ dùm.Cám ơn

namqn 06-03-2009 12:17 AM

Trích:

Nguyên văn bởi thaithien (Post 23261)
Em lục nhưng chưa thấy link download CCS.Ai biết chỉ dùm.Cám ơn

Bạn tìm nhầm luồng rồi, luồng dưới đây mới là chỗ để tìm link download:
http://www.picvietnam.com/forum/showthread.php?t=958

Thân,

vietanh 06-03-2009 05:54 AM

đây này bản bản 4.084 http://rapidshare.com/files/176228329/CCS_4.084.RAR
con đây la bùa chú // http://rapidshare.com/files/176409172/Key_pcwhd.exe

notbadday 08-03-2009 05:53 PM

Lỗi với khai báo #device *=16 ADC=10
 
Em đang viết chương trình sử dụng ADC 10 bit. Dùng khai báo #device *=16 ADC=10 nhưng bị báo lỗi. Đã thử ở CCS 4.057 và 4.084 nhưng đều báo lỗi (=> ko phải do phần mềm)
Đây là code của em nó:
Code:

#include <16F877A.h>
#include <stdlib.h>
#device *=16 ADC=10
#fuses XT,NOWDT,NOPROTECT,NOLVP

void main()
{
}


vietanh 08-03-2009 09:03 PM

kiêm tra lại cai ##include <stdlib.h> cua bạn co trong thư viện không . không co thi xoa dong đó di dich ok

nếu không ban phai viết nhu thế nay thi moi đúng không bao sai
#include <16F877A.h>
#device *=16 ADC=10
#fuses XT,NOWDT,NOPROTECT,NOLVP
#include <stdlib.h>
void main()
{
}

notbadday 08-03-2009 11:11 PM

Cám ơn bạn. Mình đã sửa lại được rồi. Khai báo #device ngay dưới dòng #include <16F877A.h> thì không bị báo lỗi nữa. Có lẽ CCS bắt phải theo thứ tự vậy :-/
Code:

#include <16F877A.h>
#device *=16 ADC=10
#include <stdlib.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP

void main()
{
}


lexuantien 11-03-2009 12:49 AM

Em có đoạn Code , cho led sáng tuần tự trên PORTB .Em không hiểu RTCC_DIV_
2 (chia prescaler 1:2) là gì ? Nó có tác dụng như thế nào trong Time0 , cũng như trong quá trình ngắt của đoạn Code trên.



Code:

#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#byte PORTB = 0x06

int16 count;
int8 a;
//Chuong trinh ngat TMR0
#int_timer0
void interrupt_timer0()
{
set_timer0(2);
++count;
if(count == 2000) // 2000*500us = 500000us = 1s
{
count=0;
rotate_left(&a,1);
}
}
//Chuong trinh chinh
void main(void)
{
set_tris_b(0);
enable_interrupts(int_timer0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
enable_interrupts(global);
set_timer0(2);// T_dinhthi = 2*(256 - 6)*1us = 500us
a = 0x01;

while(true)
{
PORTB = a;
}
}


mocdailam 15-03-2009 02:26 AM

Mình nhớ không nhầm thì RTCC_DIV_2 để xác định tần số sử dụng của cái TIMER0 so với tần số gốc. có thể dùng thêm RTCC_DIV_4, ..RTCC_DIV_256
mọi việc thực hiên ngắt như bình thường
với việc cho LED sáng tuần tự ở port B bạn nên dùng cái delay, rotate_right (address, bytes) ... còn nhiều cách đơn giản mà, không cần dùng TIMER

lexuantien 16-03-2009 01:57 AM

Mình đựợc biết là RTCC_DIV_2 cứ hai chu kì xung thì nó đếm một lần không biết phải không ? Mình cũng đã cho chạy thử với RTCC_DIV_4 thì thấy khi tới LED thứ 8 thì đợi thời gian lâu hơn gấp đôi rồi với quay trở lại LED đầu tiên (so với RTCC_DIV_2) . Như bạn nói là để xác định tần số sử dụng của TIMER0 so với tần số gốc bạn có thể nói rõ hơn không?

cảm ơn!

hathuc 02-04-2009 03:32 PM

chương trình thay đổi trễ
 
1 Attachment(s)
xin chào mọi người. mình có một đoạn chương trình viết cho PIC6F877a thực hiện quá trình thay đổi thời gian trễ dựa vào các phím MENU,TANG,GIAM,OK trên các chân RB0,RB1,RB2,RB3,RB4 nhưng viết chương trình và dịch ra file .hex nhưng khi nạp vào thì chương trình lại không chạy các lệnh thủ tục bên trong nó mà chỉ chạy được duy nhất một lệnh bên ngoài. Nếu ai đã từng làm về chương trình loại này thì giúp đỡ mình với. Cảm ơn nhiều. sau đây là toàn bộ chương trình

thaithien 07-04-2009 11:31 PM

Câu lệnh #use fast_io(b) mang ý nghĩa gì vậy ?

hathuc 08-04-2009 03:06 PM

Câu lệnh #use fast_io(b) để dùng cho việc thực thi các lệnh vào ra trên PortB
Ví dụ như câu lệnh set_tris_b(0b11110000); muốn thực thi được thì phải khai báo như trên trước.

ga_dientu 10-04-2009 12:25 AM

giúp em cái này
 
em có đoạn code chương trình dùng ngắt ngoài trên RB0 đếm số lần cái button được nhấn xuống, hiển thị lên led 7 đoạn (common cathode).Nếu số lần nhấn vượt quá 9, chương trình sẽ quay về hiển thị lên led từ sô1 nhu sau:

Code:

#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)
#byte portb=0x06
#byte portd=0x08
const unsigned char digital[]={0b00000110, 0b01011011, 0b01001111, 0b01100110,\
                                                0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111};
                  // ma hoa digital duoi dang mang
// Chuong trinh ngat
#int_ext
void ngat_RB0()
{
int i;
  if(i<9)
      {
      portd=digital[i];
      ++i;
      }
  if(i==9)
      {
      i=0;
      }
}
// Chuong trinh chinh
main()
{
set_tris_b(0b00000001);
set_tris_d(0);
enable_interrupts(global);
enable_interrupts(int_ext);
ext_int_edge(H_to_L);
portd=0b00111111;
while(true)
  {
}

cho em hoi khai báo portd=0b00111111 để làm gì ,

namqn 10-04-2009 12:31 AM

Trích:

Nguyên văn bởi ga_dientu (Post 24595)
em có đoạn code chương trình dùng ngắt ngoài trên RB0 đếm số lần cái button được nhấn xuống, hiển thị lên led 7 đoạn (common cathode).Nếu số lần nhấn vượt quá 9, chương trình sẽ quay về hiển thị lên led từ sô1 nhu sau:

Code:

#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)
#byte portb=0x06
#byte portd=0x08
const unsigned char digital[]={0b00000110, 0b01011011, 0b01001111, 0b01100110,\
                                                0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111};
                  // ma hoa digital duoi dang mang
// Chuong trinh ngat
#int_ext
void ngat_RB0()
{
int i;
  if(i<9)
      {
      portd=digital[i];
      ++i;
      }
  if(i==9)
      {
      i=0;
      }
}
// Chuong trinh chinh
main()
{
set_tris_b(0b00000001);
set_tris_d(0);
enable_interrupts(global);
enable_interrupts(int_ext);
ext_int_edge(H_to_L);
portd=0b00111111;
while(true)
  {
}

cho em hoi khai báo portd=0b00111111 để làm gì ,

portd = 00b00111111 là một phép gán chứ không phải khai báo. Không có sơ đồ mạch thì khó mà phân tích được phép gán này dùng để làm gì trong chương trình trên.

Thân,

ga_dientu 10-04-2009 10:19 PM

1 Attachment(s)
mấy bác giải thích dùm

ga_dientu 16-04-2009 10:56 PM

hehe, em hieu vi sao roi,thank các bác nhiu


Múi giờ GMT. Hiện tại là 11:47 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam