wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3890|回復(fù): 0
收起左側(cè)

51單片機(jī)4位數(shù)加法計算器仿真程序設(shè)計

[復(fù)制鏈接]
ID:586643 發(fā)表于 2021-5-24 00:16 | 顯示全部樓層 |閱讀模式
性能指標(biāo)
4位數(shù)加法計算,功能鍵能清零;超出位數(shù)聲報警;違規(guī)操作聲報警光報警提
51hei.gif
加法計算器.png

單片機(jī)源程序如下:
  1. #include<reg52.h> //頭文件
  2. #include<intrins.h>//頭文件
  3. #include<math.h>
  4. #define uint unsigned int //宏定義
  5. #define uchar unsigned char//宏定義
  6. sbit int0=P3^2;          //外部中斷0
  7. long x=0,y=0,num=0;                                  //變量
  8. int operators,input,iny=0;                  //變量
  9. char key,k;                                                 //變量
  10. char error[5]="error";
  11. char overflow[8]="overflow";        //變量數(shù)組
  12. sbit EN=P2^7;                                //液晶選擇,使能信號
  13. sbit R_W=P2^5;                                        //液晶讀/寫選擇端
  14. sbit RS=P2^6;                                        //液晶數(shù)據(jù)/命令選擇端
  15. sbit led=P3^6;                                        //燈
  16. sbit beep=P3^7;                                        //蜂鳴器


  17. void delay(uint xms)  //延時
  18. {
  19.         uint xx,yy;
  20.         for (xx=xms;xx>0;xx--)
  21.                 for(yy=110;yy>0;yy--);
  22. }

  23. /************LCD檢查忙碌函數(shù)***********/
  24. void check_BF()
  25. {
  26. char i,x=0x80;
  27. P0=0xff;
  28. while(x&0x80)
  29. {
  30. RS=0;
  31. R_W=1;
  32. EN=1;
  33. x=P0;
  34. EN=0;
  35. for (i=0;i<10;i++);
  36. }
  37. EN=0;//關(guān)閉使能信號
  38. }       

  39. void write_com(char command)
  40. {               
  41. RS=0;/*寫指令*/
  42. R_W=0;                       
  43. EN=1;/*使能信號開*/
  44. P0=command;/*將數(shù)據(jù)送入p1口*/
  45. EN=0;/*使能信號關(guān)*/
  46. check_BF();
  47. }

  48. void write_data(char ddata)         //液晶數(shù)據(jù)
  49. {       
  50. RS=1;/*寫指令*/
  51. R_W=0;                       
  52. EN=1;/*使能信號開*/
  53. P0=ddata;/*將數(shù)據(jù)送入p0口*/
  54. EN=0;/*使能信號關(guān)*/
  55. check_BF();
  56. }
  57. void init_LCM()                  //初始化
  58. {  
  59. write_com(0x30);
  60. write_com(0x30);
  61. write_com(0x30);
  62. write_com(0x38);
  63. write_com(0x08);
  64. write_com(0x01);
  65. write_com(0x06);
  66. write_com(0x0e);  
  67. }

  68. /**********LCD清屏函數(shù)**********/
  69. void clearLCD()
  70. {
  71. write_com(0x01);
  72. }

  73. /**********LCD顯示函數(shù)**********/
  74. void display(long a)
  75. {
  76. long temp,b,c=-1;
  77. int lenth=1,i,j;
  78. clearLCD();
  79. if(a<0)                                                 //計算值小于0
  80. {
  81. a=a*c;
  82. write_data('-');                          //顯示負(fù)號
  83. }         
  84. temp=a;
  85. while((temp=temp/10)!=0)
  86. {
  87. lenth++;
  88. }
  89. for(i=lenth;i>0;i--)
  90. {
  91. b=1;
  92. for(j=0;j<i-1;j++)
  93. {
  94. b=b*10;
  95. }
  96. write_data(0x30+a/b);
  97. a=a%b;
  98. }
  99. }

  100. /*********數(shù)值溢出處理函數(shù)**********/
  101. void dataoverflow()                           //結(jié)果超出范圍
  102. {
  103. int i=0;
  104. clearLCD();
  105. for(i=0;i<8;i++)
  106. write_data(overflow[i]);
  107. }

  108. void dataoverflow1()                        //輸入超出范圍,違規(guī)操作
  109. {
  110. int i=0;
  111. clearLCD();
  112. for(i=0;i<5;i++)
  113. write_data(error[i]);
  114. }



  115. /**********算術(shù)運(yùn)算函數(shù)*************/
  116. void arithmetic()
  117. {
  118. if (iny)
  119. {
  120. switch(operators)
  121. {
  122. case 1:                                                  //加法運(yùn)算
  123. x=x+y;
  124. num=x;
  125. if(num<=9999&&num>=-9999)                //在計算范圍內(nèi)
  126. {
  127. display(num);                                                //液晶顯示
  128. }
  129. else
  130. {
  131.   dataoverflow();                                                //超過范圍
  132.   led=0;                                                                //指示燈亮
  133. }
  134. break;
  135. }
  136. }        
  137. }

  138. /***********外部中斷0處理函數(shù)*************/
  139. void INT_0(void) interrupt 0 using 0
  140. {
  141. if(key<=9&&key>=0)      //判斷按下的鍵是否為數(shù)值
  142. {
  143. num=num*10+(key-0);
  144. if (operators>0)
  145. {
  146. y=num;
  147. iny=1;
  148. }
  149. else
  150. x=num;
  151. if(num<=9999&&num>=-9999)    //當(dāng)前數(shù)值是否超出限定范圍
  152. {       
  153. display(num);
  154. }
  155. else
  156.   {
  157.    dataoverflow1();                //錯誤提示
  158.    beep=0;                          //報警
  159.   }
  160. }
  161. else
  162. {
  163. switch(key)                                                //按鍵值判斷
  164. {
  165. case 'c':                                                   //刪除按鍵
  166.                         x=0;
  167.                         y=0;
  168.                         num=0;
  169.                         iny=0;
  170.                         operators=0;
  171.                         led=1;
  172.                         beep=1;
  173.                         display(num);
  174.                         break;
  175. case '=':                                                         //等于按鍵
  176.                         arithmetic();
  177.                         iny=0;
  178.                         operators=0;
  179.                         num=0;
  180.                         break;
  181. case '+':                                                          //加號按鍵
  182.                     if (operators)
  183.                         arithmetic();
  184.                         operators=1;
  185.                         num=0;
  186.                         break;
  187. }
  188. }
  189. }

  190. void keyscan()                                                 //按鍵函數(shù)
  191. {
  192.   uchar temp;
  193.   P1=0xfe;
  194.   temp=P1;
  195.   temp=temp&0xf0;
  196.   if(temp!=0xf0)                                        //如果按鍵被按下
  197.   {
  198.     delay(10);                                                //延時消抖
  199.         temp=P1;
  200.     temp=temp&0xf0;
  201.         if(temp!=0xf0)
  202.         {
  203.           temp=P1;
  204.           switch(temp)
  205.           {
  206.             case 0xee:
  207.                      key='+';                                   //加
  208.                      break;
  209.           }
  210.           int0=0;                                //外部中斷0電平觸發(fā)
  211.           while(temp!=0xf0)
  212.           {
  213.         temp=P1;
  214.         temp=temp&0xf0;
  215.           }
  216.           int0=1;

  217.         }
  218.   }
  219.   P1=0xfd;
  220.   temp=P1;
  221.   temp=temp&0xf0;
  222.   if(temp!=0xf0)
  223.   {
  224.     delay(10);
  225.         temp=P1;
  226.     temp=temp&0xf0;
  227.         if(temp!=0xf0)
  228.         {
  229.           temp=P1;
  230.           switch(temp)
  231.           {
  232.             case 0xed:
  233.                      key='=';                                        //等于
  234.                      break;
  235.             case 0xdd:
  236.                      key=3;                                                //3
  237.                      break;
  238.             case 0xbd:                                           //6
  239.                      key=6;
  240.                      break;
  241.             case 0x7d:
  242.                      key=9;
  243.                      break;
  244.           }
  245.           int0=0;
  246.           while(temp!=0xf0)
  247.           {
  248.         temp=P1;
  249.         temp=temp&0xf0;
  250.           }
  251.                           int0=1;
  252.         }
  253.   }
  254.   P1=0xfb;
  255.   temp=P1;
  256.   temp=temp&0xf0;
  257.   if(temp!=0xf0)
  258.   {
  259.     delay(10);
  260.         temp=P1;
  261.     temp=temp&0xf0;
  262.         if(temp!=0xf0)
  263.         {
  264.           temp=P1;
  265.           switch(temp)
  266.           {
  267.             case 0xeb:
  268.                      key=0;
  269.                      break;
  270.             case 0xdb:
  271.                      key=2;
  272.                      break;
  273.             case 0xbb:
  274.                      key=5;
  275.                      break;
  276.             case 0x7b:
  277.                      key=8;
  278.                      break;
  279.           }
  280.                     int0=0;
  281.           while(temp!=0xf0)
  282.           {
  283.         temp=P1;
  284.                 int0=0;
  285.         temp=temp&0xf0;
  286.           }
  287.                           int0=1;

  288.         }
  289.   }
  290.   P1=0xf7;
  291.   temp=P1;
  292.   temp=temp&0xf0;
  293.   if(temp!=0xf0)
  294.   {
  295.     delay(10);
  296.         temp=P1;
  297.     temp=temp&0xf0;
  298.         if(temp!=0xf0)
  299.         {
  300.           temp=P1;
  301.           switch(temp)
  302.           {
  303.             case 0xe7:
  304.                      key='c';
  305.                      break;
  306.             case 0xd7:
  307.                      key=1;
  308.                      break;
  309.             case 0xb7:
  310.                      key=4;
  311.                      break;
  312.             case 0x77:
  313.                      key=7;
  314.                      break;
  315.           }
  316.           int0=0;
  317.           while(temp!=0xf0)
  318.           {
  319.         temp=P1;
  320.         temp=temp&0xf0;
  321.           }
  322.                   int0=1;

  323.         }
  324.   }
  325. }

  326. void main()                                                 //主函數(shù)
  327. {
  328. EA=1;                                                          //打開總中斷
  329. EX0=1;                                                           //外部中斷
  330. IT0=1;
  331. P1=0xff;
  332. display(0);
  333. init_LCM();
  334. write_data(0x30);

  335. while(1)                                                  //大循環(huán)
  336.                 {
  337.                   keyscan();                          //按鍵函數(shù)
  338.                 }
  339. }
復(fù)制代碼

所有資料51hei提供下載:
加法計算器.zip (102.52 KB, 下載次數(shù): 29)

評分

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

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
成人精品视频在线播放| 免费成人看片| 亚洲午夜18毛片在线看| 免费国产羞羞网站美图| 瑟瑟视频在线观看| 蜜臀aⅴ国产精品久久久国产老师| 国产a级片免费观看| 91九色在线观看视频| 拔插拔插海外华人免费| 99re8这里只有精品| 2021国产视频| 一二三四中文字幕| 欧美日韩不卡在线视频| 欧美一区二区中文字幕| 欧美日韩在线中文| 一区二区在线播放视频| 99九九99九九九99九他书对| 欧美日韩一区二区区别是什么| 欧美夜福利tv在线| 色偷偷av亚洲男人的天堂| 亚洲一区第一页| 色狠狠av一区二区三区香蕉蜜桃| www.日韩.com| 韩剧1988在线观看免费完整版| 国产精品欧美久久久久无广告| 91免费观看视频| 国产日韩欧美制服另类| 国产精品麻豆久久久| 亚洲黄色免费网站| 性感美女久久精品| 欧美性猛交xxxx乱大交退制版| 欧美一区二区视频在线观看2020| 亚洲第一二三四五区| 国产一区二区三区三区在线观看| 久久精品国产91精品亚洲| www黄在线观看| 国产欧美第一页| 国产超碰人人模人人爽人人添| 国产乱码精品一区二区| 一区二区三区免费视频网站| 国产永久在线观看| 7777在线| 国产综合在线观看| h视频免费在线| 人与动性xxxxx免费视频| 国产中文在线| xxxx视频在线| 日本在线成人| 色999国产精品| 久久看片网站| 91论坛在线播放| 亚洲国产aⅴ成人精品无吗| 欧美日韩国产一级片| 亚洲色图激情小说| 欧美怡红院视频一区二区三区 | 在线免费成人| 精品99在线| 羞羞视频在线观看欧美| 日韩高清一级| 真实国产乱子伦精品一区二区三区| 玖玖玖国产精品| 99久久精品免费精品国产| 亚洲美女精品一区| 日韩欧美中文字幕制服| 欧美美女操人视频| 国产精品福利视频| 成人h视频在线观看播放| 欧美三级网色| 女人另类性混交zo| 欧洲美一区二区三区亚洲| 成人在线免费看视频| 天天射,天天干| 污网站在线观看免费| 国产盗摄在线观看| 成人精品在线| 国产字幕视频一区二区| 成人av电影免费观看| 精品福利在线看| 亚洲视频在线看| 自拍偷拍国产亚洲| 色爱区综合激月婷婷| 色偷偷av亚洲男人的天堂| 99电影网电视剧在线观看| 在线免费观看一区二区三区| 一二三级黄色片| 日本少妇在线观看| 欧美高清videos性极品| 日韩av视屏| 日韩一区二区三免费高清在线观看| 欧美综合另类| www..com久久爱| 欧美精品亚洲二区| 国内精品久久久久久影视8| 久久精品中文字幕一区二区三区| 9久久婷婷国产综合精品性色| 日韩精品一区二区亚洲av性色 | 综合久久十次| 91蝌蚪porny| 欧美一区国产二区| 国产精品大陆在线观看| 日韩精品一区在线视频| 小泽玛利亚一区| 最近中文字幕mv免费高清电影| 色综合久久网女同蕾丝边| 秋霞影院一区| 极品少妇xxxx偷拍精品少妇| 午夜电影一区二区| 欧美国产亚洲视频| 国产手机视频在线观看| 午夜激情福利电影| 天天射天天色天天干| 蜜桃视频在线观看视频| 欧洲亚洲视频| 97se亚洲国产综合自在线观| 亚洲成人久久网| 风间由美久久久| 韩国黄色一级片| 精品国产无码一区二区| 亚洲最新合集| 亚洲丝袜美腿一区| 91亚洲资源网| 亚洲图片欧美午夜| 日韩三级电影| 国产视频123区| 欧美另类videos粗暴黑人| 国产婷婷视频在线| 亚洲天堂一区二区三区四区| 综合久久国产九一剧情麻豆| 精品国产自在精品国产浪潮| 在线视频不卡一区二区| 永久免费看片直接| 91九色老女人| 黄色精品视频| 狠狠色丁香久久婷婷综| 欧美白人最猛性xxxxx69交| 国产一区二区免费在线观看| 久久久午夜精品福利内容| 三级小说一区| 欧美性video| 免费亚洲一区| 91精品国产高清一区二区三区 | 欧美美女一区二区| 92看片淫黄大片欧美看国产片| 先锋资源在线视频| 91成人破解版| 国产精品区一区二| 欧美日韩国产色视频| 高清视频在线观看三级| 伊人情人综合网| 亚洲狠狠丁香婷婷综合久久久| 欧美激情第1页| 欧美性大战久久久久xxx | 欧美日韩国产精品成人| 亚洲欧洲成人精品av97| 久久久国产一区| 精品无码国产一区二区三区av| 成年人免费观看的视频| 午夜精品一区二区三级视频| 少妇高潮爽到全身痉挛抽搐| 久久天堂影院| 99久久99久久精品免费看蜜桃 | 亚洲成人av免费在线观看| 一区二区三区精品牛牛| 性高爱久久久久久久久| av高清不卡在线| 欧美成人合集magnet| 久久综合伊人77777麻豆最新章节| 性生交生活影碟片| av免费不卡| 粉嫩一区二区三区在线看| 亚洲视频一区二区三区| 日本欧美黄色片| 亚洲乱码国产乱码精品精软件| 18videosex性欧美麻豆| 奇米影视一区二区三区| 精品丝袜一区二区三区| 男女激情无遮挡| 欧美 日韩 国产 成人 在线 91| 国产精选在线| av不卡在线观看| 国内伊人久久久久久网站视频| 性生活一级大片| 天堂在线观看| 九九在线精品| 欧美午夜精品理论片a级按摩| 欧美18视频| 亚洲精品国产无码| 污污的视频在线观看| 大美女一区二区三区| 欧美激情一区二区久久久| 白丝校花扒腿让我c| jjzzjjzzjjzz| 婷婷亚洲图片| 精品剧情在线观看| 日韩av片在线看| 欧美性老头oldtight| 在线日韩成人| 色综合亚洲欧洲| 一区二区三区av| 亚洲国产精品无码久久| 性欧美video另类hd尤物| 亚洲女与黑人做爰| 明星裸体视频一区二区| 91精品国产综合久| 成人日韩在线| 亚洲激情在线播放| 欧洲一区二区在线观看| 国产精品系列视频| 日韩漫画puputoon| 亚洲成人精品一区| 亚洲午夜精品久久久中文影院av | 久久国产精品美女| 五月婷婷激情综合网| 日韩国产高清一区| 99热这里是精品| 亚洲伊人精品酒店| 精品久久香蕉国产线看观看亚洲 | 国产91xxx| 国产免费av网站| 日韩精品免费| 亚洲精品一区二区三区不| 亚洲另类第一页| 天天av天天爱| 欧美亚洲三级| 欧美激情一级欧美精品| 精品一区二区在线观看视频| 高清性色生活片在线观看| 国产成人在线观看| 国产欧美日韩视频| www.久久久久久久| 懂色aⅴ精品一区二区三区| 亚洲国产一区二区三区青草影视| 亚洲人成77777| 久久爱com| 国产国产精品| 久久人人爽人人爽爽久久| 一级特黄曰皮片视频| 国产二区三区在线| 中文字幕一区在线观看视频| 三级三级久久三级久久18| 自拍亚洲色图| 91中文字幕精品永久在线| 中文字幕国内精品| 国产av自拍一区| a免费在线观看| 亚洲激情在线播放| av 日韩 人妻 黑人 综合 无码| 精品福利影院| 日韩视频一区| 午夜精品一区二区三区在线视频| 国产无遮挡又黄又爽在线观看| 成人福利av| 欧美性欧美巨大黑白大战| 色戒在线免费观看| 亚洲人性生活视频| 久久久国产精华| 亚洲图片在线观看| 天堂视频在线| 美女视频黄 久久| 91超碰在线电影| 深夜福利视频网站| 久久久久久免费视频| 久久99久久99精品中文字幕| 亚欧洲精品在线视频| 亚洲成a人片777777久久| 日韩视频免费观看高清在线视频| 可以看的av网址| av在线中文| 亚洲精品久久嫩草网站秘色| 国产毛片视频网站| 午夜免费啪视频观看视频| 久久久夜色精品亚洲| 在线一区日本视频| yw3121.龙物视频永不失联| 国产在线一区观看| 精品一区久久久久久| 国内精品麻豆| 蜜臂av日日欢夜夜爽一区| 成人国产1314www色视频| 亚洲欧美久久婷婷爱综合一区天堂| 亚洲第一网站| 91影视免费在线观看| 亚洲天堂视频在线观看免费| 黄色国产精品| 成人福利在线观看| 久草视频观看| 久久成人综合网| 日韩中文一区二区三区| 色爱综合网站| 国产日韩欧美在线一区| 北条麻妃在线视频观看| 亚洲最新合集| 亚洲图片欧美一区| 一级网站在线观看| 四虎影院观看视频在线观看| 欧美色综合影院| 老司机福利av| 国产69精品久久| 国产亚洲aⅴaaaaaa毛片| 国产情侣在线视频| 欧美日韩第一| 国产成人a亚洲精品| 在线天堂中文www视软件| 日韩在线观看一区二区| 蜜桃久久精品乱码一区二区| jizz在线免费播放| 国产精品网曝门| 999香蕉视频| 日本精品在线| 欧美一区三区二区| 黄色a级片在线观看| 中文在线综合| 欧美激情极品视频| 欧美一区二区三区黄片| 日韩电影在线免费| 亚洲欧洲精品在线观看| 国产偷激情在线| 亚洲综合激情另类小说区| 91人人澡人人爽| 国产精品久久久久久妇女| 日韩视频第一页| 99在线精品视频免费观看20| 国产欧美一区二区三区国产幕精品| 激情伦成人综合小说| 天天色天天色| 亚洲制服丝袜av| 久久人妻一区二区| 欧美视频三区| 欧洲s码亚洲m码精品一区| 性欧美最新另类| 99久久99久久精品免费看蜜桃| 久热免费在线观看| 操人在线观看| 色婷婷综合成人av| 黄片毛片在线看| 国产一区福利在线| 日本免费不卡一区二区| 蜜乳av一区| 中文字幕自拍vr一区二区三区| www.蜜桃av.com| 国产一区二区精品在线观看| 乱妇乱女熟妇熟女网站| 丰满的护士2在线观看高清| 亚洲性夜色噜噜噜7777| 国产极品久久久| 国产呦精品一区二区三区网站| 能在线观看的av| 中日韩脚交footjobhd| 久久在线精品视频| www.四虎网站| 亚洲欧洲www| 久久精品国产成人精品| 99热这里只有精品99| 蜜臀av在线播放一区二区三区| 热久久最新地址| 国产原厂视频在线观看| 亚洲欧美日韩在线高清直播| www.国产麻豆| 国产91丝袜在线观看| 艹b视频在线观看| 不卡亚洲精品| 18一19gay欧美视频网站| 日日摸.com| 亚洲成人免费看| 久久这里只有精品免费| 9久re热视频在线精品| 日韩一级片一区二区| 女人天堂av在线播放| 久久在线精品视频| 国产又爽又黄免费视频| 一区二区三区高清在线| 99久久99久久精品国产| 影音先锋在线一区| 6080yy午夜一二三区久久| 亚洲黄色激情视频| 免费精品视频最新在线| 成年人免费在线播放| 粉嫩av一区二区三区四区五区| 国产精品九九九| 特黄国产免费播放| 欧美一级在线免费| av手机免费看| 久久综合一区二区| 熟女少妇一区二区三区| 久久视频在线| 在线一区亚洲| 成人做爰视频www网站小优视频| 91av在线影院| 国产夫妻在线视频| 日韩免费电影一区| 亚洲欧美日韩动漫| 中文字幕中文字幕在线一区 | 成年女人免费v片| 在线观看一区二区视频| 久久久久精彩视频| heyzo一本久久综合| 波多野结衣片子| 亚洲美女视频在线免费观看| 日韩免费高清在线| 北条麻妃在线一区二区免费播放|