Nguyên văn bởi falleaf
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
-
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
-
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
-
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
-
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
-
Nguyê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
Bài viết mới nhất
Collapse
-
bởi bqvietServo cuối cùng vẫn chỉ là điều chỉnh tốc độ và đọc phản hồi vị trí
Qua cổng song song LPT cổ
https://www.electronicsforu.com/elec...eed-controller
Qua cổng USB - xem thêm đám FT232RL-
Channel: Điện tử công nghiệp
22-11-2024, 15:56 -
-
bởi thiennam0703Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
-
Channel: Điện tử công nghiệp
22-11-2024, 15:32 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi bacthoMình cũng bị như vậy mà chưa biết ở đâu
-
Channel: Vi điều khiển AVR
21-11-2024, 21:00 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi nhathung1101Câu trả lời là không dùng được.
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....-
Channel: Thiết bị điện tử cá nhân
21-11-2024, 16:20 -
-
Comment on Tổng hợp các thông tin về mạch nạp cho AVRbởi Memem
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi MememMọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
bởi mantruongepuNhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
-
Channel: Điện tử dành cho người mới bắt đầu
20-11-2024, 14:40 -
-
bởi TherulCảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
-
Channel: từ PIC tới dsPIC
20-11-2024, 07:20 -
-
Trả lời cho Em muốn hỏi mọi người về nguyên lý hoạt động, tần số của mạch công suất trong máy rửa siêu âm ạ.bởi nguyendinhvanBạn nên nghiên cứu cái chấn lưu đèn ống Compact fluorescent lamp hay đèn compact trước đã. Nó rẻ đỡ tốn kém.
Sau khi hiểu rõ rồi thì chuyển sang cái mạch này.
Ở cái chấn lưu, tần số của nó linh tinh lắm, tùy điện áp nguồn, tùy...-
Channel: Hỗ trợ học tập
19-11-2024, 22:44 -
Comment