南邮通达单片机报告.docx
《南邮通达单片机报告.docx》由会员分享,可在线阅读,更多相关《南邮通达单片机报告.docx(9页珍藏版)》请在冰豆网上搜索。
南邮通达单片机报告
通达学院
2017/2018学年第一学期
单片机原理及应用
实验报告
专业电气工程及其自动化
学生班级
学生学号
学生姓名
指导教师
实验题目
4.系统中断实验
5.串行通信实验
6.综合性实验
实验设备及软件
1.LY-51S单片机实验箱一台
2.Keil系统软件一套
3.STC_IST软件一套
4.计算机一台
同组人员学号
及姓名
疑难问题
1.软件使用不熟练
2.实验步骤易漏易忘
3.程序易出错
实验四系统中断实验
1、实验目的
1.掌握单片机中断系统的结构
2.掌握单片机的5个中断源、中断过程及中断源编号
3.掌握中断服务函数的编写
2、实验设备
1.LY-51S单片机实验箱一台
2.Keil系统软件一套
3.STC_IST软件一套
4.计算机一台
三、实验原理
发光二极管LED(LightEmittingDiode)为一种能够发光的半导体组件,常被用来当作电源指示灯或状态指示器。
LED和二极管一样具有极性,当施以正向偏压时会发光,施以反向偏压时则不会发光;发光亮度与通过电流成正比。
一般LED的工作电流在15~20mA,若电流过大时会损坏LED,必须串连一个限流电阻。
四、实验步骤
先通过Keil软件对程序进行编写,用数据线把LY-51S试验箱和电脑连接起来;然后再通过对STC软件烧录,将Keil软件编译生成的目标代码烧录到单片机中,并运行程序。
5、实验程序
ORG0030H
ST:
CLRP3.3
MOVA,#0FEH
MOVR1,#08H
MOVR2,#08H
MOVR3,#08H
ST0:
MOVP0,A
RLA
ACALLDELAY
DJNZR1,ST0
MOVA,#0FEH
ST1:
MOVP1,A
RLA
ACALLDELAY
DJNZR2,ST1
MOVA,#0FEH
ST2:
MOVP2,A
RLA
ACALLDELAY
DJNZR3,ST2
SETBP3.3
SHT:
MOVA,#01H
MOVR1,#08H
MOVR2,#08H
MOVR3,#08H
SHT0:
MOVP0,A
RLA
ACALLDELAY
DJNZR1,SHT0
MOVA,#01H
SHT1:
MOVP1,A
RLA
ACALLDELAY
DJNZR2,SHT1
MOVA,#01H
SHT2:
MOVP2,A
RLA
ACALLDELAY
DJNZR3,SHT2
LJMPST
DELAY:
MOVR6,#90H
H1:
MOVR7,#0FFH
H2:
DJNZR7,H2
DJNZR6,H1
RET
END
实验五串行通信实验
一、实验目的
1.了解并进一步掌握单片机的软硬件结构;
2.掌握单片机开发环境keil软件的使用;
3.掌握STC烧录软件的使用方法;
4.了解51单片机定时器。
二、实验设备
1.LY-51S单片机实验箱一台;
2.Keil系统软件一套;
3.STC_IST软件一套;
4.计算机一台;
三、实验原理
计算机与其外部设备之间进行数据交换称为通信。
通信的基本方式可分为并行通信和串行通信两种。
并行通信中数据至少有8路,可以同时将一个字节的8位二进制代码发送到对方。
串行通信用两根传输线进行数据的传输,一次只能发送一位二进制。
串行通信技术根据传送的编码格式不同,可分为同步通信和异步通信两种方式。
同步方式:
数据以数据块为单位传送。
在开始传送前用同步字符来指示,并由时钟来实现发送端和接收端同步。
异步方式:
数据时不连续传送的。
以字符为单位进行传送。
被传送字节分为:
起始位、数据位、校验位和停止位,称为一帧。
四、实验步骤
先通过Keil软件对程序进行编写,用数据线把LY-51S试验箱和电脑连接起来;然后再通过对STC软件烧录,将Keil软件编译生成的目标代码烧录到单片机中,并运行程序。
五、实验程序
ORG0000H
AJMPMAIN
ORG0023H
AJMPRECEIVE;跳转到接收中断入口
ORG0030H
MAIN:
MOVTMOD,#20H;T1工作方式2
MOVTH1,#0FDH;波特率9600
MOVSCON,#50H;传口工作方式1,允许中断接受
SETBEA;打开总中断
SETBES;打开串口中断
SETBTR1;打开定时器1
AJMP$
RECEIVE:
CLRRI
MOVA,SBUF;串口接收数据
MOVR0,A
MOVSBUF,A;将接收的数据再传送给计算机
JNBTI,$
CLRTI
MOVA,R0;送LED显示
MOVP1,A
RETI
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共阳字码表
END
实验六综合性实验
1、实验目的
1.了解并进一步掌握单片机的软硬件结构;
2.掌握单片机开发环境keil软件的使用;
3.掌握STC烧录软件的使用方法;
2、实验设备
1.LY-51S单片机实验箱一台;
2.Keil系统软件一套;
3.STC_IST软件一套;
4.计算机一台;
3、实验步骤
先通过Keil软件对程序进行编写,用数据线把LY-51S试验箱和电脑连接起来;然后再通过对STC软件烧录,将Keil软件编译生成的目标代码烧录到单片机中,并运行程序。
4、实验程序
#include
#define uchar unsigned char
#define uint unsigned int
uchar LEDdata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar num[4];
long int sum;
//ADC0809引脚定义
sbit OE=P1^3;
sbit EOC=P1^0;
sbit ST=P1^1;
sbit CLK=P1^2;
sbit ADDA=P1^4;
sbit ADDB=P1^5;
sbit ADDC=P1^6;
sbit dian=P2^7;
sbit LED1=P3^5;
sbit LED2=P3^6;
sbit LED3=P3^7;
//延时
void delay(uint ms)
{
uchar i;
while(ms--)
for(i=0;i<120;i++);
}
//显示转换结果
void Display_Result()
{
P3=0xfe;//千位
P2=LEDdata[num[3]];
delay(5);
P3=0xfd;//百位
P2=LEDdata[num[2]];
delay(5);
dian=1;
delay(5);
P3=0xfb;//十位
P2=LEDdata[num[1]];
delay(5);
P3=0xf7;//个位
P2=LEDdata[num[0]];
delay(5);
}
// 主程序
void main()
{
/*EA=1;
TMOD=0x01;
TH0=(65536-150)/256;
TL0=(65536-150)%256;
ET0=1;
~ 1 / 2 ~
TR0=1;
ADDA=0;
ADDB=0;
ADDC=0;//选择ADC0809通道1(INT2)*/
while
(1)
{
ST=0;ST=1;ST=0;//启动转换
while(EOC==0); //等待转换结果
OE=1; //允许输出
sum=P0*1.0/255*2000;
num[0]=sum%10;
num[1]=sum/10%10;
num[2]=sum/100%10;
num[3]=sum/1000;
Display_Result();//显示A/D转换结果
OE=0;//关闭输出
}
}
//T0定时器中断给ADC0809提供时钟信号
/*void Timer0_INT() interrupt 1
{
TH0=(65536-150)/256;
TL0=(65536-150)%256;
CLK=~CLK;//ADC0809时钟信号
}*/