運行VI程序。
(1)啟動采樣。通道號設置為1,采樣間隔設置為1-255范圍的數,命令類型設置為0,單擊下發命令。下位機收到命令后,啟動采樣定時器,以設置的采樣間隔讀取AIN1通道,并上報。
(2)設置采樣間隔。通道號設置為1,采樣間隔設置為1-255范圍的數,命令類型設置為2,單擊下發命令。觀察收到數據的頻率,驗證采樣間隔是否改變。
(3)停止采樣。通道號設置為1,采樣間隔設置為1-255范圍的任意數,命令類型設置為1,單擊下發命令。
下位機上報數據為通道號+A/D轉換值,所以截取字符串函數每次取一個字符,通道號對應偏移量為0的字符,A/D轉換值為偏移量為1的字符。對于通道為1時,A/D轉換值為NTC熱敏電阻的電壓,需要轉換為電阻,最終轉換為溫度,并用數值顯示控件和波形圖表顯示出來
1.png (58.14 KB)
下載附件
2020-12-12 23:07 上傳
2.png (12.1 KB)
下載附件
2020-12-12 23:07 上傳
51單片機部分代碼:完整代碼見附件
- #include<reg52.h>
- #include "pcf8591.h"
- #define uchar unsigned char
- #define COMMAND_ACTIVE 0 //開始采樣命令
- #define COMMAND_DEACTIVE 1 //停止采樣命令
- #define COMMAND_CONFIG 2 //配置采樣間隔
- #define TL0_X (65536-50000)%256 //T0定時50ms
- #define TH0_X (65536-50000)/256
- uchar interval = 1; //采樣間隔,單位:s,默認為1,范圍:1~255
- uchar is_enable = 0; //通道使能標志:1-使能 0-禁止
- sbit led_uart_rx = P1^7; //串口RX指示燈,收到字節數據取反
- sbit led_uart_tx = P1^6; //串口TXD發送指示燈,發送2個字節取反
- sbit led_ad_is_working = P1^5; //AD0使能指示
- void init_timer0(); //初始化T0
- void init_uart(); //初始化串口
- void send_ad_data(uchar channel, uchar *pData); //通過串口發送采樣數據
- void uart_sendonechar(unsigned char c); //串口發送一個字節數據函數聲明
- void delayms(unsigned int n); //ms級延時函數聲明
- void main()
- {
- uchar channel_tick = 0;
- uchar nTick = 0; //中斷計數
- uchar nChannel = 1; //通道號 通道號: 0-光敏電阻 1-熱敏電阻NTC 2-分壓電阻W5 3-分壓電阻W6
- uchar start = 0; //啟動轉換標志,1-啟動,0-禁止
- uchar ADtemp; //采樣數據
- init_uart(); //初始化串口
- init_timer0(); //初始化T0,但不啟動
- while(1)
- {
- while(TF0==0);
- TF0 = 0;
- TL0 = TL0_X; //賦初值
- TH0 = TH0_X;
- nTick = nTick + 1; //中斷次數+1
- if(nTick==20) //1s定時到
- {
- nTick = 0; //清零
- if(is_enable == 1) //如果使能,則判斷采樣間隔是否到,到則啟動一次采樣
- {
- channel_tick = channel_tick + 1;
- if(interval == channel_tick)
- {
- start = 1; //啟動一次采樣
- channel_tick =0; //清零計數
- }
- }
-
- if(start == 1) //啟動采樣
- {
- start = 0; //清零采樣啟動標志
- ADtemp = ReadADC(1); //讀取采樣數據
- send_ad_data(1,&ADtemp); //發送采樣數據
- led_uart_tx = ~led_uart_tx; //串口發送指示燈亮
- delayms(1); //延時1ms ADC一次轉換時間為90us,必須等待轉換完成,在讀取
- //單片機機器周期為1us@12MHz,速度比ADC塊,必須等待
復制代碼
51單片機程序uart-ADC.zip
(50.13 KB, 售價: 2 E幣)
2020-12-12 23:08 上傳
點擊文件名下載附件
售價: 2 E幣 [記錄]
[ 購買]
labview工程.zip
(39.24 KB, 售價: 2 E幣)
2020-12-12 23:08 上傳
點擊文件名下載附件
售價: 2 E幣 [記錄]
[ 購買]
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|