Nguyên văn bởi duong_act
Xem bài viết
Thông báo
Collapse
No announcement yet.
Hi-Tech PIC và CCS C
Collapse
X
-
Nguyên văn bởi octo Xem bài viếtước ao 1 lần được thực hiện bản xc pro. cho thỏa lòng cày cục bao đêm tìm thuốc mà ko được. vì giờ đã chuyển sang Mikro rùi
Code:x++; x--; if(x==3) { } for(x=0;x<100;x++) { } while(x==7) { } RB0=y;
Code:18: x++; 07D5 3001 MOVLW 0x1 07D6 00F2 MOVWF 0x72 07D7 0872 MOVF 0x72, W 07D8 07F1 ADDWF x, F 19: x--; 07D9 3001 MOVLW 0x1 07DA 02F1 SUBWF x, F 20: if(x==3) 21: { 22: } 23: for(x=0;x<100;x++) 07DB 01F1 CLRF x 07DC 3064 MOVLW 0x64 07DD 0271 SUBWF x, W 07DE 1803 BTFSC STATUS, 0x0 07DF 2FE8 GOTO 0x7E8 07E0 3001 MOVLW 0x1 07E1 00F2 MOVWF 0x72 07E2 0872 MOVF 0x72, W 07E3 07F1 ADDWF x, F 07E4 3064 MOVLW 0x64 07E5 0271 SUBWF x, W 07E6 1C03 BTFSS STATUS, 0x0 07E7 2FE0 GOTO 0x7E0 24: { 25: } 26: while(x==7) 07E8 0871 MOVF x, W 07E9 3A07 XORLW 0x7 07EA 1903 BTFSC STATUS, 0x2 07EB 2FE8 GOTO 0x7E8 27: { 28: } 29: PORTBbits.RB0=y; 07EC 3000 MOVLW 0x0 07ED 1870 BTFSC y, 0x0 07EE 3001 MOVLW 0x1 07EF 00F2 MOVWF 0x72 07F0 1283 BCF STATUS, 0x5 07F1 1303 BCF STATUS, 0x6 07F2 0806 MOVF PORTB, W 07F3 0672 XORWF 0x72, W 07F4 39FE ANDLW 0xFE 07F5 0672 XORWF 0x72, W 07F6 0086 MOVWF PORTB
Code:.................... x++; 0017: BCF 03.6 0018: INCF 20,F .................... x--; 0019: DECF 20,F .................... if(x==3) 001A: MOVF 20,W 001B: SUBLW 03 001C: BTFSS 03.2 001D: GOTO 01E .................... { .................... } .................... for(x=0;x<100;x++) 001E: CLRF 20 001F: MOVF 20,W 0020: SUBLW 63 0021: BTFSS 03.0 0022: GOTO 025 .................... { 0023: INCF 20,F 0024: GOTO 01F .................... } .................... while(x==7) 0025: MOVF 20,W 0026: SUBLW 07 0027: BTFSC 03.2 .................... { 0028: GOTO 025 .................... } .................... RB0=y; 0029: BTFSS 21.0 002A: BCF 06.0 002B: BTFSC 21.0 002C: BSF 06.0
Attached Files
Comment
-
Thông thường thì có thể nó tối ưu theo 2 hướng giữa tốc độ và độ lợi về ram và code. Với chương trình nhỏ thì cần tốc độ càng nhanh càng tốt, còn % ram, code chẳng có hữu ích gì. Nhưng nếu chương trình lớn mà cần ram, code thì 98% với lại over lại là vấn đề lớn. Việc so sánh tối ưu tố độ rất khó kiểm tra, nhưng dễ kiểm tra tối ưu ram với code. Một compiler build 50% ram/code với một compiler khác build 40% ram/code thì theo mình không thể hiện được cái nào tối ưu hơn. Vì có thể cái 50% kia chạy nhanh hơn. nhưng một cái build 90% với cái không build được (over) thì rõ ràng cái nào tối ưu hơn. Theo mình thì cứ viết code cho đến khi 1 cái over ram/code và cái khác thì build được. Lúc đó mới biết cái nào tối ưu hơn. Hoặc phải đo được tốc độ chạy của 2 code khi đã build
Comment
-
với mcu thì số chu trình , ram cố định viết đến 99% ram, 100% code cũng không hề dễ bị tràn hay treo vì làm gì có điều kiện phát sinh thêm nữa.
Tuy nhiên cẩn thận thì cũng chẳng ai viết đến hết bộ nhớ ! Cảm thấy thiếu rom , ram là phải nâng cấp chip ngay !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Nguyên văn bởi queduong Xem bài viếtvới mcu thì số chu trình , ram cố định viết đến 99% ram, 100% code cũng không hề dễ bị tràn hay treo vì làm gì có điều kiện phát sinh thêm nữa.
Tuy nhiên cẩn thận thì cũng chẳng ai viết đến hết bộ nhớ ! Cảm thấy thiếu rom , ram là phải nâng cấp chip ngay !
Comment
-
Nguyên văn bởi vuhapassall Xem bài viếtCác trình dịch tốt hay không tốt là ở chỗ này anh Dương ạ, (khi đã tối ưu hết cỡ) Với trình dịch tốt thì không cần nâng cấp chip, với trình dịch không tốt thì phải nâng cấp chip ==> phát sinh chi phíModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Nguyên văn bởi vuhapassall Xem bài viếtThông thường thì có thể nó tối ưu theo 2 hướng giữa tốc độ và độ lợi về ram và code. Với chương trình nhỏ thì cần tốc độ càng nhanh càng tốt, còn % ram, code chẳng có hữu ích gì. Nhưng nếu chương trình lớn mà cần ram, code thì 98% với lại over lại là vấn đề lớn. Việc so sánh tối ưu tố độ rất khó kiểm tra, nhưng dễ kiểm tra tối ưu ram với code. Một compiler build 50% ram/code với một compiler khác build 40% ram/code thì theo mình không thể hiện được cái nào tối ưu hơn. Vì có thể cái 50% kia chạy nhanh hơn. nhưng một cái build 90% với cái không build được (over) thì rõ ràng cái nào tối ưu hơn. Theo mình thì cứ viết code cho đến khi 1 cái over ram/code và cái khác thì build được. Lúc đó mới biết cái nào tối ưu hơn. Hoặc phải đo được tốc độ chạy của 2 code khi đã build
Comment
-
Đúng là 1 lệnh ASM là mất 1 chu kỳ máy. Nhưng số lệnh ASM chưa đã quyết định được tốc độ xử lý nhanh hay chậm...Last edited by quanghuy_125; 23-12-2013, 15:12.ĐT : 01676455880
Comment
-
Chính xác, số lệnh ASM ít hơn không có nghĩa là chạy nhanh hơn. Để hoàn thành 1 việc, không có nghĩa là số lệnh ASM ít thì ít chu kỳ máy hơn. Ví dụ như giải thuật sắp xếp thì biết. Hoặc đệ quy với không đệ quy, dùng vòng lặp và điều kiện vòng lặp, dùng các toán tử bit so với thực hiện phép toán. 1 vòng lặp vài lệnh ASM nhưng chạy cả ngàn chu kỳ máy, nhưng nếu khử vòng lặp đc bằng chục lệnh ASM thì chỉ cần hơn chục vòng máy. Đôi khi , số lệnh ASM nhiều hơn (ứng với code lớn hơn) nhưng chạy nhanh hơn.
Comment
-
Nguyên văn bởi trongbang3 Xem bài viếtcác anh cho em hỏi muốn nạp con PIC16f628A dùng mạch nạp gì vậy có phải pickit ko ? bao nhiêu $ ?
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Thì đây là 4r điên nặng điện mà, nên họ show phần điện thôi. Phần "cốt lõi" có cái tay biên chắc sang Văn Môn rồi....
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:54 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi nhathung1101Điện DC đương nhiên là khác với AC rồi. Chỉ cần biết mặt chữ là thấy khác như gà trống với gà mái mà.
Còn về bản chất, AC là dòng điện hoạt động theo tần số. Tần số càng cao thì dây dẫn càng mỏng, nhẹ, vì hiệu ứng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:46 -
-
Trả lời cho Công thức điện tửbởi nhathung1101Ăn ít => Nói nhiều.
Nói nhiều => Làm ít.
Làm ít => Vợ mắng.
Vợ mắng => Cáu nhiều.
Cáu nhiều => Ngủ ít.
Ngủ ít => Râu nhiều.
Râu nhiều =>...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 18:39 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi mèomướpDạ vài chục mét thì chú tính như vậy được ạ. Chứ chuẩn thì phải tính cả điện trở của toàn bộ chiều dài dây dẫn nhân với dòng điện xem sụt áp có trong khoảng chấp nhận đc hông ạ. Trong mạch điện tử khoảng cách ngắn và mạch...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:49 -
-
bởi vietroadTheo mình biết thì chọn dây dẫn dựa vào dòng tải. Thường thì tiết diện 1mm2 cho dòng 6A. Nhưng trong các mạch điện tử, như mạch nguồn tổ ong chẳng hạn, dòng đến vài chục Ampe mà đường mạch mỏng dính. Phải chăng điện DC nó khác với...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:19 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
29-11-2024, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
28-11-2024, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2024, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
Comment