mon51

    1. PIC单片机计算 3/2566 Microchip MCU 2014-03-13
      对不起,实在看不清楚。
    2. 希望如此!
    3. ST-LINK 驱动 win8.1 x64 3/4845 stm32/stm8 2014-02-21
      终于有了。
    4. AD采集采用了8次采集滑动滤波,数据稳定可靠!最多可以到16次!
    5. +12V 就是蓄电池的输入端!
    6. 软件模拟串口,9600很可靠。
    7. //******************************** #include         "Use.h" #include        "Ver.H" #include #define JL_OUT                GPIO1                //低电压电位保护 #define JH_OUT                GPIO2                //高电压电位保护 #define MAX_REF                (5000)                //5.00v #define MAX_UK                (10)                //变比系数10最大测量范围 /*----------------------------------------------------------- //ADCON0 ADFM VCFG - - CHS1 CHS0 GO/DONE ADON 00-- 0000 58,83 ADFM: A/D 结果格式选择位 1 = 右对齐 0 = 左对齐 //ch=输入的ADC的通道 B0000_1111 --------------------------------------------------------------*/ void ADC_Init(unsigned char ch){         ANSEL  =B0111_0000 | ch;                //使用内部特殊RC=500K         CMCON0 =B0000_0111;                                //Cout在内部,V-=Cin-                TRISIO =B0000_1000 | ch;                //必须采用或处理         if(ch & B0000_1000) TRISIO |=B0001_0000;        //CH4=ENABLED } //----------------------------------------------------------- //ADC采集开始 unsigned int  ADC(unsigned char channel){                //AD转换.         const unsigned char ADCNok[]={                 B1000_0001,B1000_0101,B1000_1001,B1000_1101,         };         while(GODONE);                           //等待转换完成.查询方式.         ADCON0=ADCNok[channel];         GODONE=1;                                     //开启转换过程.     while(GODONE);                           //等待转换完成.查询方式.         return (ADRESH Mp1.UH){                 JH_OUT=1;                }else{                 if(        Current_U
    8. #include "Use.h" #include "Ver.H" /************************************************************** UART接收程序在这里完成P0.4接收!    协议: 正常使用后,GPIO3=RXD;GPIO5=TXD!!GPIO4=0 进入下载模式! 波特率:9600 8 n 1 **************************************************************/ #define Uart_IN_IO  GPIO3                   //GPIO3=接收! #define MAX_RS232_CNT                20                //通讯的字节数 //************************************************************** unsigned char Get_Uart_Rece_Dat (void ){         unsigned char i,bt;         //************************************************************         bt=8;         i=0;         BPS_Delay();         while(bt--){                 i>>=1;                 if(Uart_IN_IO) i |=0x80;                 //*************************************************************                 //延时等待下一个位                 BPS_Delay();         }         //************************************************************         //等待结束位 (1)         //BPS_Delay();         return i; } //----------------------------------------------------------------------- static char getBuf[MAX_RS232_CNT],cnt=0;         //接收缓存! static unsigned char fFlag=0; //******************************************************************** void Uart_Rece (void ){         //***********************************************************         //产生中断,开始接收!查询!         getBuf[cnt]=Get_Uart_Rece_Dat();         fFlag=5;         if(++cnt >=sizeof(getBuf))        cnt=0; } //******************************************************************** void SendBack(void){         unsigned char i;         if(fFlag==0) return;         if(fFlag--==1){                 //**************************************                 //数据校验!                 if(getBuf[0]=='U'){                         if(cnt>1){        //查询参数                                        Mp1.Uo=atoi(&getBuf[2]);                                 WriteToEexx();                         }                         i=sprintf(getBuf,"Uo=%d mV\r\n",Mp1.Uo);                 }                 if(getBuf[0]=='L'){                         if(cnt>1){        //查询参数                                 Mp1.UL=atoi(&getBuf[2]);                                 WriteToEexx();                         }                         i=sprintf(getBuf,"UL=%d mV\r\n",Mp1.UL);                 }                 if(getBuf[0]=='H'){                         if(cnt>1){        //查询参数                                        Mp1.UH=atoi(&getBuf[2]);                                 WriteToEexx();                         }                         i=sprintf(getBuf,"UH=%d mV\r\n",Mp1.UH);                 }                 //----------------------------------                 if(getBuf[0]=='W'){                         i=sprintf(getBuf,"U=%d mV \r\n",Current_U);                 }                 //----------------------------------                 if(getBuf[0]==0 || getBuf[0]=='0'){                         while(1);        //等待看门狗复位MCU ,重新开始!                 }                 SendOut(getBuf,i);//数据回发,检验是否正确!                 memset(getBuf,0,MAX_RS232_CNT);                 cnt=0;         } }
    9. 不知道实际使用会差多远?
    10. #define SHT75_SCK          GPIO1                                      //定义通讯时钟端口 #define SHT75_SDA        GPIO0                                      //定义通讯数据端口 #define NOP_1uS()                NOP() //*********************第二部分DHT90设置   START**************************************** #define noACK 0             //用于判断是否结束通讯 #define ACK   1             //结束数据传输                             //adr  command  r/w #define STATUS_REG_W 0x06   //000   0011    0 #define STATUS_REG_R 0x07   //000   0011    1 #define MEASURE_TEMP 0x03   //000   0001    1 #define MEASURE_HUMI 0x05   //000   0010    1 #define RESET        0x1e   //000   1111    0 #define TEMP                        0 #define HUMI                        1 /****************定义函数****************/ void SHT75_transstart(void);               //启动传输函数 void SHT75_connectionreset(void);          //连接复位函数 char SHT75_write_byte(unsigned char value);//DHT90写函数 char SHT75_read_byte(unsigned char ack);   //DHT90读函数 char SHT75_measure(unsigned char *p_value,unsigned char mode);//测量温湿度函数 //void calc_dht90(float *p_humidity ,float *p_temperature);//温湿度补偿 /*-------------------------------------- ;模块名称:SHT75_transstart(); ;功    能:启动传输函数 ;占用资源:-- ;参数说明:-- ;创建日期:2008.08.15 ;版    本:FV1.0(函数版本Function Version) ;修改日期:-- ;修改说明:-- ;-------------------------------------*/   void SHT75_transstart(void){ // generates a transmission start   //       _____         ________ // SHT75_SDA:      |_______| //           ___     ___ // SHT75_SCK : ___|   |___|   |______         SHT75_SDA=1;         SHT75_SCK=0;                   //Initial state         NOP_1uS();         SHT75_SCK=1;         NOP_1uS();         SHT75_SDA=0;         NOP_1uS();         SHT75_SCK=0;            NOP_1uS();NOP_1uS();NOP_1uS();         SHT75_SCK=1;         NOP_1uS();         SHT75_SDA=1;                 NOP_1uS();         SHT75_SCK=0;         } /*-------------------------------------- ;模块名称:SHT75_connectionreset(); ;功    能:连接复位函数 ;占用资源:-- ;参数说明:-- ;创建日期:2008.08.15 ;版    本:FV1.0(函数版本Function Version) ;修改日期:-- ;修改说明:-- ;-------------------------------------*/ void SHT75_connectionreset(void){ // communication reset: SHT75_SDA-line=1 and at least 9 SHT75_SCK cycles followed by transstart //       _____________________________________________________         ________ // SHT75_SDA:                                                      |_______| //          _    _    _    _    _    _    _    _    _        ___     ___ // SHT75_SCK : __| |__| |__| |__| |__| |__| |__| |__| |__| |______|   |___|   |______       unsigned char i;        SHT75_SDA=1;   SHT75_SCK=0;           //Initial state   for(i=0;i
    11. 我做的第二版stm32f4板子 267/47994 stm32/stm8 2014-02-09
      做的好,有以太网口就好。
    12. PIC单片机常用子程序包 38/15028 Microchip MCU 2014-02-09
      即便是C的,也懒得看。自己的库也很丰富。
    13. 贴:用T0定时器的软件模拟的UART口例程 7/3279 Microchip MCU 2014-02-08
      眼大5子 发表于 2014-2-7 14:49 串口数据比较频繁能用不?波特率调高可以吗
      数据看你的RAM有多少,40个我测试没有问题。波特率不宜再高了。偏差大了。!
    14. 贴:用T0定时器的软件模拟的UART口例程 7/3279 Microchip MCU 2014-02-08
      眼大5子 发表于 2014-2-7 14:49 串口数据比较频繁能用不?波特率调高可以吗
      数据看你的RAM有多少,40个我测试没有问题。波特率不宜再高了。偏差大了。!
    15. 贴:用T0定时器的软件模拟的UART口例程 7/3279 Microchip MCU 2014-02-07
      采用单工工作,很好用。T0的定时器就不会白工作了。
    16. 贴:用T0定时器的软件模拟的UART口例程 7/3279 Microchip MCU 2014-02-07
      //------------------------------------------------------------ #define F_osc        (4000000)                        //工作频率 4MHz //------------------------------------------------------------ #define BPS                        (9600)                         //9600 //************************************************************ //TUS=27  9600 //UDS=    4800 #define TUS                        (18)                        //27模拟仿真很好!!微调时间 15~35  2013-5-2测试Ok 9600 //************************************************************* //t1 自动重装波特率计算公式 CCLK/(256-TH1)32 //************************************************************* #define TtK                        -(F_osc/4/BPS-TUS)        //化简后的结果!
    17. 贴:用T0定时器的软件模拟的UART口例程 7/3279 Microchip MCU 2014-02-07
      #define BPS_Delay()                { TMR0=TtK;T0IF=0;while(!T0IF);} #include "Use.h" #include "Ver.H" /******************************************************************************** 正常使用后,GPIO3=RXD;GPIO5=TXD!!GPIO4=0 进入下载模式! 波特率:9600 8 n 1 ********************************************************************************/ #define  UART_SEND_Pin GPIO4        //GPIO4=TXD //******************************************************************************** //********************************************************************************* //发送一串数据 //********************************************************************************* void SendOut(unsigned char *p,unsigned char Long){         unsigned char i,Dat;                   while(Long--){                 i=8;                                                  //9600 8.n 1        P d8 S                 Dat=*p++;                 UART_SEND_Pin=0;                        //开始位                 BPS_Delay();                 while(i--){                         UART_SEND_Pin=(bit)(Dat & 0x01);                         Dat>>=1;                                BPS_Delay();                 }                 UART_SEND_Pin=1;                 BPS_Delay();         } }
    18. 自制PIC单片机编程器. 49/16036 Microchip MCU 2014-02-07
      好东西。
    19. 电子闹钟开发 2/3261 Microchip MCU 2012-12-16
      可以合作!

最近访客

< 1/1 >

统计信息

已有47人来访过

  • 芯积分:--
  • 好友:--
  • 主题:8
  • 回复:19

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言