Thông báo

Collapse
No announcement yet.

Đố vui về PIC, các câu đố cực vui và cực hay... hehe..

Collapse
This topic is closed.
X
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • beyeu
    replied
    Nguyên văn bởi CHIBANG
    OPTION=0;

    TRISA=0;
    PORTA=255;

    TRISB=255;

    TRISD=0b10000000;
    PORTD=255;
    .
    Em thử phát
    RA0 ko sáng
    RA4 sáng
    RB3 sáng
    Rd3 sáng
    RD7 ko sáng

    Leave a comment:


  • CHIBANG
    replied
    Gửi bác F:
    Bác mở 1 luồng mới như vậy thì tập trung hơn, chứ cái luồng này đang đố vui. Em đố 3 câu rồi, mọi người giải được rồi. Nay thêm 1 câu nữa. Em post lại cho nó mới nhé.


    Viết cho PIC16F87xA:

    OPTION=0;

    TRISA=0;
    PORTA=255;

    TRISB=255;

    TRISD=0b10000000;
    PORTD=255;


    Mắc vào chân lần lượt các chân RA0,RA4,RB3,RD3,RD7
    vào lối vào của mạch sau vào chân.

    Sau các dòng lệnh này thì LED nào sáng?
    Giả thiết tất cả các config đều đúng, chương trình đều chạy tốt.
    Mọi người ko nói nguyên nhân chỉ nói kết quả xem ai đúng nhé
    Đây là giải trí, chứ ko đánh đố, để đáp lại sự đề nghị của bác mafd_47.
    Mong bà con ủng hộ nhiệt tình

    Leave a comment:


  • CHIBANG
    replied
    Nguyên văn bởi tienvnu
    Hi! bác ơi cái này là PORTB hay PORTD???
    .
    He he.. sorry tí ti. Em vừa edit lại. Đúng như câu hỏi trên.
    Các bác đâu hết cả rồi: NOISPIC, 4MD, dsPIC, HITKHOI,tienvnu..,mafd_47, thaphuong... có ai trả lời được ko nhỉ???

    Leave a comment:


  • tienvnu
    replied
    Nguyên văn bởi CHIBANG
    TRISD=0;
    PORTB=255;
    Hi! bác ơi cái này là PORTB hay PORTD???
    Chào Anh falleaf
    Hai cấu trúc ấy em nghe rồi nhưng chưa để ý...khiếm khuyết...xin nhận đây là bài tập.

    Leave a comment:


  • falleaf
    replied
    Phải nó là anh rất mừng vì các đệ tử của bác BA đã bắt đầu có thể tự học, tự đọc và làm việc được. Điều mong muốn nhất cũng chỉ là vậy thôi.

    Anh muốn nhờ các chú một việc, không biết bác BA cho phép không nữa, nhưng cứ viết trên diễn đàn luôn vì đang hào hứng.

    Rất nhiều lần và rất nhiều người, đã tranh luận với nhau về vấn đề CISC và RISC, anh cũng đã đăng một bài về cái này, của một sinh viên anh hướng dẫn. Nhưng hình như vẫn chưa hiệu quả về chi tiết, chỉ mới đề cập dòng midrange.

    Rồi trong vấn đề về table mà anh viết, cũng là sự phân biệt giữa CISC và RISC.

    Bây giờ, có ai tổng hợp được trong trường hợp CISC và RISC, lấy con 16F877A làm chuẩn so sánh, thì các chức năng, lệnh, thuật toán, thực hiện trên nó, có những điểm lợi nào, khó khăn nào?

    Vd: Nó không thực hiện được phép nhân chẳng hạn....giải thích rõ hơn? Rồi nhiều vấn đề kiểu như vậy lắm, có ai làm được không? Để nêu được thuận lợi và khó khăn của CISC và RISC đối với vi điều khiển một cách hoàn toàn.

    Mỗi người nói một ý thôi, chúng ta sẽ có nhiều ý

    Chờ câu trả lời của các em.

    Leave a comment:


  • PPIICC
    replied
    Tui sẽ nói đáp án sau, nhưng cách của Thaphuong có vẻ chưa đúng!

    Leave a comment:


  • Thaphuong
    replied
    Nguyên văn bởi CHIBANG
    Thật là sảng khoái bởi các 3 chiêu thức trên đều bị các đệ tử của Tây Độc Au Dương BinhAnh hóa giải hết cả...




    He he.. câu hỏi khó thì tui hỏi rồi, tạm thời chưa nghĩ được câu nào hắc búa hơn. Thôi anh anh em PIC thử trả lời tạm mấy câu này vậy. Dễ hơn các câu kia. Nhưng đừng khinh thường đấy nhé.

    Sau đó khởi tạo cho PIC16F87xA:

    OPTION=0;

    TRISA=0;
    PORTA=255;

    TRISB=255;

    TRISD=0;
    PORTB=255;

    Mắc vào chân lần lượt các chân RA0,RA4,RB3,RD3,
    vào lối vào của mạch sau vào chân.

    Sau các dòng lệnh này thì LED sáng hay ko?
    Giả thiết tất cả các config đều đúng, chương trình đều chạy tốt.
    Mọi người ko nói nguyên nhân chỉ nói kết quả xem ai đúng nhé
    Đây là giải trí, chứ ko đánh đố, mong các hạ hiểu tấm lòng của mỗ.
    Khi nối vào mạch trên thì:
    Nối RA0----->LEd sáng
    Nối RA4----->Led sáng.
    Nối RB3----->Led tắt
    Nối RD3----->Led sáng
    Đúng hay sai nhỉ các huynh đệ?

    Leave a comment:


  • CHIBANG
    replied
    Thật là sảng khoái bởi các 3 chiêu thức trên đều bị các đệ tử của Tây Độc Au Dương BinhAnh hóa giải hết cả...

    Nguyên văn bởi mafd_47
    Thanks cac bac. The nay moi goi la tranh luan chu, Em da hoc hoi duoc rat nhieu dieu. Hien dang tich luy kien thuc ve Pic, bao gio du cong luc se xin cung thi giao voi cac bac

    Con bay gio de nghi bac Chi Bang dua ra vai cau hoi co ban kieu nhu ba cau hoi tren de anh em hoc hoi. Bac cu dua ra di chac chan anh em se huong un g nhiet tinh

    Day cung la mot cach giup do anh em day bac Chi Bang ah

    He he.. câu hỏi khó thì tui hỏi rồi, tạm thời chưa nghĩ được câu nào hắc búa hơn. Thôi anh anh em PIC thử trả lời tạm mấy câu này vậy. Dễ hơn các câu kia. Nhưng đừng khinh thường đấy nhé.
    Sau đó khởi tạo cho PIC16F87xA:

    OPTION=0;

    TRISA=0;
    PORTA=255;

    TRISB=255;

    TRISD=0b10000000;
    PORTD=255;

    Mắc vào chân lần lượt các chân RA0,RA4,RB3,RD3,RD7
    vào lối vào của mạch sau vào chân.

    Sau các dòng lệnh này thì LED sáng hay ko?
    Giả thiết tất cả các config đều đúng, chương trình đều chạy tốt.
    Mọi người ko nói nguyên nhân chỉ nói kết quả xem ai đúng nhé
    Đây là giải trí, chứ ko đánh đố, mong các hạ hiểu tấm lòng của mỗ.
    Last edited by CHIBANG; 16-10-2005, 20:10.

    Leave a comment:


  • mafd_47
    replied
    Nguyên văn bởi Thaphuong
    Ngoài ra còn cờ tương ứng, phải chăng bác CB nói tới cái này, em đỡ phải copy paste nhé:
    http://www.dientuvietnam.net/board/showthread.php?t=101
    Hi hi...
    Thanks cac bac. The nay moi goi la tranh luan chu, Em da hoc hoi duoc rat nhieu dieu. Hien dang tich luy kien thuc ve Pic, bao gio du cong luc se xin cung thi giao voi cac bac

    Con bay gio de nghi bac Chi Bang dua ra vai cau hoi co ban kieu nhu ba cau hoi tren de anh em hoc hoi. Bac cu dua ra di chac chan anh em se huong un g nhiet tinh

    Day cung la mot cach giup do anh em day bac Chi Bang ah

    Leave a comment:


  • Thaphuong
    replied
    Ngoài ra còn cờ tương ứng, phải chăng bác CB nói tới cái này, em đỡ phải copy paste nhé:
    http://www.dientuvietnam.net/board/showthread.php?t=101
    Hi hi...

    Leave a comment:


  • Thaphuong
    replied
    Nguyên văn bởi tienvnu
    Hi! Mình mạn phép ...
    Brown-out reset hoạt động khi config bit la BODEN ...khi đó nếu VDD xuống ở dưới một ngưỡng BVdd thì hệ thống sẽ reset...
    Khi PWRTEN được config thì kết hợp với Brown-on reset ...khi đó sau khi VDD xuống dưới ngưỡng BVDD sau cùng thì hệ thống sẽ reset sau 72ms.
    Trong chương trình thì nên config cả hai đều là ENABLE...vì sẽ có lợi lúc hệ thống bắt đầu chạy sau 72ms delay , khi đó VDD đã tăng lên 5V ổn định rồi...và cũng như thế trong quá trình chạy của hệ thống nếu VDD đột ngột giảm. (Cụ thể thế nào bạn có thể đọc thêm datasheet của nó...giống mình nè hô hô)
    -Còn đối với chế độ sleep như bạn nói ở trên thì quá tốt rồi...trong điều kiện VN hay mất điện hu hu...Nhưng mình chú ý bạn với trường hợp Thức bằng watdog ...tức là thời gian thức là các điểm xác định =72ms*prescale...Và trong chương trình thì hay dùng timer thì việc dùng chung prescale của các bộ này là rất phiền...Nếu mình dùng timer1 để đánh thức, thì lúc đó kiểm soát được thời gian ngủ...nhưng có một vấn đề là khi đó nếu WDTEN thì cả WDTEN và ngắt timer1(hoặc nguồn ngắt khác chẳng hạn) đều có thể làm thức hệ thống...lúc đó mình phải chú ý để kiểm soát việc thức, ngủ của PIC.
    mới nghe qua anh BA giảng ko biết có đúng kông! (Choáng...Anh BA lúc nào cũng hỏi có hiểu không em...làm như mình ngốc lắm... )
    Chúc bạn ngày chủ nhật vui!
    Đa tạ, đa tạ... ko hiểu huynh đài là một trong các cao nhân trong bang phái PIC 01 chăng? có lẽ nằm trong An Nam Thât Quái: Dũng, Ngọc, PTHòa , Đoàn... có khi là Viẹt Nữ kiếm VA cũng nên... .
    Em nghiễn ngẫm thì quả đứng như lời đại hiệp nói. Nhưng có có một số đính chính nho nhỏ sau, mong các đại hiệp chỉ giáo đúng sai:
    +Nói riêng PIC thì prescale của timer 1 và WD là tách bạch, chỉ có bọ prescale của Timer0 và WD là dùng chung.
    +Việc kiểm soát thức thì theo bang chủ: Âu Dương Bình Anh lúc giảng là: nguyên nhân thức khỏi SLEEP() gồm: reset cứng(do bật nguồn, do BOR, do ấn vào nút reset), do Ngắt, do Watchdog. Việc phân biệt giữa thức do WD và Ngắt thì đơn giản vô cùng. Vì khi thức do WD thì nó tiếp tục chạy, nhưng do ngắt(T1 chẳng hạn) thì nó nhảy ngay vào hàm ngắt. Vậy là biết ngay, ngoài ra còn kiểm tra cờ ngắt trong hàm ngắt nên còn biết đích xác ngắt nào là nguyên nhân gây thoát khỏi Sleep.

    Leave a comment:


  • tienvnu
    replied
    Nguyên văn bởi Thaphuong
    Câu 1 về WD mềm, cứng :thì đại đệ tử Phạm Thái Hòa đã trả lời khá đầy đủ rồi.
    Em xin sư phụ trả lời câu 3:
    Câu 3:Sleep+WD.
    -Nếu khi đã enable WD, nếu ko kịp CLRWDT() trong thời gian WD thì bộ định thời WD sẽ reset uC. Tuy nhiên trong chế độ SLEEP(), thì bộ định thời WD sẽ ko reset uC mà chỉ đánh thức uC khỏi SLEEP() mode. Điều này rất hay bởi có thể dùng chung được chế độ SLEEP(cần thiết khi tiết kiệm năng lượng trong các ứng dụng dùng PIN) và Watchdog(nâng cao tính tin cậy của hệ thống).

    Mong các huynh đệ trong lớp PIC 01 trả lời câu 2 cho em với, sư phụ có nói qua rồi, nhưng em chưa hiêu sâu sắc lắm.

    Câu này nè:
    Hi! Mình mạn phép ...
    Brown-out reset hoạt động khi config bit la BODEN ...khi đó nếu VDD xuống ở dưới một ngưỡng BVdd thì hệ thống sẽ reset...
    Khi PWRTEN được config thì kết hợp với Brown-on reset ...khi đó sau khi VDD xuống dưới ngưỡng BVDD sau cùng thì hệ thống sẽ reset sau 72ms.
    Trong chương trình thì nên config cả hai đều là ENABLE...vì sẽ có lợi lúc hệ thống bắt đầu chạy sau 72ms delay , khi đó VDD đã tăng lên 5V ổn định rồi...và cũng như thế trong quá trình chạy của hệ thống nếu VDD đột ngột giảm. (Cụ thể thế nào bạn có thể đọc thêm datasheet của nó...giống mình nè hô hô)
    -Còn đối với chế độ sleep như bạn nói ở trên thì quá tốt rồi...trong điều kiện VN hay mất điện hu hu...Nhưng mình chú ý bạn với trường hợp Thức bằng watdog ...tức là thời gian thức là các điểm xác định =72ms*prescale...Và trong chương trình thì hay dùng timer thì việc dùng chung prescale của các bộ này là rất phiền...Nếu mình dùng timer1 để đánh thức, thì lúc đó kiểm soát được thời gian ngủ...nhưng có một vấn đề là khi đó nếu WDTEN thì cả WDTEN và ngắt timer1(hoặc nguồn ngắt khác chẳng hạn) đều có thể làm thức hệ thống...lúc đó mình phải chú ý để kiểm soát việc thức, ngủ của PIC.
    mới nghe qua anh BA giảng ko biết có đúng kông! (Choáng...Anh BA lúc nào cũng hỏi có hiểu không em...làm như mình ngốc lắm... )
    Chúc bạn ngày chủ nhật vui!

    Leave a comment:


  • Thaphuong
    replied
    Nguyên văn bởi BinhAnh
    Bạn CB đưa ra câu hỏi rất hay, lớp PIC 01 tại Hà Nội những ai trả lời được nhỉ?
    Câu 1 về WD mềm, cứng :thì đại đệ tử Phạm Thái Hòa đã trả lời khá đầy đủ rồi.
    Em xin sư phụ trả lời câu 3:
    Câu 3:Sleep+WD.
    -Nếu khi đã enable WD, nếu ko kịp CLRWDT() trong thời gian WD thì bộ định thời WD sẽ reset uC. Tuy nhiên trong chế độ SLEEP(), thì bộ định thời WD sẽ ko reset uC mà chỉ đánh thức uC khỏi SLEEP() mode. Điều này rất hay bởi có thể dùng chung được chế độ SLEEP(cần thiết khi tiết kiệm năng lượng trong các ứng dụng dùng PIN) và Watchdog(nâng cao tính tin cậy của hệ thống).

    Mong các huynh đệ trong lớp PIC 01 trả lời câu 2 cho em với, sư phụ có nói qua rồi, nhưng em chưa hiêu sâu sắc lắm.

    Câu này nè:
    2- Vdk nay thường có kiểu config phần cứng:Brown-out Reset,Power-up Timer để làm gì? ngoài ra có cờ mềm tương ứng với nó thì để làm gì?

    Leave a comment:


  • Đố vui về PIC, các câu đố cực vui và cực hay... hehe..

    Đố vui....
    Last edited by falleaf; 26-11-2005, 12:38.

Về tác giả

Collapse

CHIBANG Tìm hiểu thêm về CHIBANG

Bài viết mới nhất

Collapse

Đang tải...
X