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

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

QQ登錄

只需一步,快速開始

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

純電動(dòng)汽車動(dòng)力電池過充保護(hù)系統(tǒng)設(shè)計(jì)單片機(jī)代碼+Proteus仿真

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:90648 發(fā)表于 2019-3-9 19:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于單片機(jī)的純電動(dòng)汽車動(dòng)力電池過充保護(hù)系統(tǒng)設(shè)計(jì)與仿真,分享給大家,需要交流請(qǐng)加Q 1583-38 29 43 交流!
改變可變電阻RV1 向下模擬充電壓變小,向上移模擬充電電壓變大,當(dāng)充電壓大于24V時(shí),認(rèn)為過充電此時(shí)單片機(jī)切斷充電回路,同時(shí)報(bào)警液晶屏顯示充電電壓,當(dāng)過充時(shí),液晶屏顯示過充報(bào)警中。。。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. #include <math.h>    //Keil library
  4. #include <stdio.h>       //Keil library
  5. #include "1602.h"
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. uchar code word1[]={"  a product of  "};
  9. uchar code word2[]={"UNITED ELECTRONS"};
  10. uchar code word3[]={" Welcome........"};
  11. /***************位聲明**************/
  12. sbit dacs=P3^4;
  13. sbit dawr=P3^3;
  14. //ADC0832的引腳
  15. sbit ADCS =P3^5;  //ADC0832 chip seclect
  16. sbit ADDI =P3^7;  //ADC0832 k in
  17. sbit ADDO =P3^7;  //ADC0832 k out
  18. sbit ADCLK =P3^6;  //ADC0832 clock signal
  19. sbit led =P3^2;  //ADC0832 clock signal
  20. sbit adwr=P2^6;
  21. sbit out=P2^7;
  22. sbit beep=P1^0;//按鍵
  23. bit set_flag,disp_flag,bj_flag;
  24. uint ad_data;
  25. /***********函數(shù)聲明*******************/
  26. void delay(unsigned int Delay);        
  27. uchar Adc0832(unsigned char channel);
  28. void inittime0();
  29. void delay(uint z)                              //z為毫秒?
  30. {
  31. int a,b;
  32. for(a=z;a>0;a--)
  33. for(b=120;b>0;b--);
  34. }
  35. void Alarm1(uchar t)                  //報(bào)警子程序
  36. {
  37.          uchar i,j;
  38.         for(i=0;i<200;i++)
  39.         {
  40.                  beep = ~beep;
  41.                 for(j=0;j<t;j++);
  42.         }
  43. }
  44. /************
  45. 讀ADC0832函數(shù)
  46. ************/

  47. //采集并返回
  48. uchar Adc0832(unsigned char channel)     //AD轉(zhuǎn)換,返回結(jié)果
  49. {
  50.     uchar i=0;
  51.     uchar j;
  52.     uint dat=0;
  53.     uchar ndat=0;

  54.     if(channel==0)channel=2;
  55.     if(channel==1)channel=3;
  56.     ADDI=1;
  57.     _nop_();
  58.     _nop_();
  59.     ADCS=0;//拉低CS端
  60.     _nop_();
  61.     _nop_();
  62.     ADCLK=1;//拉高CLK端
  63.     _nop_();
  64.     _nop_();
  65.     ADCLK=0;//拉低CLK端,形成下降沿1
  66.     _nop_();
  67.     _nop_();
  68.     ADCLK=1;//拉高CLK端
  69.     ADDI=channel&0x1;
  70.     _nop_();
  71.     _nop_();
  72.     ADCLK=0;//拉低CLK端,形成下降沿2
  73.     _nop_();
  74.     _nop_();
  75.     ADCLK=1;//拉高CLK端
  76.     ADDI=(channel>>1)&0x1;
  77.     _nop_();
  78.     _nop_();
  79.     ADCLK=0;//拉低CLK端,形成下降沿3
  80.     ADDI=1;//控制命令結(jié)束
  81.     _nop_();
  82.     _nop_();
  83.     dat=0;
  84.     for(i=0;i<8;i++)
  85.     {
  86.         dat|=ADDO;//收數(shù)據(jù)
  87.         ADCLK=1;
  88.         _nop_();
  89.         _nop_();
  90.         ADCLK=0;//形成一次時(shí)鐘脈沖
  91.         _nop_();
  92.         _nop_();
  93.         dat<<=1;
  94.         if(i==7)dat|=ADDO;
  95.     }  
  96.     for(i=0;i<8;i++)
  97.     {
  98.         j=0;
  99.         j=j|ADDO;//收數(shù)據(jù)
  100.         ADCLK=1;
  101.         _nop_();
  102.         _nop_();
  103.         ADCLK=0;//形成一次時(shí)鐘脈沖
  104.         _nop_();
  105.         _nop_();
  106.         j=j<<7;
  107.         ndat=ndat|j;
  108.         if(i<7)ndat>>=1;
  109.     }
  110.     ADCS=1;//拉低CS端
  111.     ADCLK=0;//拉低CLK端
  112.     ADDO=1;//拉高數(shù)據(jù)端,回到初始狀態(tài)
  113.     dat<<=8;
  114.     dat|=ndat;
  115.     return(dat);            //return ad k
  116. }
  117. void InitTimer0(void)//50ms
  118. {
  119.     TMOD = 0x01;
  120.     TH0 = 0x3C;
  121.     TL0 = 0x0B0;
  122.     EA = 1;
  123.     ET0 = 1;
  124.     TR0 = 1;
  125. }
  126. void Timer0Interrupt(void) interrupt 1
  127. {
  128.     TH0 = 0x3C;
  129.     TL0 = 0x0B0;
  130.           disp_flag=1;
  131.     //add your code here!
  132. }
  133. /*******************************************/
  134. void main()                                                 //主函數(shù)
  135. {
  136.         uchar temp1;
  137.   InitTimer0();
  138.   LCD_Initial();    //液晶初始化
  139.         led=0;
  140.         out=0;
  141.   GotoXY(0,0);
  142. Print_slow(word1);
  143. GotoXY(0,1);
  144. Print_slow(word2);
  145. LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
  146.   GotoXY(0,0);
  147.   Print_slow(word3);
  148. LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
  149. GotoXY(0,0);                                       //選擇溫度顯示位置
  150. Print(" CHONGDIAN VOL:  ");                     //
  151. GotoXY(0,1);                                       //選擇溫度顯示位置
  152. Print(" cd_vol:      V  ");                     //         
  153. while(1)
  154.   {                                                                        
  155.                         
  156.                         if(disp_flag&&!bj_flag)
  157.                         {
  158.                                 disp_flag=0;
  159.                                         temp1=Adc0832(0)*100/255;
  160. //                                 ad_data =(uint)temp1;   //采樣值存儲(chǔ)單元初始化為0        DAC();
  161. //                                 ad_data=234;
  162.                                 GotoXY(10,1);                                       //選擇溫度顯示位置
  163.                                 Print_s(temp1/1000+0x30);                     //        
  164.                                 //Print_s(word3[8]);                      //
  165.                                 Print_s(temp1/100%10+0x30);                     //        
  166.                                 Print_s(temp1/10%10+0x30);                     //        
  167.                                 Print_s(temp1%10+0x30);
  168.                         }
  169.                 if(temp1>24&&!bj_flag)  //若第二路一氧化碳檢測(cè)值大于上限值
  170.          {
  171.                  bj_flag=1;
  172.      GotoXY(0,0);                  
  173.      Print("GUOCHONG BAOJIN...");                     //                          
  174.          }        
  175. //   else if(temp1<=24&&bj_flag)        
  176. //         {
  177. //                  bj_flag=0;
  178. //      GotoXY(0,0);                 
  179. //      Print(" CHONGDIAN VOL:  ");                     //                  
  180. //         }               
  181.          if(bj_flag)
  182.          {
  183.              Alarm1(60); //報(bào)警
  184.             out=1;
  185. }
  186.          else
  187.          {
  188.                  beep=1;        
  189.                  out=0;
  190.             }

  191.         }

  192. }
