• 大小: 35.45MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-07
  • 语言: 其他
  • 标签: lm393  单片机  

资源简介

通过PROTEUS 系统的仿真,绘制出数字式电感电容表的电路仿真图。 2. 将CPU,存储器,以及I/O接口集成在同一芯片内,基于单片机与555定时器原理进行硬件制作。 3. 根据电路仿真图,使用多谐振荡原理测试电容。 技术要求: 4.使用两片NE555产生标准脉冲和待测脉冲,将电容显示在数个数码管上。 5.测量误差:±10%

资源截图

代码片段和文件信息

#include “reg52.h“
#include “intrins.h“
#include “.\Head\LCD1602.h“

#define LCD_DATA P0
sbit RS = P1^0; //数据/命令选择(H/L)
sbit RW = P1^1; //读/写选择(L/H)
sbit LCD_EN = P1^2; //使能信号
sbit LCD_BUSY = P0^7;   //忙信号

unsigned long power(unsigned char xunsigned char n)
{
unsigned char i;
unsigned long l=1;
if(n==0)
{
return 1;
}
else
{
for(i=0;i {
l = l*x;
}
return l;
}
}
/*----------------------------------------------
   延时n毫秒(误差极小)
12M晶振,12T模式,一指令周期=1us
-----------------------------------------------*/
void Delay_ms(unsigned char n)
{
unsigned char ij;
for(i=0;i {
//1ms  (跳转等3个指令周期+两个空指令)*200
for(j=0;j<200;j++)
{
_nop_();
_nop_();
}
}
}
/*-----------------读取忙标志位-----------------*/
void Check_busy(void)
{
do
{
LCD_EN=0;
RS=0;
RW=1;
LCD_DATA=0xff;
LCD_EN=1;
}
while(LCD_BUSY==1);
LCD_EN=0;
}
/*--------------------写指令--------------------*/
void Write_Command(unsigned char cmd)
{
Check_busy();
RS=0;
RW=0;
LCD_DATA = cmd;
LCD_EN=0;
LCD_EN=1;
LCD_EN=0;
}
/*--------------------写数据--------------------*/
void Write_Data(unsigned char dat)
{
Check_busy();
RS=1;
RW=0;
LCD_DATA = dat;
LCD_EN=0;//机器周期小于1us时,须加延时
LCD_EN=1;
LCD_EN=0;
}
/*--------------------写字符串-------------------*/
//x:列(0~15);y:行(01)    
//从指定的位置开始写,直到超出屏幕显示
void LCD_Write_String(unsigned char yunsigned char xunsigned char *Data)
{
if(y==0) //第一行
{
if(x<16)
{
Write_Command(0x80+x); //0x80第一行起始地址
for(;x<16&&*Data!=‘\0‘;x++) //‘\0‘字符串结束标志
{
Write_Data(*(Data++));
}
}
}
if(y==1) //第二行
{
if(x<16)
{
Write_Command(0xc0+x); //0xc0第二行起始地址
for(;x<16&&*Data!=‘\0‘;x++) //‘\0‘字符串结束标志
{
Write_Data(*(Data++));
}
}
}
}

/*--------------------写长整型数据-------------------*/
//x:列(0~15);y:行(01);截取长整型后length个数字显示在指定位置(全显示length=10)
//注意此函数不支持换行,起始列+length>15时后面的显示不出来,仅能单行显示   
void LCD_Write_Long(unsigned char yunsigned char xunsigned char lengthunsigned long Data)
{
unsigned char ik;
if(length>10)
{
length = 10;
}
if(length<10)
{
Data = Data%power(10length);
}
if(y==0) //第一行
{
Write_Command(0x80+x); //0x80第一行起始地址
for(i=0;i {
k = (unsigned char)(Data/power(10length-1-i));
Data = Data%power(10length-1-i);
Write_Data(k+0x30);
}
}
if(y==1) //第二行
{
Write_Command(0xc0+x); //0x80第一行起始地址
for(i=0;i {
k = (unsigned char)(Data/power(10length-1-i));
Data = Data%power(10length-1-i);
Write_Data(k+0x30);
}
}
}

/*--------------------写长整型数据可以指定小数点后数字位数-------------------*/
//x:列(0~15);y:行(01);截取长整型后length个数字显示在指定位置(全显示length=10)
//注意此函数不支持换行,起始列+length>15时后面的显示不出来,仅能单行显示
//pot:小数点后显示几个数字 例:1234567 pot=2时显示为12345.67   
void LCD_Write_LongPoint(unsigned char yunsigned char xunsigned char lengthunsigned char potunsigned long Data

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

     文件   36195376  2018-05-28 22:39  功能说明\录像\VID_20180528_202620_baofeng.mp4

     文件     259072  2018-05-26 01:20  功能说明\成品\2.输出文档\2.输出文档\原理图与PCB\LC-meter-T01.sch

     文件      45105  2018-04-19 18:05  功能说明\成品\2.输出文档\2.输出文档\原理图与PCB\LC-meter_Project.PrjPcb

     文件      93257  2018-05-29 14:53  功能说明\成品\2.输出文档\2.输出文档\原理图与PCB\__Previews\LC meter-T01.PcbDocPreview

     文件         82  2018-05-11 10:11  功能说明\成品\2.输出文档\2.输出文档\原理图与PCB\画图软件altium designer.txt

     文件       4533  2018-04-25 01:07  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\C\LCD1602.c

     文件       3906  2018-05-02 20:56  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\C\Main.c

     文件       6229  2018-04-25 01:02  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\C\Measure.c

     文件        759  2011-07-20 12:09  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Head\define.h

     文件        157  2012-07-31 18:04  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\LCF_51.plg

     文件      11334  2018-04-25 01:07  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Lst\LCD1602.lst

     文件      33999  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Lst\LCF_51.m51

     文件      10867  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Lst\Main.lst

     文件      14851  2018-04-25 01:07  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Lst\Measure.lst

     文件       6715  2018-04-25 01:07  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCD1602.obj

     文件      11875  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCF_51

     文件       1238  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCF_51.build_log.htm

     文件      13765  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCF_51.hex

     文件        124  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCF_51.lnp

     文件        889  2012-10-08 18:58  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\LCF_51.plg

     文件       4178  2018-05-02 20:57  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\Main.obj

     文件       7647  2018-04-25 01:07  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\Obj\Measure.obj

     文件         89  2018-05-11 10:10  功能说明\成品\2.输出文档\2.输出文档\程序\编程软件Keil.txt

     文件     768910  2018-05-29 15:49  功能说明\成品\2.输出文档.rar

     文件     268660  2018-05-29 18:16  功能说明\成品\LC meter-T01.pdf

     文件     334894  2018-05-29 18:16  功能说明\成品\LC-meter-T01.pdf

     文件     533113  2018-05-29 20:34  功能说明\成品\LC表.pdf

     文件         66  2018-10-14 20:16  功能说明\说明.txt

    ..A..H.       162  2018-10-14 20:46  功能说明\需求\~$功能说明.docx

     目录          0  2018-05-29 14:49  功能说明\成品\2.输出文档\2.输出文档\程序\LC-T0.1\C

............此处省略17个文件信息

评论

共有 条评论