51单片机基础综合实验板_实验指导书ok(C和汇编程序综合版)

51单片机基础综合实验板_实验指导书ok(C和汇编程序综合版)
51单片机基础综合实验板_实验指导书ok(C和汇编程序综合版)

MCS-51

单片机基础合实验板实验指导书

李家庆

2009年11月

目录

第1章实验箱功能简介

1.1 实验箱外观 (1)

1.2 实验箱配置 (2)

1.3 仿真下载使用说明 (3)

1.4 电路图 (4)

第2章实验箱使用快速入门

2.1 KEIL C51 简介 (5)

2.2 uVision使用入门 (5)

2.3 实验箱的仿真 (10)

2.4 实验箱的下载 (13)

第3章单片机实验

3.1 基本实验 (23)

实验一熟悉Keil C51开发环境 (23)

实验二熟悉实验箱的仿真与下载 (26)

实验三 I/O口延时实现流水灯 (27)

实验四蜂鸣器驱动实验 (29)

实验五定时器中断实验 (32)

实验六外部中断实验 (33)

实验七数码管显示123456 (34)

实验八 8155扩展实验 (35)

实验九 ADC0809实验 (37)

实验十 DAC0832实验 (41)

实验十一串口通信实验 (42)

3.2 高级实验 (51)

实验十二 100位计数器实验 (51)

实验十三矩阵键盘实验 (53)

实验十四实时时钟实验 (56)

实验十五数字温度计实验 (64)

实验十六 I2C总线实验 (68)

实验十七单片机实钟实验 (74)

注:实验书只是提供了部分参考实验,供用户初次使用时熟悉各模块电路,更多实验源代码详见光盘,另外,您也可根据自己的思路编写各种各样的实验代码,均可以非常方便的在此实验箱上运行。其它相关资料,请参考光盘

第1章 实验板功能简介

1.1 单片机实验板概览

实物图如图1.1所示:

1.2 实验箱配置 基础板配置:

1、STC89C51支持在线下载程序。.

2、8位LED 发光二极管(可做流水灯实验)。

3、4位数码管(可做动态扫描及静态显示实验)。

图1.1 单片机实验板实物图 8155 8LED 数码管 外扩256 DA0832 AD0809 单片机 IIC IIC Beep 矩阵 键盘

下载 图1.2 单片机实验板功能组成

4、4 *4矩阵键盘。(也可将其中的行或列接地,将独立按键实验)。

5、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口,同时也可

做为STC单片机下载程序的接口,SST单片机仿真接口)

6、USB供电系统,直接插接到电脑USB口即可提供电源,此时不需另接直流

电源。

7、蜂鸣器(可做单片机发声实验)。

8、ADC0809芯片(可做模数转换实验)。

9、DAC0832芯片(可做数模转换实验)。

10、DS18B20温度传感器接口

11、单片机32个IO口全部引出,方便自己进行自由扩展。

12、AT24C02 EEROM(可做IIC串行总线实验)。

13.DS1302实时时钟(可做IIC串行总线实验)。

14、SM0038一体化红外接收头(可做红外遥控器解码实验)。

15、8155电路,可做扩展I/O口使用。

16、外扩32K RAM 62256芯片电路。

17、1602液晶接口。

仿真配置:

可选配SST89E516仿真芯片,代替STC89C51,实现在线仿真功能。

1.3仿真下载使用说明

单片机综合创新实验板的单片机仿真与下载分成由不同的单片机完成。仿真由单片机SST89E516芯片来完成仿真,具体的仿真电路就是相关串口通讯电路,仿真的实现可见第二章相关内容。单片机的下载由基础板的单片机STC89C51完成。两种单片机引脚完全相同,直接代换。32个IO都由排针引出,方便用户做不同的实验。

1.4电路图

第2单实验箱使用快速入门

2.1 KEIL C51 简介

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

2.2 uVision 使用入门

KEIL是51单片机开发的最常见的开发软件。

成功安装好KEIL软件后,即可看到电脑桌面上Keil软件图标,如图2.1。

图2.1

1.双击图标,打开软件,出现如下界面。在打开的窗口中,选择“Project”

菜单:

图2.2

2.点击“New Project”出现一个创建工程对话框,选择工程所建路径,并输

入工程的文件名(建议用英文),点击“保存”:

图2.3

3.之后出现芯片选择界面,如下图:

图2.4

