2016单片机实验指导书(vision1)

2016单片机实验指导书(vision1)
2016单片机实验指导书(vision1)

青岛理工大学(临沂)

实验一认知实验

实验目的

1、认识并了解IAP15W4K58S4实验箱;

2、了解及学会使用keil4软件;

3、学会使用STC程序烧录软件。

实验内容

1、根据给出的实验箱参考注释图,了解实验箱的大体构造以及实验箱拥有

的功能

2、自主安装keil4软件,并且能够使用keil4对单片机进行编程;

3、应用STC烧录软件对写好的程序进行烧录;

实验器材

STC实验箱一个、下载线一条、电脑一台;

实验箱具体内容介绍

实验箱外观图

从此处

打开 !

打开方式:双手捏住如上图红圈所示的实验箱的把手处,双手分别向两边用

力即可打开实验箱。 实验板布局图、

Micro-USB 接口

串口2 测试接口 串口1 测试接口 串口1与串口2 相互通讯开关 红外发送 测试

红外接收 测试

8位数码管 测试 掉电检测测试 (调节电压)

USB 接口

主控芯片电源开关 下载测试代码时,先点下载软件中的下载按钮,再按下此电源键,松开后即可进行程序下载 (按下给目标芯片断电,松开后重新上电)

LCD 亮度调节电阻 LCD12864 接口 INT0测试接口 可进行掉电唤醒测试

INT1测试接口 可进行掉电唤醒测试

行列式矩阵扫描

按键测试

ADC 分压检测 按键测试

自定义实验 万能板

仿真主控芯片

SP3232电平转

换芯片 USB 转串口 芯片CH340

RTC 测试芯片 PCF8563

外部扩展RAM

测试接口

ADC 通过热敏电阻测温 内部PWM 做 DAC 并由自带的ADC 来纠正误差 外部2.5V 参考源TL431/CD431

在此,需要对“主控芯片电源开关”进行说明

此按钮的原理是按住此开关时主控芯片将会处于停电状态,放开此开关时主控芯片会被重新上电而进行上电复位。而对于 STC 的单片机,要想进行 ISP 下载,则必须是在上电复位时接收到串口命令才会开始执行 ISP 程序,所以下载程序到实验箱 4 的正确步骤为:

1 、使用 USB 线将实验箱 4 与电脑进行连接

2 、打开 STC 的 的 ISP 下载软件

3 、选择单片机型号为“IAP15W4K58S

4 ” 4 、选择实验箱 4 所对应的串口

5 、打开目标文件(HEX 格式或者 BIN 格式)

6 、点击 ISP 下载软件中的“下载/ 编程”按钮

7 、按下实验箱 4 上的“主控芯片的电源开关”,然后松开即可开始下载

keil 软件介绍

1、新建Keil 项目

1.1、首先打开 Keil 软件,并打开“Project ”菜单中的“New uVersion Project …”项)

1.2、在下面的对话框中输入新建的项目名称,然后保存 1.3、接下来需要在对话框内选择芯片型号

1.4、型号确定后,Keil 会弹出下面的对话框,问是否需要将启动代码文件添

加到项目中。一般建议选择“是”(也可选择“否”)

1.5、至此,基本的项目文件已基本建立。接下来需要新建源代码文件,打开“File”菜单中的“New …”项

1.6、在新建的文件中输入相应的源代码,然后选择“File”菜单中的“Save”项对文件进行保存

1.7、文件保存完成后需要使用下面的操作将源代码文件添加到项目中来,具体的操作方法是:使用鼠标右键单击“Project”列表中的“Source Group 1”项,在出现的右键菜单中选择“Add Files to Group ‘Source Group 1’”项目

1.8、在对话框中选择我们刚才保存的文件,并点击“Add”按钮即可将文件添加到项目中,完成后按下“Close”按钮关闭对话框

1.9、按下快捷键“Alt+F7”或者选择菜单“Project”中的“Option for Target ‘Target1’”在“Output”属性页中,将“Create HEX FIle”选项打上勾,即可在项目编译完成后自动生成HEX 格式的目标文件,按“OK”保存。

1.10、按下快捷键“F7”或者选择菜单“Project”中的“Build Target”项对当前项目进行编译

1.11、若代码中没有错误,编译完成后则会在“Build Output”的信息输出框中显示“0 Error(s), 0 Warning(s)”,同时也会生成HEX 的执行文件。到此创建项目完成。

下载用户程序到STC 实验箱 4

1、首先使用USB 线将STC 实验箱4 与电脑正确连接,然后打开STC 的ISP 下载软件(例如:“STC-ISP (Ver6.83)”)

2、单片机型号必须选择“IAP15W4K58S4”(因为实验箱4 中的主控芯片都是IAP15W4K58S4)

3、串口口必须选择实验箱4 所对应的串口号(当实验箱4 与电脑正确连接后,软件会自动扫描并识别名称为“USB-SERIAL CH340 (COMx)”串口,具体的COM 编号会因电脑不同而不同)。当有多个CH340 类型的USB 转串口线与电脑相连时,则必须手动选择。

4、点击界面中的“打开程序文件”按钮,在出现的打开程序代码文件的对话框中选择需要下载的文件,文件正确打开后,点击界面中的“下载/编程”按钮开始下载代码

