资源简介

实现MSP430单片机测频,单片机需超频至12M主频,采用最常用的低频测周,高频计数方法,频率测量范围达到0.1Hz-20MHz,理论上还可以测更高频率,但是手头只有20M的信号发生器

资源截图

代码片段和文件信息

#include “msp430f169.h“
#include “lcd12864.h“

#define CLR_RS P2OUT &= ~BIT7
#define SET_RS P2OUT |= BIT7
#define CLR_RW P2OUT &= ~BIT5
#define SET_RW P2OUT |= BIT5
#define CLR_EN P2OUT &= ~BIT3
#define SET_EN P2OUT |= BIT3
#define CtlDir P2DIR



/****************************************************************
函数名称:LCD_Write_Byte
函数功能:串行方式向12864写入一字节数据
入口参数:dat  8bit
出口参数:无
备 注:

*****************************************************************/
void LCD_Write_Byte(unsigned char dat)
{
unsigned char i;
for(i=0;i<8;i++)
{
CLR_EN;    
_NOP();
if(dat&0x80)
  SET_RW;
else
          CLR_RW;
SET_EN;
_NOP();
CLR_EN;
_NOP();
dat=dat<<1;
}
}

/****************************************************************
函数名称:LCD_Write_Com
函数功能:向12864写入命令
入口参数:com  
出口参数:无
备 注:

*****************************************************************/
void LCD_Write_Com(unsigned char com)
{
SET_RS;
LCD_Write_Byte(0xf8);
LCD_Write_Byte(com&0xf0);
LCD_Write_Byte(0xf0&com<<4); //先执行<<
CLR_RS;
}

/****************************************************************
函数名称:LCD_Write_Data
函数功能:向12864写入数据
入口参数:dat
出口参数:无
备 注:

*****************************************************************/
void LCD_Write_Data(unsigned char dat)
{
SET_RS;
LCD_Write_Byte(0xfa);
LCD_Write_Byte(dat&0xf0);
LCD_Write_Byte(0xf0&dat<<4);
CLR_RS;
}


/****************************************************************
函数名称:Init_LCD
函数功能:初始化12864液晶
入口参数:无
出口参数:无
备 注:严格按照资料给的初始化流程编写

*****************************************************************/
void LCD_Init()
{
  CtlDir |= BIT7 + BIT5 + BIT3;
  __delay_cycles(60000);
  LCD_Write_Com(0x30);   //功能设定指令,表示为基本指令
  __delay_cycles(10);
  LCD_Write_Com(0x30);
  __delay_cycles(40);
  LCD_Write_Com(0x0c); //显示状态指令,表示不显示游标
  __delay_cycles(100);
  LCD_Write_Com(0x01);  //清楚显示
  __delay_cycles(15000);
  LCD_Write_Com(0x06);   //进入点设定,这条指令貌似只有0x06的时候才能正常显示
}

/****************************************************************
函数名称:Clear_Screen
函数功能:清楚屏幕
入口参数:无
出口参数:无
备 注:

*****************************************************************/
void LCD_Clear_Screen()
{
LCD_Write_Com(0x01);
__delay_cycles(6000);
}

/****************************************************************
函数名称:LCD_Write_String
函数功能:向12864写入字符串
入口参数:x~(0-7)y~(0-3)---设定第一个字符的坐标
*s ----需要显示的字符串
出口参数:无
备 注:
*****************************************************************/
void LCD_Write_String(unsigned char yunsigned char xchar *s)
{
switch(y)
{
case 0:LCD_Write_Com(0x80+x);break;
case 1:LCD_Write_Com(0x90+x);break;
case 2:LCD_Write_Com(0x88+x);break;
case 3:LCD_Write_Com(0x98+x);break;
default:break;
}
while(*s)
{
LCD_Write_Data(*s);
s++;
}
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      40776  2013-03-20 22:16  Frequency Measurement V2.0\Debug\Exe\fre.d43

     文件        489  2012-07-27 14:53  Frequency Measurement V2.0\Debug\Obj\delay.pbi

     文件       4904  2012-07-20 16:42  Frequency Measurement V2.0\Debug\Obj\delay.r43

     文件        272  2013-03-20 22:21  Frequency Measurement V2.0\Debug\Obj\fre.pbd

     文件      15780  2013-03-20 21:48  Frequency Measurement V2.0\Debug\Obj\lcd12864.r43

     文件        493  2012-07-27 14:53  Frequency Measurement V2.0\Debug\Obj\lcd1602.pbi

     文件      13116  2012-07-20 16:42  Frequency Measurement V2.0\Debug\Obj\lcd1602.r43

     文件      40535  2013-03-20 22:16  Frequency Measurement V2.0\Debug\Obj\main.r43

     文件       5090  2013-03-20 22:22  Frequency Measurement V2.0\fre.dep

     文件      32768  2012-07-20 16:41  Frequency Measurement V2.0\fre.ewd

     文件      52490  2013-01-01 22:34  Frequency Measurement V2.0\fre.ewp

     文件        157  2012-07-20 16:41  Frequency Measurement V2.0\fre.eww

     文件       3108  2013-01-01 22:22  Frequency Measurement V2.0\lcd12864.c

     文件        289  2012-12-02 20:35  Frequency Measurement V2.0\lcd12864.h

     文件       4167  2013-03-20 22:21  Frequency Measurement V2.0\main.c

     文件          0  2013-03-20 22:16  Frequency Measurement V2.0\path.txt

     文件       1297  2013-03-20 22:16  Frequency Measurement V2.0\settings\fre.cspy.bat

     文件       5486  2013-03-20 22:22  Frequency Measurement V2.0\settings\fre.dbgdt

     文件       1390  2013-03-20 22:22  Frequency Measurement V2.0\settings\fre.dni

     文件       3563  2013-03-20 22:22  Frequency Measurement V2.0\settings\fre.wsdt

     目录          0  2013-03-20 22:22  Frequency Measurement V2.0\Debug\Exe

     目录          0  2012-12-02 19:57  Frequency Measurement V2.0\Debug\List

     目录          0  2013-03-20 22:22  Frequency Measurement V2.0\Debug\Obj

     目录          0  2013-03-20 22:22  Frequency Measurement V2.0\Debug

     目录          0  2013-03-20 22:22  Frequency Measurement V2.0\settings

     目录          0  2013-03-20 22:22  Frequency Measurement V2.0

----------- ---------  ---------- -----  ----

               226170                    26


评论

共有 条评论