4.这里,选取常用51芯片即可,选择“Philips”下的“8Xc51RC+”芯片:

图2.5

5.点击“确定”,在出现如下对话框时,选择“否”:

图2.6

6.至此,已成功建立工程。界面如下图所示:

图2.7

7.点击“Project”菜单下面的“options for Target‘Target 1’”选项,出现如下选项框:

图2.8

8.选择“output”页面,选中“create Hex File”,并可在“Name of Executable:”输入框中,重新输入生成HEX文件的文件名,然后点“确定”,以在程序编译时,实时生成需下载到单片机中的HEX文件。

图2.9

9.点击“File”菜单下面的“New”选项,再点击“File”菜单下面的“Save”选项,保存文件。输入文件名(C文件扩展名为“.c”,汇编文件扩展名为“.asm”),如下图:取名为main.c:

图2.10

10.在新建的文件里,进行程序编制,如图:

图2.11

11.程序编制完成后,保存文件。将源程序文件加载到工程中。加载方法为:右击“Source Group”,在出现的选项列表中,选择“Add Files to Group ‘source Group 1’”,如下图所示:

图2.12

12.在出现的对话框中,选择刚编辑的源文件(main.c),点击“Add”,如图:

图2.13

13.添加成功后,点击“Project”菜单下面的“Rebuild all target files”

选项。当编译通过之后HEX文件才能生成,如下图。如果程序有错误,编译结果框中会有提示错误。双击对应的错误列表,可定位到源程序的位置,以便快速寻找错误。

图2.14

2.3 实验箱的仿真

SST89E516RD是8位集成存储器的51系列兼容单片机,和51系列单片机软件兼容、开发工具兼容、管脚也兼容。

SST89E516RD片内有两块SuperFlash EEPROM,分为64K主块(Block0)和8K 次块(Block1)。Block0的地址范围是0000h~ffffh;Block1的地址范围是10000h~11fffh。做仿真器时Block1存储区烧写SoftICE仿真监控程序。SST89E516RD具有在应用可编程(IAP)和在系统可编程(ISP)的功能,其中IAP是通过串口实现的。

仿真器就是利用了SST89E516RD的IAP功能。由于SST89E516RD具有两块独立的SuperFlash程序存储区,当监控程序在Block1存储区中运行时可以改写Block0程序存储区中的程序,这就是仿真器的基本特性。

SL-51HP实验箱仿真板中的仿真芯片SST89E516RD在出厂前已烧有监控程序,因为直接仿真即可.

仿真步骤为:

1.设置KEIL C51的DEBUG 调试参数环境。使用KEIL C51打开你的Project 用户程序更改调试仿真选项。见图

2.15:

图2.15 Options for Target ‘Target 1’

2.在Debug选择中,选择为“KEIL MONITOR-51”的硬件仿真。见图2.16所示。

图2.16 硬件仿真功能设置

3.设置仿真的通讯参数点击SETTING按钮去掉CACHE选项。见图2.17。

4.打下“仿真板电源”,

仿真调试按DEBUG —START/STOP DEBUGSESSION 按钮。见图2.18所示。

5.进入调试的仿真画面,并进行单步、连续、断点调试。见图2.19所示。

6.仿真实例:

功能:I/O 口控制8位LED ,实现流水灯控制。编成后通过SST 单片机的试验程序来验证其来运用SST 的Soft-ICE 在线仿真仿真功能。

建立工程,输入以下程序代码:

#include "reg51.h"

#include "intrins.h" 图2.17 参数通讯设定 图2.18 点击开始进行硬件仿真 图2.19 单步、连续、断点调试

#define uchar unsigned char

#define uint unsigned int

/****延时程序由Delay 参数确定延迟时间****/

void mDelay(unsigned int Delay)

{ unsigned int i;

for(;Delay>0;Delay--)

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

{;}

}

}

void main()

{ unsigned char OutData=0xfe;

while(1)

{

P0=OutData;

OutData=_crol_(OutData,1); //循环左移函数

mDelay(1000); /*延时1000 毫秒*/

} }

配置好相关选项,打开仿真板电源(仿真板红色指示灯旁边),直接点击DEBUG—START/STOP DEBUGSESSION按钮,环境界面自动跳到图2.19所视界面,使用全部运行或者单片调试均达到了流水灯的效果。调试成功!

2.4 实验箱的下载

