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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4088|回復: 0
打印 上一主題 下一主題
收起左側

單片機AD接收UART發送模塊電路圖PCB與vb上位機源碼等資料下載

[復制鏈接]
跳轉到指定樓層
樓主
Altium Designer畫的AD接收UART發送模塊電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)


【簡要說明】
一、 尺寸:50mmX25mmX10mm
二、主要芯片:ATMEGA8
三、工作電壓:直流5V
二、 特點:
1、檢測模擬量電壓范圍0~5V
2、數碼管顯示范圍0~5000
3、四位數碼管顯示
4、輸入輸出接線簡單
5、AD轉換頻率125K,8位數據轉換
6、波特率:9600 , 誤差率:0.156%
三、 作用:將0~5V的模擬電壓量轉換成為0~5000的數字量,由數碼管顯示出來,并轉換成為0255的十六進制,由單片機UART(即,TXD口發出),經232電平轉換后,可以和電腦直接通信。

AD接收UART發送模塊AD轉換數值顯示






單片機源程序如下:
  1. #include <iom8v.h>
  2. #include <macros.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. /********************************************************************
  6.                 數碼管段碼定義0123456789
  7. *********************************************************************/
  8. uchar Table[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};         //所需的段的位碼
  9. uchar wei[4]={0X10,0X20,0X40,0X80};  //位的控制端        (仿真)
  10. //uchar wei[4]={0Xe0,0Xd0,0Xb0,0X70};  //位的控制端        (板子)
  11. uint date;        //定義數據類型
  12. uchar z,x,c,v;        //定義數據類型
  13. /**********************************************************************
  14.                                                                 延時函數                                                                          
  15. **********************************************************************/
  16. void DelayMs(uint i)  //0.25ms
  17. {uint j;
  18. for(;i!=0;i--)
  19.   {for(j=8000;j!=0;j--) {;}}
  20. }
  21. /**********************************************************************
  22.                 數碼管動態掃描
  23. *********************************************************************/
  24. void Pre_Display()
  25. {

  26. /***********************數據轉換*****************************/
  27.   z=date/1000;                         //求千位
  28.   x=date%1000/100;                 //求百位
  29.   c=date%100/10;                 //求十位
  30.   v=date%10;                         //求個位

  31.       PORTD=wei[0];
  32.           PORTB=Table[z];
  33.           DelayMs(1);  
  34.             PORTD=wei[1];
  35.       PORTB=Table[x];
  36.           DelayMs(1);  
  37.              PORTD=wei[2];
  38.       PORTB=Table[c];
  39.           DelayMs(1);  
  40.       PORTD=wei[3];
  41.       PORTB=Table[v];
  42.           DelayMs(1);  
  43.   }
  44. /**********************************************************************
  45.                                                                 電壓值處理函數                                                                          
  46. **********************************************************************/
  47. uint ADC_Convert(void)
  48. {uint temp1,temp2;
  49. temp1=(uint)ADCL;//先讀ADCL
  50. temp2=(uint)ADCH;//再讀ADCH
  51. temp2=(temp2<<8)+temp1;//求值
  52. temp2=temp2*49/10;//求顯示的電壓值(0~5.12)V
  53. if(temp2>=5000)temp2=5000;
  54. return(temp2);
  55. }
  56. /**********************************************************************
  57.                       初始化I/O口
  58. **********************************************************************/
  59. void Init_IO(void)             //初始化I/O口
  60. {
  61. DDRC=0x00;                    //設置C口為不帶上拉輸入;
  62. PORTC=0x00;
  63. DDRB=0xff;                    //設置B口為推挽1輸出;
  64. PORTB=0xff;
  65. DDRD=0xFF;                    //設置D口為推挽1輸出;
  66. PORTD=0xFF;
  67. }
  68. /********************************************************************
  69.                       串口初始化子程序
  70. *********************************************************************/
  71. void Uart_Init(void)
  72. {
  73.     UCSRB  =  0x00;     //disable while setting baud rate
  74.     UCSRA  =  0x00;     //Bit1為1則倍速發送
  75.     UCSRC  =  0x86;  
  76.     UBRRL  =  0x33;     //波特率:9600 Bps
  77.     UBRRH  =  0x00;     //誤差率:0.156%
  78.     UCSRB  =  0x18;  
  79. }
  80. /********************************************************************
  81.                      串口發送字節子程序
  82. *********************************************************************/
  83. void Putchar(unsigned char c)
  84. {
  85.    while (!(UCSRA&(1<<UDRE)));
  86.    UDR=c;
  87. }
  88. /**********************************************************************
  89.                                                                 主函數                                                                          
  90. **********************************************************************/
  91. void main(void)
  92. {uint i;
  93. uint B=50;
  94. uint TXD;
  95. Init_IO();
  96. Uart_Init();
  97. ADMUX=0x00;

  98.                    //選擇第一通道;
  99. /**********************轉換速率應在50~200K****************************/
  100. ADCSR=0xe6;                   //125K轉換速率,自由轉換模式;啟動AD轉換器;
  101. DelayMs(1);                //延時待系統穩定;
  102. while(1)
  103. {

  104. B--;
  105. i=ADC_Convert();   //顯示電壓值(0~1024)
  106.       
  107. ……………………

  108. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


所有資料51hei提供下載:

AD接收UART發送模塊DXP資料.rar

117.71 KB, 下載次數: 21, 下載積分: 黑幣 -5

AD接收UART發送模塊產品使用手冊.doc

3.1 MB, 下載次數: 20, 下載積分: 黑幣 -5

AD接收UART發送模塊程序.rar

76.86 KB, 下載次數: 24, 下載積分: 黑幣 -5

AD接收UART發送模塊原理圖.doc

28.5 KB, 下載次數: 20, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久国产欧美日韩精品 | 国产福利在线播放 | 国内精品久久久久 | 国产精品看片 | 国产精品久久国产精品 | 久久久久久久久久久久久久国产 | 久在线| 国产日韩精品视频 | 久久久久久免费看 | 亚洲精品一区二区三区在线 | 亚洲天天干 | 91亚洲国产 | 99视频免费在线 | 中文一区 | 婷婷在线网站 | 日韩精品一区二区三区中文字幕 | 精品免费 | 成年人免费看 | 99久久精品免费看国产四区 | 日韩精品在线观看一区二区三区 | 最新中文字幕第一页视频 | 日韩在线视频一区 | 国产成人精品久久二区二区91 | 国产欧美久久一区二区三区 | 超碰成人免费 | 久久久精品久久久 | 亚洲黄色在线免费观看 | 国产精品久久久久久久久久久新郎 | 精品中文在线 | www.蜜桃av.com| 精品视频一区二区三区在线观看 | 日韩精品不卡 | 九九热这里 | 中文字幕日韩欧美 | 国产情侣一区 | 中文字幕在线精品 | 日韩一区二区三区在线 | 国产一区二区三区久久久久久久久 | 亚洲成人免费av | 色毛片 | 久久99精品久久久久久 |