⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart_port.c

📁 基于ADU812+PDIUSBD12的数据采集板源代码发布!这一回是用C写的!!!!!强烈推荐
💻 C
字号:
//uart_port.c.c//屁王8bit
#include "stdio.h"
#include "ADUC812.H"
extern union rec_data_cache//数据接收缓冲 
{
 struct setup_package//setup包专用区
 {
 unsigned char RequestType;
 unsigned char Request;
 unsigned char ValueL;       
 unsigned char ValueH;  
 unsigned char IndexL;
 unsigned char IndexH;
 unsigned char LengthL;
 unsigned char LengthH;
 }setup;
unsigned char buffer[64];
}USB;

//extern unsigned char j;

///////////////////////////////////////////////////////////////
//初始化串口
void uart_port_initializtion(void)
{
//设波特
//T2CON=0;//                 0c8h=00;
TH1=0xf3;//波特率为4800bit/s
TL1=0xf3;//波特率为4800bit/s
// ;orl      0c8h,#34h ;T1的T2CON设置/方式为波特率方式  00110100b
//TMOD=TMOD&0x0f;//
TMOD=TMOD|0x20;//方式3
ET1=0;//                clr       et1 ;禁示T1中断
PCON=PCON|0x80;//       orl       87h,#10000000b;波特率增倍
TCON=TCON|0x40;//       orl       tcon,#01000000b;运行T1

//初始化串口
TI=0;//                 发送中断标志 
RI=0;//                 收中断标志
//                     ;setb         sm0
SM1=1;//                setb         sm1 ;方式1
//                     ;setb        sm2 ;多机方式
//TB8=1;//                setb         tb8;发第9置1
ES=1;//                 setb         es打开串口中断
REN=1;///                接收允许
//SBUF=0xff;              //写数运行


return;}
//char   bitdownlong;
//char   datadown[10];
//串口中断服务程序
//char i=1;
//unsigned int lko=0x0000;
extern unsigned char  read_d12(unsigned int rp);
extern void T0_initializtion(void);//初始化定时器0
extern ADC(void);//AD转换
//unsigned char p=0;
void uart_port_interrupt_service(void)// using 2
{
//if(SBUF=='s')T0_initializtion();
if(TI)//                 发送中断标志 
{TI=0;}
  if(RI)//                 接收中断标志
    {RI=0;
     //TB8=1;//                   setb         tb8;发第9置1
     /*if(lko<0x7fff)
       {ES=1; 
       SBUF=read_d12(lko);
       lko=lko+1;//USB.buffer[lk];//USB.buffer[p];
        }
     else
        {
        lko=0;
         ES=0;
        //ADC();//AD转换
        }*/
     }
return;
}
////////////////
//unsigned int KADP=0;
/*void DAC(void)//DA转换
{
/*if(ADP>0x9fff)
     {ADP=0x8000;
	 //ADbusy=0;//AD空闲
	 //write_point(0x03,16);
	 //T0_initializtion();//初始化定时器
     //ADC();
     }
else{//ADbusy=1; 
     DAC0L=read_d12(ADP);
     ADP++;
     DAC0H=read_d12(ADP);
     ADP++;//}
DACCON=0x18;*/
/*if(KADP>6600)
{KADP=0;
 ET0=0;//et0 ;中断使能
while(KADP<0xffff)
{
KADP++;
KADP--;
KADP++;
KADP--;
KADP++;
KADP--;
KADP++;
}
KADP=0;
ET0=1;//et0 ;中断使能
TR0=1; //    tr0  ;run
}
//DAC0L=audio[KADP];
KADP++;*/
/*DAC0L=USB.buffer[1];
DAC0H=USB.buffer[0];
DAC1L=USB.buffer[1];
DAC1H=USB.buffer[0];*/
//DACCON=0x9F;
//return;}///OK
 
////////
/*void ADC(void)//AD转换
{

ADCCON1=0x4a;
ADCCON2=ADCCON2|0x08;
SCONV=1;
//ADCCON3=
EADC=1;
return;}
//extern bit bEndpointRequest;
void ADC_interrupt_service(void)//AD转换中断
{
USB.buffer[1]=ADCDATAL;
USB.buffer[0]=ADCDATAH;
ES=1;
SBUF=0xff;
//write_point(0x03,2);
//bEndpointRequest=1;
return;}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -