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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4219|回復: 0
打印 上一主題 下一主題
收起左側

MSP430電池電壓采集Proteus仿真程序

[復制鏈接]
跳轉到指定樓層
樓主
MSP430電池電壓采集仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <MSP430x24x.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar const table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,  //共陰數碼管段選碼表,無小數點
  5.                                0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  6. uchar table_volt[4] = {0};               //數組,存儲電壓值
  7. uchar Index;                            //變量
  8. //*******延時函數************//
  9. void Delay_ms(unsigned int t)
  10. {
  11.     unsigned int num;
  12.     while(t--)
  13.       for(num=1330;num>0;num--);
  14. }


  15. //ADC管腳定義

  16. #define ADCST0          P5OUT &= ~BIT4
  17. #define ADCST1          P5OUT |= BIT4
  18. #define ADCALE0         P5OUT &= ~BIT5
  19. #define ADCALE1         P5OUT |= BIT5
  20. #define ADCEOC0         P5OUT &= ~BIT6
  21. #define ADCEOC1         P5OUT |= BIT6
  22. #define ADCOE0          P5OUT &= ~BIT7
  23. #define ADCOE1          P5OUT |= BIT7  
  24. #define ADC_Channel0          P5OUT &= ~BIT0
  25. #define ADC_Channel1          P5OUT |= BIT0
  26. unsigned int  ADC1 = 0;                                  //變量,采集電池電壓值

  27. //*******ADC采集啟動函數************//
  28. void ADC_START(void)
  29. {
  30.   ADCALE1;
  31.   ADCST1;
  32.   Delay_ms(1);
  33.   ADCALE0;
  34.   ADCST0;
  35.   Delay_ms(1);
  36. }

  37. //*******ADC采集時序實現函數************//
  38. unsigned int ADC_READ(void)
  39. {
  40.   unsigned int data;
  41.   data=0x00;
  42.   Delay_ms(1);
  43.   ADCOE1;
  44.   ADC_START();
  45.   Delay_ms(5);
  46.   data=P4IN;                    //讀取數據
  47.   ADCOE0;
  48.   return data;                          //返回數據
  49. }

  50. //*******主函數************//
  51. void main(void)
  52. {
  53.    
  54.     WDTCTL=WDTPW + WDTHOLD; // 關閉看門狗
  55.     P2DIR=0xFF;            // 設置方向
  56.     P2SEL=0;            // 設置為普通I/O 口
  57.    
  58.     P3DIR=0xFF;            // 設置方向
  59.     P3SEL=0;            // 設置為普通I/O 口
  60.    
  61.     P2OUT=0x00;
  62.     P3OUT=0xFF;
  63.    
  64.     P5SEL = 0x00;
  65.     P5DIR |= BIT0+BIT4+BIT5+BIT6;               //ADC芯片接口
  66.    
  67.   
  68.    
  69.     while(1)
  70.     {
  71.       
  72.          P3OUT=0xFF;
  73.          if( Index == 0 )                       //如果第一個數碼管顯示,加入小數點
  74.          {
  75.             P2OUT=table[table_volt[Index]]+0x80;//小數點
  76.          }
  77.          else                                           //其他不加
  78.          {
  79.             P2OUT=table[table_volt[Index]];             //顯示電壓值
  80.          }
  81.             P3OUT=~(1<<Index);
  82.           if(++Index==4) Index=0;
  83.          Delay_ms(1);                   //延時
  84.       
  85.         ADC1 = ADC_READ()*20-80;                //ADC電池電壓采集,放大
  86.         table_volt[0] = ADC1/1000;               //千位               
  87.         table_volt[1] = ADC1%1000/100;            //百位
  88.         table_volt[2] = ADC1%100/10;                            //十位
  89.         table_volt[3] = ADC1%10;                        //個位
  90.          
  91.     }

  92.    
  93. }
復制代碼

所有資料51hei提供下載:
電池電壓檢測仿真.zip (439.18 KB, 下載次數: 47)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九热精品视频在线观看 | 日韩欧美成人一区二区三区 | 色888www视频在线观看 | www.av在线 | 午夜网| 精品久久av | 精品欧美乱码久久久久久1区2区 | 亚洲激情自拍偷拍 | 亚洲午夜三级 | 一区二区三区亚洲视频 | 91在线观看视频 | 草草视频在线免费观看 | 国产精品一区二区不卡 | 蜜桃臀av一区二区三区 | 黄色成人av| 97视频人人澡人人爽 | 国产高清区 | 日韩亚洲一区二区 | 日本精品一区二区三区四区 | 久久极品 | 国产高清精品一区二区三区 | 亚洲一区二区三区在线播放 | 中文字幕一区二区三区乱码图片 | 国产视频精品视频 | 欧美日韩成人 | 99精品久久久久久中文字幕 | 爱综合 | 天天躁人人躁人人躁狂躁 | 日韩在线免费视频 | 欧美一级欧美一级在线播放 | 高清免费av | 日本精品视频 | 国产高清视频在线播放 | 日韩av第一页 | 看片wwwwwwwwwww| 国产精品区二区三区日本 | 亚洲激情自拍偷拍 | 中文字幕一区二区三区四区 | 天天干天天玩天天操 | 午夜影院在线播放 | 午夜大片 |