资源简介
实现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
- 上一篇:wincc通信不上解决办法
- 下一篇:语音播报 简单(源码)
相关资源
- Keithley-2000系列中文版简易使用说明
- 基于ARM的高精度PID温度控制器_张军
- STM32F1单片机MS5611高精度气压计驱动工
- 基于三维激光雷达的自动驾驶车辆高
- 论文研究 - 从自然水生环境中分离出
- 总结——调试STM32F103ZET6外围传感器
- 24位高精度ad cs5532 程序代码 stm32 已调
- 高精度重力仪的测量原理与发展现状
- 高精度时间测量芯片TDC—GP2使用
- 陈士凯的低成本高精度3D扫描仪软件
- 高精度惯性导航基础pdf
- 智东西-自动驾驶系列课第7课课件-基
- 基于FPGA的高精度数字频率计的设计
- 有限元高精度理论陈传淼
- 高精度UWB定位系统
- 用DS12C887实现的高精度时钟文档及代码
- 高精度 GPS伪距单点定位源代码
- 基于STM32的高精度建议电子秤实现源码
- 近程高精度脉冲激光测距系统的研究
- 基于单片机的频率脉宽的测量频率脉
- 近距离高精度测距方案超声波
- DW1000 API接口例程,UWB高精度定位
- 一种高精度的开关稳压电源设计(T
- 定位超宽带定位室内定位高精度定位
- stm32f1 测量频率 脉冲参量测试仪 只能
- 中国1KM高精度的人口数量数据
- stm32 测量频率1
- 使用CS算法机载SAR高精度成像处理的运
- 单相电参数测量仪精确地测量电压、
- 高电源抑制比和高精度基准电压源的
评论
共有 条评论