功能:通过波特率和晶振频率,计算定时器初值的一个小工具,很好用。 注意:在我的机器上,卡巴是报告有毒的,本机跳过卡巴对该软件的检测,而且用的一直挺好,个人觉得是卡巴误报。不过,担心有风险的朋友请不要下!免得在评论里乱说一气。
2021-12-15 16:48:25 4KB 51串口 计算器 波特率
1
杭电嵌入式期末作业,串口计算器版本2,可以直接用。
2021-11-25 12:50:54 2.45MB 杭电 嵌入式 STM32 串口计算器
1
#include #include unsigned char tmp; unsigned char data1 = 0; unsigned int num1 = 0,num2 = 0,num3 = 0,fu = 0; int q[100] = {0}; int printf_flag = 0; int a = 0; int c = 0; void send_char(unsigned char txd); void send(unsigned int u); void main() { // EA = 1; //总开关 // ES = 1; //IE寄存器 通信开关 SCON = 0x50; // 设定串行口工作方式 0101 0000 工作方式1 TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率 TH1 = 0xFD; // 波特率9600 TL1 = 0xFD; PCON = 0x00; // 波特率不倍增 TR1 = 1; // 启动定时器1 while(1) { if(RI == 1) // 是否有数据到来 { RI = 0; data1 = SBUF; //P1 = data1; // 数据传送到P0口 // send_char(data1); // 回传接收到的数据 if(( data1>='0') && (data1<='9')) { num1 = 10*num1+(data1 -'0'); } else if(data1 == '+'||data1 =='-'||data1 == '*'|| data1 == '/') { fu = data1; num2 = num1; num1 = 0; } else if(data1 == '='&&fu; == '+')// { num3 = num1+num2; printf_flag = 1; } else if(data1 == '='&&fu; == '-')// &&fu; == '-' { num3 = num2-num1; printf_flag = 1; } else if(data1 == '='&&fu; == '*')//&&fu; == '*' { num3 = num1*num2; printf_flag = 1; } else if(data1 == '='&&fu; == '/')// '&&fu; == '/' { num3 = num1/num2; printf_flag = 1;
2021-07-05 21:12:48 34KB 串口计算器 51 计算器 串口
1
本次实验实现了基于串口通信的表达式解析与计算功能,如下图所示,向单片机输入表达式:2/1-3*(1*5+4*(2-2)+5)/(3-1*9)=; 返回计算结果:7,等等
2021-06-21 21:43:20 78KB 表达式计算 msp430
1