MSP430单片机输入与输出
?
MSP430單片機的輸入輸出線絕大多數是服用的,除了個別的端口外,基本上是8為為一組,不同的型號的MSP430的端口有所不同,就msp430F5438而言,一共有11個I/O端口,其中除了第十一P11的寬度是3位以外,其他的端口全是8為寬度,為了方便使用,分別命名為PA,PB,PC,……,分別對應P1,P2P3……
值得注意的是MSP430F5438單片機的P1和P2端口還具有申請中斷的功能,而其他的端口則無此功能
每個端口都有控制開關,分別可以控制端口的方向,引腳的功能,每個端口都有自己的輸入輸出寄存器,MSP430F5438海域中斷管理寄存器,他們分別決定端口的中斷使能,中斷有效邊沿,和中斷標志位
?
示例代碼:
驅動實驗板上的蜂鳴器
#include<msp430x54x.h> #include"for_5438_wjx.c"void delayms(int x) {int i,j;for(i=0;i<x;i++)for(j=0;j<110;j++); }void main( void ) {put_WDTHOLD(1);//凍結看門狗put_P7SEL_BIT7(0);//將P7^7引腳選擇為普通的數據I/Oput_P7DS_BIT7(1);//將P7^7引腳滿驅動put_P7DIR_BIT7(1);//將P7^7引腳設置位輸出while(1){put_P7OUT_BIT7(0);//將P7^7輸出值為0delayms(50);put_P7OUT_BIT7(1);//P7^7輸出值為1delayms(50);}} View Code但是這個程序在板子上沒有跑起來,所以還需要今后來改正~~~
?
今天因為點亮了led,所以蜂鳴器的程序也寫出來了,這個程序出現錯誤的原因是錯以為蜂鳴器的VCC是開發板自動接上去的,結果就忘記寫這條代碼
? put_P5DIR_BIT4(1);????? // 主電源 P5.4
? put_P5OUT_BIT4(1);????? //打開外設電源
加入代碼后,蜂鳴器響了
示例代碼:
#include<msp430x54x.h> #include"for_5438_wjx.c"void delayms(int x) {int i,j;for(i=0;i<x;i++)for(j=0;j<110;j++); }void main( void ) {put_WDTHOLD(1);//凍結看門狗put_P7SEL_BIT7(0);//將P7^7引腳選擇為普通的數據I/Oput_P7DS_BIT7(1);//將P7^7引腳滿驅動put_P7DIR_BIT7(1);//將P7^7引腳設置位輸出 put_P5DIR_BIT4(1); // 主電源 P5.4put_P5OUT_BIT4(1); //打開外設電源while(1){put_P7OUT_BIT7(0);//將P7^7輸出值為0delayms(50);put_P7OUT_BIT7(1);//P7^7輸出值為1delayms(50);}} View Code?
版權所有,轉載請注明鏈接地址:http://www.cnblogs.com/fengdashen/p/3391684.html
轉載于:https://www.cnblogs.com/fengdashen/p/3391684.html
總結
以上是生活随笔為你收集整理的MSP430单片机输入与输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi XE5开发的Android
- 下一篇: Android中的Touch事件