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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 38564|回復: 43
收起左側

電阻應變式壓力傳感器的proteus仿真

  [復制鏈接]
ID:137190 發表于 2016-9-9 02:09 | 顯示全部樓層 |閱讀模式
0.png

  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) //延時函數1ms
  18. {
  19. unsigned char j;
  20. while(i--)
  21. for(j=0;j<125; j++);
  22. }
  23. void delay_10ns(unsigned char i)//延時函數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)//寫命令函數
  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)//寫數據函數
  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)//初始化函數
  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); //功能設定(8位,2行,5*7點矩陣)
  66. xiezhiling(0x08,1);
  67. xiezhiling(0x01,1); //清除屏幕
  68. xiezhiling(0x06,1); //加1
  69. xiezhiling(0x0c,1);//顯示器ON,光標OFF,閃爍OFF
  70. }
  71. unsigned char ADconv(void)//AD轉換子程序
  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)//將一個數據各個位分開并存放在H C[]數組中
  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;//個位
  155.   case 2:HC[1] = shuju%100/10;//小數點后一位
  156.   case 1:HC[0] = shuju%10;
  157.   break;
  158.   default:break;
  159. }



  160. }
  161. void main(void)//主函數
  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)//報警數值
  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. }
復制代碼

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

評分

參與人數 3黑幣 +15 收起 理由
xyyz + 5
XINGYALEE + 5 贊一個!
QQwert + 5 贊一個!

查看全部評分

回復

使用道具 舉報

ID:153677 發表于 2016-12-10 16:53 | 顯示全部樓層
請問能將各個元件說明下嗎 謝謝
回復

使用道具 舉報

ID:153883 發表于 2016-12-11 14:16 來自手機 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

ID:184098 發表于 2017-3-28 13:23 | 顯示全部樓層
好像好高級的樣子~學習學習!
回復

使用道具 舉報

ID:119421 發表于 2017-4-12 14:59 | 顯示全部樓層
只有仿真模型,沒有.hex文件啊
回復

使用道具 舉報

ID:195386 發表于 2017-5-2 13:02 | 顯示全部樓層
樓主,數據出不來啊
回復

使用道具 舉報

ID:227373 發表于 2017-8-20 15:39 | 顯示全部樓層
到底能不能打開兄弟們
回復

使用道具 舉報

ID:227373 發表于 2017-8-20 15:43 | 顯示全部樓層
果然是沒有.hex文件,我的幣啊  我很窮的。。。。。。。。。。。。。
回復

使用道具 舉報

ID:308395 發表于 2018-4-16 17:58 | 顯示全部樓層
24不可說 發表于 2017-4-12 14:59
只有仿真模型,沒有.hex文件啊

將樓主發表的程序復制粘貼到Keil中,自己運行就可以,我運行0錯誤。
回復

使用道具 舉報

ID:308395 發表于 2018-4-16 18:02 | 顯示全部樓層
陳建圩 發表于 2016-12-21 09:34
樓主,程序不能運行唉

你將樓主寫的這段程序復制粘貼到Keil,自己運行就可以,我運行是零錯誤
回復

使用道具 舉報

ID:308395 發表于 2018-4-16 18:02 | 顯示全部樓層
24不可說 發表于 2017-4-12 14:59
只有仿真模型,沒有.hex文件啊

你將樓主寫的這段程序復制粘貼到Keil,自己運行就可以,我運行是零錯誤
回復

使用道具 舉報

ID:308395 發表于 2018-4-16 18:03 | 顯示全部樓層
同志們,將樓主寫的這段程序復制粘貼到Keil,自己運行就可以,我運行是零錯誤。目前就是這樣,還沒看程序,在學習中
回復

使用道具 舉報

ID:308395 發表于 2018-4-17 08:20 | 顯示全部樓層
樓主,你現在還在嗎?你能具體講解一下程序運行嗎?它是怎么一步操作緊扣下一步的?
回復

使用道具 舉報

ID:329561 發表于 2018-5-16 17:35 | 顯示全部樓層
仿真出來壓強值一直是0,C程序有點問題
回復

使用道具 舉報

ID:333560 發表于 2018-5-21 21:14 | 顯示全部樓層
是的,仿真出來的數據一直是0,有哪位大神能告知是哪里的問題嗎
回復

使用道具 舉報

ID:345256 發表于 2018-6-7 19:28 | 顯示全部樓層
仿真出來數顯表沒有數字啊,另外我在哪調外加壓力呢……求大神解答謝謝
回復

使用道具 舉報

ID:359618 發表于 2018-6-26 19:52 | 顯示全部樓層
樓主還在嗎,protues小白想問問怎么施加壓強啊,我的一直不顯示數
回復

使用道具 舉報

ID:360489 發表于 2018-6-30 07:48 來自手機 | 顯示全部樓層
zhb950723 發表于 2017-5-2 13:02
**** 作者被禁止或刪除 內容自動屏蔽 ****

我的下載不了
回復

使用道具 舉報

ID:349342 發表于 2018-7-7 00:03 | 顯示全部樓層
天琊無悔 發表于 2018-6-26 19:52
樓主還在嗎,protues小白想問問怎么施加壓強啊,我的一直不顯示數

你成功了么?
回復

使用道具 舉報

ID:408389 發表于 2018-10-12 12:20 | 顯示全部樓層
是啊,不知道怎么加減壓力
回復

