《59编号51单片机20个实验,代码详细》由会员分享,可在线阅读,更多相关《59编号51单片机20个实验,代码详细(79页珍藏版)》请在金锄头文库上搜索。
1、单片机原理实验指导书 实验教学版本 第 1 页 第一章第一章 单片机系统板说明单片机系统板说明 一、概述一、概述 单片机实验开发系统是一种多功能、 高配置、 高品质的MCS-51单片机教学与开发设备。 适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验 开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验, 并能一直延伸到综合电 子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高, 同时又具备完备的保护措施。 为适应市场上多种单片机器件的应用, 该系统采用 “单片机板+ 外
2、围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不 同的教学需求。 二、二、 单片机板简介单片机板简介 本实验系统因为自带了 MCS-51 单片机系统,因此没有配置其他单片机板,但可以根据 教学需要随时配置。 以单片机板为母板, 并且有 I/O 接口引出, 可以很方便的完成所有实验。 因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51 单片机板 板上配有 ATMEL 公司的 STC89C51 芯片。 STC89C51 资源:32 个 I/O 口;封装 DIP40。 STC89C51 开发软件:KEIL C51。 2、MSC-51 单片机结构 (1)单片机
3、板中央放置一块可插拔的 DIP 封装的 STC89C51 芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有 IO 引脚的插孔,旁边标有 I0 引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成个完整的实验系统。 三、三、 母板简介母板简介 主要技术参数 (1)实验系统电源 实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验 的稳定性。 主板的右上角为电源总开关,当把 220V 交流电源线插入主板后,打开电源开关,主板 单片机原理实验指导书 实验教学版本 第 2 页 得电工作。为适用多种需要,配置了+5V,+12V,5V 电压供主
4、板和外设需要,通过右上 角的插针排和插孔输出到外设。此外,还设有螺旋保险插孔保护实验箱。 (2)RS232 接口 RS232 接口通过 MAX232 芯片实现与计算机的串行通讯,通过接口引出信号。 (3)单片机最小系统 单片机最小系统的核心是 ATMEL 公司的 AT89S51 单片机,AT89S51 右边的按键是复 位键,按下时单片机复位,单片机的放两排插孔,分别是 : P1.0P1.7,P0.0P1.7,P3.0 P3.7, P2.0P2.7,它们可以实现单片机实验和开发。 (4)模拟量接口 一个模拟量接口,由 ICL8038 产生,通过插孔引出。 (5)DA 转换器 DA 转换器由 DA
5、0832,LM324 芯片组成,(8 位,05V 电压输出),对应的接口序号 为:数据信号:D0D7;片选信号:/CS;读有效信号OE。 (6)AD 转换器 AD 转换器和 DA 转换器相临,主要由 ADC0809 组成,(8 位)对应的接口序号为: 模拟输入:IN0-IN7;基准电压:REF+,REF -;读写信号:RD,WR;输出信号:D0 D7;检测信号:I0;地址锁存允许:ALE。 (7)8 位拨动开关 8 位拨动开关由 KlK8 组成,每一位都有相应 LED(DlD8)指示,当拨码开关拨上边 时输出高电平,LED 亮;拨下边时输出低电平,由插孔 l8 输出。 (8)24 位按键开关
6、24 位按键开关位于主板中下方, 由按键 KlK24 组成, 有六排, 第一排按下时是高电平, 弹上时是低电平,由插孔 14 输出;第二排按下时是低电平,弹上时高电平,由插孔 1 4 输出;第三到第六排是 4*4 的行列式键盘;由 L1L4,H1H4 输出。 (9)静态显示数码管 静态显示区由数码管 DP1DP6 组成,由插孔输出,供静态显示用。 (10)发光二极管显示区 8 位红色发光二极管,高电平亮,可作为状态指示用;另一部分是交通灯,由东西南北 四组红绿黄发光二极管构成,高电平亮。 (11)动态扫描显示区 系统的显示采用8位8段共阴或共阳数码管(高电平有效), 所对应的接口序号为 : 段
7、码 : a, b,c,d,e,f,g,h;位选:L1,L2,L3,L4,L5,L6,L7,L8。 (12)蜂鸣器 蜂鸣器(高电平 TTL 驱动)从其下方对应输入口,会产生 lKHz 的信号响声。 (13)继电器控制区 单片机原理实验指导书 实验教学版本 第 3 页 继电器控制区主要由 KJ1KJ3 三个继电器及其驱动电路组成,高电平 TTL 驱动,输 出接口分别为 JJ1,JJ2,JJ3。 (14)数字温度计 数字温度计使用 DS1302 温度传感器,输出接口为 SCLK、I/O、RESET。 (15)EEPROM EEPROM(AT24C16), 用来保存数据信息, 接口序号为 : 串行数据
8、线 : SDA; 时钟线 : SCL ; 写保护线:WP。 (16)串行 A/D AD 转换器主要由 MAX192 组成,(8 位)对应的接口序号为:模拟输入:IN0-IN7;片 选信号:CS;输出信号:DOUT;时钟信号:SCLK;转换开始:SSTRB。 (17)变频模块 (18)直流斩波模块 (19)红外模块 四、四、 主要实验项目主要实验项目 本实验系统由于采用模块化设计,各模块之间既相互独立,又可相互组合, 完成各种类型实验。其中包括验证性基础实验,综合性、设计性、创新性实验以 及研究开发性、创新性、及全国电子大赛赛前培训实验等。以下列举了本实验系 统能做的部分单片机原理课程实验及课外
9、开放性备选实验项目。 单片机原理课程实验单片机原理课程实验 实验一 LED 显示器指示 实验二 软件延时及灯光控制实验 实验三 多级外部中断实验 实验四 脉冲频率的测量实验 实验五 串行口扩展实验 实验六 串行 EEPROM 的读出和写入实验 实验七 8 位 A/D、D/A 转换器的应用实验 实验八 串行 A/D、D/A 的应用实验 实验九 直流继电器的驱动及控制实验 实验十 数据采集的软件抗干扰实验 实验十一 密码锁控制器的设计 实验十二 数字温度控制器的设计 实验十三 8255 扫描键盘显示实验 实验十四 音乐编程实验 实验十五 声光报警实验 实验十六 可预置可逆计数器实验 单片机原理实验
10、指导书 实验教学版本 第 4 页 实验十七 DS1302 时钟芯片的应用实验 实验十八 红外通信接口实验 实验十九 单片机变频调速实验 实验二十 交通灯控制实验 部分备选实验项目部分备选实验项目 实验一 闪烁灯 实验一 模拟开关灯 实验一 多路开关状态指示 实验一 广告灯的左移右移 实验一 广告灯(利用取表方式) 实验一 报警产生器 实验一 I/O 并行口直接驱动 LED 显示 实验一 按键识别方法之一 实验一 0099 计数器 实验一 定时计数器 T0 作定时应用技术(一) 实验一 动态数码显示技术 实验一 44 矩阵式键盘识别技术 实验一 定时计数器 T0 作定时应用技术(一) 实验一 定
11、时计数器 T0 作定时应用技术(二) 实验一 “叮咚”门铃 实验一 数字钟 实验一 ADC0809A/D 转换器基本应用技术 单片机原理实验指导书 实验教学版本 第 5 页 第二章 第二章 Keil C 软件使用软件使用 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体, 支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。 下面介绍 Keil C51 软件的使用方法 进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界 启动 Keil C51 时的屏幕 进入 Keil C51 后的编辑界面 简单程序的调试简单程序的调试 学习程序设计
12、语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编 程、调试,引导大家学习 Keil C51 软件的基本使用方法和基本的调试技巧。 单片机原理实验指导书 实验教学版本 第 6 页 1)建立一个新工程 单击 Project 菜单,在弹出的下拉菜单中选中 New Project 选项 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字 为 C51 如下图所示,然后点击保存. 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选 择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的8
13、9C51 来说明,如下图所示,选择 89C51 之后,右边栏是对这个单片机的基本的说明,然后点击确定. 单片机原理实验指导书 实验教学版本 第 7 页 4)完成上一步骤后,屏幕如下图所示 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项 新建文件后屏幕如下图所示 单片机原理实验指导书 实验教学版本 第 8 页 此时光标在编辑窗口里闪烁, 这时可以键入用户的应用程序了, 但笔者建议首先保存该 空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示, 在“文件名”栏右侧
14、的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意, 如果用语言编写程序, 则扩展名为(.c); 如果用汇编语言编写程序, 则扩展名必须为(.asm)。 然后,单击“保存”按钮。 6)回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键, 弹出如下菜单 然后单击“Add File to Group Source Group 1” 屏幕如下图所示 单片机原理实验指导书 实验教学版本 第 9 页 选中 Test.c,然后单击“Add ”屏幕好下图所示 注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子
15、项的多少与所增加的源程 序的多少相同 7)现在,请输入如下的 C 语言源程序: #include /包含文件 #include void main(void) /主函数 SCON=0 x52; TMOD=0 x20; TH1=0 xf3; TR1=1; /此行及以上 3 行为 PRINTF 函数所必须 printf(“Hello I am KEIL. n”); /打印程序执行的信息 printf(“I will be your friend.n”); while(1); 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即 Keil c51 会自 动识别关键字,并以不同的颜色提示
16、用户加以注意,这样会使用户少犯错误,有利于提高编 单片机原理实验指导书 实验教学版本 第 10 页 程效率。程序输入完毕后,如下图所示 8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷 键 F7), 编译成功后, 再单击 “Project”菜单, 在下拉菜单中单击 “Start/Stop Debug Session”(或 者使用快捷键 Ctrl+F5),屏幕如下所示 单片机原理实验指导书 实验教学版本 第 11 页 9)调试程序:在上图中, 单击 “Debug”菜单, 在下拉菜单中单击 “Go”选项, (或者使用快捷键 F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键 Esc);再单击 “View”菜单,再在下拉菜单中单击 “Serial Windows #1”选项,就可以看到程序 运行后的结果,其结果如下图所示 至此,我们在 Keil C51 上做了一个