单片机原理及接口技术
实验指导书
周云龙 编写
盐城工学院电气工程学院
二○一五年四月
实验一 KEIL集成开发环境应用实验
一、实验目的
1.掌握C51开发环境keil软件项目创建方法
2、汇编程序编写
2.C51程序编写
3、主函数、自定义函数和中断函数编写
二、实验备件
PC和单片机IDE集成开发软件
三、实验要求
1、建立一个汇编程序工程
2、汇编工程调试
3、建立一个C语言程序工程
4、C语言工程调试
实验二 Proteus单片机系统仿真实验
一、实验目的
1.掌握Proteus 界面功能
2、原理图绘制方法
2.住址仿真调试
3、Proteus与Keil联调
二、实验备件
PC、单片机IDE集成开发软件和Proteus仿真软件
三、实验步骤
1、学习Proteus软件
2、绘制教材中第150页上图5-7
3、Keil与Proteus联调
实验三 单片机最小系统的熟悉
一、实验目的
在进行其他硬件实验之前,先熟悉实验装置的核心模块——单片机最小系统模块。掌握该实验模块的电路原理和接口的使用方法。
1.掌握单片机振荡器时钟电路及CPU工作时序;掌握复位状态及复位电路设计;掌握单片机各引脚功能及通用I/O口的使用;掌握单片机基本指令的使用。
2.掌握uVision3 IDE集成开发环境,Proteus仿真软件和STC单片机下载软件ISP的使用。
3.将仿真现象和实验结果进行对比,体会仿真软件的用处。
二、实验设备
1.51仿真器或者串口线
2.单片机系统板
三、实验要求
1.连接实验电路,编写简易单片机汇编程序达到下述工作要求: P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出,编写程序使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。
2.将编写的程序经过编译后在uVision3 IDE软件中生成*.hex机器语言,通过ISP将*.hex下载到单片机芯片中,观察实验现象。
3. 用Proteus仿真软件画出实验电路图,将在uVision3 IDE软件中生成*.hex下载到Proteus仿真电路图中的单片机芯片中,观察实验现象,比较该现象和在实验台上的现象是否相同。
四、实验原理图和程序框图
实验原理图和程序框图如图2-1-1和图2-1-2所示。
说明
1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ~40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。
2、延时子程序的延时计算。
void time(void)
{ unsigned int i;
for (i=0;i<0xFFF;i++);}
五、实验步骤
图2-1-1 单片机I/O口应用一 图2-1-2 实验程序框图
1、系统板上P3.3用插针连至脉冲, P1.0~P1.7(JU2)用8芯线连至
JL(L0~L7)。要求脉冲每按一次,L0~L7发光二极管按16进制方式加一点亮。
说明:脉冲每按一次按钮,输出一个负脉冲,而L0~L7为带驱动的8路LED发光管,高电平亮,低电平灭。L0~L7为引出插孔,JL为引出插座。
2、实验示例程序:
程序实例如下:
#include
#define uchar unsigned char
#define uint unsigned int
sbit k1 = P3^3;
void delay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
if(k1==0)
{
delay(10); //去抖延时
if(k1==0) P2=P2+1;
while(k1==0);
}
}
}
3、在uVision3 IDE集成开发环境中编写单片机程序,进行程序编译,排除所有的错误,直到编译完全成功。
4、经过编译后通过ISP将*.hex下载到STC单片机芯片中,观察实验现象。
5、将在uVision3 IDE软件中生成*.hex下载到Proteus仿真电路图中的单片机芯片中,观察实验现象,实验仿真电路如图2-1-3所示。
选取的元器件:
(1)单片机:AT89C51
(2)电阻:RES
(3)开关:BUTTON
(4)瓷片电容:CAP
(5)电解电容:CAP-ELEC
(6)黄色发光二极管:LED-YE