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

標(biāo)題: 電阻應(yīng)變式壓力傳感器的proteus仿真 [打印本頁]

作者: 51黑ff    時(shí)間: 2016-9-9 02:09
標(biāo)題: 電阻應(yīng)變式壓力傳感器的proteus仿真

  1. #include"reg51.h"//頭文件
  2. #include<intrins.h>
  3. #define DD P2
  4. sbit CS=P1^0; //定義端口
  5. sbit CLK=P1^1;
  6. sbit DO=P1^2;
  7. sbit DI=P1^3;
  8. sbit KEY=P1^7;
  9. sbit buzzer=P0^0;
  10. sbit Rs=P1^4;//LCD定義端口
  11. sbit Rw=P1^5;
  12. sbit E=P1^6;
  13. sbit busy_p=ACC^7;
  14. unsigned char CH=0x02,key_count=1;
  15. unsigned char HC[6]={0};
  16. unsigned char BZ=0;
  17. void delay_1ms(unsigned char i) //延時(shí)函數(shù)1ms
  18. {
  19. unsigned char j;
  20. while(i--)
  21. for(j=0;j<125; j++);
  22. }
  23. void delay_10ns(unsigned char i)//延時(shí)函數(shù)10ns
  24. {
  25. unsigned char j;
  26. while(i--)
  27. for(j=0;j<10; j++);
  28. }
  29. void xiezhiling(unsigned char com,bit p)//寫命令函數(shù)
  30. {
  31. if(p)
  32. delay_10ns(5);
  33. E=0;
  34. Rs=0;
  35. Rw=0;
  36. DD=com;
  37. delay_10ns(50);
  38. E=1;
  39. delay_1ms(2);
  40. E=0;
  41. delay_10ns(4);
  42. }
  43. void xieshuju(unsigned char DATA)//寫數(shù)據(jù)函數(shù)
  44. {
  45. delay_10ns(50);
  46. E=0;
  47. Rs=1;
  48. Rw=0;
  49. DD=DATA;
  50. delay_10ns(50);
  51. E=1;
  52. delay_10ns(50);
  53. E=0;
  54. delay_10ns(4);
  55. }

  56. void init(void)//初始化函數(shù)
  57. {
  58. delay_1ms(15);
  59. xiezhiling(0x38,0);
  60. delay_1ms(5);
  61. xiezhiling(0x38,0);
  62. delay_1ms(5);
  63. xiezhiling(0x38,0);
  64. delay_1ms(5);
  65. xiezhiling(0x38,1); //功能設(shè)定(8位,2行,5*7點(diǎn)矩陣)
  66. xiezhiling(0x08,1);
  67. xiezhiling(0x01,1); //清除屏幕
  68. xiezhiling(0x06,1); //加1
  69. xiezhiling(0x0c,1);//顯示器ON,光標(biāo)OFF,閃爍OFF
  70. }
  71. unsigned char ADconv(void)//AD轉(zhuǎn)換子程序
  72. {
  73. unsigned char i;
  74. unsigned int data_f=0,data_c=0;
  75. DI=1;
  76. CS=1;
  77. _nop_();
  78. CS=0;
  79. DI=1; ;
  80. CLK=1;
  81. _nop_();
  82. _nop_();
  83. CLK=0;
  84. _nop_();
  85. _nop_();
  86. CLK=1;
  87. DI=(bit)(0x02&CH);
  88. _nop_();
  89. CLK=0;
  90. _nop_();
  91. _nop_();
  92. CLK=1;
  93. DI=(bit)(0x01&CH);
  94. _nop_();
  95. _nop_();
  96. CLK=0;
  97. DI=1;
  98. CLK=1;
  99. _nop_();
  100. _nop_();
  101. CLK=0;
  102. _nop_();
  103. CLK=1;
  104.      

  105. for(i=8;i>0;i--)
  106. {
  107.   data_f|=DO;
  108.   data_f<<=1;
  109.   CLK=1;
  110.   _nop_();
  111.   _nop_();
  112.   CLK=0;
  113.   _nop_();
  114. }
  115. for(i=8;i>0;i--)
  116. {
  117.   data_c<<=1;
  118.   data_c|=DO;
  119.   _nop_();
  120.   CLK=1;
  121.   _nop_();
  122.   _nop_();
  123.   CLK=0;
  124.   _nop_();

  125. }

  126. CLK=0;
  127. _nop_();
  128. _nop_();
  129. CLK=1;
  130. _nop_();
  131. _nop_();

  132. CLK=0;
  133. _nop_();
  134. _nop_();
  135. CLK=1;
  136. _nop_();
  137. CS=1;
  138. _nop_();
  139. _nop_();
  140. return data_f;
  141. }

  142. void xs_int(unsigned int shuju)//將一個(gè)數(shù)據(jù)各個(gè)位分開并存放在H C[]數(shù)組中
  143. {

  144. if(shuju < 10)
  145.   BZ = 1;
  146. else if(shuju < 100) BZ = 2;
  147. else if(shuju < 1000) BZ = 3;
  148. else if(shuju < 10000) BZ = 4;
  149. else if(shuju < 65535) BZ = 5;
  150. switch(BZ)
  151. {
  152.   case 5:HC[5] = shuju/10000; //百位
  153.   case 4:HC[3] = shuju%10000/1000;//十位
  154.   case 3:HC[2] = shuju%1000/100;//個(gè)位
  155.   case 2:HC[1] = shuju%100/10;//小數(shù)點(diǎn)后一位
  156.   case 1:HC[0] = shuju%10;
  157.   break;
  158.   default:break;
  159. }



  160. }
  161. void main(void)//主函數(shù)
  162. {
  163. unsigned int data_temp=0;
  164. init();
  165. TMOD=0x01;
  166. TH0=(65536-50000)/256;
  167. TL0=(65536-50000)%256;
  168. ET0=1;
  169. TR0=1;



  170. while(1)
  171. {
  172.   data_temp=ADconv();
  173.   if(data_temp>128)//報(bào)警數(shù)值
  174.   {
  175.    EA=1;
  176.   }
  177.   else
  178.   {
  179.    EA=0;
  180.    buzzer=0;
  181.   }
  182.   P3=~data_temp;
  183.   xs_int(196*data_temp);
  184.   if(KEY==0)
  185.   {
  186.    delay_1ms(10);
  187.    if(KEY==0)
  188.    while(!KEY);
  189.    key_count++;
  190.    if(key_count==3)
  191.    key_count=1;
  192.    xiezhiling(0x01,0);
  193.    
  194.   }

  195.   if(key_count==1)
  196.   {
  197.    xiezhiling(0x80,1);//LCD第一行
  198.    xieshuju('P');
  199.    xieshuju('R');
  200.    xieshuju('E');
  201.    xieshuju('S');
  202.    xieshuju('S');
  203.    xieshuju('U');
  204.    xieshuju('R');
  205.    xieshuju('E');
  206.    xieshuju('-');
  207.    xieshuju(HC[5]+0x30);
  208.    xieshuju(HC[3]+0x30);
  209.    xieshuju(HC[2]+0x30);
  210.    xieshuju('.');
  211.    xieshuju(HC[1]+0x30);
  212.    xieshuju('P');
  213.    xieshuju('a');
  214.   
  215.    xiezhiling(0x80+0x40,1);//LCD第二行
  216.    xieshuju('A');
  217.    xieshuju('l');
  218.    xieshuju('a');
  219.    xieshuju('r');
  220.    xieshuju('m');
  221.    xieshuju(' ');
  222.    xieshuju('S');
  223.    xieshuju('t');
  224.    xieshuju('a');
  225.    xieshuju('t');
  226.    xieshuju('u');
  227.    xieshuju('s');
  228.    xieshuju('-');
  229.    xieshuju('-');
  230.    xieshuju('O');
  231.    xieshuju('N');
  232.    
  233.   }
  234.   if(key_count==2)
  235.   {
  236.    xiezhiling(0x80,1);//LCD第一行
  237.    xieshuju('P');
  238.    xieshuju('r');
  239.    xieshuju('e');
  240.    xieshuju('s');
  241.    xieshuju('s');
  242.    xieshuju('u');
  243.    xieshuju('r');
  244.    xieshuju('e');
  245.    xieshuju(' ');
  246.    xieshuju('i');
  247.    xieshuju('s');
  248.    xieshuju(' ');
  249.    xieshuju('O');
  250.    xieshuju('K');
  251.    xieshuju(' ');
  252.    xieshuju(' ');
  253.    
  254.   
  255.    xiezhiling(0x80+0x40,1);//LCD第二行
  256.    xieshuju('m');
  257.    xieshuju('a');
  258.    xieshuju('d');
  259.    xieshuju('e');
  260.    xieshuju(' ');
  261.    xieshuju('B');
  262.    xieshuju('Y');
  263.    xieshuju(' ');
  264.    xieshuju('f');
  265.    xieshuju('u');
  266.    xieshuju('b');
  267.    xieshuju('a');
  268.    xieshuju('o');
  269.    xieshuju('j');
  270.    xieshuju('i');
  271.    xieshuju('e');
  272.    xieshuju(' ');
  273.    
  274.   }
  275.   
  276. }
  277. }

  278. void timer0() interrupt 1     // 中斷方式1
  279. {
  280. TH0=(65536-50000)/256;
  281. TL0=(65536-50000)%256;
  282. buzzer=!buzzer;
  283.         
  284. }
復(fù)制代碼


電阻應(yīng)變式壓力傳感器的proteus仿真的全部資料下載: 仿真文件.zip (77.96 KB, 下載次數(shù): 661)



(仿真只能用Proteus7.5打開,其他版本都不支持)修復(fù)后的程序: 修復(fù)后的文件.7z (47.3 KB, 下載次數(shù): 105)

作者: 雙木非林    時(shí)間: 2016-12-10 16:53
請(qǐng)問能將各個(gè)元件說明下嗎 謝謝
作者: 檸檬花裙    時(shí)間: 2016-12-11 14:16
好資料,51黑有你更精彩!!!
作者: 夜漫亭    時(shí)間: 2017-3-28 13:23
好像好高級(jí)的樣子~學(xué)習(xí)學(xué)習(xí)!
作者: 24不可說    時(shí)間: 2017-4-12 14:59
只有仿真模型,沒有.hex文件啊
作者: zhb950723    時(shí)間: 2017-5-2 13:02
樓主,數(shù)據(jù)出不來啊
作者: houzi19870822    時(shí)間: 2017-8-20 15:39
到底能不能打開兄弟們
作者: houzi19870822    時(shí)間: 2017-8-20 15:43
果然是沒有.hex文件,我的幣啊  我很窮的。。。。。。。。。。。。。
作者: 宮商角徵羽smile    時(shí)間: 2018-4-16 17:58
24不可說 發(fā)表于 2017-4-12 14:59
只有仿真模型,沒有.hex文件啊