5、接下来需要按下实验箱4 上的“主控芯片电源开关”,然后松开即可开始下载

青岛理工大学(临沂)

实验二LED流水灯

实验目的

进一步熟悉keil编程软件、ISP下载软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握IAR 15中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

实验内容

运用keil4编程软件编辑led流水灯程序,并且生成.hex 文件,并且将生成的文件通过ISP 程序烧录软件烧录到单片机中,程序使用P4.7 P4.6 P1.6 P1.7 来演示跑马灯,输出低电平驱动。

实验器材

STC实验箱一个、下载线一条、电脑一台;

开发板部分线路图

实验原理及介绍

LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;

如果要让接在P1.7的LED7亮起来,那么只需要将P1.7的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED7就会熄灭。

开发板中P1.6连接LED7; P1.7连接LED8; P4.7连接LED9; P4.6连接LED10。LED7/LED8/LED9/LED10依次亮灭,就可实现LED流水灯的显示。

程序框图

开始

端口初始化

LED顺序点亮

结束

实验步骤

1.编写流水灯程序,并且生成‘’.hex’’文件

2.通过ISP 程序烧录软件将生成的‘’.hex’’文件烧录到单片机中

3.换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用

流水灯程序清单

#define MAIN_Fosc 22118400L //定义主时钟

#include "STC15Fxxxx.H"

void delay();

/******************** 主函数**************************/ void main(void)

{

P0M1 = 0; P0M0 = 0; //设置为准双向口

P1M1 = 0; P1M0 = 0; //设置为准双向口

P2M1 = 0; P2M0 = 0; //设置为准双向口

P3M1 = 0; P3M0 = 0; //设置为准双向口

P4M1 = 0; P4M0 = 0; //设置为准双向口

P5M1 = 0; P5M0 = 0; //设置为准双向口

P6M1 = 0; P6M0 = 0; //设置为准双向口

P7M1 = 0; P7M0 = 0; //设置为准双向口

while(1)

{

P17 = 0;

delay();

P17 = 1;

P16 = 0;

delay();

P16 = 1;

P47 = 0;

delay();

P47 = 1;

P46 = 0;

delay();

P46 = 1;

}

}

//========================================================== // 函数: void delay ()

// 描述: 延时函数

//========================================================== void delay()

{

unsigned int i;

for(i=0;i<65530;i++);

}

实验三小灯闪烁程序清单

实验目的

进一步熟悉keil编程软件、ISP下载软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握IAR 15中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

实验内容

运用keil4编程软件编辑led闪烁程序,并且生成.hex 文件,并且将生成的文件通过ISP 程序烧录软件烧录到单片机中,程序使用P1.7 来演示小灯闪烁。

程序框图

开始

端口初始化

小灯闪烁

结束

实验步骤

1、编写流水灯程序,并且生成‘’.hex’’文件

2、通过ISP 程序烧录软件将生成的‘’.hex’’文件烧录到单片机中

3、换一个LED灯,改变延时时间的大小,多次实验,灵活使用小灯闪烁程序清单

#define MAIN_Fosc 22118400L //定义主时钟

#include "STC15Fxxxx.H"

void delay500ms();

/******************** 主函数**************************/ void main(void)

{

P0M1 = 0; P0M0 = 0; //设置为准双向口

P1M1 = 0; P1M0 = 0; //设置为准双向口

P2M1 = 0; P2M0 = 0; //设置为准双向口

P3M1 = 0; P3M0 = 0; //设置为准双向口

P4M1 = 0; P4M0 = 0; //设置为准双向口

P5M1 = 0; P5M0 = 0; //设置为准双向口

P6M1 = 0; P6M0 = 0; //设置为准双向口

P7M1 = 0; P7M0 = 0; //设置为准双向口

while(1)

{

P17 = 0;

delay500ms();

P17 = 1;

delay500ms();

}

}

void delay500ms()

{

unsigned char i,j,k;

for(i=15;i>0;i--)

for(j=202;j>0;j--)

for(k=81;k>0;k--);

}

实验四数码管显示实验

实验目的

理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

实验内容

1.利用IAR15W4K58S4单片机控制数码管显示器,显示数字;

2.能够利用单片机控制在数码管上显示当前时间

实验器材

STC实验箱一个、下载线一条、电脑一台;

实验原理及介绍

动态扫描法:

动态扫描法是对各数码管循环扫描、轮流显示的方法。由于一次只能让一个数码管显示,因此,要显示8位的数据,必须让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个数码管。当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现象,这种显示需要一个接口完成字型码的输出(段选),另一接口完成各数码管的轮流点亮(位选)。

在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。

程序框图

开始

初始化数码管

显示数字

时间初始化

时钟计算

实验步骤

1.编写数码管显示程序,并且生成‘’.hex’’文件

2.通过ISP 程序烧录软件将生成的‘’.hex’’文件烧录到单片机中程序清单

/************* 本程序功能说明**************

用STC的MCU的IO方式控制74HC595驱动8位数码管。

用户可以修改宏来选择时钟频率.

用户可以在"用户定义宏"中选择共阴或共阳. 推荐尽量使用共阴数码管.

显示效果为: 上电显示一下0~7, 1秒后显示时间或8个数码管循环显示0,1,2...,A,B..F,消隐(编译选择).

使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下, 用户修改MCU主时钟频率时,自动定时于1ms.

******************************************/

