/*
附:利用单片机和PC机的串口通信的工作方式1(波特率可变),(已知晶振为11.0592MHZ)设置通信波特率为9600b/s,结合定时器1的工作方式2(TH1=0xfd,TL1=0xfd),输入上底、下底、高,输出梯形面积
提示:下载程序后,打开串口工具,需要复位一下。
*/
#include<reg52.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
void uart(void) //串口通信初始化
{
SCON=0x40; //串口通信工作方式1
REN=1; //允许接收
TMOD=0x20; //定时器1的工作方式2
TH1=0xfd,TL1=0xfd;
TI=1; //这里一定要注意
TR1=1; //打开定时器
}
void main(void)
{
uint up=0,down=0,high=0;
uint result ;
uart();
while(1)
{
printf("********************************\r\n");
printf("Please input up,dowm,high:\r\n");
scanf("%d%d%d",&up,&down,&high) ;
printf("\r\nResult=%d\r\n",result=(up+down)*high/2);
}
}
|