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

  • CHIBANG
    replied
    Hôm qua sinh nhật PIC bang, thế mà tại hạ không hề biết. Vậy cáo lỗi với đồng đạo PIC bang một câu đố:
    Với PIC12/16, hãy tạo một module phần mềm đếm thời gian sao cho đảm bảo các yếu tố sau:
    1-Không dùng thêm thạch anh ngoài thạch anh dao động của chủ.
    2-Còn sai số hiển thị có thể lớn hơn tẹo, nhưng sai số tích lũy coi như gần bằng sai số của thạch anh. Nghĩa là đếm cả năm cũng ko gây sai số đáng kể.
    3-Chương trình có thể có nhiều ngắt
    Xin mời quý vị thưởng thức

    Leave a comment:


  • Newbiebk
    replied
    Có một bài toán cụ thể tại:
    http://www.picvietnam.com/forum/show...p?t=238&page=5
    Em cũng chưa hiểu ,bác nào giải thích hộ cho Newbie như em với

    Leave a comment:


  • CHIBANG
    replied
    Về kỹ thuật về timer tạo ngắt ngoài, có nhiều cách đó bác. Xin nói ra cho bác thưởng thức luôn:
    Cách 1: như bác nói, nạp 1 timer giá trị 65535 với Timer 16 bit, 255 với 8 bit.. rồi dùng ngắt.Ý tưởng trên lấy từ appnote của Cypress.
    Cách 2: dùng ngắt theo sườn sử dụng Capture(dính dáng đến timer).
    Cách 3: một số uC như 89 có chân cho clk enable timer(nhớ ko nhầm thì vậy), vậy khi lên mức tích cực, sẽ cho phép timer hoạt động, chọn chế độ nguồn clk trong cho timer sẽ được thôi.

    Bác có cái gì hay hay thử phát xem nào

    Leave a comment:


  • minhpic1
    replied
    Vấn đề tạo thêm ngắt ngoài cho pic mình cũng đã nghĩ đến, có điều phải nghĩ đến nhứcac bác thì em đây chịu. Nhân tiện em xin đóng góp có một cách mà em đã làm trong công việc của mình đó là Biến TIMER thành ngắt ngoài, các bác nghĩ thế nào khi cho Timer hoạt động trong chế độ counter và lúc này là cần phải đặt các thanh ghi Timer tương ứng để khi có một gõ vào là...Chắc chắn là được!

    Leave a comment:


  • qmk
    replied
    Nguyên văn bởi thaithutrang
    Vì lý do: nếu dùng 1 con CPLD hay FPGA để làm như vậy thì nên nghĩ tới: dùng luôn nó để thay thế luôn cả uC
    Hihi, chính xác đấy có thể làm thế đc. Nhưng phải tương đối nhiều gate lúc đấy lại liên quan đến giá thành rồi.

    Leave a comment:


  • thaithutrang
    replied
    Nguyên văn bởi qmk
    Sao lại không khả thi gal cũng khá nhiều cổng.
    Ai bảo CPLD với FPGA đắt nhỉ.... không hơn đống IC số đâu
    Vì lý do: nếu dùng 1 con CPLD hay FPGA để làm như vậy thì nên nghĩ tới: dùng luôn nó để thay thế luôn cả uC

    Leave a comment:


  • qmk
    replied
    Nguyên văn bởi falleaf
    Vẫn chưa thấy các bác nói cho biết thời gian ngắt là bao nhiêu, xin tính bằng flop của uC nhé.

    Theo F hiểu thì đơn giản thôi, thay vì dùng song song thì mọi người cố gắng chuyển thành nối tiếp. Tăng tốc độ tối đa lên thì cái quan trọng ở đây F cần biết là tốc độ xử lý ngắt là bao nhiêu, chuyện mạch điện cứng hay mềm chẳng quan trọng. Nguyên tắc chúng ta có N bits và có m dây trong đó m < N, và đạt đến nhỏ nhất.

    Đơn giản vậy thôi. Bác fix cho cái vấn đề bác nói là bao nhiêu flop, ngoài ra, bác fix luôn giá thành làm cái đó. F ra giá cho số cổng là 100 cổng ngắt. Ai ra giá này cao hơn F không? Ngoài ra, giá flop và giá thành sản phẩm thì F chưa thấy đề bài đề cập.



    Chúc vui.
    Nhìn từ góc độ ứng dụng ra để biết chứ sao...
    Có ngắt thì sẽ Flex hơn là quét.
    Giá thành đóng vai trò gì ở đây nhỉ là một bài toán đố.
    Giá là chủ quan còn tính đến nhiều yếu tố khác nữa.
    Liệu 10 con IC số giá bé hơn một con IC dán nhưng về nguồn điện, kích thước mạch, độ phức tạp PCB có bù lại không.

    Leave a comment:


  • qmk
    replied
    Nguyên văn bởi thaithutrang
    Dùng thêm GAL thì đụng đến vài lệnh lập trình, mà nhiều cổng vecter ngắt như vậy thì dùng CPLD mới đủ. Nghe chừng ko khả thi lắm
    Sao lại không khả thi gal cũng khá nhiều cổng.
    Ai bảo CPLD với FPGA đắt nhỉ.... không hơn đống IC số đâu

    Leave a comment:


  • falleaf
    replied
    Vẫn chưa thấy các bác nói cho biết thời gian ngắt là bao nhiêu, xin tính bằng flop của uC nhé.

    Theo F hiểu thì đơn giản thôi, thay vì dùng song song thì mọi người cố gắng chuyển thành nối tiếp. Tăng tốc độ tối đa lên thì cái quan trọng ở đây F cần biết là tốc độ xử lý ngắt là bao nhiêu, chuyện mạch điện cứng hay mềm chẳng quan trọng. Nguyên tắc chúng ta có N bits và có m dây trong đó m < N, và đạt đến nhỏ nhất.

    Đơn giản vậy thôi. Bác fix cho cái vấn đề bác nói là bao nhiêu flop, ngoài ra, bác fix luôn giá thành làm cái đó. F ra giá cho số cổng là 100 cổng ngắt. Ai ra giá này cao hơn F không? Ngoài ra, giá flop và giá thành sản phẩm thì F chưa thấy đề bài đề cập.



    Chúc vui.

    Leave a comment:


  • thaithutrang
    replied
    Dùng thêm GAL thì đụng đến vài lệnh lập trình, mà nhiều cổng vecter ngắt như vậy thì dùng CPLD mới đủ. Nghe chừng ko khả thi lắm

    Leave a comment:


  • thaithutrang
    replied
    Hihi.. nếu 2^N-->N đường thì rất khó khả thi

    Leave a comment:


  • qmk
    replied
    Còn cách này nữa... Dùng thêm GAL

    Leave a comment:


  • CHIBANG
    replied
    Nguyên văn bởi KHHGD
    Và tất nhiên mạch Encoder cần phải làm là Encoder có ưu tiên !!!
    Nếu bác làm được cái mạch này = IC số chắc phải tương hơn một tá con IC số.
    Ngoài ra còn bỏ sót trường hợp cho ngắt ưu tiên thấp hơn.
    Nói chung, cách của bác ko chút khả thi.

    Leave a comment:


  • MicroDuyphi
    replied
    Làm gì có chuyện ưu tiên ở đây! Dù bao nhiêu phím cũng chỉ có 1 ngắt thôi mà.
    Ưu tiên hay không là tùy mình lập trình thôi (check những phím nào trước, cái nào sau).
    Còn về thời gian sẽ là như nhau cho tất cả dù ít hay nhiều phím:
    Kể từ khi có ngắt đến khi xác định được nguồn báo ngắt và gọi chương trình phục vụ ngắt
    Vậy thì làm sao ngắn hơn được.
    Nếu bảo cho đến khi hoàn xong ngắt may ra còn suy nghĩ một chút. Chứ công đoạn trên tất cả điều mất một thời gian như nhau cả.

    Leave a comment:


  • thaithutrang
    replied
    Còn việc mã hóa 2^N đường(1 lúc chỉ được 1 kênh) thành N đường thì kiến thức cơ bản rồi. Có lẽ câu này ko nên đưa vào đây

    Leave a comment:

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