將樓主發(fā)表的程序復(fù)制粘貼到Keil中,自己運(yùn)行就可以,我運(yùn)行0錯(cuò)誤。
作者: 宮商角徵羽smile    時(shí)間: 2018-4-16 18:02
陳建圩 發(fā)表于 2016-12-21 09:34
樓主,程序不能運(yùn)行唉

你將樓主寫的這段程序復(fù)制粘貼到Keil,自己運(yùn)行就可以,我運(yùn)行是零錯(cuò)誤
作者: 宮商角徵羽smile    時(shí)間: 2018-4-16 18:02
24不可說 發(fā)表于 2017-4-12 14:59
只有仿真模型,沒有.hex文件啊

你將樓主寫的這段程序復(fù)制粘貼到Keil,自己運(yùn)行就可以,我運(yùn)行是零錯(cuò)誤
作者: 宮商角徵羽smile    時(shí)間: 2018-4-16 18:03
同志們,將樓主寫的這段程序復(fù)制粘貼到Keil,自己運(yùn)行就可以,我運(yùn)行是零錯(cuò)誤。目前就是這樣,還沒看程序,在學(xué)習(xí)中
作者: 宮商角徵羽smile    時(shí)間: 2018-4-17 08:20
樓主,你現(xiàn)在還在嗎?你能具體講解一下程序運(yùn)行嗎?它是怎么一步操作緊扣下一步的?
作者: xyzmk123    時(shí)間: 2018-5-16 17:35
仿真出來壓強(qiáng)值一直是0,C程序有點(diǎn)問題
作者: 棟宇棟宇    時(shí)間: 2018-5-21 21:14
是的,仿真出來的數(shù)據(jù)一直是0,有哪位大神能告知是哪里的問題嗎

