欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于proteus/keil51單片機的 AD/DA轉換實驗程序 [打印本頁]

作者: hxy970426    時間: 2019-5-23 13:56
標題: 基于proteus/keil51單片機的 AD/DA轉換實驗程序

一、實驗目的
1.    掌握單片機與A/D轉換器ADC0809的接口技術;
2.    熟悉模擬信號采集與數據輸出顯示的綜合程序設計與調試方法。
3.    掌握硬件仿真軟件ISIS的使用。
二、實驗設備(儀器)
計算機
三、實驗內容
將調節器一端接+5V,另一端接地,中間抽頭接A/D轉換芯片ADC0809的任意通道,ADC0809采集來自調節器的0~5V連續可變的模擬電壓信號,將其轉換為8位數字信號00~FFH后,送單片機處理,并在最右端兩位數碼管上顯示出電壓值(顯示格式:0.0~5.0),同時最左端數碼管顯示采集的通道數。
四、實驗步驟
1.硬件仿真原理圖如圖1所示。
2.創建ISIS設計文件,繪制圖1仿真原理圖。
3.運行Keil uVision2軟件,新建工程項目,編寫簡易數字電壓表功能的源程序。
4.對源程序調試,連接,生成可執行文件。
5.切換到ISIS仿真界面,雙擊AT89C51器件,彈出“edit component”對話框,打開”Program   File”文件夾,選中簡易數字電壓表程序所對應的可執行文件,再點擊確定按鈕。
6.在ISIS仿真界面中,點擊運行按鈕,觀察運行結果,若結果不正確,再重新調試,編譯,直至結果正確。
復習A/D轉換器ADC0809芯片的功能引腳及其控制方法和數碼管的動態顯示控制,并按題目要求編寫程序。

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned  char
  3. #define uint unsigned int
  4. void delay();
  5. void display();
  6. sbit START=P2^4;
  7. sbit EOC=P3^2;
  8. sbit OE=P3^0;
  9. sbit ADDA=P2^5;
  10. sbit ADDB=P2^6;
  11. sbit ADDC=P2^7;
  12. uint result;
  13. uchar code tabe0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  14. uchar code tabe1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};

  15. void main()
  16. {
  17.         while(1)
  18.         {
  19.                 ADDA=1;                           //通道5
  20.                 ADDB=0;
  21.                 ADDC=1;
  22.                 START=0;
  23.                 START=1;
  24.                 START=0;
  25.                 while(EOC==0);
  26.                 OE=1;
  27.                 result=P1;
  28.                 OE=0;
  29.                 display();
  30.         }
  31. }                                                                                                               
  32. void delay(uint k)
  33. {
  34.         uint i,t;
  35.         for(i=0;i<100;i++)
  36.         for(t=0;t<k;t++);
  37. }
  38. //void delay()
  39. //{
  40. //        uint i;
  41. //        for(i=0;i<1000;i++);
  42. //        
  43. //}
  44. void display()                                                               
  45. {
  46.         P2=0x0b;
  47.         P0=tabe1[result/51];    //個位
  48.         delay(10);

  49.         P2=0x07;
  50.         P0=tabe0[((result*10)/51)%10];   //小數點后位
  51.         delay(10);

  52.         P2=0x0e;
  53.         P0=tabe0[5];
  54.         delay(10);

  55. }
復制代碼

所有資料51hei提供下載:
AD8(1).zip (71.95 KB, 下載次數: 68)
實驗八 AD轉換實驗.docx (42.7 KB, 下載次數: 30)



作者: hxy970426    時間: 2019-5-23 13:58
C語言的




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1