标签:ar os 数据 on art amp as har c
//danny #include <STC12C5A60S2.H> sbit S0 = P1^0; sbit S1 = P1^1; sbit S2 = P1^2; sbit S3 = P1^3; unsigned int RXnum = 0; //数量 unsigned int TXnum = 0; //数量 unsigned char code LedChar[] = { //数码管显示字符转换表 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E }; unsigned char RxdByte; //串口接收到的字节 void UartInit(void); //void sendData(); //void sendString(); /* 主函数 */ void main() { EA = 1; //允许出现中断 ES = 1; //允许串口中断 UartInit(); S0=S1=S2=S3=1; while(1){ S3=0; P0 = LedChar[RXnum%10]; S0=S1=S2=S3=1;P0=0XFF; S2=0; P0 = LedChar[RXnum/10%10]; S0=S1=S2=S3=1;P0=0XFF; S1=0; P0 = LedChar[TXnum%10]; S0=S1=S2=S3=1;P0=0XFF; S0=0; P0 = LedChar[TXnum/10%10]; S0=S1=S2=S3=1;P0=0XFF; } } /* UART初始化 */ void UartInit(void) //9600bps@11.0592MHz { PCON &= 0x7F; //波特率不倍速 SCON = 0x50; //8位数据,可变波特率 AUXR |= 0x04; //独立波特率发生器时钟为Fosc,即1T BRT = 0xDC; //设定独立波特率发生器重装值 AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器 AUXR |= 0x10; //启动独立波特率发生器 } /* UART 中断服务函数 */ void Uart_Isr() interrupt 4 using 1 { //接收 if (RI){ RI = 0; //Clear receive interrupt flag RXnum++; RxdByte = SBUF; SBUF = RxdByte; } //发送 if (TI){ TI = 0; //Clear transmit interrupt flag TXnum++; } }
标签:ar os 数据 on art amp as har c
原文地址:http://my.oschina.net/qianglong/blog/341598