单片机原理及应用实验指导书合集包括了多个课程设计实验报告:
实验一 单片机控制发光管
实验二 单片机中断
实验三 数码管动态显示
实验四 单片机定时/计数器
实验五 矩阵键盘实验
实验六 串口通讯原理及操作
switch/case 多分支选择语句
for 循环语句
while 循环语句
do-while 循环语句
与标准C语言基本相同。
4、C-51中数据类型扩充定义
sfr:特殊功能寄存器声明
sfr16:sfr的16位数据声明
sbit:特殊功能位声明
bit:位变量声明
例:sfr SCON = 0X98; sfr16 T1 = 0xFF; sbit CY = PSW^7;
二、单片机开发环境
目前单片机开发应用平台常用的有Keil和Wave(伟福)。它们集编辑、编译、仿真于一体,支持汇编和C语言的程序设计,界面友好,易学易用。它们的工作界面如图2-1和图2-2所示。
单片机课程实验一 单片机控制发光管
一、实验目的
1、熟悉集成开发环境;
2、学习单片机I/O口的控制方法;
3、学习C51语句的编写方法。
二、实验说明
单片机I/O口的使用
对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。
三、实验步骤
1、通过串口线连接电脑与实验箱;
2、打开集成开发系统,首先建立本实验的项目文件,输入编写的程序,进行编译检查有无语法错误,在没有错误情况下生成.HEX文件;
3、在XLISP软件环境中,把生成的.HEX下载到单片机中,运行程序观察二极管显示情况是否与设计目标一致。如有出入,修改源程序重新生成.HEX文件,再次下载运行直到达到设计要求。
四、参考实例
1、电亮一个发光管。
参考程序1:
#include《reg51.h》
void main()
{
P1=0xfe;
}
参考程序2:
#include《reg51.h》
sbit D2=P1^2;
void main()
{
D2=0;
}
2、发光管闪烁
参考程序1
#include《reg51.h》
sbit d1=P1^0;
unsigned int a;
void main()
{
while(1)
{
a=50000;
d1=0;
while(a--);
a=50000;
d1=1;
while(a--);
d1=0;
}
}
参考程序2
#include《reg51.h》
sbit d1=P1^0;
void delay();
void main()
{
while(1)
{
d1=0;
delay();
d1=1;
delay();
d1=0;
}
}
void delay()
{
int x,y;
for(x=100;x》0;x--)
for(y=600;y》0;y--);
}
五、实验内容
在单片机集成开发环境下编写程序实现下列题目要求:
1、能够熟练建立项目;
2、电亮第一个和最后一个发光管;
3、电亮1、3、5、7发光管;
4、让L0、L2、L4、L6和L1、L3、L5、L7发光管交替闪烁;
5、设计流水灯程序(提示:左移函数_crol_(a,b),该移位函数在头文件intrins.h中声明)。
六、实验报告要求
1、简述实验目的、原理。
2、列写实验内容4、5的程序在报告上。
3、简述在实验过程中出现的问题及如何解决的。