資源簡介
該代碼利用MSP430單片機測量信號的頻率,測量頻率范圍廣,精度高,可作為建簡易的頻率計。

代碼片段和文件信息
#include“msp430f449.h“
#define?uint?unsigned?int?
#define?uchar?unsigned?char
#define?CS_H?(P2DIR|=BIT0P2OUT|=BIT0)?//這里定義了p2.0輸出高電平
#define?CS_L?(P2DIR|=BIT0P2OUT&=~BIT0)//同上
#define?SID_H?(P2DIR|=BIT2P2OUT|=BIT2)
#define?SID_L?(P2DIR|=BIT2P2OUT&=~BIT2)
#define?SCLK_H?(P2DIR|=BIT4P2OUT|=BIT4)
#define?SCLK_L?(P2DIR|=BIT4P2OUT&=~BIT4)
void?delay_1ms(uint?x)?
{?
??uint?ij;?
??for(j=0;j ???for(i=0;i<110;i++);?
}
void?send_command(uchar?command_data)?
{?
?uchar?i;?
?uchar?i_data;
?i_data=0xf8;?//首先把它給lcd
?CS_H;??//模組片選,高電平有效
?SCLK_L;?//初始化為低,上升沿觸發接收sid串行數據
?/*****************************************/
?for(i=0;i<8;i++)?
?{?
????if(i_data&0x80)
??????SID_H;
????else
??????SID_L;
????SCLK_L;???????????????????
????SCLK_H;?
????i_data=i_data<<1;?
?}?
?
?/****************************************/
??i_data=command_data;?
??i_data&=0xf0;//屏蔽低四位
??for(i=0;i<8;i++)?
???{?
????if(i_data&0x80)
???????SID_H;
????else
???????SID_L;
????SCLK_L;?
????SCLK_H;?
????i_data=i_data<<1;?
???}?
/****************************************/
???i_data=command_data;?
???i_data<<=4;
???for(i=0;i<8;i++)?
????{?
?????if(i_data&0x80)
???????SID_H;
?????else
???????SID_L;
?????SCLK_L;?
?????SCLK_H;?
?????i_data=i_data<<1;?
?????}?
/*****************************************/
???CS_L;?//關閉lcd?
???delay_1ms(1);//延時
}?
void?send_data(uchar?command_data)?
{?
?uchar?i;?
?uchar?i_data;
?i_data=0xfa;??
?CS_H;?
??for(i=0;i<8;i++)?
?????{?
??????if(i_data&0x80)
????????SID_H;
??????else
????????SID_L;
?????SCLK_L;?
?????SCLK_H;?
?????i_data=i_data<<1;??
?????}?
/*****************************************/
??i_data=command_data;?
??i_data&=0xf0;?
??for(i=0;i<8;i++)?
????{?
?????if(i_data&0x80)
????????SID_H;
?????else
????????SID_L;
?????SCLK_L;?
?????SCLK_H;?
?????i_data=i_data<<1;?
?????}?
/****************************************/
????i_data=command_data;
????i_data<<=4;?
????for(i=0;i<8;i++)?
?????{?
???????if(i_data&0x80)
?????????SID_H;
???????else
?????????SID_L;
???????SCLK_L;?
???????SCLK_H;?
???????i_data=i_data<<1;?
??????}
/************************************/
??CS_L;?//關閉lcd?
??delay_1ms(1);??
}
??
?
void?lcd_init()?
{?
?delay_1ms(100);?//延時100ms
?send_command(0x30);?/*設置8位數據接口,基本指令模式。*/?
?send_command(0x02);?/*清DDRAM*/?
?send_command(0x06);?/*游標及顯示右移一位*/??
?send_command(0x0c);?/*整體顯示開,游標關,反白關*/?
?send_command(0x01);?/*寫入空格清屏幕*/?
?send_command(0x80);?/*設定首次顯示位置*/?
?
}
/******在特定位置顯示一個字符*********/
void?Display_char(uint?xuint?yuint?c)
{
??uint?i=0j=0;
??if(y==0)
??{
????send_command(0x80);
?/*???for(i=0;i ?????send_data(‘?‘);*/
????send_data(c);
????for(j=x;j<15;j++)
?????send_data(‘?‘);
???}
??if(y==1)
??{
????send_command(0x90);
?//???for(i=0;i ???//??send_data(‘?‘);
????send_data(c);
????for(j=x;j<15;j++)
?????send_data(‘?‘);
???}
}
/******在特定位置顯示一個字符串*********/
void?Display_string(uint?xuin
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????26803??2012-11-29?18:56??頻率補償\測頻\Debug\Exe\freq2.d43
?????文件????????216??2012-11-29?18:57??頻率補償\測頻\Debug\Obj\freq2.pbd
?????文件??????50928??2012-11-29?18:56??頻率補償\測頻\Debug\Obj\main.r43
?????文件???????5815??2012-11-29?18:56??頻率補償\測頻\Debug\Obj\time.r43
?????文件???????4022??2012-11-29?19:29??頻率補償\測頻\freq2.dep
?????文件??????20123??2012-11-25?15:45??頻率補償\測頻\freq2.ewd
?????文件??????52267??2012-11-27?20:00??頻率補償\測頻\freq2.ewp
?????文件????????159??2012-11-25?15:45??頻率補償\測頻\freq2.ewp.eww
?????文件???????4046??2012-11-29?13:23??頻率補償\測頻\lcd.c
?????文件???????3634??2012-11-29?18:16??頻率補償\測頻\main.c
?????文件??????????0??2012-11-29?18:59??頻率補償\測頻\path.txt
?????文件???????1110??2012-11-29?18:57??頻率補償\測頻\settings\freq2.cspy.bat
?????文件???????5573??2012-11-29?19:29??頻率補償\測頻\settings\freq2.dbgdt
?????文件???????1265??2012-11-29?19:29??頻率補償\測頻\settings\freq2.dni
?????文件???????4159??2012-11-29?19:29??頻率補償\測頻\settings\freq2.ewp.wsdt
?????文件????????809??2012-11-29?18:56??頻率補償\測頻\time.c
?????文件?????????53??2012-11-25?15:29??頻率補償\測頻\time.h
?????目錄??????????0??2012-11-28?13:07??頻率補償\測頻\Debug\Exe
?????目錄??????????0??2012-11-25?13:28??頻率補償\測頻\Debug\List
?????目錄??????????0??2012-11-29?19:29??頻率補償\測頻\Debug\Obj
?????目錄??????????0??2012-11-25?13:28??頻率補償\測頻\Debug
?????目錄??????????0??2012-11-25?17:41??頻率補償\測頻\settings
?????目錄??????????0??2012-11-29?18:57??頻率補償\測頻
?????目錄??????????0??2012-11-29?20:22??頻率補償
-----------?---------??----------?-----??----
???????????????180982????????????????????24
- 上一篇:mt9p001 datasheet
- 下一篇:基于圖優化的同時定位與地圖創建綜述
評論
共有 條評論