#define MAIN_Fosc 22118400L //定义主时钟(长整型)

#include "STC15Fxxxx.H"

/****************************** 用户定义宏***********************************/

#define Timer0_Reload (65536UL -(MAIN_Fosc / 1000)) //Timer 0 中断频率, 1000次/秒

/******************************************************************* **********/

#define DIS_DOT 0x20

#define DIS_BLACK 0x10

#define DIS_ 0x11

/************* 本地常量声明**************/

u8 code t_display[]={ //标准字库

// 0 1 2 3 4 5 6 7 8 9 A B C D E F

0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79, 0x71,

//black - H J K L N o P U t G Q r M y

0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37 ,0x6e,

0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46}; //0. 1. 2. 3. 4. 5. 6. 7.

8. 9. -1

u8 code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //位码

/************* IO口定义**************/

sbit P_HC595_SER = P4^0; //pin 14 SER data input

sbit P_HC595_RCLK = P5^4; //pin 12 RCLk store (latch) clock

sbit P_HC595_SRCLK = P4^3; //pin 11 SRCLK Shift data clock

/************* 本地变量声明**************/

u8 LED8[8]; //显示缓冲

u8 display_index; //显示位索引

bit B_1ms; //1ms标志

u8 hour,minute,second;

u16 msecond;

/************* 本地函数声明**************/

/**************** 外部函数声明和外部变量声明*****************/ /********************** 显示时钟函数************************/ void DisplayRTC(void)

{

if(hour >= 10) LED8[0] = hour / 10;

else LED8[0] = DIS_BLACK;

LED8[1] = hour % 10;

LED8[2] = DIS_;

LED8[3] = minute / 10;

LED8[4] = minute % 10;

LED8[5] = DIS_;

LED8[6] = second / 10;

LED8[7] = second % 10;

}

/********************** RTC演示函数************************/ void RTC(void)

{

if(++second >= 60)

{

second = 0;

if(++minute >= 60)

{

minute = 0;

if(++hour >= 24) hour = 0;

}

}

}

/********************** 主函数************************/ void main(void)

{

u8 i,k;

P0M1 = 0; P0M0 = 0; //设置为准双向口

P1M1 = 0; P1M0 = 0; //设置为准双向口

P2M1 = 0; P2M0 = 0; //设置为准双向口

P3M1 = 0; P3M0 = 0; //设置为准双向口

P4M1 = 0; P4M0 = 0; //设置为准双向口

P5M1 = 0; P5M0 = 0; //设置为准双向口

P6M1 = 0; P6M0 = 0; //设置为准双向口

P7M1 = 0; P7M0 = 0; //设置为准双向口

AUXR = 0x80; //Timer0 set as 1T, 16 bits timer auto-reload, TH0 = (u8)(Timer0_Reload / 256);

TL0 = (u8)(Timer0_Reload % 256);

ET0 = 1; //Timer0 interrupt enable

TR0 = 1; //Tiner0 run

EA = 1; //打开总中断

display_index = 0;

hour = 11; //初始化时间值

minute = 59;

second = 58;

RTC();

DisplayRTC();

// for(i=0; i<8; i++) LED8[i] = DIS_BLACK; //上电消隐

for(i=0; i<8; i++) LED8[i] = i; //显示01234567

k = 0;

while(1)

{

if(B_1ms) //1ms到

{

B_1ms = 0;

if(++msecond >= 1000) //1秒到

{

msecond = 0;

RTC();

DisplayRTC();

}

}

}

}

/**********************************************/

/**************** 向HC595发送一个字节函数******************/

void Send_595(u8 dat)

{

u8 i;

for(i=0; i<8; i++)

{

dat <<= 1;

P_HC595_SER = CY;

P_HC595_SRCLK = 1;

P_HC595_SRCLK = 0;

}

}

/********************** 显示扫描函数************************/

void DisplayScan(void)

{

Send_595(~T_COM[display_index]); //共阴输出位码

Send_595(t_display[LED8[display_index]]); //输出段码

P_HC595_RCLK = 1;

P_HC595_RCLK = 0; //锁存输出数据

if(++display_index >= 8) display_index = 0; //8位结束回0

}

/********************** Timer0 1ms中断函数************************/ void timer0 (void) interrupt TIMER0_VECTOR

{

DisplayScan(); //1ms扫描显示一位

B_1ms = 1; //1ms标志

}

#define MAIN_Fosc 22118400L //定义主时钟

#include "STC15Fxxxx.H"

//#defined uchar unsigned char

//#defined uint unsigned int

//0~7的数码管段码

uchar code DSY_CODE[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

void DelayMS((uint x)

{ uchar i;

while(x--)

for(i=0; i<120; i++);

}

void main ( )

{ uchar i,k=0x80;

while(1)

{ for(i=0;i<8;i++)

{

P2=0xFF; //关闭显示

k=_crol_(k,1);

P0=DSY_CODE[i]; //发送数字段码

P2=k; //发送数码管位码,打开对应数码管

DelayMS(300);

}

}

}

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

C8051F021单片机实验指导

提要:实验项目 1、单片机的IO编程 实验1 IO开关量输入实验 实验2 IO输出驱动继电器(或光电隔离器)实验 实验3 IO输入/输出------半导体温度传感器DS18B20实验2、单片机的中断系统 实验1 外部外部中断----脉冲计数实验 3、单片机的定时器/计数器 实验1 计数器实验 实验2 秒时钟发生器实验 4、单片机的串口特点和编程 实验1 P C机串口通讯实验 实验2 R S485通讯实验 5、存储器 实验1 RAM存储器读写实验 6、PWM发生器 实验1 PWM发生器(模拟)实验 实验1 PWM发生器(内部)实验 7、WDG看门狗 实验1 外扩WDG(MAX813)实验 实验2 WDG(内部)实验

8、SPI总线 实验1 SPI(模拟)实验-----TLC2543 AD转换实验 实验2 SPI(模拟)实验-----TLV5616 DA转换实验 9、I2C总线 实验1 I2C(模拟)实验-----AT24C01读写实验 实验2 I2C(内部)实验-----AT24C01读写实验 10、综合实验 实验1 HD7279LED数码管显示实验 实验2 HD7279键盘实验 实验3 外部中断---电机转速显示实验 11、步进电机正反转实验 12、TFT液晶显示彩色条纹实验 13、16X16LED点阵显示汉字实验 一、单片机的IO编程 实验1 IO开关量输入实验 目的:学习单片机读取IO引脚状态的的方法。 内容:编程读取IO引脚状态。 设备:EL-EMCU-I试验箱、EXP-C8051F021 CPU板。 编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状态。 步骤: 1、将CPU板正确安放在CPU接口插座上, 2、连线:用导线将试验箱上MCU部分的IO1--- IO8分别连接到SWITCH 的8个拨码开关的K1---K8的输出端子K1---K8上,连接好仿真器。

89C51单片机实验指导书

目录 实验一系统认识实验 (2) 实验二多字节加、减运算实验 (3) 实验三多字节乘、除法运算实验 (4) 实验四代码转换实验 (5) 实验五布尔操作实验 (6) 实验六中断系统实验 (7) 实验七定时器/计数器实验 (9) 实验八串行通讯接口实验 (12) 实验九串并转换实验 (16) 实验十存储器扩展实验 (18) 实验十一8155键盘及显示接口实验 (20) 实验十二ADC0809(模/数转换) (24) 实验十三 DAC0832(数/模转换) (26) 实验十四步进电机实验 (29) 实验十五直流电机调速控制实验 (32) 附录Windows版Wmd51 3.0使用说明 (34)

实验一系统认识实验 一.实验目的和要求 1.学习和掌握本实验系统的基本操作; 2.总结汇编程序的形成和调试过程; 3.掌握循环程序的设计; 4.画出程序流程图,编制程序并上机调试通过。 二.实验内容 1.软件延时 若系统时钟为6MHZ,要求实现每隔250毫秒将P1.0口取反。 2.无符号数加法 计算N个数据的和,即Y=∑Xi (i=1--6)。若六个数据放在片 内RAM的50H——55H地址单元中,求和的结果Y放在内部RAM的03H(高位)、04H (低位)地址单元中。 1).32H+41H+01H+56H+11H+03H 2).95H+01H+02H+44H+48H+12H 3).54H+0F6H+1BH+20H+04H+0C1H 3.数据排序 将内部RAM地址单元30H—3FH中的16个数据按小到大的顺序重新排序。

实验二多字节加、减运算实验 一.实验目的和要求 1.掌握多字节数的加、减法运算; 2.进一步熟悉实验系统的使用方法; 3.进一步熟悉汇编程序的调试过程; 4.画出程序流程图,编制程序并上机调试通过。 二.实验内容 1.多字节无符号数的加法 2.多字节无符号数减法 入口:被减数低字节地址在R0,减数低字节数地址在R1,字节数在R2; 出口:差的低字节地址在R0。字节数在R3。 3.多字节十进制BCD码减法 入口:被减数低字节地址在R1,减数低字节地址在R0,字节数在R2。 出口:差(补码)的低字节地址在R0,字节数在R3(07H为符号位。“0”为正,“1”为负)。

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支

持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

C51单片机实验指导书

单片机原理与接口技术实验讲义 目录 第一章开发环境安装使用说明 (3) 第二章基于51单片机系统资源实验 (12)

实验1 IO开关量输入实验 (12) 实验2 IO输出驱动继电器(或光电隔离器)实验 (13) 实验3 IO输入/输出---半导体温度传感器DS18B20实验 (14) 实验4 外部中断----脉冲计数实验 (15) 实验5 计数器实验 (16) 实验6 秒时钟发生器实验 (17) 实验7 PC机串口通讯实验 (18) 实验8 RS485通讯实验 (19) 实验9 PWM发生器(模拟)实验 (20) 实验10 蜂鸣器实验 (21) 第一章开发环境安装使用说明 一、KeilC51集成开发环境的安装 1.Keil u Vision2的安装步骤如下

将安装文件拷贝到电脑根目录下,然后双击图标,如图1-1所示:注意:去掉属性里的只读选项。 图1-1 启动安装环境对话框 2.选择Eval Version。然后一直next直至安装完成,如图1-2所示: 二.在Keil uVision2中新建一个工程以及工程配置 1.打开Keil C环境,如图1-3所示。

