资源简介
采用AT89C52单片机智能控制,结合外围电子电路,设计的频率计性能稳定。在软件设计上采用了单片机的C语言设计,通过单片机内部定时/计数器同时动作,在测量频率时将测频率和测周期相结合,提高了频率计的测量准确性。
代码片段和文件信息
/*************************************************
更多51单片机资料请关注微信公众号:电子应用学习馆
**************************************************
*****************《电子应用学习馆》***************
***************************************************/
/*-----------------------------------------------
名称:LCD1602
内容:
引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include “1602.h“
#include “delay.h“
#define CHECK_BUSY
sbit RS = P2^2; //定义端口
sbit RW = P2^3;
sbit EN = P2^4;
#define RS_CLR RS=0
#define RS_SET RS=1
#define RW_CLR RW=0
#define RW_SET RW=1
#define EN_CLR EN=0
#define EN_SET EN=1
#define DataPort P0
/*------------------------------------------------
判忙函数
------------------------------------------------*/
bit LCD_Check_Busy(void)
{
#ifdef CHECK_BUSY
DataPort= 0xFF;
RS_CLR;
RW_SET;
EN_CLR;
_nop_();
EN_SET;
return (bit)(DataPort & 0x80);
#else
return 0;
#endif
}
/*------------------------------------------------
写入命令函数
------------------------------------------------*/
void LCD_Write_Com(unsigned char com)
{
while(LCD_Check_Busy()); //忙则等待
RS_CLR;
RW_CLR;
EN_SET;
DataPort= com;
_nop_();
EN_CLR;
}
/*------------------------------------------------
写入数据函数
------------------------------------------------*/
void LCD_Write_Data(unsigned char Data)
{
while(LCD_Check_Busy()); //忙则等待
RS_SET;
RW_CLR;
EN_SET;
DataPort= Data;
_nop_();
EN_CLR;
}
/*------------------------------------------------
清屏函数
------------------------------------------------*/
void LCD_Clear(void)
{
LCD_Write_Com(0x01);
DelayMs(5);
}
/*------------------------------------------------
写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char xunsigned char yunsigned char *s)
{
while (*s)
{
LCD_Write_Char(xy*s);
s ++; x++;
}
}
/*------------------------------------------------
写入字符函数
------------------------------------------------*/
void LCD_Write_Char(unsigned char xunsigned char yunsigned char Data)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x);
}
else
{
LCD_Write_Com(0xC0 + x);
}
LCD_Write_Data( Data);
}
/*------------------------------------------------
初始化函数
------------------------------------------------*/
void LCD_Init(void)
{
LCD_Write_Com(0x38); /*显示模式设置*/
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
LCD_Write_Com(0x08); /*显示关闭*/
LCD_Write_Com(0x01); /*显示清屏*/
LCD_Write_Com(0x06); /*显示光标移动设置*/
DelayMs(5);
LCD_Write_Com(0x0C); /*显示开及光标设置*/
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 44 2018-12-07 00:00 频率计\更多嵌入式资料.txt
文件 3095 2019-01-20 21:21 频率计\频率计源码\1602.c
文件 769 2010-06-02 21:39 频率计\频率计源码\1602.h
文件 998 2019-01-20 21:12 频率计\频率计源码\delay.c
文件 654 2010-06-02 00:39 频率计\频率计源码\delay.h
文件 3500 2019-01-20 21:38 频率计\频率计源码\main.c
文件 5779 2010-06-09 10:08 频率计\频率计源码\obj\1602.lst
文件 6632 2010-06-09 10:08 频率计\频率计源码\obj\1602.obj
文件 1899 2010-06-09 10:08 频率计\频率计源码\obj\delay.lst
文件 1170 2010-06-09 10:08 频率计\频率计源码\obj\delay.obj
文件 6101 2010-06-09 10:08 频率计\频率计源码\obj\main.lst
文件 6556 2010-06-09 10:08 频率计\频率计源码\obj\main.obj
文件 15858 2010-06-09 10:08 频率计\频率计源码\obj\频率计
文件 9073 2010-06-09 10:08 频率计\频率计源码\obj\频率计.hex
文件 18009 2010-06-09 10:08 频率计\频率计源码\obj\频率计.m51
文件 173 2010-07-09 15:03 频率计\频率计源码\obj\频率计.plg
文件 44 2018-12-07 00:00 频率计\频率计源码\更多嵌入式资料.txt
文件 173 2010-06-08 13:04 频率计\频率计源码\频率计.plg
....... 85967 2019-01-20 21:38 频率计\频率计源码\频率计.uvgui.Administrator
....... 11976 2019-01-20 21:12 频率计\频率计源码\频率计.uvopt
....... 14189 2019-01-20 21:12 频率计\频率计源码\频率计.uvproj
文件 1861 2010-06-09 10:08 频率计\频率计源码\频率计_Opt.Bak
文件 59998 2019-01-20 21:20 频率计\频率计电路图\__Previews\原理图.SchDocPreview
文件 135481 2019-01-20 21:20 频率计\频率计电路图\原理图.pdf
文件 127488 2019-01-20 21:20 频率计\频率计电路图\原理图.SchDoc
文件 44 2018-12-07 00:00 频率计\频率计电路图\更多嵌入式资料.txt
目录 0 2019-01-20 21:10 频率计\频率计源码\obj
...D.H. 0 2019-01-20 21:14 频率计\频率计电路图\__Previews
目录 0 2019-01-20 21:38 频率计\频率计源码
目录 0 2019-01-20 21:20 频率计\频率计电路图
............此处省略4个文件信息
相关资源
- 单片机C语言实战开发108例
- stm32库函数代码自动生成器V1.2
- 单片机电子密码锁
- 单片机程序(附初级、中级、高级共
- 按键可调万年历(单片机程序)
- 51单片机数码管四层电梯模拟系统
- 基于51单片机的温控系统
- 51单片机protues文件(KST-51.DSN)
- 51单片机交通灯设计
- 基于51单片机的简易计算器
- 单片机按键长按
- 基于51单片机多路超声波报警设计
- 51单片机红外智能小车
- 单片机控制绕线机.c
- Arduino-LM35-LCD1602数字温度计实验.doc
- qt上位机采集51单片机温湿度数据
- AVR单片机SPI通讯程序 (C语言源代码)
- BP神经网络C语言工程当前最终版
- 汉字取模软件----单片机使用必备
- 基于51单片机射频RFID卡考勤上课上班
- 基于C51与1602液晶显示屏的万年历电子
- 可以在单片机上计算的BP神经网络C语
- 基于51单片机的888光立方设计.rar
- 单片机C语言与PROTUES仿真技能实训
- DES和3DES加密算法,C语言,适用于单片
- 51单片机DS18B20温度计C语言程序附详解
- 郭天祥51单片机C语言教程配套光盘
- 新概念51单片机C语言教程第2版郭天祥
- C语言实现51单片机和ADC0809芯片的AD模
- C语言实战——基于51单片机的RFID射频
评论
共有 条评论