实验箱的下载主要是指将工程生成的HEX文件下载到基础板单片机STC89C51的过程。安装光盘中的STC-ISP软件。

具体步骤如下:

1.双击STC-ISP图标:

图2.30

2.然后在“MCU Type”列表中选择单片机型号(应选择单片机板中的CPU 型号),如下图:

图2.31

3.点击“Open File”按钮,找到所要下载的HEX文件,并选中,选择“打开”,如下图:

图2.32

4.选择串口的对应端口号,(根据自己的硬件连接端口)(如COM1)。

图2.33

5.然后选“MaxBuad”中的波特率,也可以选默认值。

图2.34

6.点击”Download/下载”,然后打开基础板电源(基础板绿色指示灯旁边的白色按键),如图:

图2.35

7.稍等几秒,即可下载完成,如图:

图2.36

第3章单片机实验

3.1 基本实验

实验一熟悉Keil C51开发环境

1.实验目的

掌握keil的基本操作

2.实验设备及器件

PC机一台;实验箱一台

Keil c软件

3.实验内容

以一个简单的加减法程序来练习keil软件的应用以及相关调试方法。

4.实验步骤

①首先打开Keil uVision2。新建一个工程文件(假设该工程名为add,存储在桌面上)如下图所示。

点击“Project->New Project...”出现一个对话框,要求给新建立的工程起一个文件名,输入add(不需要扩展名),点击保存出现下一个对话,如图 3.1所示,这个对话框要求选择目标CPU(即你所用芯片的型号),我们选择Atmel 公司的89S52芯片,

点击Atmel前面的“+号”展开,选定其中的AT89S52并确定,回到主界面。至此我们就完成工程项目的建立。

②源文件的建立:使用菜单“File->New”或者点击工具栏的新建文件即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入“加减法指令”

以扩展名asm或a51保存该文件。

③添加文件到项目中去。如图3.2所示鼠标右键点击“File”窗口的“Source Group 1”,选择“Add Files To Group‘Source Group 1’”出现一个对话框,在工程目录下添加“.asm”文件。

图 3.2 添加文件

④点击“Project->Options For Target’Target 1’”出现如图3.3所示对话框,在“Outout”栏下选中“Create HEX Fi”复选框,其功能用于生成可执行代码文件(可以用汇编器写入单片机芯片的HEX格式文件,文件的扩展名为.HEX),默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,这一点是初学者容易疏忽的,在此特别提醒注意。

⑤编译、连接。在设置好工程后,即可进行编译、连接。选择菜单“Project->Build Target”,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择“Rebuild All Target Files”将会对当前工程中的所有文件重新进行编译然后再连接,确保最终产生的目标代码是最新的,而“Translate...”项则仅对该文件进行编译,不进行连接。

以上操作也可以通过工具栏按钮直接进行,图3.4是有关编译、设置的工具栏按钮,从左到右分别是:编译、编译连接、全部重建、停止编译和对工程进行设置。

图 3.4 有关编译、连接、项目设置的工具条

单片机实验报告

单片机实验报告 班级:信科09-3 姓名:王艳辉 学号:08093581 指导老师:陈岱 完成时间:2012年1月8日

实验一 I/O接口P1、P3口实验 一,实验题目 1,用P1口做输出,接八只发光二极管,编写程序,使发光二极管循环点亮。 2,用P3口做输入口,接八个扭子开关,通过P1口在实验箱上LED 灯上输出,编写程序读取开关状态,将此状态,在发光二极管上显示出来。 二,实验目的 1.熟悉使用CPLD实验箱进行单片机实验的方法。 2.设计出符合实验要求的CPLD硬件电路。 3.学习单片机仿真开发软件Keil 51的使用方法。 4.学习MCS-51汇编语言编程方法。 5.学习Pl口的使用方法。 6.学习延时子程序的编写和使用。 三,实验准备 P1和P3口为准双向口,Pl、P3的每一位都能独立地定义为输出线或输入线,作为输入时,必须向锁存器相应位写入“l”,该位才能作为输入。803l中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“l”使它再成为一个输入。再来看一下延时程序的实现。现常用的有两种方法:一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。根据实验系统的工作主频,计算出延时0.1s的

