ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:69.15KB ,
资源ID:2694678      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2694678.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计单片机控制系统设计.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计单片机控制系统设计.docx

1、单片机课程设计单片机控制系统设计单片机课程设计课题:单片机控制系统设计系 别: 专 业: 姓 名: 学 号: 指导老师: 河南城建学院2011年 12 月 28 日成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。二、评分评分项目设计报告评分答辩评分平时表现评分合 计 (100分)任务完成情 况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情 况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定 班级: 0934091 姓名: 关 红 雷 学号: 093409128 成绩: 分(折合等级 )指导教师签字 年 月 日一、设计

2、目的 1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解; 2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、D/A、串行口通讯等; 3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。二、设计要求要求用单片机作为控制芯片制作一个遥控器,另一个单片机系统能被遥控操作。三、总体设计1、设计思路: 本次课程设计利用单片机来完成一个系统,实现双片单片机之间的控制。结果用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。

3、2、设计方案:本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过传输线将信号传送到接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB10中的10个数据送给从机,并发送检验和。从机收到10个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。 3、硬件设

4、计:计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指

5、令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:表1.SCON各位含义SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表表2.串行口工作方式SM0SM1工作方式功能波特率 0008位同步移位寄存器(用于I/O扩展)fORC/1201110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)10211位异步串行通信(UART)fORC/64

6、或fORC/3211311位异步串行通信(UART)可变(T1溢出率*2SMOD/32)SM2:多机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存

7、器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。四、各部分电路设计 通过通信协议进行发送接收,主机先送AAH给从机

8、,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。1.串行通信软件实现:(1)串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。(2)功能:将本机ROM中数码表TAB10中的10个数发送到从机,并保存在从机内部ROM中,从机收到这10个数据后送到一个数码管循环显示。(3)通信协议:主机首先发送连络信号(AAH),从机接收到之

9、后返回一个连络信号(BBH)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。2.程序流程图:(1) 发送端程序流程图图1.发送端程序流程图(2) 接收端程序流程图图2.接收端程序流程图五、整体电路图在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示

10、了出来。图3.电路图六、设计总结经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。经过课程设计,在查阅资料的过程中,学习了基于单片机的C语言程序设计,了解了单片机串行通信和控制系统的基本知识,对于以后的学习和工作都有很大的益处。在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。通过这次课程设计,锻炼了自己独立思考的能力。参考文献1杨恢先,黄辉先.单片机原理及应用(第一版) M.北京:人民邮电出版社,200

11、6:214-221.2马忠梅.单片机C语言程序设计 M.北京:北航出版社,2007:36-48.3 田立,田清,代方震. 51单片机C语言程序设计快速入门(第一版) M.北京:人民邮电出版社,2007:35-40.附录:1. 发送程序#include#define uchar unsigned charvoid init(void) ;void send(void) ;uchar TAB10= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar i,sum;main() init(); send(); void init(void)

12、EA=1; ES=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; PCON=0x00; TR1=1; SCON=0x50; void send(void) do SBUF=0xaa; while(!TI); TI=0; while(!RI); RI=0; while(SBUF0xbb)!=0); do sum=0; for(i=0;i=9;i+) SBUF=TABi; sum+=TABi; while(!TI); TI=0; SBUF=sum; while(!TI); TI=0; while(!RI); RI=0; while(SBUF!=0); 2. 接收程序#inclu

13、de #define uchar unsigned charvoid init(void) ;void receive(void) ;void delay(int) ;uchar TAB10= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar i,sum;main() init(); receive(); void init(void) EA=1; ES=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; PCON=0x00; TR1=1; SCON=0x50; void delay(int x) int i,j;

14、for(i=0;ix;i+) for(j=1;j150;j+); void receive(void) uchar TABS10; do while(!RI); RI=0; while(SBUF0xaa)!=0); SBUF=0xbb; while(!TI); TI=0; while(1) sum=0; for(i=0;i=9;i+) while(!RI); RI=0; TABSi=SBUF; sum+=TABSi; while(!RI); RI=0; if(SBUFsum)=0) SBUF=0x00; while(!TI); TI=0; break; else SBUF=0xff; while(!TI); TI=0; while(1) for(i=0;i=9;i+) P1=TABSi; delay(500);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2