首页 » 通讯 » 单片机读取ADC值经由进程串口输出_准时器_波特率

单片机读取ADC值经由进程串口输出_准时器_波特率

神尊大人 2024-12-31 12:51:22 0

扫一扫用手机浏览

文章目录 [+]

关键代码

__sfr __at(0x80) P0;__bit __at(0x80) P00;__bit __at(0x81) P01;__bit __at(0x82) P02;__bit __at(0x83) P03;__bit __at(0x84) P04;__bit __at(0x85) P05;__bit __at(0x86) P06;__bit __at(0x87) P07;__sfr __at(0x81) SP;__sfr __at(0x82) DPL;__sfr __at(0x83) DPH;__sfr __at(0x84) S4CON;__sfr __at(0x85) S4BUF;__sfr __at(0x87) PCON;__sfr __at(0x88) TCON;__bit __at(0x88) IT0;__bit __at(0x89) IE0;__bit __at(0x8a) IT1;__bit __at(0x8b) IE1;__bit __at(0x8c) TR0;__bit __at(0x8d) TF0;__bit __at(0x8e) TR1;__bit __at(0x8f) TF1;__sfr __at(0x89) TMOD;__sfr __at(0x8a) TL0;__sfr __at(0x8b) TL1;__sfr __at(0x8c) TH0;__sfr __at(0x8d) TH1;__sfr __at(0x8e) AUXR;__sfr __at(0x8f) INTCLKO;__sfr __at(0x90) P1;__bit __at(0x90) P10;__bit __at(0x91) P11;__bit __at(0x92) P12;__bit __at(0x93) P13;__bit __at(0x94) P14;__bit __at(0x95) P15;__bit __at(0x96) P16;__bit __at(0x97) P17;__sfr __at(0x91) P1M1;__sfr __at(0x92) P1M0;__sfr __at(0x93) P0M1;__sfr __at(0x94) P0M0;__sfr __at(0x95) P2M1;__sfr __at(0x96) P2M0;__sfr __at(0x98) SCON;__bit __at(0x98) RI;__bit __at(0x99) TI;__bit __at(0x9a) RB8;__bit __at(0x9b) TB8;__bit __at(0x9c) REN;__bit __at(0x9d) SM2;__bit __at(0x9e) SM1;__bit __at(0x9f) SM0;__sfr __at(0x99) SBUF;__sfr __at(0x9a) S2CON;__sfr __at(0x9b) S2BUF;__sfr __at(0x9d) IRCBAND;__sfr __at(0x9e) LIRTRIM;__sfr __at(0x9f) IRTRIM;__sfr __at(0xa0) P2;__bit __at(0xa0) P20;__bit __at(0xa1) P21;__bit __at(0xa2) P22;__bit __at(0xa3) P23;__bit __at(0xa4) P24;__bit __at(0xa5) P25;__bit __at(0xa6) P26;__bit __at(0xa7) P27;__sfr __at(0xa2) P_SW1;__sfr __at(0xa8) IE;__bit __at(0xa8) EX0;__bit __at(0xa9) ET0;__bit __at(0xaa) EX1;__bit __at(0xab) ET1;__bit __at(0xac) ES;__bit __at(0xad) EADC;__bit __at(0xae) ELVD;__bit __at(0xaf) EA;__sfr __at(0xa9) SADDR;__sfr __at(0xaa) WKTCL;__sfr __at(0xab) WKTCH;__sfr __at(0xae) TA;__sfr __at(0xaf) IE2;__sfr __at(0xb0) P3;__bit __at(0xb0) P30;__bit __at(0xb1) P31;__bit __at(0xb2) P32;__bit __at(0xb3) P33;__bit __at(0xb4) P34;__bit __at(0xb5) P35;__bit __at(0xb6) P36;__bit __at(0xb7) P37;__sfr __at(0xb1) P3M1;__sfr __at(0xb2) P3M0;__sfr __at(0xb3) P4M1;__sfr __at(0xb4) P4M0;__sfr __at(0xb5) IP2;__sfr __at(0xb6) IP2H;__sfr __at(0xb7) IPH;__sfr __at(0xb8) IP;__bit __at(0xb8) PX0;__bit __at(0xb9) PT0;__bit __at(0xba) PX1;__bit __at(0xbb) PT1;__bit __at(0xbc) PS;__bit __at(0xbd) PADC;__bit __at(0xbe) PLVD;__bit __at(0xbf) PPCA;__sfr __at(0xb9) SADEN;__sfr __at(0xba) P_SW2;__sfr __at(0xbc) ADC_CONTR;__sfr __at(0xbd) ADC_RES;__sfr __at(0xbe) ADC_RESL;__sfr __at(0xc0) P4;__bit __at(0xc0) P40;__bit __at(0xc1) P41;__bit __at(0xc2) P42;__bit __at(0xc3) P43;__bit __at(0xc4) P44;__bit __at(0xc5) P45;__bit __at(0xc6) P46;__bit __at(0xc7) P47;__sfr __at(0xc1) WDT_CONTR;__sfr __at(0xc2) IAP_DATA;__sfr __at(0xc3) IAP_ADDRH;__sfr __at(0xc4) IAP_ADDRL;__sfr __at(0xc5) IAP_CMD;__sfr __at(0xc6) IAP_TRIG;__sfr __at(0xc7) IAP_CONTR;__sfr __at(0xc8) P5;__bit __at(0xc8) P50;__bit __at(0xc9) P51;__bit __at(0xca) P52;__bit __at(0xcb) P53;__bit __at(0xcc) P54;__bit __at(0xcd) P55;__bit __at(0xce) P56;__bit __at(0xcf) P57;__sfr __at(0xc9) P5M1;__sfr __at(0xca) P5M0;__sfr __at(0xcb) P6M1;__sfr __at(0xcc) P6M0;__sfr __at(0xcd) SPSTAT;__sfr __at(0xce) SPCTL;__sfr __at(0xcf) SPDAT;__sfr __at(0xd0) PSW;__bit __at(0xd0) P;__bit __at(0xd1) F1;__bit __at(0xd2) OV;__bit __at(0xd3) RS0;__bit __at(0xd4) RS1;__bit __at(0xd5) F0;__bit __at(0xd6) AC;__bit __at(0xd7) CY;__sfr __at(0xd1) T4T3M;__sfr __at(0xd2) T4H;__sfr __at(0xd3) T4L;__sfr __at(0xd4) T3H;__sfr __at(0xd5) T3L;__sfr __at(0xd6) T2H;__sfr __at(0xd7) T2L;__sfr __at(0xd8) CCON;__bit __at(0xd8) CCF0;//0__bit __at(0xd9) CCF1;//1__bit __at(0xda) CCF2;//2__bit __at(0xde) CR;//6__bit __at(0xdf) CF;//7__sfr __at(0xd9) CMOD;__sfr __at(0xda) CCAPM0;__sfr __at(0xdb) CCAPM1;__sfr __at(0xdc) CCAPM2;__sfr __at(0xde) ADCCFG;__sfr __at(0xdf) IP3;__sfr __at(0xe0) ACC;__sfr __at(0xe1) P7M1;__sfr __at(0xe2) P7M0;__sfr __at(0xe3) DPS;__sfr __at(0xe4) DPL1;__sfr __at(0xe5) DPH1;__sfr __at(0xe6) CMPCR1;__sfr __at(0xe7) CMPCR2;__sfr __at(0xe8) P6;__bit __at(0xe8) P60;__bit __at(0xe9) P61;__bit __at(0xea) P62;__bit __at(0xeb) P63;__bit __at(0xec) P64;__bit __at(0xed) P65;__bit __at(0xee) P66;__bit __at(0xef) P67;__sfr __at(0xe9) CL;__sfr __at(0xea) CCAP0L;__sfr __at(0xeb) CCAP1L;__sfr __at(0xec) CCAP2L;__sfr __at(0xee) IP3H;__sfr __at(0xef) AUXINTIF;__sfr __at(0xf0) B;__sfr __at(0xf1) PWMSET;__sfr __at(0xf2) PCA_PWM0;__sfr __at(0xf3) PCA_PWM1;__sfr __at(0xf4) PCA_PWM2;__sfr __at(0xf5) IAP_TPS;__sfr __at(0xf6) PWMCFG01;__sfr __at(0xf7) PWMCFG23;__sfr __at(0xf8) P7;__bit __at(0xf8) P70;__bit __at(0xf9) P71;__bit __at(0xfa) P72;__bit __at(0xfb) P73;__bit __at(0xfc) P74;__bit __at(0xfd) P75;__bit __at(0xfe) P76;__bit __at(0xff) P77;__sfr __at(0xf9) CH;__sfr __at(0xfa) CCAP0H;__sfr __at(0xfb) CCAP1H;__sfr __at(0xfc) CCAP2H;__sfr __at(0xfe) PWMCFG45;__sfr __at(0xff) RSTCFG;/__sfr16 __at(0xfea8) ADCTIM;__sfr16 __at(0xfea2) TM2PS;__sfr16 __at(0xfe88) I2CMSAUX;__sfr16 __at(0xfe80) I2CCFG;__sfr16 __at(0xfe81) I2CMSCR;__sfr16 __at(0xfe82) I2CMSST;__sfr16 __at(0xfe83) I2CCSLCR;__sfr16 __at(0xfe84) I2CSLST;__sfr16 __at(0xfe85) I2CSLADR;__sfr16 __at(0xfe86) I2CTxD;__sfr16 __at(0xfe87) I2CRxD;__sfr16 __at(0xfe31) P1IE;__sfr16 __at(0xfe33) P3IE;__sfr16 __at(0xfe29) P1DR;__sfr16 __at(0xfe2b) P3DR;__sfr16 __at(0xfe2d) P5DR;__sfr16 __at(0xfe21) P1SR;__sfr16 __at(0xfe23) P3SR;__sfr16 __at(0xfe25) P5SR;__sfr16 __at(0xfe19) P1NCS;__sfr16 __at(0xfe1b) P3NCS;__sfr16 __at(0xfe1d) P5NCS;__sfr16 __at(0xfe11) P1PU;__sfr16 __at(0xfe13) P3PU;__sfr16 __at(0xfe15) P5PU;__sfr16 __at(0xfe00) CKSEL;__sfr16 __at(0xfe01) CLKDIR;__sfr16 __at(0xfe02) HIRCCR;__sfr16 __at(0xfe03) XOSCCR;__sfr16 __at(0xfe04) IRC32KCR;__sfr16 __at(0xfe05) MCLKOCR;__sfr16 __at(0xfe06) IRCDB;/__bit __at(0xb3) LED1;//P3_3__bit __at(0xb2) LED2;//P3_2__bit __at(0x91) BEEP;//P1_1__bit __at(0x92) SW2;//P1_2__bit __at(0x94) ENC_A;//P1_4__bit __at(0x93) ENC_B;//P1_3__bit __at(0xcc) DIP1;//P5_4__bit __at(0x97) DIP2;//P1_7__bit __at(0x96) DIP3;//P1_6__bit __at(0x95) DIP4;//P1_5#define TOU 0xfa#define MAX_LEN 19#define MAX_TIME_OUT 1000#define ADDRESS 1unsigned char crc_h;unsigned char crc_l;/ Table of CRC values for high–order byte / const unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40} ; / Table of CRC values for low–order byte / const char auchCRCLo[] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40}; void CRC16 (unsigned char puchMsg, unsigned int usDataLen ) / The function returns the CRC as a unsigned short type / { unsigned char uchCRCHi = 0xFF ; / high byte of CRC initialized / unsigned char uchCRCLo = 0xFF ; / low byte of CRC initialized / unsigned uIndex ; / will index into CRC lookup table / while (usDataLen--) / pass through message buffer / { uIndex = uchCRCLo ^ puchMsg++ ; / calculate the CRC / uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex] ; uchCRCHi = auchCRCLo[uIndex] ; } crc_h=uchCRCHi;crc_l=uchCRCLo;} //sdcc b2.c//packihx b2.ihx>b2.hexunsigned long n1;unsigned char n2;unsigned char rdata[20];unsigned char sdata[20];unsigned char i;unsigned char j;unsigned char flag_r_ok;unsigned long counter_times;unsigned char flag_led1;unsigned char flag_led2;unsigned char busy;void delay(unsigned long int n){unsigned long int i;for(i=0;i<n;i++){}}void UartInit(void)//9600bps@11.0592MHz{SCON = 0x50;//8位数据,可变波特率AUXR |= 0x01;//串口1选择定时器2为波特率发生器AUXR |= 0x04;//定时器时钟1T模式T2L = 0xE0;//设置定时初始值T2H = 0xFE;//设置定时初始值AUXR |= 0x10;//定时器2开始计时ES=1;EA=1;busy=0;}void uart_send(unsigned char dat){while(busy);busy=1;SBUF=dat;}void send_chars(unsigned char n){for(j=0;j<n;j++){uart_send(sdata[j]);}}void uart_isr(void) __interrupt(4) __using(1){if(TI){TI=0;busy=0;}if(RI){RI=0;}}unsigned int adc1_value;unsigned int adc2_value;unsigned int adc_value;unsigned int x1;unsigned int x2;unsigned int x3;unsigned int x4;unsigned int x5;unsigned int x6;unsigned int x7;unsigned int x8;void main(void){P3M1=0;//0000 0000P3M0=0;//0000 0000P1M1=0;//0000 0000P1M0=2;//0000 0010 BEEP(P1_1 SET 0 1) SW1(P1_2)BEEP=1;delay(90000);BEEP=0;delay(90000);BEEP=1;delay(90000);BEEP=0;delay(90000);BEEP=1;delay(90000);BEEP=0;delay(90000);BEEP=1;delay(90000);BEEP=0;delay(90000);UartInit();n1=0;n2=0;i=0;flag_r_ok=0;counter_times=0;sdata[0]=0x30;sdata[1]=0x31;sdata[2]=0x32;sdata[3]=0x33;sdata[4]=0x34;sdata[5]=0x35;sdata[6]=0x36;sdata[7]=0x37;sdata[8]=0x38;ADCCFG=0x0f;ADC_CONTR=0x80;busy=0;while(1){delay(10000);ADC_CONTR|=0x40;while(!(ADC_CONTR & 0x20));delay(10000);ADC_CONTR &=~0x20;adc1_value=ADC_RESL>>6;adc2_value=ADC_RES<<2;adc_value=adc1_value+adc2_value;x1=adc_value % 10;sdata[3]=x1+0x30;x2=(adc_value-x1)/10;x1=x2 % 10;sdata[2]=x1+0x30;x3=(x2-x1)/10;x1=x3 % 10;sdata[1]=x1+0x30;x2=(x3-x1)/10;x1=x2 % 10;sdata[0]=x1+0x30;sdata[4]=0x0d;sdata[5]=0x0a;send_chars(6);}}

