2015年单片机课程设计报告模板.docVIP

  • 5
  • 0
  • 约8.31千字
  • 约 16页
  • 2017-05-21 发布于浙江
  • 举报
2015年单片机课程设计报告模板

中南民族大学 计算机科学学院 单片机课程设计报告 课 程 单片机课程设计 设计题目 串行数据接收器3 年级专业 2013及自动化4班 学 号 201321095146 学生姓名 汪立富 指导教师 吴桂华 2015年 11 月 16 日 课程设计量化评分标准 ? 指标 最高分 评分要素 评分 方案设计 35 方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。? ? 调试 15 过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。 ? 结果 20 电路及程序运行结果正确,达到预期效果。? ? 设计报告 20 报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。 ? 工作态度 10 工作态度认真,按时完成设计任务,是否独立完成。? ? 总 评 成 绩 ? 指导老师评语: 设计题目:串行数据接收器3 要求 以实验室实验箱为平台,将pc机发送的数据以LED点阵显示出来 分析 通 过串口发送数据到单片机,首先需要建立pc与单片机之间的通信连接,选择工作方式1即11位异步收发方式,SMO=0,SW1=1;采用定时器1作为接受中断波特率,波特率设置为2400b/s,当pc发送一针数据启位为0,RI=0,开始接收数据,接受完成后发送中断被标志位RI=1,接收到的数据经过SUBF缓冲器暂存,有软件方法检测RI=0,说明数据接收完成,SBUF更新数据,控制将pc机发送的数据经过。 实验室的LED点阵电路图链接是由4个8*8的点阵通过4个74HC595级联后组成一个16*16的LED点阵,将行列数据依次保存于74HC595寄存器,一个时钟脉冲到来后数据送到LED点阵,以行扫描的方式依次对LED点阵进行扫描,即可显示出来,在此过程中需要使用0-F的库码,使用库码生成工具将数组形式保存, 设计 1、硬件设计(包括设计方案及说明、完整的硬件连接图等) 方案一:选择单个8*8LED点阵来显示数据,单个8*8LED点阵驱动电路简明,编程简单,能够显示0-f的字符,节约硬件成本,但需要占用2组I/O,加上实验室不提此电路,因此,该方案放弃, 方案二 :选择4个8*8LED点阵来显示数据,该电路是由4个74HC595级联拼接而成的,除了可以显示复杂的字体,还可以显示简单的图案等,但编程比较麻烦,需要使用字库软件生产字库,生成的字库需要进过一系列的排序和转换后才能用作软件调用使用,由于实验板硬件设备原因,本次课设采用了该方案,。 以串口方式实现PC机与单片机之间的数据通讯,它是由最小系统和LED驱动模块组成,最小系统是51单片机最小系统,LED点阵模块由4个8*8的LED点阵模块拼接而成,如图2所示,行列驱动均由74HC595芯片驱动,74HC595是一款漏级开路输出的CMOS移位寄存器,输出口为可三态输出端,可实现数据串行输入,并行输出。通过74HC595可使用少量的单片机I/O口实现LED点阵的连接,行列分别使用两个74HC595级联输出,由于74HC595的驱动能力有限,因此,再加上2个UNL2803达林管与LED链接起来,即可实现LED的亮度。 全部原理图如下: 图1 整体原理图 图2 2、软件编程(包括流程图、完整的汇编源程序及其注释) 主函数流程: 图4 主函数流程图 串口采用工作方式1,因此串口波特率有定时器1产生,波特率计算公式: 波特率=2SMOD/32*fosc/(216-初值) (1) 设置波特率为1200,由公式可以算出初值: X初值=65536-fosc*(SMOD+1)/384*波特率=0XFB1E; (2) 即: TH0=0xfb,TL0=0x1e; 作为中断函数流程:当进入中断后,会判断RI是否为1,为1说明串行数据发送完成,SUBF已经更新,为0说明串行数据政在接受过程中,当执行完中断里的数据后,程序返回到断点,此时定时器重新定时,当定时器溢出后,又进入中断,反复执行下去。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档