时间常量,编制延时程序: MOV R7, #200 (1) DEl:MOy R6,#X (2) DE2:DJNZ R6,DE2 (3) DJNZ R7,DEl (4) 上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需1÷0.256us现求出X值: (X*1/0.256+1/0.256+l/0.256)*200+l/0.256=0.1*10^6。解出X=l26。代入上式可知实际延时约0.100O04s,近似符合要求。 四,实验步骤 (1)打开MAX+PLUSⅡ CPLD实验开发系统。 (2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。为当前的实验选择恰当的路径并创建项目名称”E:\AT8031”。(3)点击File菜单之New项,出现对话框,为选择输入方式,选择Graphic Editor File。出现图形编辑窗口。 (4)双击空白编辑区,出现Enter Symbol 对话框。 (5)从Symbol Libraries项中选择mf子目录(双击),在prim子目录中选择输入脚input 和输出引脚output。 (6)在图形编辑窗口中的左侧点击连线按钮,并完成对电路的连线。(7)在引脚的PIN_NAME处左键双击使之变黑,键入引脚名称。

单片机开发板指导

STC89C52单片机 开发板实验指导书 目录 一、熟悉编程软件的使用 (1) 二、熟悉下载环境 (7) 三、最小系统模块 (12) 四、流水灯 (13) 五、独立按键 (14) 六、矩阵键盘扫描与数码管显示 (15) 七、串口通信实验 (17) 八、电源指示部分和蜂鸣器 (17) 附录一元器件的极性识别 (19) 附录二焊接要求与注意事项 (20)

一熟悉编程软件的使用 一、目的 掌握KEIL编程软件的安装及使用方法,熟悉KEIL编程环境。 二、步骤 (一)、先安装下载软件: 1.在单片机开发板的开发工具文件夹中找到KEIL文件夹,然后双击“C51V900修正版1.1.exe”,按照提示安装即可。安装完成后会在桌面上出现一 个KEIL uVision4的图标。 2.对KEIL软件进行在线注册,首先打开uVision4,在菜单栏中找到File选项,然后再File栏中选择License Management选项,如图1所示,在打开的License Management窗口,复制右上角的CID。 图1 在KEIL文件夹中找到“Keil_lic-v3.2.exe”,然后双击。打开注册机,在CID 窗口里填上刚刚复制的CID,其它设置不变,点击Generate生成许可号,复制许 可号,如图2所示。将许可号复制到License Management窗口下部的New License ID Code,点击右侧的Add LIC。若上方的Product显示的是PK51 Prof。Developers

Kit即注册成功,Support Period为有效期,一般可以到30年左右,若有效期较短,可多次生成许可号重新注册。如图3所示。 图2 图3 (二)、此时,KEIL软件我们就注册成功了。我们打开μVision4软件,点击Project 菜单,点击NEW,选择μVision Project建立新工程,如图4所示。在文件名窗口中输入我们要建立的工程的名字,然后在保存在窗口中选择我们的工程存储位置。然后点击保存。会出现图5所示,我们在这个窗口中选择我们板子的单片机类型,我们单片机开发板的单片机是STC公司的STC89C52RC,选择好后点击

keil-c51单片机实验指导.5.4演示教学

Keil C51实验项目 Keil C51实验项目 (1) 一、单片机的IO编程 (3) 实验1 IO开关量输入实验 (3) 实验2 IO输出驱动继电器(或光电隔离器)实验 (3) 实验3 IO输入/输出---半导体温度传感器DS18B20实验 (4) 二、单片机的中断系统 (6) 实验 1 外部中断----脉冲计数实验 (6) 实验 2 外部中断----故障报警实验 (7) 三、单片机的定时器/计数器 (8) 实验1 计数器实验 (8) 实验2 秒时钟发生器实验 (9) 四、单片机的串口特点和编程 (11) 实验1 PC机串口通讯实验 (11) 实验2 RS485通讯实验 (12) 五、存储器 (14) 实验1 RAM存储器读写实验 (14) 六、PWM发生器 (15) 实验1 PWM发生器(模拟)实验 (15) 实验2 蜂鸣器实验 (16) 七、WDG看门狗 (17) 实验1 外扩WDG(MAX705)实验 (17) 实验2 WDG(内部)实验 (18) 八、SPI总线 (18) 实验1 SPI(模拟)实验-----TLC2543 AD转换实验 (18) 实验2 SPI(模拟)实验-----TLV5616 DA转换实验 (19) 九、I2C总线 (21) 实验1 I2C(模拟)实验-----IC卡(AT24C01)读写实验 (21) 十、综合实验 (22) 实验1 HD7279LED数码管显示实验 (22) 实验2 HD7279键盘实验 (23) 实验3 电机转速实验 (24) 十一、步进电机实验 (25) 实验1 步进电机正反转实验 (25) 十二、TFT液晶显示实验 (26)

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

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”为负)。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