復(fù)制代碼

所有資料51hei提供下載:
基于單片機(jī)的純電動(dòng)汽車動(dòng)力電池過充保護(hù)系統(tǒng)設(shè)計(jì)與仿真.rar (115.91 KB, 下載次數(shù): 143)


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

使用道具 舉報(bào)

沙發(fā)
ID:489816 發(fā)表于 2019-3-13 11:57 | 只看該作者
試試,看著很厲害
回復(fù)

使用道具 舉報(bào)

板凳
ID:486846 發(fā)表于 2019-3-22 14:33 | 只看該作者
請(qǐng)問能在上實(shí)物測(cè)試嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:486846 發(fā)表于 2019-3-22 14:42 | 只看該作者
可否進(jìn)行實(shí)物仿真?
回復(fù)

使用道具 舉報(bào)

5#
ID:409381 發(fā)表于 2019-3-23 10:28 | 只看該作者
感謝真誠奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

6#
ID:65956 發(fā)表于 2019-3-25 09:00 | 只看該作者
用8位的0832作采集精度有點(diǎn)低吧,再說現(xiàn)在大多單片機(jī)都帶ADC功能,而且是10位以上了,還用得著這個(gè)?不過設(shè)計(jì)思路還是值得參考的
回復(fù)

使用道具 舉報(bào)