图1-3打开工程对话框 2.新建工程或打开工程文件:在主菜单上选“Project”项,在下拉列表中选择“New Project”新建工程,浏览保存工程文件为扩展名为“.Uv2”的文件。或在下拉列表中选择“Open project”打开已有的工程文件。如 图1-4所示: 图1-4 新建工程 3.环境设置:新建工程文件后,在工具栏中选择如下图选项设置调试参数及运行环境,或从主菜单“Project”项中 选择“Options for Target ‘Target1’”,打开如下图1-5设置窗口。

单片机实验指导书

单片机实验指导书 适用专业:计算机控制、网络、物联网等 学时:12 编写人:孔庆臣 2016-5-12

实验一 IO口输入输出实验 1. 实验内容 (1) P2口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2) P1口做输入口,接八个扭子开关,P2口接八只发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 2. 实验目的 学习keil仿真软件的使用方法 学习IO口的使用方法。 学习延时子程序的编写和使用。 stc-isp软件的使用 3.有关说明 P1口为准双向口,P1的每一位都能独立地定义为输入或输出线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。单片机IO口在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。 可以用第二个实验做一下实验。先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。 再来看一下延时程序的实现。通常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 本实验系统晶振为11.0592MHZ,则一个时钟周期为0.0904us。现要写一个延时0.1s的程序,可大致写出如下: void Delay100ms() //@11.0592MHz { unsigned char i, j, k; i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } 5.实验电路设计 (1)分析附录1 单片机实验系统部分原理图,选择合适的电路模块,并根据实验要求的功能进行合理的电路模块间的电路连接。 (2)画出本次实验独立的原理图 5、实验要求 (1)完成实验电路设计 (2)完成实验程序设计 (3)实现要求的实验结果

《单片机与接口技术》实验指导书

《单片机与接口技术》实验指导书 本课程理论课程总课时48,其中实验16学时,计划做7个实验,加深对知识的理解与掌握。本课程实验所用设备有计算机、MPLAB-ICD软件硬件及实验装置。要求每个学生完成实验后写出实验报告,要求用学校专用实验报告用纸。 实验1 熟悉MPLAB-ICD软硬件开发环境 1.实验目的: 本实验旨在使学生熟悉MPLAB-ICD软硬件的使用,要求学生通过本实验,掌握MPLAB-ICD的应用,掌握汇编源程序的编辑录入,掌握项目的制作,计算机与开发器的硬件连接,演示板的使用,实验装置的应用,目标程序的下载等等,为后续实验打下必要的知识准备,同时完成指令系统的验证。具体参考教材第五章内容。 2.实验设备: PC机1台,MPLAB-IDE软硬件环境。 实验2 基本输入输出实验(循环显示实验) 1.实验目的: 练习基本I/O端口的编程应用方法 2.实验设备: PC机1台,MPLAB-ICD实验装置1套。 3.实验原理: 本实验实现的功能是,把端口RC的8条引脚全部设置为输出模式,依次从引脚RC0到RC7送出高电平,然后再依次从RC7到RC0送出高电平,从而使得与RC端口相连的8只发光二极管LED循环往复依次点亮。即依次循环点亮LED0→LED1→......LED7→全熄→LED7→LED6→......LED0→全熄→LED0。其效果类似于一个简单的霹雳灯。 4.实验电路与程序流程图:

5.参考实验程序: ;循环显示程序 LIST P=16F877 INCLUDE "P16F877.INC";源程序编写格式 flag EQU 0x24;定义循环变量flag ORG 0X00;单片机复位地址 Nop ;特定需要 CLRF PORTC; PORTC寄存器内容清零 bsf STATUS,RP0;STATUS寄存器的RPO位置位 movlw 00h ;将立即数00h传送至W寄存器 movwf TRISC ;将W寄存器的内容传送至TRISC寄存器 bcf STATUS,RP0 ;STATUS寄存器的STATUS位清零 movlw 01h ;将立即数01h传送至W寄存器 movwf PORTC;将W寄存器的内容传送至PORTC寄存器 bsf flag,0 ;flag寄存器的0位置位 bcf STATUS,C;STATUS寄存器的C位清零 loop btfss STATUS,C;测试STATUS寄存器内容的C位,为1则间跳goto loop1;无条件跳转至loop1处 comf flag,1;将flag寄存器内容取“反”后传送至f

单片机实验指导书

实验一8051简单编程与调试实验目的 通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。学会Proteus与Keil的整合调试。 实验基本要求 建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。画出实验程序的流程框图。 实验步骤 采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤: 1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。 在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。如图所示。 点击“确定”按钮后,弹出如下的对话框

如果是进行汇编语言编程选择“否”。 2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。 在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。程序编写完后,再次保存。 在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

单片机原理与应用实验指导书(学生部分)(2009.4修订)

单片机原理与应用实验指导书 2009年5月

第一章实验箱系统概述一、系统地址分配 (1),存贮器地址分配 (2),I/O地址分配 二、系统接口定义 (1),CZ11:用户实验通讯接口; (2),CZ4:打印接口;