作者: Caucasus    時(shí)間: 2018-6-7 19:28
仿真出來數(shù)顯表沒有數(shù)字啊,另外我在哪調(diào)外加壓力呢……求大神解答謝謝
作者: 天琊無悔    時(shí)間: 2018-6-26 19:52
樓主還在嗎,protues小白想問問怎么施加壓強(qiáng)啊,我的一直不顯示數(shù)

作者: cherish1113    時(shí)間: 2018-6-30 07:48
zhb950723 發(fā)表于 2017-5-2 13:02
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

我的下載不了
作者: jialinGEGE    時(shí)間: 2018-7-7 00:03
天琊無悔 發(fā)表于 2018-6-26 19:52
樓主還在嗎,protues小白想問問怎么施加壓強(qiáng)啊,我的一直不顯示數(shù)

你成功了么?

作者: 包包是沙包    時(shí)間: 2018-10-12 12:20
是啊,不知道怎么加減壓力
作者: Jinxmas    時(shí)間: 2018-12-20 15:11
不錯(cuò)的東西,我用用
作者: qq1023721750    時(shí)間: 2019-1-4 11:17
測試了一下,程序沒有問題,再次感謝樓主
作者: GAO51小白    時(shí)間: 2019-4-13 10:57
左上角電容上面的是個(gè)什么元件,求告知各位!!!樓主怎么沒標(biāo)注

作者: Numberss    時(shí)間: 2019-6-18 16:44
請(qǐng)問這個(gè)的原理圖是哪個(gè)類型啊,我想自己畫一個(gè)
作者: ssnhjn    時(shí)間: 2019-6-26 09:55
仿真了但是沒有顯示呢,這個(gè)壓力怎么調(diào)呢?如何吧壓力傳感器換成電橋,因?yàn)槲乙N應(yīng)變片

作者: lkllkl額額    時(shí)間: 2020-1-6 08:44
宮商角徵羽smile 發(fā)表于 2018-4-16 18:02
你將樓主寫的這段程序復(fù)制粘貼到Keil,自己運(yùn)行就可以,我運(yùn)行是零錯(cuò)誤

Build  通不過啊
作者: MCUAPP    時(shí)間: 2020-3-14 13:12
修改版: 文件.7z (51.03 KB, 下載次數(shù): 29)
作者: 12580HJY    時(shí)間: 2020-4-6 20:27
xyzmk123 發(fā)表于 2018-5-16 17:35
仿真出來壓強(qiáng)值一直是0,C程序有點(diǎn)問題

解決了嗎
作者: Haroldlrh    時(shí)間: 2020-5-2 10:57
可以進(jìn)行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

51hei圖片20200502105630.png (142.16 KB, 下載次數(shù): 214)

51hei圖片20200502105630.png

作者: dsbi    時(shí)間: 2020-5-8 21:38
Haroldlrh 發(fā)表于 2020-5-2 10:57
可以進(jìn)行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

兄弟 壓力怎么顯示出來的,  我的一直是零。
作者: cjl498    時(shí)間: 2020-5-31 18:23
Haroldlrh 發(fā)表于 2020-5-2 10:57
可以進(jìn)行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

請(qǐng)問你的數(shù)據(jù)是怎么顯示的,可以貼代碼嗎!
作者: swustlx86    時(shí)間: 2020-6-1 01:43
好資料,51黑有你更精彩!!!
作者: TUE    時(shí)間: 2020-6-9 15:01
用protues怎么打開
作者: jj664422    時(shí)間: 2020-6-19 22:36
希望protues發(fā)展越來越壯大
作者: dzyr_j    時(shí)間: 2020-7-6 14:46
有沒有人知道為什么顯示屏的壓力總是0
作者: Orange_    時(shí)間: 2021-4-12 21:32
Haroldlrh 發(fā)表于 2020-5-2 10:57
可以進(jìn)行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

