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
-
bởi ww88vipWW88, một trong những đơn vị tiên phong trong lĩnh vực cá cược trực tuyến, tự hào mang đến cho người chơi những trải nghiệm giải trí đỉnh cao với hệ sinh thái sản phẩm đa dạng. Từ cá cược thể thao đầy kịch tính đến casino trực...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 12:46 -
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
hôm nay, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment