1、 单片机课程设计报告书单片机课程设计报告书 题目:双机通信题目:双机通信 院 系名称院 系名称 自动化学院自动化学院 学 生姓名学 生姓名 专 业名称专 业名称 测控技术与仪器测控技术与仪器 班班 级级 测控测控 08010801 时间时间 20112011 年年 5 5 月月 2323 日至日至 6 6 月月 3 3 日日 双机通信 一、设计目的 利用所学单片机知识解决实际问题。 二、设计要求 1.用两片单片机,实现双机通信; 2.用与 A 机连接的按键控制与 B 机连接的 LED,每按一次键,LED 以 1 秒的频率闪烁 5 次; 3.同理,用与 B 机连接的按键控制与 A 机连接的 LE
2、D。 三、设计器材 器件名称 个数 STC8952RC 2 晶振 2 电容(30PF) 6 LED 2 电阻(1K) 4 开关 2 数码管 2 表 3-1 实验所需器材清单表 四、设计方案及分析(包含设计电路图) 4.1 基本功能采集 实现参数,通信,基本显示形式 4.2 扩展功能 在实现基本部分基础上, 扩展 8 路开关信号输入和 8 位开关量输 出带指示灯显示,输出量由后端计算机给定。前端参数采集计算机参 数显示为数码管显示。 4.3 系统硬件结构图 STC 89C52RC STC 89C52RC 按键 数码管 显示 LED显示LED显示 按键 数码管 显示 串口通信 图 4-1 硬件原理
3、图 4.4 硬件仿真图 图 4-2 硬件仿真图 4.5 系统软件流程图及程序代码 下图为本次实验软件流程图 串口初始化 串口是否 收到数据 进入串口中 断子程序 初始化时钟 定时器中 断产生 LED闪烁 数码管显示 初始化串口 关定时器 是 是 否 否 程序代码如下: #include #define uint unsigned int #define uchar unsigned char sbit led = P10; /位定义 sbit key = P11; /位定义 uint a=0,flag1=0,flag2=0,flag3=0; uchar code table=0xc0,0xf9
4、,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90; /共阳极编码 /*延时函数 */ /*有形参,无返回值*/ void delay(int z) /延时约一毫秒 uint x,y; for(x=z;x0;x-) /循环相减延时 for(y=110;y0;y-); /*初始化函时钟数 */ /* 无形参,无返回值*/ void Init_time() led=1; /LED 灭 TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; /装初值,20MS 中断一次 EA=1; /开总中断 ET0=1; TR0=1; /