久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1442|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

來(lái)個(gè)大神幫幫忙,輸出為整數(shù),怎么改最小分度為0.1

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:334772 發(fā)表于 2018-5-24 09:05 來(lái)自觸屏版 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
#include "reg51.h"
#include<stdio.h>
#include<intrins.h>
#define uint8 unsigned char
#define uint16 unsigned int
#define uchar unsigned char
#define uint unsigned int
uint16 cnt2ms;        //10ms計(jì)數(shù)器
uint8 cnt1s;        //1秒計(jì)數(shù)器
#define        Z1 13700053.00
#define        Z2 3685279.00
//電感--------------------------------
float LZ=0;
#define        C1 0.0461
uint8 KL=0;        //
unsigned int Pulsecnt=0;        //脈沖個(gè)數(shù)
unsigned int Pulsenum;        //脈沖個(gè)數(shù)
uint8 start=0;        //
uint16 PulseTime;        //10ms計(jì)數(shù)器
uint16 Pulse;        //10ms計(jì)數(shù)器
bit flag=0;
uint8 CH=0;        //
unsigned long x;
void Init_Extint(void);
void TimerInitProc();
void Init_System(void);
void Display(uint8 chose_dat, uint8 dat);
void ShowDisp(uint8 tPulsenum, uint8 tPulsecnt, uint8 tcnt1s);
void DelayMs(uint8 Ms);
uint8 Pulse_FLAG=0;
uint8 Pulse_5=0;
/********************************按鍵*****************************************/
sbit    K3=P1^2;
sbit    A0=P2^4;
sbit    A1=P2^3;
sbit    RED=P2^0;
/********************************LCD液晶**************************************/
#define LCD_Data P0           //LCD的數(shù)據(jù)口
sbit    LCD_BF=LCD_Data^7;    //LCD忙信號(hào)位
sbit    LCD_RS=P2^5;
sbit    LCD_RW=P2^6;
sbit    LCD_EN=P2^7;
#define LCD_GO_HOME               0x02         //AC=0,光標(biāo)、畫(huà)面回HOME位
//輸入方式設(shè)置
#define LCD_AC_AUTO_INCREMENT     0x06         //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)增一
#define LCD_AC_AUTO_DECREASE      0x04         //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)減一
#define LCD_MOVE_ENABLE           0x05         //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面平移
#define LCD_MOVE_DISENABLE        0x04         //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面不動(dòng)

//設(shè)置顯示、光標(biāo)及閃爍開(kāi)、關(guān)
#define LCD_DISPLAY_ON            0x0C         //顯示開(kāi)
#define LCD_DISPLAY_OFF           0x08         //顯示關(guān)
#define LCD_CURSOR_ON             0x0A         //光標(biāo)顯示
#define LCD_CURSOR_OFF            0x08         //光標(biāo)不顯示
#define LCD_CURSOR_BLINK_ON       0x09         //光標(biāo)閃爍
#define LCD_CURSOR_BLINK_OFF      0x08         //光標(biāo)不閃爍

//光標(biāo)、畫(huà)面移動(dòng),不影響DDRAM
#define LCD_LEFT_MOVE             0x18         //LCD顯示左移一位
#define LCD_RIGHT_MOVE            0x1C         //LCD顯示右移一位
#define LCD_CURSOR_LEFT_MOVE      0x10         //光標(biāo)左移一位
#define LCD_CURSOR_RIGHT_MOVE     0x14         //光標(biāo)右移一位