(3),JX0,JX17为系统提供的数据总线接口 (4),CZ7:系统提供的扩展接口; (5),JX12、JX14:液晶显示接口 三、通用电路简介 (1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图1-1,Ll—L16为相应发光二极管驱动信号输入端, 该输入端为低电平 “0”时发光二极管亮

图1-6 (2)逻辑电平开关电路:见图1-2。实验台上有8只开关Kl-K8, 与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。 图1-7 (3)单脉冲电路:实验台上单脉冲产生电路如图1-3,标有“”和“”的两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。 图1-8

(4)分频电路:该电路由一片74LS393组成,见图1-4。T0—T7为分频输出插孔。 该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0—T7输出脉 冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 图1-9 (5)脉冲发生电路:实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ 的插孔,即为脉冲的输出端。 图1-10 (6)485接口电路: 图1-11

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

单片机实验-伟福仿真指导书

第一章认识51系列单片机存储空间 计算机的应用是一个系统,这个系统应由两部分组成――硬件和软件。硬件是指具体的元器件、电路等,软件则是指程序和数据。如果説硬件是计算机应用系统的基础的话,那么软件则是计算机应用系统的灵魂。计算机原理告诉我们程序和数据是被“装载”在计算机存储器中的,从某种意义上讲,认识一个计算机的存储器系统是开发软件所必须的。 为了全面认识51系列单片机的存储空间,本章列出四个实训单元。在进行完本章列出的四个实训单元后,要求读者应全面了解51系列单片机的程序存储器(ROM)、片内随机存储器(片内RAM)和片外随机存储器(片外RAM)空间的范围、用途和使用方法等。 1.1认识51系列单片机的程序存储器(ROM) 第一部分教学要求 一、目的要求 1.认识51系列单片机的程序存储器(ROM)的空间范围; 2.认识汇编指令编码在ROM中存储形式; 3.掌握指令编码和指令编码所在地址的概念; 4.了解51系列单片机的程序存储器(ROM)固定地址的用途。 二、实训平台 1.PC机,台/人; 2.伟福V 3.2版仿真软件或其它51系列单片机仿真软件 四、成绩评定 (注:成绩评定等级:优良、及格、不及格) 第二部分教学内容 一、预备知识 1.ROM存储器 ROM(Real Only Memory)即只读存储器之意,其特点是在计算机正常运行的情况下CPU对ROM 存储器只能进行读操作且断电后信息不会丢失,通常用来存储固定不变的程序和数据,如引导程序、

基本输入输出系统程序等。ROM按其性能可分为以下几类: (1)掩模工艺ROM 它是由芯片制造厂根据ROM要求存储的信息,制造成固定的半导体掩模版生产的。一旦制出成品后,其存储的信息只能读出,不能改变。这种ROM适用于存储固定不变的程序和数据,批量生产时,成本较低。 (2)可一次编程PROM 允许用户对ROM进行一次编程。 (3)可擦除的EPROM 允许用户对ROM进行多次编程,即可擦除。按擦除的方法不同,可分为紫外线擦除的可擦除可编程序只读存储器EPROM(Erasable Programmable Read Only Memory)和电擦除的电可擦除编程序只读存储器EEPROM(Electrically Erasable Programmable Read Only Memory)。 (4)Flash存储器 Flash存储器是在20世纪80年代末逐渐发展起来的一种新型不挥发性半导体存储器,它结合了以往EPROM结构简单、密度高和EEPROM在系统的电可擦除性的一些优点,实现了高密度、低成本和高可靠性。Flash存储器和传统存储器的最大区别在于它是按块(Sector)擦除,按位编程,从而实现了快闪擦除的高速度。目前它广泛应用于PCBIOS、数字蜂窝电话、汽车领域和微控制器等许多领域。 EPROM、EEPROM、Flash存储器需通过专用的编程器将程序和数据写入其中。 2.51系列单片机ROM空间 由于5l系列单片机的程序计数器PC是16位的,所以能寻址64KB的程序存储器地址范围。允许用户程序调用或转向64KB的任何存储单元。在5l系列单片机中根据不同的型号,其程序存储器的形式也有所不同。例如:8051单片机在芯片内部设置了4 KB掩模版的ROM, 8751单片机在芯片内部设置了4 KB的EPROM,89C52单片机在芯片内部设置了8 KB的Flash存储器,而8031单片机在芯片内部没有设置程序存储器,需要在单片机外部配置EPROM。 51系列单片机的EA引脚为访问内部或外部程序存储器的选择端。接高电平时,CPU将首先访问内部存储器,当指令地址超过内部存储器的最大地址时,自动转向片外ROM去取指令。当EA引脚接低电平时(接地),CPU只能访问外部程序存储器。对于8031单片机,由于其内部无程序存储器,故只能采用这种接法。 51系列单片机程序存储器的地址从0000H开始编址。程序存储器低端的一些地址被固定地用作特定程序的入口地址: 0000H 0000H:单片机复位后的程序入口地址; 0001H 0003H:外部中断0的中断服务程序入口地址; 000BH:定时器0的中断服务程序入口地址; : : 0013H:外部中断l的中断服务程序入口地址; : : 001BH:定时器1的中断服务程序入口地址; 0023H:串行端口的中断服务程序入口地址; 002BH:定时器2的中断服务程序入口地址。 FFFFH 图 1.1 ROM空间示意编程时,通常在这些入口地址开始的2、3个单元中,放入一条转移指令,以使相应的服务与实际分配的程序存储器区域中的程序段相对应(仅在中断服务程序较短时,才可以将中断服务程序直接放在相应的入口地址开始的几个单元中)。 3.源程序汇编与程序定位伪指令 将汇编语言源程序转换为计算机能执行的机器码形式的目标程序的过程叫汇编。汇编常用的方法有两种:一是手工汇编,二是利用计算机汇编。

8051单片机实训指导书

单片机实验指导书 基础部分 实训1 认识单片机 一、单片机概述 一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM (数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。 二、单片机的外部结构 (1)单片机的引脚 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1-1接上即可。复位引脚:按图1-1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。

图1-1 (二)单片机芯片引脚功能 1.主电源引脚 (1)GND 接地 (2)VCC正常操作时为十5V电源。 2.时钟电路引脚 (1)XTAL1: (2)XTAL2: 3.控制线与电源复用引脚 (1)RST/VPD:RST是复位信号,高电平有效。 VPD为第二功能,即备用电源输入端。 (2)ALE/PROG:ALE为地址锁存允许信号输出引脚。 PROG为编程信号,第二功能,低电平有效。 (3)PSEN:片外ROM选通信号输出端,低电平有效。(4)EA/VPP:EA为内部和外部ROM控制端 当EA=1时,从内ROM开始访问 当EA=0时,只访问外部ROM VPP是编程电源输入端 4.并行输入/输出引脚

单片机原理与接口技术实验指导书

《单片机原理与接口技术》实验指导书 主编李鹏、张杰 西南科技大学制造科学与工程学院 2013年3月

制造科学与工程学院 目录 实验一I/O接口实验 (3) 实验二中断系统实验 (5) 实验三定时器/计数器实验 (8) 实验四串行通信实验 (10) 2

西南科技大学实验指导书 3 实验一 I/O 接口实验 一、 实验目的 了解单片机片内4个8位I/O 端口的使用,掌握I/O 端口的应用及C51的编程方法。 二、 实验仪器和设备 1. 单片机实验板 一台 2. 计算机 一台 三、 实验简介 1. 实验内容 上下来回循环点亮八个发光二极管。 2. 实验线路及其连接 图1-1 发光二极管与P1口的连接电路 3. 实验程序参考流程图

制造科学与工程学院 图1-4程序流程图 四、实验步骤 1. 检查实验板连线是否正确 2. 用USB线连接单片机实验板和PC,利用USB接口对实验板供电 3. 用keil软件编写并调试程序,在程序无误的时候编译成hex文件,使用串口线与电脑的串口相连,运行串口下载工具STC-ISP,下载程序到单片机中。 4.观察发光二极管的闪烁状态,是否与实验要求相符。若不符,请修改程序,直到达到实验需求。 五、实验报告 实验类型为验证型实验,要求学生在实验过程中掌握单片机的输入输出接口技术、单片机的编程方法,为后续实验打下坚实的基础。 本次实验报告的内容主要是: 1. 实验目的:本次实验主要达到的要求及目的 2. 实验设备:本次实验的主要设备 3. 实验内容:本次实验的硬件原理图(要求用Protel或Proteus画出原理图)及原理图的说明、程序流程图及详细说明、实验程序等 4. 实验具体步骤:连接线路、输入程序、调试程序、观察结果、修改程序 5. 实验程序上机验证:写出运行后得到的结果,并分析与预习中的结果是否相同 6. 心得体会:本次实验中遇到的问题、解决方法及收获 六、预习要求 1. 复习单片机输入输出接口技术相关内容。 2. 预习本次实验内容,画出流程图、编写程序 4

单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求: 1)掌握单片机开发板的使用方法(驱动识别,程序下载) 2)掌握单片机程序开发软件KEIL的使用 3)掌握单片机程序烧录软件STC-ISP下载软件的使用 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中 3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

