单片机课程设计报告1Word文档下载推荐.docx
- 文档编号:15907809
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:24
- 大小:322.33KB
单片机课程设计报告1Word文档下载推荐.docx
《单片机课程设计报告1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告1Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
①画出整个系统的电路原理图;
②叙述各功能模块的工作原理;
③编写各模块程序;
④论文中应附上程序流程图;
⑤书写论文时注意结构合理,层次分明,在分析时注意语言的流畅。
工作计划
1布置任务,查找资料
2电路和程序设计
③设计程序调试结果验收
④论文答辩
指导教师
签名
年月日
系意见
系主任签名:
课程设计内容及步骤
1、使用LM20温度传感器、AD1674模数转换器、AT89C51单片机、4位拨码开关组成温度采集模块(从机),拨码开关用于设定模块的地址(00-15),从机在采集完温度信号(间隔5S)后通过串口发送到主机;
2、使用AT89C51单片机、4位拨码开关、LED显示组成温度接收模块(主机),4位拨码开关用于设定通讯波特率(1200,2400,4800,9600)当主机波特率改变后,从机波特率也自动改变,上电运行显示波特率信息(停3S),之后显示接收地址与温度信息。
3、扩展要求:
将其设计成:
当定时器达到一定时间时,从机没有收到来自主机的信号,则从机“发光报警”。
当遇到故障时,也会发光报警,即将从机上的RXD或TXD接按键开关,接地或是接电源作为模拟信号。
收到主机的信号后,又能恢复正常。
整个系统的电路原理图:
各功能模块的工作原理:
1、温度采集模块
使用LM20温度传感器、AD1674模数转换器、AT89C51单片机、4位拨码开关组成温度采集模块(从机),拨码开关用于设定模块的地址(00-15),从机在采集完温度信号(间隔5S)后通过串口发送到主机;
(1)LM20经AD1674转换为12位数据给从机
LM20温度传感器经过电压跟随器后输入到AD1674的10VIN口,AD1674组成双峰。
STS、CS、A0、CE、RC分别接到从机的P0-P4口实现AD1674的控制作用。
一开始CE=1,CS=0,RC=0,A0=0启动12位温度转换,然后等待数据采集结束while(STS==1);
接着CE=1,CS=0,RC=1,12/8=1,A0=0允许高八位数据并行输出,最后CE=1,CS=0,RC=1,12/8=0,A0=1允许低四位数据并行输出。
读出的12位数据存放在变量temp中。
经过AD1674转换后输出的结果精确到(10.0/4095.0)。
若LM20温度转换为电压值是1.13598v时,经过AD1674转换后输出的12位数为1.13598*4095/10=465转换为2进制为000111010001。
12位数据经过公式转换T=(1.8525-temp*10/4095.0)*10000/11.79.然后把低位小数位给temp1,temp就为整数部分,接着就是等待发送给主机。
/*读取AD1674转换结果*/
uintAD1674_Read(void)
{
uinttemp;
CS=1;
CE=0;
//初始化,关闭数据采集
CS=0;
A0=1;
RC=0;
CE=1;
//CE=1,CS1=0,RC=0,A0=0启动8位温度转换
_nop_();
while(STS==1);
//等待数据采集结束
//芯片使能关闭
RC=1;
A0=0;
//CE=1,CS1=0,RC=1,12/8=1,A0=0允许高八位数据并行输出
temp=P1;
//读取转换结果的低八位
return(temp);
//返回转换结果
}
(2)从机接收主机发送的波特率并且设置自己的波特率
主机发送波特率给从机,从机查询法判断是否接收到主机发送的波特率,如果接收到主机发送的波特率则改变自己的波特率,跳出循环来实现发送温度地址的发送,否则一直循环判断是否接收到主机发送的波特率。
//设置波特率
voidset()
uinttemp=P0;
temp=temp>
>
4;
temp=temp&
0x0f;
if(temp==1)
{
TMOD=0x21;
//定时器为方式2,TMOD高四位控制T1
TL1=0xF4;
//时间常数初值
TH1=0xF4;
//时间常数初值,波特率为1.2k
PCON=0x00;
//正常方式,SMOD=0,波特率为f/64
}
elseif(temp==2)
//定时器为方式2
TL1=0xFA;
TH1=0xFA;
//波特率为2.4K
elseif(temp==4)
TL1=0xFD;
TH1=0xFD;
//波特率为4.8K
elseif(temp==8)
//波特率为9.6K
PCON=0x80;
//SMOD=1,波特率加倍
(3)拨码开关实现地址的变换
拨码开关接从机的P1口,然后改变拨码开关的值,P1口的数据变换,等待传送给主机。
(4)定时器实现5秒间隔
定时器0工作方式1,初值装(65536-50000)实现50ms的定时,num为定时次数,当num=100时,定时为5s的间隔。
2、温度接收模块
使用AT89C51单片机、4位拨码开关、LED显示组成温度接收模块(主机),4位拨码开关用于设定通讯波特率(1200,2400,4800,9600)当主机波特率改变后,从机波特率也自动改变,上电运行显示波特率信息(停3S),之后显示接收地址与温度信息。
(1)波特率设定及发送
拨码开关接主机的P1口,用于设定主机的波特率。
P1口的数据分别为1、2、4、8时的波特率为1200、2400、4800、9600。
然后发送给从机波特率,接着自己的波特率也随之改变。
(2)波特率显示并且延时3s
由P1口可以得到不同的值,从而用软件设定波特率(即设定定时器1的初值),不同的值存放在bote[]数组中用以数码管的显示。
定时器T0实现定时功能,初值装(65536-50000)实现50ms的定时,num为定时次数,当num为60的时候定时到了3s,以后就不用显示波特率了,所以用m变量为1表示波特率显示结束,不再显示波特率。
(3)温度、地址的接收和判断
温度地址接收是用串口中断实现的。
RI为1的时候表示一帧数据已经接收完了,所以就开始判断是温度的整数部分、小数部分、还是地址和正负标志位组成的数据。
通信协议如上:
if(temp<
16)
{
disnum[4]=temp/10;
//求十位
disnum[5]=temp%10;
//求个位
}
else
{
temp1=(uint)((1.8528-temp*10.0/255)*(10000/11.79));
HEXTOBCD(temp1);
(4)数码管显示模块
数据存于disnum数组中,用8位数码管来显示温度、地址以及波特率。
段选接主机的P0口,片选接主机的P2口。
一开始显示波特率,就选中最后4位。
然后就是要显示温度和地址的信息了。
温度为-55—130所以前面4位显示温度后2位显示地址即:
XX.X—XX。
由于数码管是动态扫描的,所以要一定速度才可以实现视觉残留。
看上去好像是一直点亮一样的。
voiddisplay_led()
uchari;
for(i=0;
i<
8;
i++)
{
P2=disbit[i];
//使用查表法进行位选
if(i!
=2)
P0=table[disnum[i]];
else
P0=table1[disnum[i]];
delay(150);
//扫描间隔时间太长会数码管会有闪烁感
(5)系统报警
定时器0实现定时功能,num1为报警的时间的计算,定时器是实现50ms的,所以要120才能实现6s。
num1=120,那么判断一下flag(是否接收到传送过来的数据)如果flag=0;
说明没有接收到采集的数据,接着就报警,还要把num1和flag重新清0,实现下次的报警功能。
else
m=0;
if(num1==120)
{
if(flag==0)
{
uchart=8;
while(t--)
BEEP();
LED();
}
else
flag=0;
num1=0;
}
if(txd==0)
flag=1;
BEEP();
display_led();
课程设计成果
1、显示波特率
2、显示温度与地址
3、报警
程序流程图:
课程设计心得:
通过本次课程设计我学到了很多在课本上、课堂上难以学到的东西。
这也验证了实践是检验真理的唯一标准。
虽然大二的时候已经学过了C语言,但这与实际的单片机还是有点区别的。
本次实验中,我没有用汇编编写程序,而是采用了C语言。
刚拿到实验内容的时候,我的头脑一片空白,可以说对于这次的课程设计相当没有底。
就比如AD1674,之前从未接触过,更别说将其连到电路中了,还有很多问题如何在程序中实现等问题。
于是,我只得先去查资料。
首先是LM20,查看它的功能和作用。
知道了他的转换公式。
接着要用单片机采集的话,必须经过模数转换才可以实现,于是便开始AD1674芯片的学习了。
这个芯片的理解还是比较麻烦的,花了将近1天时间才总算弄明白一点。
之后,我又通过看书学习了串口怎么发送,怎么接收,怎么初始化,怎么设定波特率。
问题很多,但是在同学们的帮助下,终于完成了从机发送采集到的数据给主机。
接着便是改变地址,改变波特率,报警等等功能,这些功能的话,其实前面的弄懂后,这些都是比较容易实现的。
好不容易将程序写好、弄懂后,迎来了老师的答辩时间。
老师要求我们增加发光报警功能。
刚拿到的时候,感觉挺简单的,但是要改,却又不知改哪里。
最终在即将到时间的时候,我灵光一闪,成功实现了老师要求的内容。
当时真的好开心,因为这是我凭自己的能力做出来的。
在这次课程设计中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告