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

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

QQ登錄

只需一步,快速開始

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

STC15單片機(jī)自帶ADC電壓表Proteus仿真程序 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


單片機(jī)源程序如下:
  1. #include <stc15f2k60s2.h>//添加STC15單片機(jī)頭文件
  2. unsigned long result,ref; //定義無(wú)符號(hào)長(zhǎng)整形變量result ref
  3. unsigned char R=0,K=0;   //定義無(wú)符號(hào)整形變量
  4. void votage() interrupt 0 //外部中斷0服務(wù)函數(shù)
  5. {
  6.     if(K>=6)   //if判斷語(yǔ)句  如果k>6  k置0
  7.     {
  8.         K=0;   
  9.     }
  10.     else
  11.     {
  12.         K++;   //k自加
  13.     }
  14. }
  15. void ADC_int() interrupt 5    //ADC中斷服務(wù)子函數(shù)
  16. {
  17.     if(R==0)    //if判斷語(yǔ)句  如果R等于0  執(zhí)行以下語(yǔ)句
  18.     {
  19.         ADC_CONTR=0x60+K; //ADC控制寄存器設(shè)置為0x60+k
  20.         ref=(ADC_RES*256+ADC_RESL)*5.0/1024*100000;  //ref變量存儲(chǔ)轉(zhuǎn)換結(jié)果
  21.         R=1;      //變量R置1
  22.         ADC_CONTR=0xe8+K;   //ADC控制寄存器設(shè)置為0xe8+k
  23.     }
  24.     else
  25.     {
  26.         ADC_CONTR=0x67;  //ADC控制寄存器設(shè)置為0x67
  27.         result=((ADC_RES*256+ADC_RESL)*5.0/1024*100000)/ref*2.5*100000-300; //result變量存儲(chǔ)轉(zhuǎn)換結(jié)果
  28.         R=0;
  29.         ADC_CONTR=0xef;   //ADC控制寄存器設(shè)置為0xef
  30.     }
  31. }
  32. void main()
  33. {
  34.     unsigned int code a[]= {0x01,0x02,0x04,0x08,0x10,0x20},b[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90},c[]= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0,0x10},d[]= {10000,1000,100,10,1};
  35.         //code 指定數(shù)據(jù)是存儲(chǔ)在代碼區(qū),數(shù)據(jù)是在編程的時(shí)候跟代碼一起寫入代碼存儲(chǔ)器,運(yùn)行過(guò)程中不能改變;
  36.         //定義的是靜態(tài)數(shù)組
  37.    unsigned int i,n;//定義無(wú)符號(hào)整形變量
  38.     P1ASF = 0xFF;//與ADC 相關(guān)寄存器P1ASF的值設(shè)置為0xFF
  39.     CLK_DIV= 0x20;    //ADC時(shí)鐘設(shè)置為0x20
  40.     IE0=0;  
  41.     EADC=EA=EX0=IT0=1;   //使能ADC中斷和打開總中斷,打開外部中斷0  設(shè)置為下降沿觸發(fā)
  42.     ADC_CONTR =0xef; //ADC控制寄存器設(shè)置為0xe8
  43.     while(1)
  44.     {
  45.         P7=b[K]; //把靜態(tài)數(shù)組a的元素值賦給P7口
  46.         n=result / 100000 % 10;   //取result的十萬(wàn)位賦給n   比如result是946782 則除100000后是9 對(duì)10求余后是9
  47.         P0=a[0]; //把靜態(tài)數(shù)組a的元素值賦給P0口
  48.         P2=c[n];  //把靜態(tài)數(shù)組c的元素值賦給P2口
  49.         for (i=1; i<=5; i++) //for循環(huán)  i從1到5
  50.         {
  51.             n=result / d[i-1] % 10;//依次取 result(即ADC轉(zhuǎn)換結(jié)果)的萬(wàn)位,千位,百位,十位,個(gè)位  
  52.             P0=a[i];//把靜態(tài)數(shù)組a的元素值賦給P0口
  53.             P2=b[n];//把靜態(tài)數(shù)組c的元素值賦給P2口
  54.         }
  55.     }
  56. }
復(fù)制代碼

這個(gè)程序貌似我仿真的時(shí)候,無(wú)結(jié)果,求大神指導(dǎo):
15ADC電壓表.zip (84.04 KB, 下載次數(shù): 109)





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

使用道具 舉報(bào)

沙發(fā)
ID:65956 發(fā)表于 2021-3-5 08:23 | 只看該作者
你這程序也只是一般用的測(cè)試,基準(zhǔn)源是自設(shè)定的,這種方法測(cè)出來(lái)是有一定的誤差的,建議用讀內(nèi)部基準(zhǔn)源再來(lái)計(jì)算,這樣誤差就小點(diǎn)了,不然你的供電5V就要非常準(zhǔn)才穩(wěn)定,另外這個(gè)芯片可以測(cè)8路的,你也只是測(cè)了7路而已
回復(fù)

使用道具 舉報(bào)

板凳
ID:888341 發(fā)表于 2021-3-5 13:21 | 只看該作者
aking991 發(fā)表于 2021-3-5 08:23
你這程序也只是一般用的測(cè)試,基準(zhǔn)源是自設(shè)定的,這種方法測(cè)出來(lái)是有一定的誤差的,建議用讀內(nèi)部基準(zhǔn)源再來(lái) ...

大神能分享一份比較好的STC15ADC采集程序和仿真嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:1069504 發(fā)表于 2023-4-3 19:28 | 只看該作者
我的也出現(xiàn)了這個(gè)問(wèn)題呀
回復(fù)

使用道具 舉報(bào)

5#
ID:1123544 發(fā)表于 2024-6-3 17:46 | 只看該作者
怎么減小這個(gè)程序的誤差啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区免费在线观看 | 日韩国产精品视频 | 一区二区三区四区视频在线观看 | 精品国产91乱码一区二区三区 | 久久精品在线观看 | 黄色高清网站 | 国产高清视频在线观看 | 日韩午夜在线观看 | 国产精品成人一区二区 | 色综合视频在线观看 | 国产一区精品在线观看 | 人人干人人艹 | 国产日本在线观看 | a级黄色片 | 国产美女精品视频 | 日韩一级大片 | 国产高清视频一区 | 日韩在线视频网站 | 国产h片在线观看 | 两性免费视频 | 这里只有精品在线观看 | 欧美日韩免费在线 | 狠狠操夜夜操 | 99热精品在线观看 | 国产免费a| 成人在线视频免费 | 欧美色综合天天久久综合精品 | 天天综合天天 | 日韩网站在线观看 | 亚洲无av在线中文字幕 | 亚洲女优在线 | 免费网站黄 | 韩国精品一区 | 日韩欧美在线视频 | 午夜视频免费 | 亚洲成人免费视频 | 精品国产aⅴ麻豆 | 久久国产亚洲 | 日日爽夜夜爽 | 婷婷视频在线 | 干干干操操操 |