资源简介
实现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通信不上解决办法
- 下一篇:语音播报 简单(源码)
相关资源
- FFT高精度谐波检测方法研究
- 一种新型低纹波高精度数控直流电流
- 基于加汉宁窗的FFT高精度谐波检测改
- 基于DSP的PID高精度温度控制系统的设
- pt100高精度计算方法
- 基于51单片机/高精度AD(24位)芯片
- 高精度等待模块
- 模拟光耦器件HCNR201及其在高精度电压
- 基于FPGA的高精度频率计设计
- 基于光栅尺反馈的高精度步进电机位
- 汇编语言编写高精度除法运算实验报
- zw_输入捕获模式测量频率.zip
- 高精度算法包含正数的加减乘除和负
- OP07型低噪声高精度运算放大器
- 高精度动态称重算法与实现
- 爱尔兰B表1000信道高精度
- stm32高精度测距
- 基于单片机的高精度AD转换器.pdf
- HC-SR04+89C52RC+11.0592Mhz高精度驱动程序
- 螺线管磁场高精度计算方法
- 基于51单片机的电机调速代码
- 确定Lotka_Volterra生态系统模型高精度参
- 基于C8051F060的高精度温度控制系统设
- STM32利用输入捕获模式测量频率
- ADS1252 高精度的24bitAD 源程序通过
- 2018年高精度乡镇街道边界.rar
- 存储环中一般自旋进动中− 2和E
- 一种矿用电参数测量仪的研究
- 一种可控性高、成本低的高精度程控
- 电子秤程序
评论
共有 条评论