2)实训程序一: #include "reg52.h" sbit LED=P1^0; void main() { LED=0; while(1); } 实训程序二: #include "reg52.h" #define LED P1; void main() { LED=0xaa; while(1); } 3)实训步骤 ①打开KEIL软件编写LED控制程序。 ②程序调试无误后,使用KEIL生产HEX文件。 ③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。

3)实验现象记录 实训程序一:。实训程序二:。 4)实训报告要求 ①将实训程序中的注释补充完整,了解每条语句作用。 ②完成如下评分表

实训项目二LED的闪烁1、实训目的及要求: 1)掌握单片机控制LED点亮和熄灭的方法。 2)了解单片机延时程序的原理及设计。 3)了解单片机中常用的变量类型及其定义方法。 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

单片机接口实验指导书

单片机原理与接口实验东北师范大学物理学院

目录 第一部分原理实验部分 实验一熟悉Keil开发环境和DSDZ-M2实验箱的使用实验二并行口输入输出实验 实验三七段LED数码管控制实验 实验四定时器中断实验 实验五脉冲宽度与频率测量实验 实验六串行通信实验 实验七 RAM扩展与读写控制实验 第二部分接口实验部分 实验一基于8255的并口扩展实验 实验二基于HD7279的键盘显示接口实验 实验三基于MAX232的单片机与微机串行通信实验实验四基于SPI总线的EEPROM读写实验 实验五基于I2C总线的EEPROM读写实验 实验六基于1Wire总线的DS18B20测温实验 实验七A/D转换实验 实验八D/A转换实验 实验九直流电机控制实验 实验十步进电机控制实验 实验十一自主设计实验

