Nguyên văn bởi falleaf
Đố 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
-
Phần khai báo biến không được xem là dòng lệnh của PIC, nhưng các đoạn mã khởi tạo của timer, ccp, adc... thì được coi là dòng lệnh.
Tất nhiên đoạn mã quét cũng được coi là dòng lệnh.
Thực ra bây giờ F không lập trình mấy nữa, nhưng khi phamthaihoa đó cái câu đó, thì biết trước rồi, chỉ có cái là khuyên anh em không nên dùng vì đã thử. Nhưng vì là đố vui, cho nên nghĩ thêm một cách toán học, xem thử làm sao giải quyết vấn đề này tốt nhất. Sau khi giải quyết xong, thì giải quyết được luôn cái bài nút bấm của bé Trang (tất nhiên là cũng biết trước kết quả, nhưng thấy vui vui nên nhấn thêm một bước để đố mọi người). Thành thực mà nói, F vẫn không khuyên mọi người dùng các kỹ thuật này, bởi vì nó chỉ dùng dạng hobbies được thôi, chứ khi làm điều khiển, đụng vào thuật toán, tiết kiệm từng dòng lệnh là chính, và tiết kiệm những chức năng giới hạn như timer ccp, usart, i2c, can... là chính, vì nó rất giới hạn, chỉ có 1,2,3 cái gì đó (normalement), và cũng ít khi nào phải làm mấy cái trò với LED.
Ước tính sơ bộ, F viết khoảng 20 dòng kiểu đó, gợi ý rồi, và bị chú Hoa biết mánh rùi... anyway, câu đó này dành cho bé Trang là chính, vì mấy hôm nay thấy diễn đàn vui vẻ hẳn ra, như có thêm sinh khí... (mặc dù F vẫn đang nằm trên giường ôm máy tính chưa chịu dậy vì ngoài đường lạnh... thứ bảy nữa... hehhee)...Falleaf
Công ty TNHH Thương mại và Giao nhận R&P
58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
mail@falleaf.net - VP: (04) 36408561 - (08) 38119870
Comment
-
Gợi ý thêm tí nữa,
Ngõ vào là 12 bit, được viết trên 2 bytes, các bác thích viết thế nào thì viết. Nếu 6 led thì viết trên 1 byte quá dễ rồi. Chắc cần khoảng 10 dòng là xong
. Thế mới bó tay con gà quay chứ. hihihihi...
Mà gợi ý thêm luôn, thực ra không cần đến 20 dòng nếu có cái gợi ý này. Tại vì, tính đưa số lớn lớn để mọi người suy nghĩ lệch đi, nhưng mà xem ra mọi người lại thích càng ít dòng lệnh thì càng hay và càng khó suy nghĩ, cho nên thôi thì nói luôn, kết quả chỉ khoản mười mấy dòng lệnh thôi, kể cả khởi tạo tất tần tật.
Không gợi ý nữa, mai mốt trả lời luôn, nhưng chắc chỉ tối nay là mọi người nghĩ ra cả thôi.
Chúc vuiFalleaf
Công ty TNHH Thương mại và Giao nhận R&P
58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
mail@falleaf.net - VP: (04) 36408561 - (08) 38119870
Comment
-
Tóm lại là ai viết được một thủ tục mpasm quét 12 led trên 4 port ngắn nhất (tốn ít dòng lệnh nhất). Mà phải điều khiên on/off độc lập cả 12 led. Tức là 2^12 trường hợp.
Coi như chương trình chỉ làm mỗi việc này thôi.
Đầu vào là 2 byte lưu giá trị led. LED1, LED2. Thích cấu trúc dữ liệu kiểu gì là tùy mỗi người.
4 port lấy RB0-RB3 làm chuẩn đi.
Đầu ra là led sáng.Vẫn biết mỗi lần xa là một lần về lại...
Comment
-
Ko nên quy về ASM, mà quy về chuẩn passcal hoặc C là rõ ràng nhất và thuật toán nhất, hơn nữa có thể áp dụng với uC khác như AVR.
Em làm một chân chấm điểm.
Em edit lại, kẻo các anh hiểu nhầm.
Nên làm khó hơn, tổng quát hơn. Giải bài toán tổng quát N chân.(N*(N-1)LEd). Các LED độ sáng bằng nhau, dùng ngắt timer để tiết kiệm thời gianLast edited by thaithutrang; 07-01-2006, 16:31.
Comment
-
hehe,bai nay thi tuyen vao Google ma?Nguyên văn bởi qmkCó bài này hơi khó chưa nghĩ ra có bạn nào nghĩ giúp:
- Dùng thước kẻ và compa tìm một điểm mà điểm D đó tạo với tam giác ABC 3 tham giác ABD,BCD,CAD có chu vi bằng nhau.
Bác qmk khao tui đi ,tui giải cho,hồi phổ thông hình học phẳng hơi bị ...giỏi đầy.
Comment
-
Ưu tiên tính rõ ràng,khoa học,mở, speed. Giám khảo chấm có được dự thi ko nhỉ? sợ mang tiếng...
Comment
-
Chào mừng em tham gia cuộc thi luôn.Nguyên văn bởi thaithutrangKo nên quy về ASM, mà quy về chuẩn passcal hoặc C là rõ ràng nhất và thuật toán nhất, hơn nữa có thể áp dụng với uC khác như AVR.
Em làm một chân chấm điểm.
Em edit lại, kẻo các anh hiểu nhầm.
Nên làm khó hơn, tổng quát hơn. Giải bài toán tổng quát N chân.(N*(N-1)LEd). Các LED độ sáng bằng nhau, dùng ngắt timer để tiết kiệm thời gian
Ngoài ra, có thể giải C, Pascal, hoặc bất kể cái gì, vấn đề chỉ là thuật toán. Cái anh nói ở đây, chỉ đơn giản là thuật toán. Và với thuật toán đơn giản, thì chỉ viết vài dòng thôi.
Mời em tham gia với N(N-1) led. Nhưng anh lưu ý, nếu quá nhiều LED thì thực tế không sáng nổi, cái này anh Bình Anh đã tính cụ thể rồi. Nhưng không sao cả, chúng ta tạm thời bỏ qua tính hiện thực, nhằm phát triển thuật toán là chính.
Mời em cho lời giải để các anh ngắm. Bây giờ anh chấm điểm, ai đưa lời giải nhanh nhất, rõ ràng và chính xác nhất theo tiêu chí của em Trang, F tặng 1 con 16F88 cho thêm phần hào hứng.
Ngoài ra, cho phép em Trang giải bài luôn
Chào mừng em cô gái của PIC :-)
Chúc em học tốt.Falleaf
Công ty TNHH Thương mại và Giao nhận R&P
58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
mail@falleaf.net - VP: (04) 36408561 - (08) 38119870
Comment
-
-
Nếu làm như em vậy, có phải là nếu có 8 chân, thì em phải đợi đến 8*7 lần timer tràn, thì em mới điều khiển được hết toàn bộ 56 cái LED?Nguyên văn bởi thaithutrangSau 5 phút có 1 đáp án!
Điều này theo em có hợp lý không?
Như vậy, giả sử anh gọi chu kỳ nhiệm vụ của vòng quét LED là T, thì khi đó, một LED nếu bật sáng chỉ có tác dụng trong 1/56*T?
Giải pháp của em thực sự chưa tốt phải không nào?
PS. Vì sang trang khác mất rồi, cho nên anh post lại hình của em vào bài viết này để cho mọi người dễ theo dõi.
Anh chờ giải pháp tiếp theo của em!Falleaf
Công ty TNHH Thương mại và Giao nhận R&P
58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
mail@falleaf.net - VP: (04) 36408561 - (08) 38119870
Comment
-
Nghe thằng bạn nói vậy chứ không biết thông tin chi tiết,nó có nói bài toán này.Lại nghe bác qmk đố bài này nên máu hính học nổi lên. Hehe,mới vừa giải xong,bài toán này tương đương bài toán :"Dựng hình tròn tâm D tiếp xúc với 3 đường tròn tiếp xúc từng đôi với tâm tại A,B,C" .Bài toán có 2 nghiệm hình tương ứng với tiếp xúc trong và ngoàiNguyên văn bởi qmkGiải đi nhé. Tui mới làm được bài đầu.
Bác qmk cho cái trang về cuộc thi trên google đi
Comment
-
Không phải là em ko nghĩ ra cách quét = số chân(N) điều khiển.
Nhưng độ sáng phải đồng đều đó anh. Nên giải pháp xuất nhiều LED 1 lúc sẽ sinh ra hiệu ứng ko hay. Thà sáng mờ như nhau cả còn hơn là cái sáng cái mờ. Do sụt áp qua điện trở ko đều.
Comment
-
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnE nhớ bác Vivanpham làm bên điện tử y sinh, có lần đó cái sơ đồ máy chụp x quang sao có mấy con thryristor làm gì mà ko ai trả lới đúng cả
...
-
Channel: Tâm tình dân kỹ thuật
07-08-2026, 09:17 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnBác kiểm tra lại đường mạch, mối hàn xem có bị hở hoặc dẫn không tốt không?
Thay cầu diode lớn hơn càng tốt không vấn đề gì cả....-
Channel: Điện thanh
07-08-2026, 09:12 -
-
bởi LantheChào bạn.
Trục đầu ra của hộp số hành tinh xoắn ốc được kết nối với mặt bích của khách hàng thông qua một trục răng trong. Sau chưa đầy sáu tháng hoạt động, nó phát ra tiếng kêu lách cách và độ rơ lớn đáng báo động.
Việc...-
Channel: Thiết bị điện tử cá nhân
06-08-2026, 13:05 -
-
bởi ittcChào các anh em nhé, mình dự định sắp tới sẽ đi học lái xe Ôtô, thi lấy bằng lái. Cụ thể mình sẽ học và thi lấy giấy phép lái xe hạng B. Thật sự mình là người chưa có kiến thức hiểu biết gì về Ôtô cả ? tất nhiên mình sẽ phải...-
Channel: Tâm tình dân kỹ thuật
06-08-2026, 06:22 -
-
Trả lời cho Amply bị rò DC 22 voltbởi trung30000Theo sự hướng dẫn của bác, sau khi em kiểm tra tầng Vi sai sử dụng cặp c1815, tiếp đến là 1 con a1013, và cặp thúc sử dụng mje304g và mje305g, em đã tiến hành thay cặp Vi sai c1815 sau đó mở máy lên đo ngõ công suất DC 0,2V hai giây sau máy đo...-
Channel: Điện thanh
05-08-2026, 20:09 -

Comment