//工作方式設(shè)置
#define LCD_DISPLAY_DOUBLE_LINE   0x38         //兩行顯示
#define LCD_DISPLAY_SINGLE_LINE   0x30         //單行顯示
/*定義子程序*/
void LCD_ClrAll(void);              //清屏
void Judge_LCD_busy(void);           //檢測(cè)是否忙碌
void LCD_Write(uchar WriteData);     //寫(xiě)控制字
void LCD_write_data(uchar LCD_data); //寫(xiě)數(shù)據(jù)顯示
void LCD_cursor(uchar x);    //光標(biāo)起始地址
void LCD_printc(unsigned char lcd_data) ;  //輸出一個(gè)字符
void LCD_prints(unsigned char *lcd_string);//輸出字符串
/*LCD1602忙碌判斷子程序*/
void Judge_LCD_busy(void)   //判斷LCD1602是否忙狀態(tài)
{
while(1)
  {
   LCD_EN=0;
   LCD_RS=0;
   LCD_RW=1;
   LCD_Data=0xff;
   LCD_EN=1;   //EN 是 1—0 使能
   if(!LCD_BF)break; //LCD_BF=1表示忙碌,需要等待。
  }
   LCD_EN=0;
}
/******LCD清屏***************/
void LCD_ClrAll(void)
{

Judge_LCD_busy();   //判斷是否忙碌
LCD_RS=0;
LCD_RW=0;
LCD_Data=0x01;
LCD_EN=1;
LCD_EN=0;

}
/*******LCD寫(xiě)數(shù)據(jù)定義各種模式*********/
void LCD_Write(uchar WriteData)   //寫(xiě)指令到LCD
{
Judge_LCD_busy();
LCD_RS=0;
LCD_RW=0;

LCD_Data=WriteData; //把WriteData的數(shù)據(jù)送到數(shù)據(jù)口
LCD_EN=1;
LCD_EN=0;
}
/********LCD顯示數(shù)據(jù)***********/
void LCD_write_data(uchar LCD_data)      //輸出一個(gè)字節(jié)數(shù)據(jù)到LCD
{
Judge_LCD_busy();
LCD_RS=1;
LCD_RW=0;

LCD_Data=LCD_data;
LCD_EN=1;
LCD_EN=0;
}
/****光標(biāo)位置的確定***/
void LCD_cursor(uchar x)            //LCD光標(biāo)定位到x處
{
LCD_Write(0x80+x);                       //第一行地址是0x80

}
/*輸出一個(gè)字符*/
void LCD_printc(unsigned char lcd_data)
{
LCD_write_data(lcd_data);
}

/*輸出字符串*/
void LCD_prints(unsigned char *lcd_string)
{
unsigned char i=0;
while(lcd_string[i]!=0x00)
  {
   LCD_write_data(lcd_string[i]);
   i++;
  }
}

/*初始化程序*/
void LCD_initial(void)                        //初始化LCD
{
LCD_Write(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE);
LCD_Write(LCD_DISPLAY_ON|LCD_CURSOR_OFF);
LCD_Write(LCD_DISPLAY_DOUBLE_LINE);
LCD_ClrAll();

}

