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

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

QQ登錄

只需一步,快速開始

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

單片機(jī)酒精檢測(cè) AD轉(zhuǎn)換 程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:971870 發(fā)表于 2021-10-22 16:43 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


  1. #include<intrins.h>
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define nop  _nop_()

  5. code uchar seven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90};
  6. uchar cp1,cp2,dat_ad;
  7. sbit CS = P3^0;
  8. sbit CLK = P3^1;
  9. sbit DIDO = P3^2;
  10. /*對(duì)ADC0832初始化處理*/
  11. void adc0832_init(void)
  12. {
  13. CS = 1;nop;                              
  14. CLK = 1;
  15. CS = 0;
  16. }
  17. /*對(duì)轉(zhuǎn)換ch0通道的模擬信號(hào)*/
  18. uchar adc0832_ch0(void)
  19. {
  20. uchar dat1,i;
  21. adc0832_init();
  22. DIDO = 1;CLK = 0;nop;CLK = 1;nop;    //第一個(gè)下降沿,DI必須為高電平,表示啟始信號(hào)
  23. DIDO = 1;CLK = 0;/*這里是第二個(gè)下降沿*/nop;CLK = 1;nop;    //第二個(gè)下降沿
  24. DIDO = 0;CLK = 0;/*這里是第三個(gè)下降沿*/nop;CLK = 1;nop;       //第三個(gè)下降沿,發(fā)送1,0;選擇通道ch0
  25. DIDO = 1;          //釋放總線
  26. /*上面都是配置位,達(dá)到了啟動(dòng)并選擇通道0的作用*/




  27. for(i = 0;i<8;i++)        //第4個(gè)下降沿到第11個(gè)下降沿
  28. {           
  29.   CLK = 0;nop;        //
  30.   if(DIDO)dat1 = dat1|0x01;     //最低位置1(與特定數(shù)字按位或的作用,可以達(dá)到控制指定位而其他位不變)
  31.   //注意dat1是MCU中的數(shù)據(jù)嗷,ADC發(fā)送的是DIDO
  32.   CLK = 1;nop;        //這個(gè)CLK是單片機(jī)發(fā)給ADC的,因此在一個(gè)上升沿之間還可以處理一些程序。注意上面的這個(gè)IF語(yǔ)句是由MCU處理的啊!
  33.   dat1 = dat1<<1;        //左移,低位填充0,依次輸出最高位
  34.   //DIDO每發(fā)送一位,MCU中的dat1變化一位。8位完成后即dat1返回
  35. }
  36. return(dat1);      //返回的是數(shù)模轉(zhuǎn)換的值
  37. CS = 1;

  38. }


  39. void timer0_init()     //中斷初始化函數(shù)
  40. {
  41. TMOD = 0x01;     
  42. TL0 = 0x78;
  43. TH0 = 0xec;
  44. EA = 1;
  45. TR0 = 1;
  46. ET0 = 1;
  47. }

  48. void timer0_isr()interrupt 1     //中斷服務(wù)函數(shù)
  49. {
  50. TL0 = 0x78;
  51. TH0 = 0xec;
  52. cp1++;
  53. if(cp1>100)      //0.5s
  54. {
  55.   cp1 = 0;
  56.   dat_ad=adc0832_ch0();  //adc0832轉(zhuǎn)換一次
  57. }
  58. P0 = 0xff;      //消隱
  59. switch(cp2)
  60. {
  61.   case 0:P0 = seven_seg[dat_ad%10];P2 = 0x01;break;
  62.      case 1:P0 = seven_seg[dat_ad%100/10];P2 = 0x02;break;
  63.   case 2:P0 = seven_seg[dat_ad/100];P2 = 0x04;break;
  64. }
  65. cp2++;
  66. if(cp2>=3)
  67. cp2 = 0;
  68. }
  69. void main()
  70. {
  71. timer0_init();
  72. adc0832_init();
  73. while(1);
  74. }
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:1103924 發(fā)表于 2023-12-14 15:15 | 只看該作者
為什么改變滑動(dòng)變阻器的阻值,數(shù)碼管顯示的數(shù)值不變呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文成人在线 | 七七婷婷婷婷精品国产 | 五十女人一级毛片 | 一区二区在线不卡 | 日韩一区二区久久 | 成人精品免费视频 | 秋霞性生活 | www.99久久.com| 久久精品女人天堂av | 亚洲狠狠| 国产精品久久久久久久一区二区 | 成人av大全 | 日本精品999 | 久久久婷婷 | 久久精品亚洲欧美日韩精品中文字幕 | 久久久精品视频一区二区三区 | 午夜精品久久久久久久 | 一区二区视频在线观看 | 免费亚洲视频 | www国产亚洲精品 | 麻豆久久久久久 | 欧美嘿咻 | 久久99精品久久久久久 | 日本精品久久久久久久 | 国产精品观看 | 中文字幕中文字幕 | 欧美日韩18| 中文字幕 国产 | 精品成人一区 | 欧美video| 免费视频二区 | 欧美一级片免费看 | 亚洲www啪成人一区二区麻豆 | 欧美日韩午夜精品 | 精品一区二区久久久久久久网站 | 一区欧美| 亚洲第一天堂 | 伊人网站 | 一级全黄少妇性色生活免费看 | 国产一区二区高清在线 | 久综合|