Tài liệu Vi điều Khiển PSoC chọn lọc

62 230 0
Tài liệu Vi điều Khiển PSoC chọn lọc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] Một số vấn đề nâng cao I RTC Để tạo RTC xác bạn nên dùng chế độ sleep PsoC với tần số 1Hz tương ứng với 1s tạo ngắt lần - Chế độ Sleep có tác dụng : + Làm RTC (khá xác dùng thạch anh chuẩn 32,768 KHz),do thay cho RealTime chuyên dụng DS1307 +Tạo xung kích (ngắt) cho macro M8C Sleep làm việc giúp tiết kiệm lượng cho PsoC Chúng ta kích hoạt cho chế độ Sleep PSoc cách thiết lập thông số Global với thiết lập : 32K_Select chon internal dùng clock nội external (nếu dùng clock ngoài) Sleep_timer : 1Hz tương ứng với 1s tạo ngắt lần-chúng ta áp dụng điều để làm RTC code: #pragma interrupt_handler SleepISR BYTE sleepTimer=81; void main() { M8C_EnableIntMask(INT_MSK0,INT_MSK0_SLEEP); M8C_ClearWDTAndSleep; //Clear sleep timer mask M8C_EnableGInt; //Enable global interrupts while(1) { M8C_Sleep; //CPU goes to sleep //Wakes up on sleep timer interrupt } } void SleepISR(void){ } … //Lam gi day cung duoc } } Cách khác dùng IC chuyên dụng RealTimer Đây cách sử dụng I2C để giao tiếp với RTC DS1307, bạn dùng THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] I2Cm(firmware) I2CHW(Hardware) để giao tiếp Về phần cứng gì, cần thêm điện trở Pullup vào đường SDA SCL Thời gian đặt tx, bắt đầu 00, sau giây, phút, giờ, ngày tuần, ngày tháng, tháng, năm,byte cuối 0x93 byte ghi vào ghi điều khiển RTC #include // part specific constants and macros #include "PSoCAPI.h" // PSoC API definitions for all User Modules #include "stdlib.h" BYTE tx[]={0x00,0x00,0x22,0x23,0x07,0x19,0x11,0x05,0x93}; BYTE rx[8]; BYTE status; unsigned char i=0; void delay() { int i=0; for(i=0;i[...]...THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] năng lập trình được Các tần số được tạo ra dựa trên tần số tham chiếu bên trong PsoC hoặc được cung cấp từ bên ngoài PsoC Khối điều khiển Reset : kích hoạt cho vi điều khiển hoạt động cũng như giúp hồi phục trạng thái hoạt động bình thường của VDK khi xảy ra lỗi... được cho phép người sử dụng tự cấu hình nên các thành phần tương tự như các bộ chuyển đổi dữ liệu AD/DA, các bộ lọc, bộ thu nhận mã đa tần rời rạc DTMF, bộ đảo, các bộ khuếch đại thuật toán OA Khối điều khiển ngắt : có chức năng xử lý các yêu cầu ngắt trong trường hợp cần thiết Khối điều khiển I2C : giúp cho PsoC giao tiếp với các phần cứng khác theo chuyẩn I2C Khối tạo điện áp tham chiếu : cần thiết... mô tả các kết quả sau khi một lệnh được thực hiện Nó có 1 vai trò trong vi c lựa chọn 1 trang(page) bộ nhớ RAM khi vi điều khiển PsoC có nhiều hơn 256 byte RAM Bít trạng thái Zero(Z) chỉ ra thanh ghi tích lũy lưu giữ giá trị 0, trong khi bít nhớ Carry(C) chỉ ra rằng các phép toán logic hoặc các thuật toán được thực hiện có nhớ dữ liệu Đơn vị toán học và logic - Arithmetic logic unit (ALU) : Là thành... danh là PRT0DR, PRT1DR, PRT2DR, PRT3DR, PRT4DR or PRT5DR 15 THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] * Ghi dữ liệu qua cổng - Giá trị cần ghi được ghi vào thanh ghi PRTxDR thông qua vi c thiết lập giá trị tương ứng cho thanh ghi nhờ sử dụng một mạch khởi tạo điều khiển các trang thái cho các chân của cổng Mạch khởi tạo này có thể gửi dữ liệu trực tiếp (strong), thông qua các điện trở pull-up hoặc... lập trình được có thể được kết nối với nhau Mạch Logic Các mạch logic có thể là : - Lựa chọn 1 trong hai tín hiệu làm đầu ra - Cổng NOT - Thực hiện các phép toán logic AND, OR, XOR 19 THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] Mạch điều khiển tín hiệu ra Đầu ra của các mạch logic có thể được kết với 4 mạch điều khiển đầu ra, chúng được kết nối tới 1 hoặc nhiều các đường tín hiệu GOL(global output... vòng lặp vô hạn trong chương trình Bộ định thời Sleep : có thể kích hoạt vi điều khiển theo chu kì để thoát ra khỏi chế độ tiết kiệm công suất Nó cũng có thể được sử dụng như một bộ định thời thông thường Các chân vào/ra : giúp cho vi c giao tiếp giữa CPU và các khối chức năng số/tương tự lập trình được cũng như giao tiếp với ngoại vi Khối chức năng số : có khả năng lập trình được cho phép người sử dụng... vào chế độ "ngủ đông" (Sleep mode) mỗi khi VDK không giữ vai trò quan trọng (ví dụ : khi VDK không xử lý dữ liệu, trao đổi với bộ nhớ dùng DMA ) Vi c tiết kiệm công suất tiêu thụ có thể được áp dụng cho mọi tần số khi CPU ngừng thực hiện lệnh, đồng thời CPU32 và SLEEP là không tích cực Vi điều khiển được "đánh thức" (wake-up) khỏi chế Sleep bằng cách Resset hoặc bằng 1 ngắt được tạo ra bởi bộ định thời... development cycle of the project The introduction of PSoC microcontrollers has made many engineers’ dream come true of having all their project needs covered in one chip PSoC: Programmable System on Chip PSoC (Programmable System on Chip) represents a whole new concept in microcontroller development In addition to all the standard elements of 8-bit microcontrollers, PSoC chips feature digital and analog programmable... và được cung cấp qua chân P1[4] của PSoC Tương tự đối với tín hiệu CLK32 cũng có thể được tạo ra bằng 1 dao động tham chiếu ngoài có độ chính xác phù hợp với yêu cầu thiết kế 13 THUVIENDIENTU.ORG [ TỦ SÁCH KỸ THUẬT CỦA TVDT] 4 Microcontroller power consumption PSoC thực hiện lệnh với tốc độ xấp xỉ gấp hai lần tần số được cung cấp trực tiếp bởi CPUCLK.Mặc dù vậy vi c cung cấp tần số hoạt động cao hơn... để thực hiện các phép toán +, -, dịch trái/phải cũng như các phép toán logic Dữ liệu xử lý bởi các lệnh này có thể được lưu trong các thanh ghi trong A , X hoăck bộ nhớ RAM trong Lưu ý : PSoC chỉ có 5 thanh ghi nhưng rất linh hoạt khi lập trình do PSoC có RAM nội thời gian truy xuất nhanh cho nên khi thực hiện trao đổi dữ liệu có thể thực hiện lưu trữ/hoặc truy xuất trực tiếp vào RAM nội theo các mode

Ngày đăng: 10/04/2016, 17:55

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan