找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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


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

AD接收UART發(fā)送模塊AD轉(zhuǎn)換數(shù)值顯示






單片機(jī)源程序如下:
  1. #include <iom8v.h>
  2. #include <macros.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. /********************************************************************
  6.                 數(shù)碼管段碼定義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;        //定義數(shù)據(jù)類型
  12. uchar z,x,c,v;        //定義數(shù)據(jù)類型
  13. /**********************************************************************
  14.                                                                 延時(shí)函數(shù)                                                                          
  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.                 數(shù)碼管動態(tài)掃描
  23. *********************************************************************/
  24. void Pre_Display()
  25. {

  26. /***********************數(shù)據(jù)轉(zhuǎn)換*****************************/
  27.   z=date/1000;                         //求千位
  28.   x=date%1000/100;                 //求百位
  29.   c=date%100/10;                 //求十位
  30.   v=date%10;                         //求個(gè)位

  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.                                                                 電壓值處理函數(shù)                                                                          
  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;                    //設(shè)置C口為不帶上拉輸入;
  62. PORTC=0x00;
  63. DDRB=0xff;                    //設(shè)置B口為推挽1輸出;
  64. PORTB=0xff;
  65. DDRD=0xFF;                    //設(shè)置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則倍速發(fā)送
  75.     UCSRC  =  0x86;  
  76.     UBRRL  =  0x33;     //波特率:9600 Bps
  77.     UBRRH  =  0x00;     //誤差率:0.156%
  78.     UCSRB  =  0x18;  
  79. }
  80. /********************************************************************
  81.                      串口發(fā)送字節(jié)子程序
  82. *********************************************************************/
  83. void Putchar(unsigned char c)
  84. {
  85.    while (!(UCSRA&(1<<UDRE)));
  86.    UDR=c;
  87. }
  88. /**********************************************************************
  89.                                                                 主函數(shù)                                                                          
  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. /**********************轉(zhuǎn)換速率應(yīng)在50~200K****************************/
  100. ADCSR=0xe6;                   //125K轉(zhuǎn)換速率,自由轉(zhuǎn)換模式;啟動AD轉(zhuǎn)換器;
  101. DelayMs(1);                //延時(shí)待系統(tǒng)穩(wěn)定;
  102. while(1)
  103. {

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

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


所有資料51hei提供下載:

AD接收UART發(fā)送模塊DXP資料.rar

117.71 KB, 下載次數(shù): 21, 下載積分: 黑幣 -5

AD接收UART發(fā)送模塊產(chǎn)品使用手冊.doc

3.1 MB, 下載次數(shù): 20, 下載積分: 黑幣 -5

AD接收UART發(fā)送模塊程序.rar

76.86 KB, 下載次數(shù): 24, 下載積分: 黑幣 -5

AD接收UART發(fā)送模塊原理圖.doc

28.5 KB, 下載次數(shù): 20, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表