在易碼魔盒的使用中,添加外設驅(qū)動是件有趣的事情。對于初學者來說,卻又是件有些茫然的事,感到無從下手。 LED發(fā)光二極管在眾多的電子器件中,可謂是最簡單的器件,我們在新入手一塊開發(fā)板的時候,也往往是從點燈程序開始的,為此就從LED入手來一探究竟。 構(gòu)建LED驅(qū)動的基本步驟如下: 1.進入易碼魔盒后,創(chuàng)建一個新工程。 2. 點擊“驅(qū)動生成工具”,進入編輯界面。 3. 點擊“宏接口設計界面”下的“管腳及組設計窗口”選項,在彈出的窗口中,單擊“添加組”按鈕,并按圖1所示內(nèi)容加以設置。 圖1 管腳設置 4.回到“管腳及組設置設計” 窗口,點擊“適用芯片”按鈕,從中選取“全選”即可。若只需個別的芯片,會導致不能通過驅(qū)動模板的生成。由于無需中斷資源的占用,故無需“占用資源”的設置。單擊“驅(qū)動簡介”按鈕,以添加驅(qū)動簡介內(nèi)容。 5.單擊“管腳設置”按鈕,在彈出的界面中選取P00,則如圖2所示,然后單擊“確定”退出。 圖2管腳設置 6. 點擊“宏接口設計界面”下的“外形表現(xiàn)窗口”選項,在彈出圖3所示窗口,從中點擊黃色區(qū)域,可添加對應的外觀圖片。 圖3 外觀預覽 7. 點擊“函數(shù)與變量接口設計界面”下的“函數(shù)設計窗口”選項,在彈出的窗口中按圖4所示來設置可供編程調(diào)用的函數(shù),即LED初始化函數(shù)LED_inite、置高電平函數(shù)LED_H和置低電平函數(shù)LED_L,否則將無法對其調(diào)用,生成的函數(shù)外觀預覽如圖5所示。 圖4函數(shù)接口設計
圖5 外觀預覽 8. 在外部編寫好驅(qū)動的*.C、*.H文件,依次單擊“導入C文件”和“導入H文件”。 圖6 導入文件 9. 單擊“產(chǎn)生驅(qū)動模塊”菜單,并設置保存的路徑,以完成驅(qū)動模板的構(gòu)建。 10. 返回易碼魔盒編輯界面后,單擊“導入外設驅(qū)動”圖標工具。然后在彈出的選擇對話框中選取相應的驅(qū)動模板路徑,并單擊“確定”按鈕。 11. 打開“IC資源列表”欄,可見到圖7所示的 “LED”選項。 圖7 增添外設驅(qū)動 12. 選取該外設,則會出現(xiàn)圖8所示內(nèi)容。 圖8 調(diào)用LED驅(qū)動 13. 在工具欄,可見到新增的外設驅(qū)動函數(shù),如圖9所示。 圖9 新增的外設驅(qū)動函數(shù) 13. 在工具欄,選取“添加函數(shù)”來添加自定義的新函數(shù),如圖10所示。 圖10定義延時函數(shù) 自定義延時函數(shù)的內(nèi)容: - void delay_ms(unsigned int xms)
- {
- unsigned int i,j;
- for(i=xms;i>0;i--)
- for(j=100;j>0;j--);
- }
復制代碼
14. 在圖形編輯視圖,按圖11 所示構(gòu)建程序流程。 圖11程序流程 15. 配置延時函數(shù)的參數(shù),如圖12所示 圖12配置延時參數(shù) 16. 點擊“生成工程源代碼”, 則在“工程代碼”欄可見到生成的程序,其程序結(jié)構(gòu)和程序如圖13至圖16所示。 圖13 程序結(jié)構(gòu) 圖14主程序代碼
圖15 LED.C
圖16 LED.H 17. 經(jīng)編譯,其結(jié)果如圖17所示。 圖17 完成編譯 18. 為觀察程序運行效果,可選取“燒錄”工具圖標加以下載驗證。 圖18 完成下載 19.經(jīng)觀察LED燈在不停地閃爍,說明數(shù)據(jù)正確。 圖19 LED燈運行效果 20.為驗證LED驅(qū)動的通用性,只將LED的使用端口由P00改為P01。 21.重新進行編譯,其編譯后的結(jié)果如圖20所示。 圖20 完成編譯 22.改變連接引腳后,再次下載運行,則可見到效果如常,說明LED驅(qū)動設計有效,可有效提高設計的效率。
|