完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 MOPPLAYER 于 2015-11-17 23:17 编辑 前言:一般控制LED的方式就是使用PWM,但Cypress提供了一個PrISM元件針對Servo或者Power和LED做優化,減少低頻閃爍效應和降低EMI,本篇就使用這個元件做個呼吸彩色燈 實作: 1. 新增專案,在Example選擇PrISM LED Fig. 1 創建範例專案 2. 創建專案後,打開上層原理圖,可發現PrISM元件一個為主的電路圖 Fig. 2 PrISM元件 3. 對元件點選滑鼠右鍵,選擇DataSheet Fig. 3 元件說明 4. 這裡主要講解如何使用這個元件,首先它是由幾塊數位電路所組合出來的元件,如下圖 Fig. 4 包含D Flip-flop和Clock,Control Register,和主元件PrISMdp 5. 主要原理如下圖,亂數產生器Register與Pulse值Register比較後,如果是大於等於或者小於等於(可設定),則輸出高電位 Fig. 5 上層實現圖,透過比較亂數和Pulse,依照功能性設定輸出高電位 6. 本範例使用以下API,其他採用預設值即可 Fig. 6 啟動API,會呼叫初始化函式和使能函式 Fig. 7 變更Pluse的設定值API 7. 其中變更Pluse的設定值,即改變脈衝佔空比,因此圖例如下 Fig. 8 經過比較後的輸出脈衝 8. 了解原理後,我們將範例加以修改,首先上層原理圖新增一個PrISM,和Constant 0,一個ISR元件,一個Clock元件 Fig. 9 接線圖 9. 接線好後開始設定.首先設定新增的Clock_2 Fig. 10 設定頻率為5,為第一個Clock的四分之一,可達到交錯色彩 Fig. 11 DataSheet提到,Initially align to好處是可以同時觸發,達到理想的時脈操作 10. 設定兩個PrISM,其中兩個Pulse功能性要相反,才有辦法達到交錯色彩 Fig. 12 PrISM_1設定值,主要變更Pulse設定,其他預設即可 Fig. 13 PrISM_2設定值,因為只有使用到一個Pulse,所以預設即可 11. 最後設定ISR插斷觸發,選擇上升沿觸發 Fig. 14 isr_1設定值,上升沿觸發 12. 設定完成後,設定腳位,如下圖 Fig. 15 腳位2_6,3_6,3_7為RGB LED接腳,2_7為使用者按鈕 13. 再來修改原始碼,main.c修改成如下
其中新增了isr_1的相關觸發函數,變數也新增一組,使得變更色彩值的兩組PrISM是獨立進行,tc腳位每一周期到達0xFF時候都會觸發一次高電位,使得ISR觸發後變更色彩設定值,到達兩端點時候再反遞增或者遞減,達到交錯色彩的呼吸燈 14. 完成變更後,按下Build,沒錯誤的話,連接開發板,按下Program,燒寫至開發板 15. 完成設計,觀察彩色呼吸燈的效果,黃,粉紅,綠色,白色,藍色交替等等,按下使用者按鈕時,會停止PrISM元件,因此色彩不會改變,維持白色 16. 成品實圖 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2110 浏览 1 评论
1858 浏览 1 评论
3673 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1791 浏览 6 评论
1540 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
575浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
428浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
439浏览 2评论
389浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
921浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 18:18 , Processed in 1.119512 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号