当前位置:文档之家› 实验五 单片机多点串行通信系统设计实验

实验五 单片机多点串行通信系统设计实验

实验五 单片机多点串行通信系统设计实验
实验五 单片机多点串行通信系统设计实验

实验五单片机多点串行通信系统设计实验

一、实验目的

1、了解单片机串口结构;

2、掌握单片机串口通信方法;

3、掌握单片机多机通信系统硬件设计与编程方法。

二、实验仪器和设备

PC系统机、Proteus软件、KeilC51软件。

三、实验要求和实验步骤

1、实验要求

利用单片机串口通信技术设计多机通信系统。系统包含一个主机和三个从机。三个从机能将温度传感器采集信息通过串口将信息传送给主机并显示。

要求给出电路原理图,编写程序,给出仿真结果。

2、实验步骤

(1)画出仿真电路图;

(2)根据控制要求,编写源程序;

程序清单:

1.主机的程序:

//********************************************

//包含文件,程序开始

//********************************************

#include

#include"LCD1602.h"

#define uchar unsigned char

#define uint unsigned int

uchar a,b,fh;

uint t,t1;

//显示数据数组

uchar displaytemp1[15]="WenDu A: ";//

uchar displaytemp2[8]="B: ";//

uchar displaytemp3[8]="C: ";//

//*********************************************

//延时函数

//*********************************************

void delays (unsigned int us)

{

while(us--);

}

//*********************************************

//********************************************

//显示内容处理函数

//********************************************

//A点温度显示

void DISPLAY1()

{

displaytemp1[8]= fh;

displaytemp1[9]= t/100+0x30;

displaytemp1[10]= (t%100)/10+0x30;

displaytemp1[11]= (t%100)%10+0x30;

displaytemp1[12]= 0xdf;

displaytemp1[13]= 0x43;

LCD_Write_String(0,0,displaytemp1); }

//B点温度显示

void DISPLAY2()

{

displaytemp2[2]= fh;

displaytemp2[3]= t/100+0x30;

displaytemp2[4]= (t%100)/10+0x30;

displaytemp2[5]= (t%100)%10+0x30;

displaytemp2[6]= 0xdf;

displaytemp2[7]= 0x43;

LCD_Write_String(0,1,displaytemp2); }

//C点温度显示

void DISPLAY3()

{

displaytemp3[2]= fh;

displaytemp3[3]= t/100+0x30;

displaytemp3[4]= (t%100)/10+0x30;

displaytemp3[5]= (t%100)%10+0x30;

displaytemp3[6]= 0xdf;

displaytemp3[7]= 0x43;

LCD_Write_String(8,1,displaytemp3);

}

//通信函数************************************* void tongxin()

{

while(TI==0); //如果TI=0,未发送完,循环等待TI=0;

while(RI==0); // 若RI为0,未接收到数据RI=0; // 接收到数据,则把RI清0 a=SBUF;

while(RI==0); // 若RI为0,未接收到数据RI=0; // 接收到数据,则把RI清0 b=SBUF;

t=b;

t<<=8;

t=t|a;

t1=t;

if(t1>0xf000)

{

fh='-';

t=~t;

t+=1;

}

else

{

fh='+';

}

t=t*0.0625;

}

//主函数

//******************************************* void main()

{

TMOD=0x20; //设置定时器T1为方式2

TH1=0xfd; //波特率9600

TL1=0xfd;

SCON=0x50; //串口初始化方式1发送,接收PCON=0x00; // SMOD=0

TR1=1; //启动T1

LCD_initial(); //初始化液晶

while(1)

{

SBUF=0x01; //1号机

tongxin();

DISPLAY1();

delays(50);

SBUF=0x02; //2号机

tongxin();

DISPLAY2();

delays(50);

SBUF=0x03; //3号机

tongxin();

DISPLAY3();

delays(50);

}

}

2.从机1的程序:

//******************************************** //包含文件,程序开始

//********************************************

#include

#include"ds1820.h"

#define uchar unsigned char

#define uint unsigned int

uchar a,b;

//*********************************************

//延时函数

//*********************************************

void delays (unsigned int us)

{

while(us--);

}

void retemp(void) //函数功能:读取温度

{

init_ds18b20();

writebyte(0xCC);

writebyte(0x44);

init_ds18b20();

writebyte(0xCC);

writebyte(0xBE);

a=readbyte();

b=readbyte();

}

//*******************************************

//******************************************* void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

SCON=0x50;

PCON=0x00;

TR1=1; //启动T1

while(1)

{

retemp();

while(RI==0);

RI=0;

if(SBUF==0x01)

{

SBUF=a;

while(TI==0);

TI=0;

delays(10);

SBUF=b;

while(TI==0);

TI=0;

}

delays(100);

}

}

3.从机2的程序:

//******************************************** //包含文件,程序开始

//********************************************

#include

#include"ds1820.h"

#define uchar unsigned char

#define uint unsigned int

uchar a,b;

//*********************************************

//延时函数

//*********************************************

void delays (unsigned int us)

{

while(us--);

}

void retemp(void) //函数功能:读取温度

{

init_ds18b20();

writebyte(0xCC);

writebyte(0x44);

init_ds18b20();

writebyte(0xCC);

writebyte(0xBE);

a=readbyte();

b=readbyte();

}

//*******************************************

//******************************************* void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

SCON=0x50;

PCON=0x00;

TR1=1; //启动T1

while(1)

{

retemp();

while(RI==0);

RI=0;

if(SBUF==0x02)

{

SBUF=a;

while(TI==0);

TI=0;

delays(10);

SBUF=b;

while(TI==0);

TI=0;

}

delays(100);

}

}

4.从机3的程序:

//********************************************

//包含文件,程序开始

//********************************************

#include

#include"ds1820.h"

#define uchar unsigned char

#define uint unsigned int

uchar a,b;

//********************************************* //延时函数

//********************************************* void delays (unsigned int us)

{

while(us--);

}

void retemp(void) //函数功能:读取温度{

init_ds18b20();

writebyte(0xCC);

writebyte(0x44);

init_ds18b20();

writebyte(0xCC);

writebyte(0xBE);

a=readbyte();

b=readbyte();

}

//******************************************* //******************************************* void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

SCON=0x50;

PCON=0x00;

TR1=1; //启动T1

while(1)

{

retemp();

while(RI==0);

RI=0;

if(SBUF==0x03)

{

SBUF=a;

while(TI==0);

TI=0;

delays(10);

SBUF=b;

while(TI==0);

TI=0;

}

delays(100);

}

}

(3)对源程序进行编译,生成*.hex程序。

(4)将*.hex载入单片机并运行,观察实验现象。

四、实验结果分析1,总体功能:

2,分别调节U1,U2,U3

通过以上实验过程和仿真实验结果可知,所设计的电路与编写的程序满足实验要求。

51单片机串口调试实验(C语言)

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 /****************************************************************************** * * 实验名: 串口实验 * 使用的IO : P2 * 实验效果: 将接收到发送回电脑上面。 * 注意: ******************************************************************************* / #include void UsartConfiguration(); /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main() { UsartConfiguration(); while(1) { } } /****************************************************************************** * * 函数名:UsartConfiguration() * 函数功能:设置串口 * 输入: 无 * 输出: 无 ******************************************************************************* / void UsartConfiguration() { SCON=0X50; //设置为工作方式1

单片机课程设计报告实验报告

课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月

摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01

目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)

实验五 数据库系统设计

实验五数据库系统设计(上机时间6课时) 班级:通信1411 学号:141003410114姓名:李楠 合作成员刘蕾 1.实验目的:理要求学生掌握数据库设计的基本技术。熟悉数据库设计的每个步骤中的任务和实施方法, 并加深对数据库系统概念和特点的理解。 2.实验内容: 学生可根据自己熟悉的信息自选一个小型的数据库应用项目,进行系统分析和数据库设计。例如选择选修课管理系统、学生住宿管理系统、图书管理系统、材料管理系统或仓库管理系统等。 3.实验要求: ●要求起草数据库设计的关键步骤内容,至少包括: ?需求分析:分析用户种类及各自的功能要求;涉及主要数据实体及内容。系统设计的任务及主 要目标等。 ?完成实体建模并画出E-R图 ?起草数据字典 ?描述将关系表规范化至第三范式3NF的过程 ?构建并描述实体与实体关系 ●查阅有关书籍,熟悉MS SQL Server 2005,运用Microsoft SQL Server Management Studio Express在 MS SQL Server 2005上创建数据库。 ●运用Microsoft SQL Server Management Studio Express在MS SQL Server 2005上创建数据库基本表, 得到SQL脚本源码。(可以编写SQL DDL语句脚本源码,然后执行脚本创建基本表;也可以在Studio 中可视化创建基本表然后导出SQL脚本)。SQL脚本源码以文件名EXP5-1.sql存储上传。 ●运用Microsoft SQL Server Management Studio Express在编写SQL脚本,实现需求分析中各种用户需 要的数据库记录添加、记录修改、记录查询功能并将SQL脚本源码以文件名EXP5-2.sql存储上传。 将相应操作结果以文件名EXP5-3.txt存储上传。 ●允许有2人以内的小组合作,组与组之间数据字典、表名、属性名完全雷同视同抄袭;同学之间实 验运行结果完全雷同视同抄袭。 4.实验报告内容: 1.需求分析过程 流程:学生到学生选课系统进行选修课程,查看选修课程的课程信息,选课的老师信息,以及所选的课程号。如果学生要选某个课程,则要查询这门课程的教学老师以及它是否已经被选满;如果学生要查询所选课程的选课成绩,则要查询这门的教学老师;如果学生需要重新选课,则要求先退选所选的课程。 功能:实现学生的选课,重新退订选课,查询课程成绩。 2.E-R图

电子系统设计 实验报告

本科生实验报告 实验课程电子系统设计 学院名称 专业名称测控技术与仪器 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇年月——二〇年月

实验一、运放应用电路设计 一、实验目的 (1)了解并运用NE555定时器或者其他电路,学会脉冲发生器的设计,认识了解各元器件的作用和用法。 (2)掌握运算放大器基本应用电路设计 二、实验要求 (1)使用555或其他电路设计一个脉冲发生器,并能满足以下要求:产生三角波V2,其峰峰值为4V,周期为0.5ms,允许T有±5%的误差。 V2/V +2 图1-1 三角波脉冲信号 (2)使用一片四运放芯片LM324设计所示电路,实现如下功能:设计加法器电路,实现V3=10V1+V2,V1是正弦波信号,峰峰值0.01v,频率10kHz。 V3 图1-2 加法电路原理

三、实验内容 1、555定时器的说明: NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率的脉波讯号。 a. NE555的特点有: 1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。 2.它的操作电源范围极大,可与TTL,CMOS等逻辑闸配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。 3.其输出端的供给电流大,可直接推动多种自动控制的负载。 4.它的计时精确度高、温度稳定度佳,且价格便宜。 b. NE555引脚位配置说明下: NE555接脚图: 图1-3 555定时器引脚图 Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 Pin 2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC,下缘须低于1/3 VCC 。

单片机课程设计51实验报告DOC

福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告

目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)

1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起

《数据库系统设计与开发》模拟实习教学大纲

《数据库系统设计与开发》 模拟实习教学大纲 (Database System Design and Development) 制定单位:工学院计算机科学与技术系 制定人:课程组 编写时间:2016年01月06日

第一部分课程概述 一、基本信息 (一)课程代码 课程代码:07110640 (二)课程属性、学分、学时 计算机专业的专业模拟实习、独立实验、2学分、40学时 (三)适用对象 本课程适用的对象为计算机科学与技术专业的本科生 (四)先修课程与知识准备 《C/C++程序设计》,《数据库原理》,《.Net编程》,《软件工程》 二、实验简介 《数据库系统设计与开发》模拟实习以数据库应用系统的设计与开发为主要目标,结合本专业的多门专业课程:《程序设计》、《数据结构》、《数据库原理》、《面向对象程序设计》、《.Net编程》、《软件工程》等开展专业模拟实习。《数据库系统设计与开发》模拟实习将针对一个现有的数据库应用领域,遵照《软件工程》课程中的生命周期法和软件开发规范进行系统分析与设计,按照《数据库原理》中的关系规范化理论进行数据库的模式设计,并结合《.Net编程》所学基于C#语言及.Net集成开发环境进行系统编码与调试,完成一个小型数据库应用系统的开发任务。最后,通过提交实习报告,提高学生科技论文的撰写能力。通过这一完整的实践教学过程,将进一步加强学生实践和动手能力的培养,真正理解和掌握数据库系统设计和开发的方法,提高学习效果,使学生可以学以致用,成为具有专业技能并有一定实际经验的人才。

三、实验项目 实验一:系统需求分析(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.理解需求分析在软件工程应用中的重要性 2.熟悉数据库建模的方法 3.掌握如何将客户的实际需求转化为描述性设计语言 (三)实习(实验)内容 为将要开发的系统作出一份明确、详细的需求分析报告。需求分析报告至少应该包含以下几部分: 1.系统的名称; 2.系统概述; 3.系统要实现哪些功能,每个功能的具体描述。 (四)实习(实验)地点 竞秀楼或竞慧楼机房 实验二:系统设计(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.掌握SQL Server数据库管理软件的使用,学习CASE工具(Visio或SA2001)的使用,用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统2.掌握系统设计的基本方法,提高解决实际问题、开发信息系统的实践能力 (三)实习(实验)内容 用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统。 1.根据实验时间选择适当规模大小的设计课题 2.根据合理的进度安排,按照软件工程系统开发的流程及方法,进行实验 3.实验过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后要

单片机串行通信实验

单片机实验报告 实验名称:串行通信实验 姓名:高知明 学号:110404320 班级:通信3 实验时间:2014-6-11 南京理工大学紫金学院电光系

一、实验目的(四号+黑体) 1、理解单片机串行口的工作原理; 2、学习使用单片机的TXD\RXD口; 3、了解MAX232芯片的作用; 二、实验原理 MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以发送、接收数据。他有两个相互独立的接收、发送缓冲器,这两个缓冲器同名(SBUF),共用一个地址号(99H)。发送缓冲器只能写入,不能读出,接受缓冲器只能读出,不能写入。要发送的字节数据直接写入发送缓冲器。SBUF=a;当UART接收到数据后,CPU从接收缓冲器中读取数据,a=SBUF;串行口内部有两个移位寄存器,一个用于串行发送,一个用于串行接收。定时器T1作为波特率发生器,波特率发生器的溢出信号昨接受或发送移位寄存器的位移时钟。TI与RI分别为发送完数据的中断标志,用来想CPU发中断请求。 三、实验内容 1、发送信号 1)C51程序: #include void main(void) { SCON=0X40; //设置串口为接受,REN=0 PCON=0; //波特率不倍频 REN=1; TMOD=0X20; //启动定时器1的方式2 TH1=0XFD; TL1=0XFD; //初值:0XFD TR1=1; //启动定时器1 while(1) {SBUF='U'; while(!TI); TI=0; //发送中断清0 }} 2)硬件图:

2、接受装置: 1)C51程序: #include char s[32]; void main(void) { char a,b=0; SCON=0X40; //设置串口为接受,REN=0 PCON=0; //波特率不倍频 REN=1; TMOD=0X20; //启动定时器1的方式2 TH1=0XFD; TL1=0XFD; //初值:0XFD TR1=1; //启动定时器1 a=32; for(;b

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

电子系统设计专题实验

电子系统设计专题实验报告 ——AVR 单片机基础实验 学 院: 电信学院 班 级: 计算机14 学 号: 2110505092 姓 名: 刘鑫

一、实验目的和要求 本实验课程的主要目的是通过一个新型嵌入式单片机为核心的应用系统设计,掌握微型计算机硬件系统结构基本原理,软件开发编程方法,外围接口电路的组成和应用编程技术,以及电子系统设计的相关技术。通过课程实践训练,能够独立实现一个完整的计算机应用系统设计。 要求基本实验部分学习单片机系统的基本硬件组成原理和软件程序设计方法;综合设计实验要求根据题目需求自行设计系统硬件组成电路,并设计实现完成相应功能的应用程序调试任务。 二、实验设备及开发环境 以AVR ATmega128单片机为核心的实验开发系统。实验开发板采用技术性能优良的AVR ATmega128单片机作为核心器件,还特别设计了USB接口模块、Ethernet网络接口模块,还有MCU对外扩插槽,可为电路扩展模块提供必要的准备。 AVR单片机实验开发系统实验测试环境: 1.软件开发平台: PC机WindowsXP操作系统; AVR Studio 4.16 集成开发软件; WinAVR 20080610 C语言编译器; 2.下载编程工具: JTAG ICE mkII在线仿真器; 3.测试目标板: ATmega128实验开发板; 4.测试程序:用C语言编写电路功能测试程序,在WinAVR(GCC)+ AVR Studio编译下通过。 三、实验设计题目及实现的功能 实验一:单片机实验系统开发环境学习 1. 熟悉实验电路的结构原理、元器件名称、作用及相应的接口连接; 2. 学会使用C编译器编辑、编译、调试简单C源程序; 3. 学会使用AVR Studio集成开发软件下载调试并得到正确结果; 4. 熟悉蜂鸣器电路的编程原理 实验程序源代码: #include // I/O端口寄存器配置文件,必须包含 #include // 延时函数调用文件 int main(void) // GCC中main文件必须为返回整形值的函数,没有 // 参数 { PORTE = 0X80; // PORTE输出高电平,使蜂鸣器不响 DDRE = 0X08; // 配置端口PE3为输出口 while(1) { PORTE &= ~(1 << PE3); //PE3置“0”,但是这种设置方法不改变PE口其余位 //的状态,平时程序中推荐这种使用方法 _delay_ms(100); // 延时100毫秒 _delay_ms(100); _delay_ms(100);

串行口通信实验 单片机实验报告

实验六串行口通信实验 一、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 二、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 三、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。 为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。 单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。 单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。 四、实验电路 [参考学习板说明书P27]

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于51单片机的双机串行通信

河南机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级:xxxxxx 学号:13xxxxxxxxx 姓名:xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计

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

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

030741001《电子系统设计》课程教学大纲2010计划

《电子系统设计》课程教学大纲 课程代码:030741001 课程英文名称:Electronic system design 课程总学时:48 讲课:32 实验:16 上机:0 适用专业:电子信息科学与技术专业 大纲编写(修订)时间:2011.5 一、大纲使用说明 (一)课程的地位及教学目标 电子系统设计是电子信息科学与技术专业本科生的必修专业课之一,通过课程了解并掌握电子系统的基本构成、电子设计单元电路,特别是掌握基于单片机、CPLD、FPGA的设计方法,提高学生的综合素质,培养创新精神。 通过本课程的学习,学生将达到以下要求: 1.掌握电子系统方案设计的基本原理和方法,应用方案比较,方案论证,工作原理考核,测试方案论证,测试仪器选择,数据分析,系统总结等方法进行系统整体方案设计; 2.具有设计单元电路的能力; 3. 具有运用相关电子设计工具软件的应用能力,能使用相应软件进行实例设计; 4.具有基于硬件平台进行电子系统综合调试的能力,能够实现某些基本功能; 5.了解电子系统的最新技术和发展方向。 (二)知识、能力及技能方面的基本要求 1.基本知识:掌握电子系统设计的基本思想、原理、方法。 2.基本理论和方法:掌握包括电源设计、键盘输入、显示输出等基本电路,掌握应用单片机、CPLD、FPGA进行系统设计的基本原理和方法。 3.基本技能: 能够应用单片机、CPLD、FPGA为核心芯片进行简单系统的设计。 (三)实施说明 1.教学方法:课堂讲授中要重点对基本概念、基本方法的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;讲课要联系实际并注重培养学生的创新能力,重点应放在提高工程应用的训练上。 2.教学手段:本课程属于应用技术类的专业课,教学内容中设计大量的电路设计和程序设计。在教学中应结合实际,如真实的电子器件、开发板等实物进行讲解以增加学生的感性认识,对程序设计调试等内容采用多媒体教学,以确保在有限的学时内,全面、高质量地完成课程教学任务。 (四)对先修课的要求 本课程的教学必须在完成先修课程之后进行。本课程主要的先修课程有模拟电子技术A、数字电子技术A、单片机、数字系统与VHDL。本课程将为毕业设计的学习打下良好基础。 (五)对习题课、实践环节的要求 1.对重点、难点章节应安课堂演示,结合开发板等进行现场调试等,例题的选择以培养学生消化和巩固所学知识,用以解决实际问题为目的。 2.课后作业要少而精,内容以查资料、进行实际电路设计为主,并针对学生的典型设计进行课堂讲解和讨论,分析不同设计的差别和优缺点,对设计方法要鼓励多样化。学生必须独立、按时完成课外习题和作业,作业的完成情况应作为评定课程成绩的一部分。

单片机串口通讯实验报告

实验十单片机串行口与PC机通讯实验报告 ㈠实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制; 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议; 3.了解PC机通讯的基本要求。 ㈡实验器材 1.G6W仿真器一台 2.MCS—51实验板一台 3.PC机一台 ㈢实验内容及要求 利用8051单片机串行口,实现与PC机通讯。 本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC 机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。 ㈣实验步骤 1.编写单片机发送和接收程序,并进行汇编调试。 2.运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定 为1200。 3.运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符), 检查PC机所接收的字符是否与发送的字符相同。 4.将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检 查实验板LED数码管所显示的字符是否与PC机发送的字符相同。

㈤ 实验框图

源程序代码: ORG 0000H AJMP START ORG 0023H AJMP SERVE ORG 0050H START: MOV 41H,#0H ;对几个存放地址进行初始化 MOV 42H,#0H MOV 43H,#0H MOV 44H,#0H MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示 MOV TMOD,#20H ;设置为定时器0,模式选用2 MOV TL1, #0E6H ;设置1200的波特率 MOV TH1, #0E6H SETB TR1 ;开定时器 MOV SCON,#50H ;选用方式1,允许接收控制 SETB ES SETB EA ;开中断 LOOP: ACALL SOUT ;键盘扫描并发送,等待中断 SJMP LOOP SERVE JNB RI,SEND ;判断是发送中断还是接收中断,若为发送中 断则调用 ACALL S IN ;发送子程序,否则调用接收子程序 RETI SEND: CLR TI ;发送子程序 RETI SIN: CLR RI ;接受子程序 MOV SCON, #00H MOV A, SBUF ;接收数据 LCALL XS ;调用显示子程序 RETI 子程序: SOUT: CLR TI ;清发送中断标志位 LCALL KEY ;调用判断按键是否按下子程序 MOV A,R0 ;将按键对应的数字存入A MOV SBUF,A ;输出按键数字给锁存 RET KEY: MOV P1,#0FFH ;将P1设置为输入口 MOV A, P1 CPL A ;将A内值取反

单片机课设实验报告

电气工程学院 单片机课程设计 实验报告 班级:电142 姓名: 学号:1412021061 设计题目:实时时钟系统设计 设计时间:2017.01.09~01.13 评定成绩: 评定教师:

摘要 人类为了观测时间,从远古的观太阳、革命时期的摆钟到现在电子钟,不断的在研究、创新纪录;随着科技、社会的快速发展,时间的流逝。美国DALLA S公司推出的具有涓细电流充电能的低功耗实时时钟芯片DS1302。电子万年历诞生了,它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。低压工作,电压可选用3~5V电压供电。 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行;万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:时钟芯片DS1302,LCD液晶显示,单片机T89C52

目录 摘要 (2) 一、调试过程 (4) 二、运行效果 (6) 三、系统优化 (10) 四、设计总结 (11) 附录 (12)

一、调试过程 1、DS1302实时时钟部分进行调试,程序编完之后,点击编译,对程序进行编译,编译后,发现程序中出现了错误,无法编译通过,查看错误步骤,进行调试,发现是程序的格式错误,调节代码的格式通过编译,编译通过之后,进行软件的仿真实验,看看DS1302是否会生成实时时钟,将编译生成的hex文件导入AT89C51芯片中,之后进行运行,发现DS1302生成了实时时钟,证明这一部分编译成功。 2、LCD的显示部分进行调试,先对产生年月日时分秒之间的连接符进行显示,编译之前先选择自动生成hex文件,让后进行编译,编译完成后调节格式上的错误,直到编译通过后,进行软件上的仿真,仿真时发现,LCD显示上出现了错位现象,让后调节源程序,调节LCD的显示行列位置之后在进行重新编译,在软件上进行仿真,出现了想要的结果;连接符编译成功后,将时钟时间显示在LCD相应的位置上,时钟显示程序,在连接符显示程序基础上进行编译,不停地循环检测60H-66H单元的内容,将这些单元的内容送入到LCD上显示,编译通过之后,发现LCD的时钟显示不正确,通过连调,发现检测60-66单元内容时出错了,重新调节程序,进行编译,成功的出现了时钟的显示。 3、添加开关程序,开关程序添加完成后,编译成功,在软件上进行仿真时发现开关不起作用,按下开关DS1302的时钟继续运行,调节时钟数据,不起作用,通过连调发现,没有对60-66单元的收据进行保护,因此,将开关拨到设置模式时,DS1302时钟并未停止,继续进行计数,所以,将60-66单元送入20-26单元进行保护,当进入设置模式时,将数据进行保护,最后如果没有确认,则将20-26数据送出,如果改变了,则将60-66直接输出,将程序更改完成后,再次仿真达到了预期的效果,可以对时钟进行调节,可以暂停,重新调节时间。 仿真和实际硬件的实验还是有着不小的区别,在软件上进行仿真,所有的端口是自己连接的,因此可以选择不同的端口使用,而在硬件实验中,硬件实验上的一些连线已经自己确定了,必须采用该端口,因此在硬件调试时,需要改变端口的地址以用来符合硬件实验的标准,其次在软件仿真上没有出现问题,在硬件实验时可能有问题,在利用软件仿真时,LCD清屏不清屏,对于实验显示来说没有产生什么影响,然而转入硬件实验室,如果不进行LCD的清屏程序,那么由于

相关主题
文本预览
相关文档 最新文档