使用道具 舉報

ID:194625 發表于 2018-12-20 15:11 | 顯示全部樓層
不錯的東西,我用用
回復

使用道具 舉報

ID:380539 發表于 2019-1-4 11:17 | 顯示全部樓層
測試了一下,程序沒有問題,再次感謝樓主
回復

使用道具 舉報

ID:511014 發表于 2019-4-13 10:57 | 顯示全部樓層
左上角電容上面的是個什么元件,求告知各位!!!樓主怎么沒標注
回復

使用道具 舉報

ID:565895 發表于 2019-6-18 16:44 | 顯示全部樓層
請問這個的原理圖是哪個類型啊,我想自己畫一個
回復

使用道具 舉報

ID:556779 發表于 2019-6-26 09:55 | 顯示全部樓層
仿真了但是沒有顯示呢,這個壓力怎么調呢?如何吧壓力傳感器換成電橋,因為我要貼應變片
回復

使用道具 舉報

ID:679255 發表于 2020-1-6 08:44 來自手機 | 顯示全部樓層
宮商角徵羽smile 發表于 2018-4-16 18:02
你將樓主寫的這段程序復制粘貼到Keil,自己運行就可以,我運行是零錯誤

Build  通不過啊
回復

使用道具 舉報

ID:678803 發表于 2020-3-14 13:12 | 顯示全部樓層
修改版: 文件.7z (51.03 KB, 下載次數: 29)
回復

使用道具 舉報

ID:723477 發表于 2020-4-6 20:27 | 顯示全部樓層
xyzmk123 發表于 2018-5-16 17:35
仿真出來壓強值一直是0,C程序有點問題

解決了嗎
回復

使用道具 舉報

ID:742536 發表于 2020-5-2 10:57 | 顯示全部樓層
可以進行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。
51hei圖片20200502105630.png
回復

使用道具 舉報

ID:468084 發表于 2020-5-8 21:38 | 顯示全部樓層
Haroldlrh 發表于 2020-5-2 10:57
可以進行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

兄弟 壓力怎么顯示出來的,  我的一直是零。
回復

使用道具 舉報

ID:765415 發表于 2020-5-31 18:23 | 顯示全部樓層
Haroldlrh 發表于 2020-5-2 10:57
可以進行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

請問你的數據是怎么顯示的,可以貼代碼嗎!
回復

使用道具 舉報

ID:302325 發表于 2020-6-1 01:43 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

ID:773860 發表于 2020-6-9 15:01 | 顯示全部樓層
用protues怎么打開
回復

使用道具 舉報

ID:781838 發表于 2020-6-19 22:36 | 顯示全部樓層
希望protues發展越來越壯大
回復

使用道具 舉報

ID:794732 發表于 2020-7-6 14:46 | 顯示全部樓層
有沒有人知道為什么顯示屏的壓力總是0
回復

使用道具 舉報

ID:904660 發表于 2021-4-12 21:32 | 顯示全部樓層
Haroldlrh 發表于 2020-5-2 10:57
可以進行仿真,LCD顯示值是傳感器的2倍,程序沒有問題。

請問有做其他改動嗎?我的一直顯示0pa,而且你的P3口好像沒有鏈接?
回復

使用道具 舉報

ID:921271 發表于 2021-5-14 17:12 | 顯示全部樓層
棟宇棟宇 發表于 2018-5-21 21:14
是的,仿真出來的數據一直是0,有哪位大神能告知是哪里的問題嗎

你咋解決的呀
回復

使用道具 舉報

ID:908826 發表于 2021-10-26 08:11 | 顯示全部樓層
不錯不錯,程序有值得學習的地方,謝謝分享
回復

使用道具 舉報

ID:1024242 發表于 2022-5-6 21:59 | 顯示全部樓層
為啥氣壓顯示一直是0啊程序有誤嗎
回復

使用道具 舉報

ID:262 發表于 2022-5-7 04:12 | 顯示全部樓層
WHUTXHL 發表于 2022-5-6 21:59
為啥氣壓顯示一直是0啊程序有誤嗎

你用的Proteus版本不對,按樓主的說明用7.5版就可以了,你看圖
51hei.gif
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本xx视频免费观看 | 国产精品中文字幕在线观看 | 中文字幕亚洲精品 | 亚洲美女视频 | 久久久久久av | 中文字幕国产日韩 | 国产精品视频久久久久 | 成人精品视频99在线观看免费 | 欧美性久久久 | 91精品国产一二三 | 日韩免费在线观看视频 | 日韩中文字幕一区二区 | 久久国产精品网站 | 人成久久 | 欧美一级二级在线观看 | 午夜电影日韩 | 日韩在线欧美 | 国产1区2区3区| 欧美精品久久久 | 久久高清国产 | 97成人在线 | 欧美炮房| 日韩高清一区 | 免费久久久久久 | 日韩免费视频一区二区 | 免费看国产精品视频 | 国产一级淫片免费视频 | 国产精品久久久久久久久图文区 | 色成人免费网站 | 麻豆国产一区二区三区四区 | jizz18国产| 国产精品福利在线 | 在线欧美 | 国产1区2区在线观看 | 天天干天天谢 | 伊人二区 | 91视频.com| 国产精品99免费视频 | 视频一区二区国产 | 亚洲国产精品成人 | 男女精品网站 |