首页 > 代码库 > sms
sms
//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++; } }
sms
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。