7#
ID:507559 發(fā)表于 2019-4-9 09:18 | 只看該作者
歡迎下載分享!
回復(fù)

使用道具 舉報(bào)

8#
ID:228939 發(fā)表于 2019-5-30 15:27 | 只看該作者
謝謝。7收下了
回復(fù)

使用道具 舉報(bào)

9#
ID:427923 發(fā)表于 2020-3-7 23:25 | 只看該作者
再加一個(gè)24V的穩(wěn)壓模塊就完美了
回復(fù)

使用道具 舉報(bào)

10#
ID:798689 發(fā)表于 2020-7-8 19:28 | 只看該作者
你好,為啥我下載過來,液晶屏不顯示啊
回復(fù)

使用道具 舉報(bào)

11#
ID:495287 發(fā)表于 2020-7-9 20:21 | 只看該作者
謝謝樓主分享,我準(zhǔn)備把他改為48伏的,看看能不能成功。

動(dòng)力世界無邊界,
存儲(chǔ)沖放都觀測(cè),
智能調(diào)節(jié)用處多,
扎實(shí)測(cè)試方不怯!
回復(fù)

使用道具 舉報(bào)

12#
ID:381903 發(fā)表于 2020-11-11 15:17 | 只看該作者
感謝分享!但是仿真沒有效果,也沒有體現(xiàn)出充放電,只能看看了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品99| 日本大香伊一区二区三区 | 伊色综合久久之综合久久 | 国产精品不卡视频 | 7777精品伊人久久精品影视 | 日韩一区二区在线播放 | 久久精品国产清自在天天线 | 国产偷自视频区视频 | 亚洲精品v日韩精品 | 国产精品乱码一二三区的特点 | 天天草狠狠干 | 久久精品这里精品 | 欧美视频福利 | 一区二区三区欧美 | 色综合一区二区 | 91视频.| 涩涩视频网站在线观看 | 欧美日韩综合 | 亚洲一区 | 国产丝袜一区二区三区免费视频 | 在线免费观看成年人视频 | 久久久久网站 | 97国产精品视频 | 成人在线免费观看视频 | 欧美婷婷 | 欧美三级成人理伦 | 欧美人妇做爰xxxⅹ性高电影 | 亚av在线| 国产高清一区二区三区 | 天天拍天天操 | 九九久久国产 | 成人三级电影 | 国产99久久精品一区二区300 | 九九在线视频 | 欧美国产日韩在线 | 亚洲精品福利在线 | 日韩在线一区二区三区 | 国产免费视频 | 91成人在线视频 | 久久一热 | 亚洲日韩视频 |