請(qǐng)問有做其他改動(dòng)嗎?我的一直顯示0pa,而且你的P3口好像沒有鏈接?

作者: emmmm。。    時(shí)間: 2021-5-14 17:12
棟宇棟宇 發(fā)表于 2018-5-21 21:14
是的,仿真出來的數(shù)據(jù)一直是0,有哪位大神能告知是哪里的問題嗎

你咋解決的呀
作者: 13205495918    時(shí)間: 2021-10-26 08:11
不錯(cuò)不錯(cuò),程序有值得學(xué)習(xí)的地方,謝謝分享
作者: WHUTXHL    時(shí)間: 2022-5-6 21:59
為啥氣壓顯示一直是0啊程序有誤嗎
作者: heicad    時(shí)間: 2022-5-7 04:12
WHUTXHL 發(fā)表于 2022-5-6 21:59
為啥氣壓顯示一直是0啊程序有誤嗎

你用的Proteus版本不對(duì),按樓主的說明用7.5版就可以了,你看圖

51hei.gif (110.85 KB, 下載次數(shù): 140)

51hei.gif

作者: WHUTXHL    時(shí)間: 2022-5-8 15:58
heicad 發(fā)表于 2022-5-7 04:12
你用的Proteus版本不對(duì),按樓主的說明用7.5版就可以了,你看圖

我用的7.8的,能正常打開,是為啥呢,氣壓一直0,而且電路一模一樣
作者: WHUTXHL    時(shí)間: 2022-5-8 16:00
heicad 發(fā)表于 2022-5-7 04:12
你用的Proteus版本不對(duì),按樓主的說明用7.5版就可以了,你看圖

電路相同,代碼相同,但是結(jié)果一直是0,只是因?yàn)閜roteus版本不一樣,我實(shí)在是想不通哪里有問題
作者: heicad    時(shí)間: 2022-5-8 19:16
WHUTXHL 發(fā)表于 2022-5-8 16:00
電路相同,代碼相同,但是結(jié)果一直是0,只是因?yàn)閜roteus版本不一樣,我實(shí)在是想不通哪里有問題

就是版本或者是model的問題,我用了很多版本都有錯(cuò) 只有用作者推薦的那個(gè)版本才可以
作者: WHUTXHL    時(shí)間: 2022-5-8 20:10
heicad 發(fā)表于 2022-5-8 19:16
就是版本或者是model的問題,我用了很多版本都有錯(cuò) 只有用作者推薦的那個(gè)版本才可以

好的,我剛剛也下了7.5,成功了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 玖玖玖av| 亚洲va国产日韩欧美精品色婷婷 | 7777在线视频| 久久1区 | 97人人爱| 久久av一区 | 中文字幕一区二区三区精彩视频 | 久久欧美高清二区三区 | 午夜电影网址 | 国产精品久久久久久久久久久久午夜片 | 日韩欧美中文字幕在线观看 | 国产精品福利在线 | 国产黄色av电影 | 二区三区视频 | 欧美激情一区二区三级高清视频 | 在线观看av网站 | 日韩精品一区二区在线观看 | 巨大黑人极品videos精品 | 91国产视频在线 | 97视频精品 | 人人人人爽 | 午夜看片网站 | av影音| 精品一区二区三区视频在线观看 | 成人福利网站 | 四虎影院在线观看av | 夜夜爽99久久国产综合精品女不卡 | 日本高清视频在线播放 | 欧美三级电影在线播放 | 日本成人在线网址 | 国内自拍视频在线观看 | 97日日碰人人模人人澡分享吧 | 日韩在线小视频 | 国产精选一区 | av一区在线观看 | 91久久北条麻妃一区二区三区 | 人人人人干 | 国产三级电影网站 | 欧美成人一区二区 | 天天狠狠 | 国产精品久久久久久一区二区三区 |