• 大小: 163KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-11-08
  • 语言: C/C++
  • 标签: 单片机  频率计  1602  

资源简介

采用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个文件信息

评论

共有 条评论