汇编语言与接口技术实验
- 格式:docx
- 大小:283.60 KB
- 文档页数:4
山东建筑大学计算机学院实验报告
班级:计科143 姓名:张磊学号:20141111095实验成绩:
课程:汇编语言与接口技术同组者:肖洋,马畅实验日期:
第1页 /共4页
实验五 串行通信实验
一、实验目的
1. 理解串行通信的概念
2. 掌握51单片机串行接口及控制
3. 掌握51单片机串行通信工作方式
4. 掌握51单片机串行通信编程
二、实验原理
为便于串口通信调试,stc-isp-15xx-v6.66软件打开口,选择“串口助手”
选项卡,可以得到图5.1所示串口调试窗口,首选选择与单片机连接的串口,再
设定二者之间的波特率、校验位及奇偶校验等信息,注意一定要保证两端相同,
否则会出错。在发送缓冲区输入数据,点击发送数据,即可向单片机发送数据。
在接收缓冲区,可以查看单片机发送来的信息。
三、实验内容
PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进
行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中
山东建筑大学计算机学院实验报告
班级:计科143 姓名:张磊学号:20141111095实验成绩:
课程:汇编语言与接口技术同组者:肖洋,马畅实验日期:
第2页 /共4页
断方式处理,而单片机回发给PC机时用查询方式。
1)分析本实验控制原理,画出程序流程图。
2)根据实验要求,编写系统程序,并在实验板上进行调试;
源代码
//原创 计科143张磊 20141111095
#include "STC/STC15F2K60S2.H" //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
sbit bell = P4^5;
sbitwela=P2^7;//数码管段选锁存器端
sbitdula=P2^6;//数码管位选锁存器端
sbitledle = P2^5;//led使能端
uchar code table[]={ //0-15段码
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
//0x77,0x7c,
//0x39,0x5e,0x79,0x71};
ucharflag,gao,di;
uint a;
void display(uintgao,uint di);//数码管显示函数
void delay(uchar z);//毫秒级延时函数
void main(void)
{
AUXR=0X00;//重要
TMOD=0x20; //定时器1工作于方式2,自动重装
SCON=0x40; //串口工作方式1,允许接收(REN = 1)
PCON=0x00; //波特率9600
TH1=0xfd; //根据规定给定时器赋初值
TL1=0xfd;
TR1=1; //打开定时器1
EA = 1;//打开总中断
ES = 1;//打开串口中断
REN = 1;
while(1)
{
gao = a / 10;
山东建筑大学计算机学院实验报告
班级:计科143 姓名:张磊学号:20141111095实验成绩:
课程:汇编语言与接口技术同组者:肖洋,马畅实验日期:
第3页 /共4页
di = a % 10;
display(gao,di);
if(flag == 1)
{
flag = 0;
ES = 0;
SBUF = a;
while(TI == 0);
TI = 0;
ES = 1;
}
}
}
void serial() interrupt 4//串口中断服务子程序
{
while(RI == 0);//等待接收完成,RI变为1
RI = 0;//将RI置为0,等待接收下一帧数据
a = SBUF;//接收到的数据存入a
flag = 1;
}
void display(uintgao,uint di)//数码管显示函数
{
P0 = 0xff;
ledle = 1;
ledle = 0;
wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=table[gao];
dula=0;
delay(20);
wela=1;
P0=0xfd;
wela=0;
P0=0xff;
dula=1;
P0=table[di];
山东建筑大学计算机学院实验报告
班级:计科143 姓名:张磊学号:20141111095实验成绩:
课程:汇编语言与接口技术同组者:肖洋,马畅实验日期:
第4页 /共4页
dula=0;
delay(20);
}
void delay(uchar z)//延时毫秒级函数
{
ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
四、实验结论
通过本次实验理解了串行通信的概念,并且掌握了51单片机串行接口及控
制,如何去控制51单片机串行通信工作方式,通过编程加深了印象,收获颇深。