串口通信电路设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
读字节操作: uchar read_one_char(void) { unsigned char i = 0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; //给脉冲信号 dat>>=1; //先进行移位操作,以免最 后一位不能读出 DQ = 1; //给脉冲信号 if (DQ) { dat |= 0x80; } nop(4); } return dat; }
同学们的后续工作安排:
1、分组:按1个同学进行分组,各字完成系统要求的功 能模块。 2、画出系统设计的原理图和PCB图,在图上标上组员信 息,如姓名、学号等。要求各组于4月5日前发到我邮箱
3、 编写系统程序,在5月7日前完成
4、上交设计论文,按照本科设计论文标准,经 老师审阅合格后方可参加答辩,在5月28日前完成。
5
串口通信电路设计制作课程题目及设计要求
题目:串口通信控制系统设计 基本设计要求:
• 1、将当前采集到的温度值、时钟通过串口发送到上位 机平台; • 2、设计上位机软件界面显示接收到的温度、时钟参数; • 3、实时绘制当前温度曲线图; • 4、能够还原历史温度数据值。 同学们可充分发挥自身想象力,只要能想到的,都 尽量通过程序将其实现。
1、各自按照任务要求进行资料查找,了解各芯 片的性能、典型应用原理图、常用的单片机控制 测试代码; 2、分硬件和软件两大部分进行设计和测试; 3、以模块方式测试通过后再进行整机联合调试; 4、写出论文报告
1、DS18B20:
写字节操作:
void write_one_char(unsigned char dat)
{
unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01; nop(5); DQ = 1; dat>>=1; }
}
读温度值操作: int read_temperature(void) {unsigned char a=0; unsigned char b=0; int t=0; init_DS18B20(); write_one_char(0xCC); // 跳过读序列号 write_one_char(0x44); // 启动温度转换 init_DS18B20(); write_one_char(0xCC); //跳过读序列号 write_one_char(0xBE); //读取温度寄存 器等前两个就是温度 a = read_one_char(); b = read_one_char(); t = b; t <<= 8; t |= a; return t; }
2
课程形式
一、本课程是研讨型课程,采用教师授课、 自主学习与研究、设计与实践、答辩与验 收等多种教学方式。 老师理论授课时间:2次 同学们实验时间:4次 同学们制作时间:6次
先修课程:电路分析基础、电子技术基础(模 拟、数字)、高频电子线路、信号与系统、单片 机技术
3
设计与实践要求
1
实现串口通信的方法
串口通信在当前得到越来越广泛的应用,如仪 器设备,各种短距离通信,各种无线串口通信, 各种数据采集系统等等。 具体实现方法如低端8位单片机、16位中等单片 机、32位高端单片机,各种嵌入式处理器, CPLD或FPGA等等。 不管用何种方法,关键学会如何使用,如何设计
原理上要掌握几个重要的参数:波特率、数据位、 停止位、校验位、通信端口、缓冲区大小等
}
} stop_8563(); }
2、PCF8563:
写字节操作: void write_byte_8563(uchar dat) { uchar i; scl_8563 = 0; for (i=0;i<8;i++) //共8位 { if ( dat & 0x80) { sda_8563 = 1; } else { sda_8563 = 0; }
具体制作过程,同学们自行落实,可以是 创新基地、可以是机房、可以是宿舍等。
硬件调试部分:——主要熟悉和掌握各模块的原理图 软件调试部分:
1、DS18B20:
单线总线操作流程: * 单线总线工作过程中的协议如下: * 初始化,ROM操作命令,存储器操作命令,处理数据。 * 每次要对存储器操作前,都必须先进行初始化,然后进行 ROM操作,最后才能对存储器进行操作。
课程性质与目的
本课程是电工电子类专业技术基础课平台课程 的课程之一,也是最重要的一门实践性课程。 其目的是通过一个以工程实践或社会生活为背景 的电子系统的研究、设计与实现,使学生能将已 学过的模拟电路、数字电路以及单片机等知识综 合运用于电子系统的设计中,从而培养同学们知 识综合应用及电子系统设计的能力。
2、PCF8563:
case 2: hou = (read_byte_8563() ) & 0x3F;break;//获取小时 case 3: day = (read_byte_8563() ) & 0x3F;break;//获取日 case 4: week = (read_byte_8563() ) & 0x07; if(week==0)week=7;break;//获取星期 case 5: mon = (read_byte_8563() ) & 0x9F;break;//获取月 case 6: year = (read_byte_8563() ) & 0xFF;break;//获取年 default:break;
somenop;
} sda_8563 = 1; 字节后释放总线 scl_8563 = 0; 个脉冲,接收应答位 return (a); } //读完一个 //加上第九
其他相关程序编写模块:
1、键盘扫描应用程序 2、数码管或者液晶应用程序 3、STC89C52单片机定时器中断应用 程序
4、系统模块间的整合与测试
考核方式
1)课程的总成绩由平时成绩和课题验收两部分构成, 其中: 平时成绩(研讨、作业、实验)占30% 课题验收(作品、报告)占70% 2)平时成绩是指同学们实验课的表现,实验子课题的 完成程度,表现出的理解、思维、表达、创造性等方面的 能力等各方面的情况。 3)课题验收评分标准如下: 课题完成程度(包括功能和指标)(40%) 课题在软件构思、功能、指标等方面的创造性(15%) 课题验收时回答问题的正确性、准确性和发挥(15%) 课题设计总结报告(30%)
2、PCF8563:
IIC总线操作流程: * 一、 写操作顺序: * 启动总线→写器件地址→写单元地址→写数据→. . .→关 闭总线 * 器件地址组成:固定地址(厂家)+外部连线地址+1位读 写地址(1:读 ,0:写) * 二、 指定单元读操作: * 启动总线→写器件地址→写单元地址→启动总线→写入要读 出的器件地址→ * 读数据→. . .→关闭总线 * 三、 当前单元读操作 * 启动总线→写入要读出的器件地址→读数据→. . .→关闭 总线
本课程重点学习和掌握:
(1)单片机系统应用程序的编写与测试 (2)要求:掌握系统设计方案,会写设计报告 (3)相关模块的综合设计与编写 (4)体验模块化的设计思路
总之:重点锻练和培养系统软件的设计与方法
实验工具:
1、STC-ISP V35下载软件; 2、Keil C51
实验地点:物理楼405机房
同学们在学完成有关内容后,在课程提供的项目中,根 据设计要求进行设计与制作,真正地掌握电子系统的设计 与实现方法。课题设计以1人为一组,同学们一定要以该 平台为基础,提高自行学习的能力和水平,完成系统的设 计任务,以培养学生的独立研发能力。在设计过程中同学 们可以自主设计、积极创新,以锻炼创新思维。 (1)系统结构设计:将系统划分为多个功能模块,选择 系统实现的技术方案并进行论证。 (2)电路设计:根据选定的技术方案,运用相关平台 进行各功能模块的电路设计,并作仿真分析。 (3)软件设计:运用相关开发语言进行数字系统设计; 在单片机或嵌入式处理器上进行程序设计实现系统功能。 (4)系统调试与测试:系统各部分电路与软件进行联 调,实现系统功能与指标。 4
1、DS18B20:
初始化操作: void init_DS18B20(void) { unsigned char x=0; DQ = 1; //DQ复位 nop(8); //稍做延时 DQ = 0; //单片机将DQ拉低 nop(80); //精确延时 大于 480us DQ = 1; //拉高总线 nop(35); }
扩展设计要求:
系统设计方案介绍 一、总体设计框图
PCF8563 时钟模块 数码管显 示模块
STC89C52单 片机控制核 心
DS18B20 温度模块
串口通信
上位机软 件平台
二、相关模块介绍
1、STC89C52:系统控制核心,串口下载,片上资源丰富
2、PCF8563:工业级内含I2C 总线接口功能的具有极低功 耗的多功能时钟/日历芯片。 3、DS18B20:单总线数字温度传感器芯片,测温分辨率 0.5度
5、 带设计实物、论文及PPT参加第15周举办的答辩会
同学们答辩成绩细则:
同学们的成绩由二个部分组成,总分100分。 1、出席情况:10分 2、答辩情况: 设计论文报告(20分) 综合实验完成情况(50分)(编写代码技 术、代码的规范程度、具体功能实现) 回答问题(20分) 。
清楚需求后该从何做起?
三、主要研究工作
(1)硬件平台设计——参考现有的实验平台画出原理图或自 行按照现有的功能模块重新设计电路图;
(2)单片机应用程序编写与测试——先通过模块的实验然后 再由同学们自行进一步完善与扩充; (3)编写设计报告,完成作品论文
四、各阶段研究工作安排
(1)学习相关芯片的用法和单片机硬件设计平台: 学习单片机要重点掌握:定时器、中断、PWM、串口等常用 片内功能。 (2)编写单片机应用程序:时钟、温度、显示、串口通信等 等。 (3)递交作品并答辩汇报 注:递交的作品必须经过老师审核通过后方能参加答辩!
2、PCF8563:
void read_8563(void) { unsigned int s; for(s=0;s<7;s++) { start_8563(); write_byte_8563(0xa2); //写操作器件地址 write_byte_8563(s+0x02);//写入单元地址 start_8563(); write_byte_8563(0xa3); //读操作器件地址 switch ( s ) { case 0: sec = (read_byte_8563() ) & 0x7F;break;//获取秒数据 case 1: min = (read_byte_8563() ) & 0x7F;break;//获取分钟
பைடு நூலகம்
scl_8563 = 1; somenop; scl_8563 = 0; dat <<= 1; } sda_8563 = 1; 释放总线 scl_8563 = 1; 接收应答位 scl_8563 = 0; } //写完一个字节后 //加上第九个脉冲,
2、PCF8563:
读字节操作: uchar read_byte_8563(void) { uchar i; uchar a = 0; sda_8563 = 1; for(i=0;i<8;i++) { scl_8563 = 1; a <<= 1; //先进行 移位操作,以免最后一位不能读出 a |= sda_8563; scl_8563 = 0;
相关文档
最新文档