第一部分原理实验部分 实验一熟悉Keil开发环境和DSDZ-M2实验箱的使用 一、实验目的 1.熟悉Keil uVision2 软件,学会编辑编译程序。 2.熟悉DSDZ-M2实验箱的使用方法 3.熟悉利用硬件仿真器调试程序的方法 二、实验箱介绍 1.在Keil uVision2软件中实现8个小灯的循环点亮 2.要求用软件延时程序控制灯的亮灭时间,并能精确计算延时程序的延时时间 三、相关知识 1 DSDZ-M2实验箱 1.1 实验箱结构图

图1 实验箱结构图 1.2 实验箱的主要特点 (1)采用扩展板方式,可以进行多种微控制器的原理和接口实验,如8051系列(基本配置),凌阳系列,PIC系列,SOPC等。 (2)可以采用仿真器实验,也可以将芯片直接用于实验。 (3)采用面包板连线,可以真正使学生实践接口电路设计、实现的全过程,真正提高学生动手实践能力。 (4)配置完备的外围电路,可以实现各种接口实验,扩展板为实验更新与扩展提供了可能。 1.3 应用该实验箱可做的实验如下: (1)单片机I/O口控制实验,如拨码开关信号输入,LED发光二极管控制,按

单片机实验指导书——带答案

《单片机原理及应用》 实验指导书 姓名: 学号: 专业班级: 所在学院:成人教育学院 2012年5月日

单片机实验指导书 目录 实验一系统认识实验 (3) 实验二程序调试 (6) 实验三外部中断实验 (6) 实验四串口实验 (8)

实验一系统认识实验 一、实验目的 1.掌握SICElab-G2200实验/仿真系统的结构与使用方法; 2.熟悉单片机系统开发软件WA VE6000。 二、实验设备 1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台 3.连线若干根 4.计算机 1 台 三、实验内容 P1端口接发光二极管,加1点亮。 四、连线方案: 五、实验步骤 1.连接Lab51CPU板。(已由实验师连好) 2.仿真器与实验平台的连接 将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。(已由实验师连好) 3.仿真器与计算机的连接 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。 特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。 4.实验连线 按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。拆线时,应先回转一下,不要硬拨,以免损坏线路板。不管是拆线还是插线,都应 在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。

5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。 6.在计算机上打开“WA VE6000集成调试环境”,界面如下图所示: 7.建立新程序(如果程序已编好,直接跳到第9步) 选择菜单[文件 | 新建文件]功能。 出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序 ORG 0 MOV P1,#0 ;熄灭发光二极管 LOOP: INC P1 CALL Delay SJMP LOOP Delay: MOV R2,#3 ;延时程序 MOV R1,#0 MOV R0,#0 DLP: DJNZ R0,DLP DJNZ R1,DLP DJNZ R2,DLP RET END 8.保存程序 选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。 9.建立新的项目 选择菜单[文件 | 新建项目]功能。 新建项目会自动分三步走。 (1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。 (2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如果没有包含文件,按取消键。 (3)保存项目。在保存项目对话框中输入项目名称。MY1无须加后缀。软件会自动将后缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。 10.设置项目 11.编译程序 选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。 在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可以执行、调试程序了。 12.执行、调试程序 有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。 (1)全速执行 (2)程序单步跟踪 选择[执行 | 跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序。 (3)执行到光标处 (4)设置断点 (5)观察各变量值的方法

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机实验指导书2018

《单片机原理与应用》实验指导 桂林电子科技大学 电子工程与自动化学院 2018.10

实验一单片机开发系统的使用方法 一、实验目的 1.学习单片机开发系统和仿真软件的使用及程序调试方法。 2.掌握汇编程序的编写方法及常用技巧。 二、实验内容 1、学习用Keil软件进行51单片机的软件开发; 学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、(参见附录1) 2、学习用Keil软件基本调试。(参见附录2); 3、学习Proteus仿真软件的使用(参见附录3); 4、熟悉实验用单片机开发系统(参见操作指导书)。 三、实验原理 1、Keil软件使用练习 设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H, (22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。(见参考程序一) 2、Proteus仿真软件使用练习 电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED 图中用单片机的P1口作输出口接8个LED,8个LED按共阳极连接,端口逻辑值为0点亮LED;P3口作输入口接1个SW-SPST开关,P3口内含上拉电阻,当开

关打开时逻辑值为1,开关闭合时逻辑值为0。 编写程序点亮LED (见参考程序二) 3、下载 操作方法见附录1 四、实验预习 1、学习汇编语言编程的有关知识。 2、提前预习KEIL软件的使用方法,写出预习报告。 五、实验报告 1、总结出实验的详细步骤。 2、写出调试正确的程序及运行结果。 六、参考程序: 参考程序一 ORG 0000H MOV R0,#20H MOV R1,#25H MOV 20H,#80H MOV 21H,#90H MOV 22H,#0A0H MOV 25H,#0A0H MOV 26H,#6FH MOV 27H,#76H CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A CLR C INC R0 INC R1 DJNZ R2,LOOP JNC NEXT MOV @R0,#01H SJMP $ NEXT: DEC R0

相关文档
最新文档