Em đang có ý định dùng ARM LPC2148(phillip) để điều khiển GLCD 128x64 (KS0108) nhưng chưa biết phải làm thế nào .Bác nào biết chỉ giáo giúp em ( Có code luôn thì tốt quá) . Thanks!
Thông báo
Collapse
No announcement yet.
Thảo luận về ARM LPC 2138/2148
Collapse
X
-
Nguyên văn bởi hbaocr Xem bài viếtBác trongnghia85 có thi NXP contest hả?Bác lấy 5 chip LPC2000 để bán sao????Sao ko để mà làm!
tiep đây là 1 chương trình
http://f1.grp.yahoofs.com/v1/EMtjSIp...g/baudcalc.zip
đây la chuong trinh tinh toán để nap gia vao cac thanh ghi control UART của LPC2000 để có tốc độ baud fu hop thiet ke
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtMình vẫn tiếp tục làm dự án NXP đấy chứ ,nhưng mình thấy ứng dụng của mình chỉ cần con LPC2148 thôi là đủ ,loại LPC2378 nhiều chân quá vừa khó thiết kế mạch vừa khó hàn do vậy mình mới để lại cho các bạn có nhu cầu dùng .
Công Ty NXP chúng tôi rất hoan nghênh khi bạn tham gia cuộc thi Thiết kế MCU. Đề tài "ỨNG DỤNG CÔNG NGHỆ GPS TRONG VIỆC CHẾ TẠO THIẾT BỊ ĐỊNH VỊ PHỤC VỤ TÀU THUYỀN ĐÁNH BẮT XA BỜ" được các chuyên gia của chúng tôi đánh giá rất cao. Hi vọng bạn có thể hoàn thành dự án để tranh tài với các đội trong khu vực vào tháng 9/2008. Về việc ứng dụng của bạn cảm thấy không cần thiết sử dụng LPC2378, bạn có thể liện hệ đơn vị phân phối chip để đổi lại LPC2148 (công ty Vijatech). chúng tôi hi vọng có thể giúp bạn hoàn thành sản phẩm một cách tốt nhất. Chân trọng cám ơn.Challenges are chances!
Comment
-
Mình có làm 1 hàm Delay_uS đơn giản có thể delay khá chính xác từ 100us trở lên, nếu thời gian chờ là ms thì sai số rất nhỏ, hàm này có thể xài trong các ứng dụng không cần delay cực kỳ chính xác, ví dụ như dùng cho LCD chẳng hạn. Hàm này hoạt động ở xung CCLK = 60MHz. Mình đã test thử, khi delay 5ms thì sai số là 0.00027ms.
void Delay_uS (DWORD uS);
{
DWORD i = uS * 12;
while (i--);
}
Khi muốn delay 5ms thì gọi hàm Delay_uS (5000);
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtTui thấy cái thread này buồn buồn thế nào ấy ,cái dòng này ít dùng nên khi động vào gặp rất nhiều khó khăn thế mà post bài hỏi thì chả thấy ai chả lời cả.Buồn...........!Last edited by tuansoibk; 24-07-2008, 23:52.
Comment
-
hic,mình cũng đang Busy lắm đang đau đầu với con 2148....code viet debug bằng JLINK trên Eclipse codesourcesery toolchain tự động reset JTAG hoài ah thứ 6 này là deadline phải release cho sếp rồi!đáng nghiên cứu cái BIG BUG đó!hic các bác thông cảm!Đề tài NXP của em còn làm chưa xong nữa nè!sory các bác nhiều!mà các bác cũng phải pót bài lên share kiến thức cho anh em!
Chứ em thấy way đi quẩn lại chỉ có bác Nghĩa(trọng nghĩa --hunter_pro) hỏi!hic nếu em biết thì em trả lời!nếu không thì ngu luôn chẳng biết sao nữa!
mọi người tham ja cùng đóng góp chứ!chứ để 1 mình em pót bài thế này nhiều khi cũng chán!
Bác Nghĩa đề tài ứng dụng GPS trong đánh bắt cá xa bờ của bác tới đâu rồi! còn cái vụ GLCD KIs108 với LPC2138 em đã pót vd lên trên hethongnhung.com rồi mà!sao bác không chia sẽ kinh nghiệm với anh em!
so sorry các pác!vài hôm nữa em rãnh sẽ pót tiếp bài về cách sử dụng SPI và điều khiển GLCD PCF8833Last edited by hbaocr; 25-07-2008, 08:37.
Comment
-
Em thì mới chỉ là 1 newbie thôi, từ lúc tìm hiểu con 8051 tới giờ được nửa năm nên cũng chưa biết gì nhiều, chủ yếu là học hỏi kinh nghiệm thôi. Thấy bác Bảo nói thể, em đọc lại trên này thấy chưa có ai post phần PWM và code (cả timer và PWM) nên em mạo muội post lên, đây là phần cơ bản thôi (vì em còn gà mà!) bác nào có ý kiến gì thì góp ý cho em với nhé.
Bộ tạo xung PWM được thiết kế dựa trên bộ Timer/Counter, hoạt động theo xung PCLK. Nguyên tắc hoạt động dựa trên các Match events của 7 match register. Có 2 loại xung:
- Single Edge: tất cả các xung đều được set lên 1 ngay khi bắt đầu 1 xung PWM, xung được set về 0 khi giá trị của timer counter bằng với giá trị của 1 trong các Match register 1-6. Có thể có tối đa 6 xung Single Edge đồng thời, tất cả các xung đều có cùng tần số được điểu khiển bởi Match register 0 (khi giá trị của timer counter bằng giá trị trong Match register 0 thì kết thúc 1 xung PWM và bắt đầu 1 xung mới).
- Double Edge: các xung được set bằng 0 khi bắt đầu 1 xung PWM, được set lên 1 bằng 1 Match register và set về 0 bằng 1 Match register khác. Các xung double edge cũng có tần số được điều khiển bởi Match register 0.
Bảng các kênh PWM:
Kênh Single Edge Double Edge
Set by Reset by Set by Reset by
1 Match 0 Match 1 - -
2 Match 0 Match 2 Match 1 Match 2
3 Match 0 Match 3 Match 2 Match 3
4 Match 0 Match 4 Match 3 Match 4
5 Match 0 Match 5 Match 4 Match 5
6 Match 0 Match 6 Match 5 Match 6
Ta có thể thấy có tối đa 3 xung double edge đồng thời (kênh 2, 4 & 6) có thể được điều khiển độc lập bằng 7 Match register.
Các thanh ghi điều khiển PWM:
• PWM Interrupt Register (PWMIR):
Khi xảy ra ngắt do 1 kênh PWM (xảy ra match trên các Match registers) thì bit tương ứng trong PWMIR sẽ được set lên 1. Sau khi xảy ra ngắt phải ghi 1 vào bit đó để xóa cờ ngắt (tương tự T0IR & T1IR).
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 PWM0_Int cờ ngắt PWM kênh 0 0
1 PWM1_Int cờ ngắt PWM kênh 1 0
2 PWM2_Int cờ ngắt PWM kênh 2 0
3 PWM3_Int cờ ngắt PWM kênh 3 0
7:4 - Reserved n/a
8 PWM4_Int cờ ngắt PWM kênh 4 0
9 PWM5_Int cờ ngắt PWM kênh 5 0
10 PWM6_Int cờ ngắt PWM kênh 6 0
15:11 - Reserved n/a
• PWM Timer Control Register (PWMTCR):
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 Counter Enable 0: disable Counter,1: enable Counter 0
1 Counter Reset khi bit này bằng 1, TC và PC được Reset. 0
tình trạng Reset được giứ nguyên tới khi
bit Counter Enable = 0.
2 - Reserved n/a
3 PWM Enable 0: disable PWM, 1: enable PWM 0
7:4 - Reserved n/a
• PWM Timer Counter (PWMTC):
Tương tự T0TC & T1TC.
• PWM Prescale Register (PWMPR):
Tương tự T0PR & T1PR.
• PWM Prescale Counter (PWMPC):
Tương tự T0PC & T1PC.
• PWM Match Register (PWMMR0-6):
Tương tự các Match register của Timer, khi xảy ra match trên các thanh ghi PWMMR0-6 ta có thể cho dừng timer, reset hoặc yêu cầu ngắt.
• PWM Match Control Register (PWMMCR):
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 PWMMR0I 1: ngắt khi PWMTC = PWMMR0 (match 0) 0
1 PWMMR0R 1: reset timer khi match 0 0
2 PWMMR0S 1: dừng timer khi match 0 0
20:3 tương tự cho PWMMR1-6 0
31:21 - Reserved n/a
• PWM Control Register (PWMPCR):
Kích hoạt và chọn loại xung trên các kênh PWM.
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
1:0 - Reserved n/a
2 PWMSEL2 0: xung PWM2 là xung single edge 0
----------- 1: xung PWM2 là xung double edge
6:3 tương tự cho các xung PWM3-6 0
8:7 - Reserved n/a
9 PWMENA1 0: disable PWM1 0
----------- 1: enable PWM1
14:10 tương tự cho PWM6-2 0
15 - Reserved n/a
• PWM Latch Enable Register (PWMLER):
Khi ghi lên các thanh ghi PWMMR0-6, dữ liệu được lưu giữ trong các shadow register. Khi xảy ra match 0 (bắt đầu 1 xung PWM), dữ liệu đó chỉ được ghi lên các thanh ghi PWMMR0-6 khi các bit tương ứng trong PWMLER được set bằng 1, xung PWM mới sẽ hoạt động dựa trên các giá trị mới. Nếu xảy ra việc chuyển giá trị từ các shadow register sang các match register thì các bit tương ứng trong PWMLER sẽ được xóa tự động.
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
6:0 các bit tương ứng cho PWMMR0-6 0
7 - Reserved n/a
Đây là code em viết trên Realview, chương trình dùng để tạo 1 xung 500Hz từ 3 nguồn: PWM1, PWM3 và MAT0.0 (xung trên PWM1 va MAT0.0 co duty cycle là 50%, CCLK =60MHz, PCLK = 15MHz)
#include "LPC214x.h"
int main (void)
{
PINSEL0 = 0x8A;
// P0.0: PWM1, P0.1: PWM3, P0.3: MAT0.0
T0EMR = 0x30;
T0MCR = 2;
T0MR0 = 14999;
// dao gia tri tren chan MAT0.0
PWMPCR = (1 << 3) | (1 << 9) | (1 << 11);
// PWM1: single edge, PWM3: double edge, enable PWM1 & PWM3
PWMMCR = 2;
PWMMR0 = 29999;
PWMMR1 = 14999;
PWMMR2 = 4999;
PWMMR3 = 9999;
T0TCR = 1;
// enable timer 0
PWMTCR = 9;
// enable counter va PWM
while (1);
}Last edited by tuansoibk; 25-07-2008, 10:46.
Comment
-
Bác Bảo chỉ em cách đưa bài viết vô 1 cái khung kéo lên kéo xuống được như của bác với (đưa vào cái khung có chữ code ấy), viết thế này dài quá, lại bị mất cái khoảng trắng nên hơi khó chịu.
cheer!
Comment
-
GLCD KIS107 for ARM LPC2000
hi vọng là nó giúp các bác nhiều!Attached Files
Comment
-
Tui thấy hơi lạ cuộc thi của NXP có đến hơn 50 đội tham gia mà chẳng thấy ai thắc mắc hay gặp khó khăn post bài lên hỏi gì cả,toàn thấy tui hỏi thui ,chắc các bác đều nắm chắc dòng vi điều khiển này rồi hay sao ấy .Tui thì mới làm quen kiến thức gần như Zero động vào đâu cũng khó khăn , do vậy các bác thông cảm giúp đỡ dùm .
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtTui thấy hơi lạ cuộc thi của NXP có đến hơn 50 đội tham gia mà chẳng thấy ai thắc mắc hay gặp khó khăn post bài lên hỏi gì cả,toàn thấy tui hỏi thui ,chắc các bác đều nắm chắc dòng vi điều khiển này rồi hay sao ấy .Tui thì mới làm quen kiến thức gần như Zero động vào đâu cũng khó khăn , do vậy các bác thông cảm giúp đỡ dùm .
Hôm trước mình kiếm datasheet của LPC2148 cũng khá vất vả, search nó ra cái gì đâu không, nên hôm nay post lên cho anh em ai có nhu cầu và chưa kiếm ra sử dụng.Attached FilesDiễn đàn Vi điều khiển:
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
-
bởi Manh.n.trCác bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
-
Channel: Kỹ thuật điện tử tương tự
13-12-2024, 20:46 -
-
Trả lời cho hỏi về thiết kế mạch tuần tự trên proteusbởi Hatruong1309
-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
-
bởi Hatruong1309Cho e hỏi là phần chân X thì nối cái j thì mạch mới chạy được ạ và kiểm tra đúng sai kiểu j ạ
Đề bài thiết kế mạch dãy đồng bộ nhận biết dãy tín hiệu vào ở dạng nhị phân được đưa liên tiếp ở đầu vào X và được đồng...-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
Comment