PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 20-12-2008, 12:51 AM   #1
datk45d
Đệ tử 1 túi
 
Tham gia ngày: Feb 2008
Bài gửi: 13
:
HT PIC9.60 dịch quá chuối ?????

Mình dùng HT PIC9.60 PRO, vừa mới activate cho 45 ngày. Viết một chương trình cho 16f886, tuy nhiên sau khi biên dịch thấy chuối như sau: Nếu dùng lệnh T2CON=0x7e thì sẽ tiết kiệm được 38 word so với dùng lệnh: T2CON=(1<<TMR2ON)|(15<<TOUTPS0)|(1<<T2CKPS1); Không hiểu bản thân HT PIC chuối như vậy hay do là bản trial mà chuối như vậy. Viết cho avr bằng avrstudio đâu có mấy vụ ngớ ngẩn này nhỉ. Bác nào biết nguyên nhân xin chỉ giáo với.
datk45d vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2008, 02:22 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi datk45d View Post
Mình dùng HT PIC9.60 PRO, vừa mới activate cho 45 ngày. Viết một chương trình cho 16f886, tuy nhiên sau khi biên dịch thấy chuối như sau: Nếu dùng lệnh T2CON=0x7e thì sẽ tiết kiệm được 38 word so với dùng lệnh: T2CON=(1<<TMR2ON)|(15<<TOUTPS0)|(1<<T2CKPS1); Không hiểu bản thân HT PIC chuối như vậy hay do là bản trial mà chuối như vậy. Viết cho avr bằng avrstudio đâu có mấy vụ ngớ ngẩn này nhỉ. Bác nào biết nguyên nhân xin chỉ giáo với.
T2CON là thanh ghi 8-bit, bạn viết biểu thức đó làm cho vế phải được tính toán bằng số 16-bit, rồi mới lấy 8 bit thấp nhất của kết quả gán cho T2CON. Tất nhiên phải có sự khác nhau.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2008, 01:56 PM   #3
datk45d
Đệ tử 1 túi
 
Tham gia ngày: Feb 2008
Bài gửi: 13
:
Không, nhưng tất cả đều là hằng số được định nghĩa sẵn. Đáng ra HT phải tính ra giá trị thực rồi đưa vào biểu thức chứ. Như thế mới thuận tiện cho người viết chương trình. Bên avrstudio em thấy nó vẫn làm như thế mà.
datk45d vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2008, 04:41 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi datk45d View Post
Không, nhưng tất cả đều là hằng số được định nghĩa sẵn. Đáng ra HT phải tính ra giá trị thực rồi đưa vào biểu thức chứ. Như thế mới thuận tiện cho người viết chương trình. Bên avrstudio em thấy nó vẫn làm như thế mà.
Cách viết của bạn sẽ thích hợp nếu TMR2ON, TOUTPS0, và T2CKPS1 là các hằng số chỉ vị trí bit tương đối trong một byte (tức là có tầm trị nằm giữa 0 và 7). Tuy nhiên, các hằng số trên được định nghĩa trong HT PIC bằng địa chỉ tuyệt đối như sau:
Code:
	bit	TMR2ON		@ ((unsigned)&T2CON*8)+2;
	bit	TOUTPS0		@ ((unsigned)&T2CON*8)+3;
	bit	T2CKPS1		@ ((unsigned)&T2CON*8)+1;
Bạn đang áp đặt cách dùng của một trình biên dịch khác lên HT PIC mà không kiểm tra xem nó có thích hợp không. Bài viết của tôi ở post #2 cũng không chính xác, vì tôi đã không xem kỹ biểu thức của bạn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2008, 10:51 PM   #5
datk45d
Đệ tử 1 túi
 
Tham gia ngày: Feb 2008
Bài gửi: 13
:
Có lẽ em cứ nghĩ mặc nhiên như vậy nên tưởng HT cũng thế. Vậy trong HT có cách nào viết dạng gợi nhớ như vậy mà không tốn flash không hả bác, không nhẽ lại đi định nghĩa lại tất cả các loại tên bit, tên thanh ghi,...
datk45d vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:08 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam