lập trình psoc

30
Tài liệu lập trình 1.Tổng quan Chip Psoc PSoC là một từ viết tắt của cụm từ tiếng anh Programmable System on Chip, nghĩa là hệ thống khả trình trên một chíp. Các chíp chế tạo theo công nghệ PSoC cho phép thay đổi đuợc cấu hình đơn giản bằng cách gán chức năng cho các khối tài nguyên có sẵn trên chíp. Hơn nữa nó còn có thể kết nối tuơng đối mềm dẻo các khối chức năng với nhau hoặc giữa các khối chức năng với các cổng vào ra. Chính vì vậy mà PSoC có thể thay thế cho rất nhiều chức năng nền của một số hệ thống cơ bản chỉ bằng một đơn chíp. Thành phần của chíp PSoC bao gồm các khối ngoại vi số và tuơng tự có thể cấu hình được, một bộ vi xử lý 8 bit, bộ nhớ chương trình (EEROM) có thể lập trình được và bộ nhớ RAM khá lớn. Để lập trình hệ thống, người sử dụng được cung cấp một phần mềm lập trình, ví dụ như cho các chíp PSoC của Cypress người lập trình phải có phần mềm PSoC Designer. Ngoài ra để cài được chương trình điều khiển vào chíp thì người lập trình phải có một kit phát triển do hãng chế tạo chip cung cấp (hoặc một bộ nạp). Phần mềm thiết kế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hóa. Mỗi khối chức năng là một module mềm. Việc lập cấu hình cho chíp như thế nào là tùy thuộc vào người lập trình thông qua một số thư viện chuẩn. Người lập trình thiết lập cấu hình trên chíp chỉ đơn giản bằng cách muốn chíp có những chức năng gì thi kéo chức năng đó và thả vào khối tài nguyên số hoặc tương tự, hoặc cả hai tùy theo từng chức năng (Phương pháp lập trình kéo thả). Việc thiết lập ngắt trên chân nào, loại ngắt là gì, các chân vào ra được

Upload: tuandt21415

Post on 18-Jun-2015

1.903 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Lập trình psoc

Tài liệu lập trình

1.Tổng quan Chip PsocPSoC là một từ viết tắt của cụm từ tiếng anh Programmable System on Chip, nghĩalà hệ thống khả trình trên một chíp. Các chíp chế tạo theo công nghệ PSoC cho phép thayđổi đuợc cấu hình đơn giản bằng cách gán chức năng cho các khối tài nguyên có sẵn trênchíp. Hơn nữa nó còn có thể kết nối tuơng đối mềm dẻo các khối chức năng với nhauhoặc giữa các khối chức năng với các cổng vào ra. Chính vì vậy mà PSoC có thể thay thếcho rất nhiều chức năng nền của một số hệ thống cơ bản chỉ bằng một đơn chíp. Thànhphần của chíp PSoC bao gồm các khối ngoại vi số và tuơng tự có thể cấu hình được, mộtbộ vi xử lý 8 bit, bộ nhớ chương trình (EEROM) có thể lập trình được và bộ nhớ RAMkhá lớn. Để lập trình hệ thống, người sử dụng được cung cấp một phần mềm lập trình, vídụ như cho các chíp PSoC của Cypress người lập trình phải có phần mềm PSoCDesigner. Ngoài ra để cài được chương trình điều khiển vào chíp thì người lập trình phảicó một kit phát triển do hãng chế tạo chip cung cấp (hoặc một bộ nạp). Phần mềm thiếtkế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hóa. Mỗi khối chứcnăng là một module mềm. Việc lập cấu hình cho chíp như thế nào là tùy thuộc vào ngườilập trình thông qua một số thư viện chuẩn. Người lập trình thiết lập cấu hình trên chíp chỉđơn giản bằng cách muốn chíp có những chức năng gì thi kéo chức năng đó và thả vàokhối tài nguyên số hoặc tương tự, hoặc cả hai tùy theo từng chức năng (Phương pháp lậptrình kéo thả). Việc thiết lập ngắt trên chân nào, loại ngắt là gì, các chân vào ra đượchoạt động ở chế độ như thế nào đều tùy thuộc vào việc thiết lập của người lập trình khithiết kế và lập trình cho PSoC. Với khả năng đặt cấu hình mạnh mẽ này, một thiết bị điềukhiển, đo lường có thể được gói gọn trên một chip duy nhất. Chính vì lý do đó, hãngCypress MicroSystems đã không gọi sản phẩm của mình là vi điều khiển (àC) nhưtruyền thống, mà gọi là “thiết bị PSoC” (PSoC device), và họ hy vọng rằng, với khả năngđặt cấu hình mạnh mẽ, người sử dụng sẽ có được những thiết bị điều khiển, những thiếtbị đo có giá rẻ, kích thước nhỏ gọn, và sản phẩm PSoC của họ sẽ thay thế được các thiếtbị dựa trên vi xử lý hoặc vi điều khiển đã có từ trước đến nay.Chíp PSoC (CY8C27xxx) cung cấp:• Bộ vi xử lý với cấu trúc Harvard.

Tốc độ của bộ vi xử lý lên đến 24 MHz Lệnh nhân 8 bit x 8 bit, thanh ghi tích lũy là 32 bit Hoạt động ở tốc độ cao mà năng lượng tiêu hao ít Dải điện áp hoạt động từ 3.0 tới 5.25V Điện áp hoạt động có thể giảm xuống 1.0 V sử dụng chế độ kích điện áp Hoạt động trong dải nhiệt độ ư400C đến 850C.

• Các khối ngoại vi có thể được sử dụng độc lập hoặc kết hợp 12 khối ngoại vi tương tự có thể được thiết lập để làm các nhiệm vụ:

Các bộ ADC lên tới 14 bit Các bộ DAC lên tới 9 bit. Các bộ khuếch đại có thể lập trình được hệ số khuếch đại. Các bộ lọc và các bộ so sánh có thể lập trình được

Page 2: Lập trình psoc

Tài liệu lập trình

8 khối ngoại vi số có thể được thiết lập để làm các nhiệm vụ: Các bộ định thời đa chức năng, đếm sự kiện, đồng hồ thời gian

thực, bộ điều chế độ rộng xung có và không có dải an toàn (deadband)

Các modun kiểm tra lỗi (CRC modunles) Hai bộ truyền thông nối tiếp không đồng bộ hai chiều, hiện nay

Cypresss đã cho ra đời loại Psoc hỗ trợ chuẩn USB và USB không dây

Các bộ truyền thông SPI Master hoặc Slave có thể cấu hình được Có thể kết nối với tất cả các chân vào ra.

• Bộ nhớ linh hoạt trên chíp Không gian bộ nhớ chương trình Flash từ 4K đến 16K, phụ thuộc vào từng loại chíp với chu kỳ ghi xóa cho bộ nhớ Flash là 50.000 lần Không gian bộ nhớ RAM là 256 byte Chíp có thể lập trình thông qua chuẩn nối tiếp (ISSP) Bộ nhớ Flash có thể được nâng cấp từng phần Chế độ bảo mật đa năng, tin cậy Có thể tạo được không gian bộ nhớ Flash trên chíp lên tới 2,304 byte

• Có thể lập trình được cấu hình cho từng chân của chíp Các chân vào ra ba trạng thái sử dụng Trigger Schmitt Đầu ra logic có thể cung cấp dòng 25mA với điện trở treo cao hoặc thấp bên trong Thay đổi được ngắt trên từng chân Đường ra tương tự có thể cung cấp dòng tới 40mA Đường ra đa chức năng có từ 6 đến 44 tùy thuộc vào từng loại chíp

• Xung nhịp của chíp có thể lập trình được Bộ tạo dao động 24/48MHz ở bên trong (độ chính xác là 2,5%, không cần thiết bị ngoài) Có thể lựa chọn bộ dao động ngoài lên tới 24MHz Bộ dao động thạch anh 32,768 kHz bên trong Bộ tạo dao động tốc độ thấp bên trong sử dụng cho Watchdog và Sleep

• Ngoại vi được thiết lập sẵn Bộ định thời Watchdog và Sleep phục vụ chế độ an toàn và chế độ nghỉ Module truyền thông I2C Master và I2C Slave tốc độ lên tới 400kHz Module phát hiện điện áp thấp được cấu hình bởi người sử dụng

• Công cụ phát triển Phần mềm phát triển miễn phí (PSoCTM Designer) Bộ lập trình và bộ mô phỏng với đầy đủ tính năng Mô phỏng ở tốc độ cao

Page 3: Lập trình psoc

Tài liệu lập trình

Hình 1 Các khối của Psoc

2.Tổng quan phần mền Psoc Designer, Psoc Programmer và kit phát triển CY3210

2.1 Cài đặt phầm mền Psoc DesignerPhần mền Psoc Designer được sử dụng để thiết kế và lập trình cho chip Psoc, hỗ trợ cả hai loại ngôn ngữ là: Assembly và C. Để tiến hành cài đặt ta sử dụng 2 file: psoc_designer_tm__v__4_2_9.exe và PSoCDesignerv.4.2Service_Pack3.exe. Trong đó file đầu tiên psoc_designer_tm__v__4_2_9.exe là file cài đặt chính, còn file

Page 4: Lập trình psoc

Tài liệu lập trình

PSoCDesignerv.4.2Service_Pack3.exe là file sử dụng để hỗ trợ thiết kế các loại IC mới. Hai file trên có thể download miễn phí tại địa chỉ:www.cypress.com của hãng Cypress hoặc có thể đính kèm trực tiếp cùng tài liệu này.Quá trình cài đặt được minh họa qua các hình cụ thể sau. Sau khi Click double vào file cài đặt thì phần mền tiến hành giải nến tự động, khi xuất hiện cửa sổ

Hình 2Ta Click vào Next để tiếp tục tiến hành cài đặt. Quá trình tiếp theo cũng tương tự như khi cài đặt các phần mền khác, Thư mục cài đặt cài đặt mặc định là: C:\Program Files\Cypress MicroSystems\PSoC Designer

Page 5: Lập trình psoc

Tài liệu lập trình

Hình 3Khi tiến hành cài đặt xuất hiện cảnh báo Software Intallation của của hệ điều hành

Hình 4

Page 6: Lập trình psoc

Tài liệu lập trình

thì ta Click vào Continue Anyway để tiếp tục cài đặt cho đến khi thành công. Khi quá trình cái đặt thành công, hệ điều hành sẽ yêu cầu khởi động lại hệ thống

Hình 5Khi hệ thống khởi động lại ta tiếp tục tiến hành update cho phầm mền Psoc Designer. Cũng tương tự như khi cài đặt phần trên khi ta Click double vào file update PSoCDesignerv.4.2Service_Pack3.exe phần mền sẽ tiến hành các quá trình giả nén một cách tự động

Page 7: Lập trình psoc

Tài liệu lập trình

Hình 6Khi giải nén thành công, phần mền hỏi có tiếp tục cài đặt hay không

Hình 7Click vào Yes để update. Kinh nghiệm cho thấy khi tiến hành update thì ta không nên mở mới bất cứ phần mền nào khác, kể cả Internet Explorer vì có thể làm ngừng quá trình update

Page 8: Lập trình psoc

Tài liệu lập trình

Hình 8Click Finish để kết thúc quá trình cài đặt.Như vậy là quá trình cài đặt và update đã thành công. Như đã nói ở trên phầm mền Psoc Designer hỗ trợ lập trình bằng cả 2 loại ngôn ngữ là Assembly và C. Nhưng để chương trình hỗ trợ lập trình bằng C thì ta cần tiến hành kích hoạt như sau. Trước tiên kich hoạt phần mền Psoc Designer bằng cách Click: Start/Programs/Cypress MicroSystems/Psoc Designer. Khi chương trình khởi động xong sẽ suất hiện giao diện

Hình 9

Page 9: Lập trình psoc

Tài liệu lập trình

Click vào biểu tưởng Start new project, thì xuất hiện tiếp giao diện

Hình 10Tại đây ta Click tiếp vào nút Cancel. Tiếp theo trên thanh công cụ của chương trình, theo đường dẫn: Tools/Compiler

Page 10: Lập trình psoc

Tài liệu lập trình

Hình 11Tại ô ImageCraft C compiler license number ta điền key CU92924-2YqQaq rồi tích vào ô I Accept vào ấn OK để kết thúc

2.2Cài đặt phần mền Psoc programerNhư ở trên đã trình bày phần mền Psoc Designer dùng để thiết kế và lập trình cho chip Psoc còn phần mền Psoc programer được sử dụng để nạp chương trình cho chip Psoc qua bộ nạp MiniProg và kit phát triển Cy3210 của hãng Cypress. Để tiến hành cài đặt ta sử dụng file GenProg_setup.exe. File này có thể download tại địa chỉ www.cypress.com hoặc được đính kèm trực tiếp cùng tài liệu này. Cũng tương tự như khi cài đặt phần mền Psoc Designer thì khi ta Click double vào file GenProg_setup.exe thì phần mền sẽ tiến hành các quá trình giải nén dữ liệu, thư mục cài đặt mặc định là: C:\Program Files\Cypress MicroSystems\PSoC Programmer

Page 11: Lập trình psoc

Tài liệu lập trình

Hình 12Khi quá trình cài đặt thành công thì xuất hiện giao diện sau

Hình 13

Sau khi cài đặt xong để sử dụng mạch nạp MiniProg thì bạn cần cài đặt driver cho nó. Khi cắm mạch MiniProg vào cổng USB thì hệ thống yêu cầu cài đặt driver

Page 12: Lập trình psoc

Tài liệu lập trình

Việc cài đặt driver cũng tương tự như cài driver cho các thiết bị khác. Chỉ có một khác biệt nhỏ là thư mục chứa bộ cài driver cho mạch MiniProg nằm ở thư mục drivers tại thư mục cài đặt phần mền Psoc Programmer mặc định là: C:\Program Files\Cypress MicroSystems\PSoC Programmer\drivers

Page 13: Lập trình psoc

Tài liệu lập trình

Để kiểm tra quá trình cài driver đã thành công hay chưa bạn vào phần Device manager của My cumputer

Khi hệ thống nhận được thiết bị USB Mini Programmer thì có nghĩa là quá trình cái đặt đã thành công và sẵn sàng sử dụng mạch MiniProg để nạp chương trình

2.3 Sử dụng phần mền Psoc DesignerKhởi động phần mền Psoc Designer theo đường dẫn: Start/Programs/Cypress MicroSystems/Psoc Designer

Page 14: Lập trình psoc

Tài liệu lập trình

Hình 13

Sau khi chương trình khởi động xuất hiện giao diện

Hình 14Để tạo Project mới ta click vào biểu tượng Start new project . Khi tạo Project mới thì phần mền sẽ yêu cầu ta đặt tên cho Project và thư mục lưu dữ project

Page 15: Lập trình psoc

Tài liệu lập trình

Hình 15Sau khi điền tên của Project và đường dẫn lưu dữ project, Click vào nút Next để tiếp tục tạo project, do tạo mới project nên phần mền sẽ hỏi có tạo mới thu mực để lưu dữ project hay không

Hình 16Click Yes để tạo Project. Tiếp theo ta tiến hành chọn loại ngôn ngữ để lập trình và loại chip sẽ thiết kế

Page 16: Lập trình psoc

Tài liệu lập trình

Hình 17Để lựa chọn loại ngôn ngữ sẽ lập trình trong Project check vào một trong hai ô là : C hoặc Assembler. Để lựa chọn loại chip sẽ thiết kế ta chọn biểu tượng View Catalog..

Hình 18Tại cửa sổ này ta có một loạt các loại Chip mà phần mền hỗ trợ thiết kế và các thông số cơ bản mỗi loại IC. Có các loại Chip cơ bản là: Psoc, USB và WUSB(USB không dây). Chú ý để chọn chính xác loại IC thì cần phải để ý đến dạng đóng gói của IC. Ví dụ loại IC CY8C29466 về mặt cấu trúc thì giống hệt nhau nhưng có rất nhiều kiểu đóng gói khác nhau, loại IC đóng gói dạng DIP 28 chân là: CY8C29466-24PXI. Trong tài liệu này ta chủ yếu sử dụng loại IC này. Sau khi lựa chọn xong loại IC thiết kế ta ấn vào nút Select để tiếp tục

Page 17: Lập trình psoc

Tài liệu lập trình

Hình 19Ấn Finish để hoàn thành việc lựa chọn loại IC và ngôn ngữ lập trình.

2.3.1 Device EditorSau khi lựa chọn loại IC và ngôn ngữ lập trình xong thì giao diện của phần mền như sau

Hình 20

Page 18: Lập trình psoc

Tài liệu lập trình

Phần mền cung cấp 2 giao diện cơ bản là:Device Editor và Application Editor. Giêng với giao diện Device Editor có hai phần là: User Module Selection View và Interconnect View. Với User Module Selection View như hình sẽ cho ta biết các thông tin cơ về các module mà Chip có thể hỗ trợ và tài nguyên của IC như hình 20. Còn với giao diện Interconnect View cho ta cái nhìn trực quan về các module đã sử dụng, chúng liên kết với nhau và liên kết với các port vào ra như thế nào. Cũng như các thông số của Chip và của các Module. Đây là một trong nhưng giao diện cơ bản nhất để ta tiến hành thiết kế hệ thống dựa trên Chip Psoc. Về cơ bản giao diện Interconnect View có dạng như hình 21 sau:

Hình 21Ý nghĩa của mỗi bộ phận trong giao diện trên như sau:

1. Phần thứ nhất là “Chân Vào Ra”. Tại đây cung cấp cho ta đầy đủ các thông tin về tất cả các chân của IC, mỗi chận có thể được truy xuất một cách riêng biệt. Đối với mỗi chân ta có thể tiến hành một loạt các thao tác như: Thay đổi tên(việc này rất thuận tiện cho quá trình thiết kế), Thay đổi cấu hình chân, tức là chận đó thành chân vào ra số hoặc là chận vào ra tương tự. Do Chip Psoc là loại chip đang năng có thể làm việc trực tiếp với các tín hiệu tương tự nên các chân khi được nối với các khối số hay tương tự thì nó sẽ được tự động chuyển thành các loại chân tương ứng. Ta cũng có thể cho phép hoặc cấm ngắt chân tại đây, cấu hình ngắt chân là

Khối Số

Khối Tương Tự

Chân Vào Ra

Thông Số Module Đã Sử Dụng

Thông Số Chung Của Chip

Danh Sách Module

Page 19: Lập trình psoc

Tài liệu lập trình

loại ngắt sườn âm hay sườn dương tại đây(Vấn đề ngắt chân sẽ được đề cậo cụ thể hơn ở phần sau)

2. Phần thứ hai là”Thông Số Module Đã Sử Dụng”:Phần này thể hiện các thông số cơ bản của một Module, ví dụ như Module ADC trong hình trên có các thông số cơ bản như: Resolution(Độ phân giả), Data Clock(Tốc độ xung đồng bộ),…Đối với mỗi module thì đây là các thông số rất quan trong và để các module hoạt động chính xác thì cần phải cài đặt các giá trị cho mỗi thông số thật chính xác và hợp lí. Để cài đặt các thông số một cách chính xác thì phải nghiên cứu kĩ phần mô tả cảu mỗi module. Cách thức cài đặt thông số cho một số Module cơ bản sẽ được trình bày ở phần sau.

3. Phần thứ ba là “Các Thông Số Chung Của Chip”: Tại phần cho phép ta quan sát cũng như thay đổi các thông số hoạt động cơ bản của Chip như: Điện áp và tần số hoạt động, sử dụng tần số đồng bộ nội hay ngoài, sử dụng các bộ chia tần số nội (VC1, CV2, VC3) để làm nguồn tần số cho các module khác,…

4. Phần thứ tư là “Danh Sách Module”: Phần này chứa các Module mà Chip đã hỗ trợ thiết kế sẵn. Trong phần này chia thành 2 phần là: Phần chứa một nhóm các loại Module, ví dụ như nhóm: Digital Common sẽ chứa rất nhiều module khác như :TX8, RX8, UART,..Khi muốn sử dụng module nào cho thiết kế thì ta sẽ vào đây để lựa chọn Module phù hợp.

5. Phần thứ năm là “Khối Số và Khối Tương Tự”. Như đã trình bày trong phần tổng quan về Chip Psoc thì Psoc là loại IC cho phép lập trình để thiết các module ngoại vi. Để thực hiện điều này ta phải dựa vào các khối số và khối tương tự này. Mỗi một loại Chip Psoc sẽ cung cấp cho ta một số lượng hạn chế các khối số và tương tự này, như với loại IC CY8C29466 như trên cung cấp cho ta 16 khối số và 12 khối tương tự. Ví dụ như khi ta cần thiết kế module ADC thì ta lấy module ADC ở trong phần “Danh Sách Module” và ta đặt vào các khối số và khối tương tự mà Chip cung cấp. Như bộ ADC sử dụng trong hình trên chiến 1 khối số và 1 khối tương tự. Yêu cầu sử dụng bao nhiêu khối số và tương tự tùy thuộc vào mỗi Module. Lưu ý là khi lựa chọn bất kì module nào(ngoại trừ module điều khiển

LCD) khi ta ấn nút Select thì ta chỉ mới lựa chọn module đó cho thiết kế chứ chưa đặt cụ thể module đó vào khối nào, khi đó ta không cài đặt các thông số cho module đó. Để hoàn thiện quá trình lựa chọn một module cho thiết kế thì ta tiếp

tục ấn vào nút Place User Module Xin nhắc lại một lần nữa là đối với lập trình Psoc thì ta có 2 phần việc cơ bản là thiết kế phần cứng và xây dựng ứng dụng. Ví dụ để thiết kế một Project có chức năng lấy mẫu một tín hiệu tương tự rồi hiển thị giá trị lấy mẫu lên màn hình LCD. Như vậy với Project này thì ta cần phải dùng 2 module là: Module ADC và Module điều khiển LCD. Để thực hiện điều này thì ta sử dụng cửa sổ Device Editor như đã trình bày ở phần trên để lấy các module cấn sử dụng ra, đặt vào các khối cần thiết, thiết lập các thông số cho mỗi module. Nhưng làm sao để cho các module này hoạt động và chúng liên kết, tương tác với nhau ra ra sao? Để trả lời câu hỏi này ta sẽ sử dụng giao diện Application. Để chuyển sang cửa sổ Application Editor hay Device Editor thì ta Click

vào các biểu tượng tương ứng và .

Page 20: Lập trình psoc

Tài liệu lập trình

2.3.2 Application EditorGiao diện Application Editor khi mở lần đầu tiên có dạng

Hình 22Nói chung đối với chương trình viết bằng C thì phần lớn mã nguồn của chương trình nằm trong file main.c và được đặt trong hàm Main, bắt đầu từ dòng text “// Insert your main routine code here.” Về cơ bản thì chương trình có cấu trúc giống với một chưong trình C chuẩn, tức là chưong trình có một hàm main, các hàm con được viết ngoại hàm main và được gọi trong hàm main. Các cấu trúc vòng lặp(for hay ưhile) các câu lênh điều khiển, lựa chọn(if, switch), các lệnh sử lí string, phép toán,… hoàn toàn giống các hàm của C mà ta đã được làm quen trong các môn học tại trường. Ngoài ra vì phải làm việc với các module ngoại vi khác nên ta cần phải sử dụng một số hàm khác mà mỗi module đã cung cấp sẵn gọi là các API(Application Programming Interface) của các module. Để biết mỗi module cung cấp bao nhiêu API, khai báo và sử dụng các API như thế nào thì trong phần Datasheet của mỗi module có mô tả rất chi tiết. Đề minh họa cách xây dựng ứng dụng trong phần Application ta sẽ xem xét ví dụ xây dựng Project hiển thị lên màn hình LCD giá trị lấy mẫu của bộ ADC. Sau khi thiết kế phần cứng bằng việc lựa chọn và cài đặt các module trong phần Device Editor. Ta bắt đầu xậy dựng ứng dụng như sau:

Page 21: Lập trình psoc

Tài liệu lập trình

Hình 23Mặc dù ta đã cài đặt các thông số cho các moduele ở trong phần Device Editor nhưng đề các module thực sự hoạt động thì ta cần khởi động chúng bằng các lệnh:

int iData;LCD_Start();//Khoi tao module dieu khien LCDM8C_EnableGInt; // Cho phep ngat toan cucADCINC12_Start(ADCINC12_HIGHPOWER); // Khoi tao bo ADCADCINC12_GetSamples(0); // Cai dat de bo ADC lay mau lien tuc

Và khai báo biến iData đề lưu dữ giá trị lấy mẫu của bộ ADC. Phần tiếp theo của chương trình là sử dụng vòng lặp liên tục để kiểm tra dữ liệu của ADC đã sãn sàng hay chưa rồi đọc vào biến iData rồi hiển thị lên màn hình LCD bằng hàm con Show do ta tự xậy dựng.

for(;;){ while(ADCINC12_fIsDataAvailable() == 0); // lặp cho đến khi ADC có dữ kiệu ADCINC12_ClearFlag(); // Xóa cờ của ADC iData=ADCINC12_iGetData(); // Đọc giá trị từ ADC vào biến iData Show(iData) ;//Gọi hàm Show }

Page 22: Lập trình psoc

Tài liệu lập trình

Hàm Showvoid Show(int input){ char string[3];//Khai bao mot string itoa(string,input,10);//Convert mot so nguyen thanh mot string LCD_Position(0,4);//Hien thij gia tri do duoc tai vi tri 0,4 LCD_PrString(string);}

Toàn bộ chương trình như sau:

#include <m8c.h> // part specific constants and macros#include "PSoCAPI.h" // PSoC API definitions for all User Modulesvoid main(){ // Insert your main routine code here. int iData; LCD_Start();//Khoi tao module dieu khien LCD M8C_EnableGInt; // Cho phep ngat toan cuc ADCINC12_Start(ADCINC12_HIGHPOWER); // Khoi tao bo ADC ADCINC12_GetSamples(0); // Cai dat de bo ADC lay mau lien tuc for(;;){ while(ADCINC12_fIsDataAvailable() == 0); // Lap cho den khi bo ADC da co du lieu ADCINC12_ClearFlag(); // Xoa co cuar ADC iData=ADCINC12_iGetData(); // Doc gia tri tu ADC vao bien iData Show(iData) ;//goi ham Show }

}void Show(int input){ char string[3];//Khai bao mot string itoa(string,input,10);//Convert mot so nguyen thanh mot string LCD_Position(0,4);//Hien thij gia tri do duoc tai vi tri 0,4 LCD_PrString(string);}

Như vậy sau khi tìm hiểu 2 phần Device Editor và Application Editor thì ta có thể tóm tắt quy trình thiết kế một Project bằng Psoc như sau:

1. Lựa chọn loại IC và ngôn ngữ lập trình phù hợp2. Lựa chọn các module cần thiết cho Project, tiến hành cài đặt các thông số phù hợp

cho mỗi module.Có thể phải kết nối phần cứng giữa các module, ví dụ khi lấy đầu vào của bộ ADC từ bộ khuếch đại đo INSAMP thì ta cần phải nối đầu vào của bộ

Page 23: Lập trình psoc

Tài liệu lập trình

ADC với khối đầu ra của bộ INSAMP. Ta tiến hành các việc này tại phần Device Editor

3. Xậy dựng ứng dụng trong Application Editor bằng các hàm API của mỗi module và các thư viện hàm của chương trình C. Nói chung một hàm Main của chương trình Psoc có cấu trúc như sau:

Void main(){ //Khởi động các module bằng các hàm API của mỗi module//Sử dụng các hàm API của các module để tương tác với mỗi module tương ứng//Sử dụng các hàm của ngôn ngữ lập trình để tương tác giữa các module và xây dựng cấu trúc của chương trình }

2.3.3 Biên dịch và nạp chương trìnhĐể biên dịch chương trình ấn F7 hoặc từ thanh công cụ theo đường dẫn: Build/Build Chương trình sẽ kiểm tra các lỗi cú pháp có thể gặp phải trong quá trình gõ lệnh. Chú ý là chương trình Psoc Designer không có khả năng debug trực tiếp. Khi chương trình biên dịch không phát hiện lỗi thì một file .hex để nạp vào Chip sẽ tự động tạo ra trong thu mục output của thu mực chứa Project. Nếu tiến hành nạp chương trình bằng phần mền

Psoc Programer qua bộ nạp MiniProg thì ấn vào nút Program Part

Page 24: Lập trình psoc

Tài liệu lập trình

2.4 Sử dụng phần mền Psoc ProgramerPhần mền Psoc Programer có giao diện như sau

Chương trình Psoc Programmer cung cấp hai chế độ hoạt động là: Power Cycle: Chế độ này cho phép ta nạp chương trình không cân nguồn

ngoài Reset: Khi sử dụng chế độ này thì ta sử dụng nguồn ngoài để nạp chương trình

2.5 Kit phát triển CY3210

3.Các ví dụ cụ thể