为什么要加0x30呢?

单片机读取ADC值经由进程串口输出_准时器_波特率 单片机读取ADC值经由进程串口输出_准时器_波特率 通讯

由于:0-9的ASCII码对应0x30-0x39

单片机读取ADC值经由进程串口输出_准时器_波特率 单片机读取ADC值经由进程串口输出_准时器_波特率 通讯
(图片来自网络侵删)

回车符号为0x0d 0x0a

视频加载中...

视频加载中...

标签:

相关文章

易语言注册器,介绍软件授权的神秘面纱

在软件行业,授权一直是开发者关注的焦点。如何确保软件的合法使用,防止盗版,成为了开发者亟待解决的问题。易语言注册器,作为一种专业的...

通讯 2025-01-02 阅读0 评论0

易语言滑动条,创新编程的艺术之旅

易语言,作为我国自主研发的一种高级程序设计语言,以其易学、易用、易开发的特点,深受广大编程爱好者的喜爱。在易语言的编程世界里,滑动...

通讯 2025-01-02 阅读0 评论0

易语言红绿灯,智慧交通的未来之光

随着科技的飞速发展,人工智能逐渐渗透到我们生活的方方面面,为我们的生活带来了前所未有的便捷。在众多人工智能应用中,易语言红绿灯系统...

通讯 2025-01-02 阅读0 评论0

易语言编程,开启智能时代的新篇章

随着科技的飞速发展,编程语言已经成为现代社会不可或缺的工具。其中,易语言作为一种简单易学、应用广泛的编程语言,逐渐在我国市场上崭露...

通讯 2025-01-02 阅读0 评论0