/****延時(shí)******/
void delay_1ms(uint x)
{
uint j;
uchar i;
for(j=0;j<x;j++)
{
for(i=0;i<120;i++);
}
}
void Key_SM(void){

       if(K3==0)
           {
             delay_1ms(5);
            if(K3==0){
                RED=0;                  
                LCD_cursor(0x00);
                LCD_prints("   MEASURE Lx   ");  
                //----電感檔-------
                A0=0;
                A1=0;
                CH=2;//電感檔

                while(K3==0){}

                 }
            }

}
void  Value_to_ASCIIL(unsigned long value,uchar add)
{
    unsigned char temp[] = "000000uH ";
    temp[0] = value/100000 + 0x30;
    value = value%100000;
    temp[1] = value/10000 + 0x30;
    value = value%10000;
    temp[2] = value/1000 + 0x30;
    value = value%1000;
    temp[3] = value/100 + 0x30;
    value = value%100;
    temp[4] = value/10 + 0x30;
    value = value%10;
    temp[5] = value + 0x30;  

    LCD_cursor(add);   //光標(biāo)起始地址 ,第一行地址是0x00~0x0F,第二行地址是0x40~0x4f
    LCD_prints(temp);
}
//--------------------主程序--------------------------------
void main()
{

      TMOD=0x51;                 //設(shè)置定時(shí)器0,方式1:16位定時(shí)器
      TH1=0;
      TL1=0;
      TH0=(65536-2000)/256; //設(shè)定定時(shí)周期
      TL0=(65536-2000)%256;
      TR0=1;
      TR1=1;
      ET1=1;
      ET0=1;
      EA=1;
      A0=1;
      A1=0;
    LCD_initial();
         delay_1ms(50);
    LCD_initial();
         delay_1ms(50);
    LCD_cursor(0x00);

    LCD_prints("   Welcome   ");
          RED=1;
    LCD_cursor(0x45);
    CH=0;

        while(1)
        {

     Key_SM();
    if(flag==1){

        flag=0;

        x=Pulsenum*65536+TH1*256+TL1;//計(jì)算1s內(nèi)的脈沖個(gè)數(shù),頻率=脈沖個(gè)數(shù)

if(CH==2){


        LZ=(x*39.49*C1)/1000000;
        LZ=LZ*x;
        LZ=1000000/LZ;
    if(x==0)LZ=0;
  if(LZ>999999)LZ=999999; //限制最高值
         Value_to_ASCIIL(LZ,0x44);//更新電感值顯示
}
         cnt2ms=0;
         Pulsenum=0;
         TH1=0;
         TL1=0;
         TR1=1;

    }
        
        }
}
/*******************************************************************************
* 函 數(shù) 名: Exti0_interrupt
* 函數(shù)功能: /T0引腳下降沿進(jìn)入中斷
* 入口參數(shù): 無(wú)
* 返    回: 無(wú)
*******************************************************************************/
void T1_interrupt(void) interrupt 3 using 0
{

  Pulsenum++;        //保存測(cè)得脈搏值  
        
}
/********************************************************************
函數(shù)功能:定時(shí)器/計(jì)數(shù)器1中斷處理
入口參數(shù):null
返    回:null
備    注:null
********************************************************************/
void Timer0IntProc() interrupt 1 using 0 //2ms
{
  TH0=(65536-2000)/256;
  TL0=(65536-2000)%256;
    cnt2ms++;

        if(cnt2ms==497)        //1s計(jì)時(shí)到
        {

        TR1=0;


                cnt2ms = 0;
            
        flag=1;
        }

}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:277374 發(fā)表于 2018-5-24 14:44 | 只看該作者
說(shuō)一下你想實(shí)現(xiàn)的是什么功能,什么數(shù)據(jù)修改成小數(shù)格式的,你不能指望別人給你通讀程序,分析需求的。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 韩日精品一区 | 亚洲国产成人精品在线 | 久热免费 | 久久综合久色欧美综合狠狠 | 欧美国产中文字幕 | 成人影视网 | 久久88 | 狠狠综合网 | 国产中文在线 | 日韩免费一二三区 | 99精品在线| 嫩草影院黄 | 日韩免费看片 | 99久久影院| 欧美一区二区三区的 | 美女久久 | 91亚洲国产精品 | 国产精品一区久久久 | 懂色av蜜桃av | 精品国产乱码一区二区三区a | 欧美日韩第一页 | 91社区视频 | 中文字幕亚洲视频 | av永久| 殴美一级片 | 国产成在线观看免费视频 | 欧美xxxx日本| 久久精品亚洲成在人线av网址 | 久久综合888 | av在线伊人| 欧美精品成人影院 | 久久精品性视频 | 国产欧美精品一区二区三区 | 亚洲人成人一区二区在线观看 | 日韩中文字幕一区二区三区 | 国产乱码精品一区二区三区忘忧草 | 亚洲iv一区二区三区 | 情侣酒店偷拍一区二区在线播放 | 中文字幕日韩欧美一区二区三区 | 国产情侣久久 | 尤物在线 |