单片机实验指导书

实验一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所示。

51单片机实验程序

3 3 3 用查表方式编写y=x1 +x2 +x3 。(x 为0~9 的整数) #include void main() { int code a[10]={0,1,8,27,64,125,216,343,512,729}; //将0~9 对应的每位数字的三次方的值存入code中,code为程序存储器,当所存的值在0~255 或-128~+127 之间的话就用char ,而现在的值明显超过这个范围,用int 较合适。int 的范围是0~65535 或-32768~32767 。 int y,x1,x2,x3; //此处定义根据习惯,也可写成char x1,x2,x3 但是变量y 一定要用int 来定义。 x1=2; x2=4; x3=9; //x1,x2,x3 三个的值是自定的,只要是0~9 当中的数值皆可,也可重复。 y=a[x1]+a[x2]+a[x3]; while(1); //单片机的程序不能停,这步就相当于无限循环的指令,循环的内容为空白。 } //结果的查询在Keilvision 软件内部,在仿真界面点击右下角(一般初始位置是右下角)的watch 的框架内双击“double-click or F2 to add”文字输入y 后按回车,右侧会显示其16 进制数值如0x34,鼠标右键该十六进制,选择第一行的decimal,可查看对应的10 进制数。 1、有10 个8 位二进制数据,要求对这些数据进行奇偶校验,凡是满足偶校验的 数据(1 的个数为偶数)都要存到内RAM50H 开始的数据区中。试编写有关程序。 #include void main() { int a[10]={0,1,5,20,24,54,64,88,101,105}; // 将所要处理的值存入RAM 中,这些可以根据个人随意设定,但建议不要超过0~255 的范围。 char i; // 定义一个变量 char *q=0x50; // 定义一个指针*q 指向内部0x50 这个地址。 for(i=9;i>=0;i--) //9~0 循环,共十次,也可以用for(i=0;i<10;i++) { ACC=a[i]; //将a[i] 的值赋给累加器ACC if (P==0) //PSW0 位上的奇偶校验位,如果累加器ACC 内数值1 的个数为偶数那么P 为0,若为奇数,P 为1。这里的P 是大写的。 { *q=a[i]; q++; // 每赋一个值,指针挪一个位置指向下一个。 } } while(1); //同实验一,程序不能停。 }

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

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设置窗口。

单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导 实验三调度器设计基础 一、实验目的和要求 1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。 2.掌握Keil与Proteus的联调技巧。 3.掌握串行通信在单片机系统中的使用。 4.掌握调度器设计的基础知识:函数指针。 二、实验设备 1.PC机一套 2.Keil C51开发系统一套 3.Proteus 仿真系统一套 三、实验内容 1.甲机通过串口控制乙机LED闪烁 (1)要求 a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时 闪烁,关闭所有的LED。 b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。 i.甲机发送“A”,控制乙机LED1闪烁。 ii.甲机发送“B”,控制乙机LED2闪烁。 iii.甲机发送“C”,控制乙机LED1,LED2闪烁。 iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。 c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。两机的程序要 分别编写。 d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下: i.设置串口模式(SCON) ii.设置定时器1的工作模式(TMOD) iii.计算定时器1的初值 iv.启动定时器 v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。

(2)电路原理图 Figure 1 甲机通过串口控制乙机LED闪烁的原理图 (3)程序设计提示 a.模式1下波特率由定时器控制,波特率计算公式参考: b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。 2.单片机与PC串口通讯及函数指针的使用 (1)要求: a.编写用单片机求取整数平方的函数。 b.单片机把计算结果向PC机发送字符串。 c.PC机接收计算结果并显示出来。 d.可以调用Keil C51 中的printf来实现字符串的发送。 e.单片机的数码港显示发送的次数,每9次清零。

单片机实验指导书

实验一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”子窗口如图所示。

单片机实验报告(学期全部实验)

单片机程序设计 实 验 报 告 姓名: 学号: 专业班级:

第二节课: 实验一:1357,2468位置的灯交替闪烁 一实验要求 1357,2468位置的灯交替闪烁。 二硬件连接图与结果 三原理简述 程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。四程序 #include main () { int i; P0=0XAA; //1357四个灯亮 for (i=0;i<=25000;i++); //延时程序 P0=0X55; //2468四个灯亮 for (i=0;i<=25000;i++); //延时程序 }

五所遇问题与解决方式 程序比较简单,没有遇到问题。 实验二:流水灯 一实验要求 流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。二硬件连接图与结果 三原理简述 程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转

移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。时间间隔简单的用了一个延时的语句。 因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。 四程序 //流水灯 #include main () { int i,j; while(1) { P0=0X01; //第1个灯亮 for (i=0;i<=30000;i++); //延时程序 for(j=0;j<=7;j++) //移位循环程序 { P0=P0<<1; //移位 for (i=0;i<=30000;i++); //延时程序 } P0=0xff; //全亮 for (i=0;i<=30000;i++); //延时程序 } }

单片机实验

实验一:MCS-51单片机开发环境的应用(2学时) 实验目的: 掌握MCS-51单片机实验系统的使用,以及在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 实验要求: ⑴将数据存储器的40H~4FH的内容赋值成00H~0FH,并将40H~4FH 的内容整体复制到50H~5FH。 ⑵将数据存储器的40H~4FH的内容赋值成00H~0FH,并将两两相加之和送到50H~57H的数据空间中。 实验二:MCS-51汇编语言典型算法程序设计(2学时) 实验目的: 掌握汇编语言程序设计的方法及常用算法的实现。 实验要求: ⑴将数据存储器的40H~4FH中杂乱无序的数按降序排列。 ⑵将两个ASCII码表示的两位10进制数转换成压缩BCD码(低4位存个位,高4位存十位)。

实验三:单片机I/O实验(2学时) 实验目的: 掌握MCS-51单片机的I/O口使用方法。 实验要求: ⑴P1口作输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 ⑵P1.0,P1.1作为输入口接两个拨动开关,P1.2,P1.3作输出口接两个发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 实验四:单片机定时器实验(2学时) 实验目的: 了解MCS-51单片机定时器的结构及使用方法。 实验要求: 用CPU内部定时器方式计时,实现每秒钟输出状态发生一次翻转。

实验五:单片机中断实验(2学时) 实验目的: 掌握中断控制单元的设置方法及中断的编程方法。 实验要求: ⑴用单次脉冲申请中断,在中断处理程序中对输出信号进行翻转。 ⑵用单次脉冲申请中断,要求程序中对每次中断进行计数,并将计数结果显示在发光二极管上。 实验六:单片机综合实验(4学时) 实验目的: 通过实验培养学生综合设计能力,并从整体上了解单片机的性能。实验要求: 本实验模拟交通信号灯控制,一般情况下正常显示,当有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒。急救车通过后,交通恢复正常。本实验需用另一台PC机上的串口调试助手(或超级终端)发送“1”,表示有急救车通过。

单片机原理实验指导书(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口的

单片机io口实验报告

实验一 以下所有KEIL工程、程序均命名为自己姓名的拼音 一、实验目的: 熟悉KEIL软件的开发,掌握程序下载流程 二、实验环境: 1.硬件:PC微机、单片机开发板 2.软件:KEIL 三、实验步骤: 1.在KEIL中新建工程文件,在工程文件下新建C文件“姓名首字母.c”并加入到工程 中(注意C语言编程时,工程中要保留STARTUP.A51汇编文件)。 2.编写程序,初始化内部数据寄存器0x40开始的100个地址单元,写入0x55,然后复 制到0x60开始的存储器中,使用软件仿真的方式调试程序,观察程序模拟运行的结果: #include "reg52.h" unsigned char *p,*q; unsigned char i; int main(){ p=0x40; for(i=0;i<10;i++) { *p=0x55; p++; } for(i=0;i<10;i++) { *p=*q;

q++; p++; while(1); } } 调试时,在调试界面中依次找到 a) 变量观察窗口 b) 存储器窗口 c) 单步运行 d) 全速运行 程序运行结果(存储器窗口截图): 3.编写程序,控制实验板上的LED灯:D1-D3点亮,D4-D7熄灭,D8点亮#include”reg52.h” sbit P1_4=P1^4; int main() { P1_4=0; P0=0x1E;

