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

標題: 藍橋杯單片機大賽第三屆自動售水機程序及賽題 [打印本頁]

作者: zsc521    時間: 2020-8-7 22:05
標題: 藍橋杯單片機大賽第三屆自動售水機程序及賽題
自己寫的代碼 打算分享出來 雖然不是最精簡算法,但是能基本實現(xiàn)賽題要求的功能,僅供參考。和大家一起交流
  1. #include <stc15f2k60s2.h>
  2. #include <absacc.h>
  3. #include <intrins.h>
  4. #define uchar unsigned char
  5. #define uint  unsigned int
  6. sbit S4=P3^3;
  7. sbit S5=P3^2;
  8. sbit S6=P3^1;
  9. sbit S7=P3^0;
  10. sbit SDA = P2^1;  /* 數(shù)據(jù)線 */
  11. sbit SCL = P2^0;  /* 時鐘線 */
  12. uchar SMG_duanma[12]={0XC0,0XF9,0XA4,0XB0,
  13.                                           0X99,0X92,0X82,0XF8,
  14.                                           0X80,0X90,0XFF,0X7f};
  15. uchar SMG_pianxuan[10]={0x01,0x02,0X02,0x04,0x08,
  16.                                            0x10,0x20,0X20,0x40,0x80};
  17. uchar SMGSL_huanchong[10]={10,0,11,5,0,0,0,11,0,0};
  18. uchar SMGJG_huanchong[10]={10,0,11,5,0,0,0,11,0,0};
  19. int flag,shuiliang,qiehuan,flag1;
  20. void Delay1ms(int time)                //@12.000MHz
  21. {
  22.         uchar i, j;
  23.         while(time--)
  24.         {
  25.                 i = 12;
  26.                 j = 169;
  27.                 do
  28.                 {
  29.                         while (--j);
  30.                 } while (--i);
  31.         }
  32. }
  33. void Delay6us()                //@12.000MHz
  34. {
  35.         unsigned char i;

  36.         _nop_();
  37.         _nop_();
  38.         i = 15;
  39.         while (--i);
  40. }
  41. //總線啟動條件
  42. void IIC_Start()
  43. {
  44.     SDA = 1;
  45.     SCL = 1;
  46.     Delay6us();
  47.     SDA = 0;
  48.     Delay6us();
  49.     SCL = 0;       
  50. }

  51. //總線停止條件
  52. void IIC_Stop()
  53. {
  54.     SDA = 0;
  55.     SCL = 1;
  56.     Delay6us();
  57.     SDA = 1;
  58.     Delay6us();
  59. }
  60. //等待應答
  61. bit IIC_WaitAck()
  62. {
  63.     bit ackbit;
  64.        
  65.     SCL  = 1;
  66.     Delay6us();
  67.     ackbit = SDA;
  68.     SCL = 0;
  69.     Delay6us();
  70.     return ackbit;
  71. }

  72. //通過I2C總線發(fā)送數(shù)據(jù)
  73. void IIC_SendByte(uchar byt)
  74. {
  75.     uchar i;

  76.     for(i=0; i<8; i++)
  77.     {
  78.         SCL  = 0;
  79.         Delay6us();
  80.         if(byt & 0x80) SDA  = 1;
  81.         else SDA  = 0;
  82.         Delay6us();
  83.         SCL = 1;
  84.         byt <<= 1;
  85.         Delay6us();
  86.     }
  87.     SCL  = 0;  
  88. }

  89. //從I2C總線上接收數(shù)據(jù)
  90. uchar IIC_RecByte()
  91. {
  92.     uchar i, da;
  93.     for(i=0; i<8; i++)
  94.     {   
  95.             SCL = 1;
  96.         Delay6us();
  97.         da <<= 1;
  98.         if(SDA) da |= 1;
  99.         SCL = 0;
  100.         Delay6us();
  101.     }
  102.     return da;   
  103. }
  104. long AD_read()
  105. {
  106.         long temp;
  107.         IIC_Start();
  108.         IIC_SendByte(0x90);
  109.         IIC_WaitAck();
  110.         IIC_SendByte(0x01);
  111.         IIC_WaitAck();
  112.         IIC_Stop();
  113.        
  114.         IIC_Start();
  115.         IIC_SendByte(0x91);
  116.         IIC_WaitAck();
  117.         temp=IIC_RecByte();
  118.         IIC_Stop();
  119.         temp=temp*1.9;
  120.         return temp;
  121. }
復制代碼

代碼只展示部分

3屆自動售水機.zip

33.93 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

3:2012藍橋杯單片機第三屆初賽試題(第四屆模擬題)-自動售水機.pdf

908.98 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产欧美综合在线 | 夜夜夜夜夜夜曰天天天 | 成人欧美一区二区三区视频xxx | 久久精品久久久 | 日韩a v在线免费观看 | 九九精品热 | 日韩三级在线观看 | a在线视频 | 久久久久久国 | 成人av免费在线观看 | 亚洲 欧美 日韩 在线 | a a毛片| 日韩国产在线 | 91在线观 | 精品欧美一区免费观看α√ | 亚洲精品一区av在线播放 | 午夜精品 | 操久久 | 亚洲一区二区在线电影 | 亚洲欧美日韩国产 | 91麻豆蜜桃一区二区三区 | 国产第一页在线观看 | 亚洲91av| 偷拍自拍第一页 | 91视频三区 | 亚洲国产精品久久久久久 | a中文在线视频 | 人人做人人澡人人爽欧美 | 蜜桃视频在线观看免费视频网站www | 在线免费观看欧美 | 春色av| 国产精品免费看 | 欧美在线观看一区 | 黄色片视频网站 | 337p日本欧洲亚洲大胆 | 日韩免费电影 | 男人的天堂久久 | 国产探花在线精品一区二区 | 免费黄色片视频 | 亚洲国产成人一区二区 | 精品九九久久 |