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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2892|回復: 0
收起左側

C51單片機ADC0804模擬轉換Proteus仿真程序

[復制鏈接]
ID:611568 發表于 2020-11-7 22:40 | 顯示全部樓層 |閱讀模式
終于把這個模擬給做出來了,體會到了怎么去發現坑,學著去填坑,仿真文件供大家參考,謝謝。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
Snipaste_2020-11-07_22-35-35.jpg

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>

  3. //利用_nop_()的等待命令

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. sbit adwr=P3^2;
  7. sbit adrd=P3^1;
  8. sbit CS=P3^0;
  9. sbit INTR=P3^3;


  10. uchar num;
  11. uchar code display[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  12. //共陽極數碼管的顯示代碼

  13. uchar COM[]={0x01,0x02,0x04,0x08};
  14. //數碼管的位選代碼

  15. uchar num, num2=0,time[4]={0,0,0,0},val;
  16. float val2;
  17. unsigned int val3;


  18. main()
  19. {
  20. //使用定時器0定時對結果掃描顯示
  21. TMOD=0x01;  //定時器的工作方式1
  22. TH0=(65536-917)/256;        //定時定義初值       
  23. TL0=(65536-917)%256;               
  24. EA=1;         //總中斷使能打開
  25. ET0=1;        //定時器0中斷
  26. TR0=1;       //定時器0啟動

  27. CS=0; // 啟動轉換
  28. while(1)
  29. //此處循環等待時間到中斷
  30. {
  31. adwr=1;
  32. _nop_();
  33. adwr=0;
  34. _nop_();
  35. adwr=1;


  36. INTR=0;//intr轉換完成后自動拉低


  37. //當只有一片AD芯片時,可以將CS一直處在低位即可,連續轉換

  38. adrd=1;
  39. _nop_();

  40. adrd=0;
  41. _nop_();

  42. val=P1;
  43. adrd=1;
  44. val2=((val*1.0/255)*5.0);//將數字量轉換為數值。
  45. val3=val2*1000;//將轉化的數值放大后,分別其對應位的值
  46. time[0]=val3/1000;//個位
  47. time[1]=val3%1000/100;//個分位
  48. time[2]=val3%100/10;//十分位
  49. time[3]=val3%10;//千分位

  50. }

  51. }


  52. void Timer_0()  interrupt 1
  53. {

  54.         TH0=(65536-917)/256;        //中斷后計數器重新賦值       
  55.         TL0=(65536-917)%256;

  56.         num++;
  57.         if (num==10)
  58.                 {num=0;

  59.                 P2=COM[num2];//取反后,位選數碼管全部熄滅
  60. //共陽極數碼管時,高電平選通,低電平關閉

  61.                 P0=0xff;//數碼管全部低電平,熄滅

  62.                 {
  63.                 if(num2==0)
  64.                         {P0=display[time[num2]]&0x7F;}  //顯示帶小數點的個位數

  65.                 else
  66.                         {P0=display[time[num2]];}   
  67.                          }
  68.                 num2++;                              
  69.                 if(num2>=4) num2=0;

  70.         }

  71. }
復制代碼

所有資料51hei提供下載:
02_ADC轉換.zip (89.66 KB, 下載次數: 41)

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久一及片 | 美国黄色毛片 | 亚洲一区二区视频 | 国产高清精品一区二区三区 | 国产精品久久久久久久三级 | 国产福利资源在线 | 不卡视频在线 | 超碰国产在线 | 超碰520| 在线成人免费视频 | 久久久久91 | 97国产精品视频人人做人人爱 | 中国一级特黄真人毛片 | 好姑娘影视在线观看高清 | 国产乱码一区 | 亚洲人a| 国产一区 在线视频 | 国产精品久久久久久久免费观看 | 国产精品毛片一区二区在线看 | 中文字幕在线不卡 | 久久精品99久久 | 久久国产精品一区二区三区 | 另类专区成人 | 天天爱爱网 | 精品亚洲二区 | 91久久精品国产91久久性色tv | 一区二区在线免费观看 | 国产日韩精品视频 | 国产一级视频 | av在线免费观看网址 | 在线免费观看毛片 | 日本xx视频免费观看 | 久久久黑人 | 在线三级电影 | 亚洲系列第一页 | 精品一区精品二区 | 精品日韩一区 | 91精品国产综合久久久久 | 国产精品久久久久久一区二区三区 | 欧美一级淫片免费视频黄 | 日韩国产欧美 |