While(1); } 4.编写C语言程序,实现LED灯循环点亮 #include "reg52.h" void delay (unsigned z) { while(z--); } int main() { unsigned char i; P1&=~(0x01<<4); P0=0xff; i=0x01; while (1) { P0=~i; i=i<<1; if(i==0x0) i=0x01; delay(10000); } } 四、实验总结

单片机实验指导书

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

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

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

单片机实验指导

(内部教材) 单片机实验指导书 周小波编 阜阳师范学院物理与电子科学学院电子信息科学与技术教研室

第一章系统概述 一、系统简介 MCS-51单片机实验板是物理与电子科学学院自主研发设计的单片机实验系统。板载一片51内核STC89C52单片机,整个实验系统由17个独立模块组成,各模块相互独立,给学生提供了更大的发挥空间。利用目前流行的Keil c51软件,进行软、硬件仿真开发调试。 二、各模块电路 (1)单片机最小系统模块 最小系统电路主要由STC89C52单片机、时钟电路、复位电路等构成,所有的IO口均引出。 (2)串口电平转换模块

串口电平转换电路主要由MAX232芯片以及相关外围电路构成,可以用来下载程序,以及作串口通信实验。 (3)数码管驱动模块 8位共阳极数码管采用8550(PNP)三极管驱动,模块预留位选端口和段选端口两排插针,根据需要可自行连接。 (4)LED发光二极管模块 板载8个发光二极管,J1为接线端口,可根据需要自行连接到单片机的IO 口或者其他外设上,PZ2为排阻,起限流作用。 (5)键盘模块 键盘电路由4各独立按键和4*4矩阵键盘构成,Pk2接口为独立键盘的接线端子,Pk1端口为矩阵键盘的接线端子。

(6)DA转换模块 DA转换电路采用8位DA芯片DAC0832,PDA端口为8位数据的输入端,11 脚为DAC0832输出端,发光二极管用于指示DA转换的结果。 (7)AD转换模块 AD转换电路由8位AD转换芯片ADC0804构成,通过调节VR1电位器可以改 变AD输入端的模拟电压。

(8)电机驱动模块 采用L298N模块作为电机驱动,可以驱动2个直流电机或1个步进电机, J5为信号输入端,输出端J6接直流电机或者步进电机。 (9)总线扩展模块 采用82C55芯片作为总线的扩展,采用一片锁存器74HC573,使P0口可以作 为地址和数据总线的复用端口。J9为82C55的控制总线接线端子,J10为82C55 的地址和数据接线端子,PA、PB、PC为82C55的输出端口,可以外接其他外设完 成相应的实验。

单片机定时器实验报告

( 2009 —2010 学年第二学期) 课程名称:单片机开课实验室: 2010年 5月14日 一.实验目的: 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二.实验原理: MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。 定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。 定时器的编程包括: 1)置工作方式。 2)置计数初值。 3)中断设置。 4)启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。 在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动

将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0和T1对应的中断矢量地址分别为000BH 和001BH。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继续执行。 因此,我们在编写中断服务程序时注意。 1.在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K 字节程序存储器的任何空间。 2.在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器的信息。 3.若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在返回前再开放中断。 三.实验内容: 编写并调试一个程序,用AT89C51的T0工作方式1产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。 计算初值公式 定时模式1 th0=(216-定时时间) /256 tl0=(216-定时时间) mod 256

基于51单片机的模数转换AD实验设计

HEFEI UNIVERSITY 单片机课程综述报告 主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽 专业通信工程 学号1105021006 班级11级通信(1)班 指导老师汪济洲 2014 年 6 月 2 日

目录 1.实验目的与要求 (1) 1.1实验目的 (1) 1.2实验要求 (1) 2.实验原理 (1) 2.1电路原理图 (1) 2.2 Proteus7.4 软件简介 (2) 3、实验步骤 (6) 4、源程序代码 (6) 5. 实验结果分析 (10) 6.总结 (10)

1.实验目的与要求 1.1实验目的 1.掌握A/D转换与单片机的接口方法 2.了解A/D芯片ADC0809转换性能及编程方法 3.通过实验了解单片机如何进行数据采集 1.2实验要求 1.采用查询法或中断法编程进行A/D采集; 2.采集0~5V围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。 2.实验原理 2.1电路原理图 熟悉8051的输入输出端口的使用方法, 本实验的电路连接如图1所示。

图1 连接电路 2.2 Proteus7.4 软件简介 Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ②支持主流单片机系统的仿真。目前支持的单片机类型有: ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。 ③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,

相关文档
最新文档