《单片机原理与应用指导书》由会员分享,可在线阅读,更多相关《单片机原理与应用指导书(18页珍藏版)》请在金锄头文库上搜索。
1、单片机原理与应用实验指导书黑龙江工程学院 汽车系2009年9月第1章 斯迈特 S51E 在线学习板该学习开发板采用 ISP 在系统可编程技术,完全摆脱了单片机仿真器、编程器的束缚,大大降低了单片机学习开发的成本。采用将编程电缆与实验板分离技术,能够将编程电缆线用于其它用户板,完全实现了 ISP 技术。利用 S51E 板板上资源可以学习键盘控制、LED 动态显示、A/D 转换、D/A 转换、IIC 总线 RAM(掉电内存)、继电器控制、步进电机控制、液晶显示、以及 RS232 多机通信控制使用等,利用 89S51_E 板还可以根据用户的不同要求进行外围扩展。一、原理图(参见 S51E.SCH F
2、OR PROTEL99)二、资源介绍(1)开发板资源说明6 位 LED 数码管、8 只小灯、6 只按键、1 路蜂鸣器、串行 EEPROM 系列:AT24C02、RS232串行通讯、2 路串行 AD 转换 ADC0832、步进电机、直流电机、电子琴、时钟、继电器、LCD 液晶接口、AT89S51 在线编程接口(2)资源引脚说明ZIF_40 脚锁进座:用于锁紧 AT89S51/52/53 系列芯片。CPU 周围共有 4 X 8=32 个跳线器,分别对应 P0,P2,P1,P3 口线选择:跳线器位于下方则:焊盘 P0.(00 07)与 CPU 的 P0.0 P0.7 口一一对应焊盘 P1.(10 1
3、7)与 CPU 的 P1.0 P1.7 口一一对应。焊盘 P2.(20 27)与 CPU 的 P2.0 P2.7 口一一对应焊盘 P3.(30 37)与 CPU 的 P3.0 P3.7 口一一对应跳线器位于上方则:数码管 LED1_6(笔段 A H)与 CPU 的 P0.0 P0.6 口一一对应数码管 LED1_6(位)与 CPU 的 P2.7 P2.2 口一一对应指示灯(L1 L6)与 CPU 的 P1.0 P1.7 一一对应。P3.0 口对应 RS232 的 RX 端P3.1 口对应 RS232 的 TX 端按钮 SW0 SW6 与 CPU 的 P3.3 口相连、并与 P0.0-P0.5
4、共享P3.2 口对应 AT24C02 的 SCK 端P3.4 口对应 AT24C02 的 SDA 端P3.5 口对应 ADC0832 的 CS 端P3.6 口对应 ADC0832 的 DI 端P3.7 口对应 ADC0832 的 DO 端P2.1 口对应 ADC0832 的 CLK 端注意:LED1-6、L1-L6 均为共阳接法,因此低电平点亮 LED 及指示灯。按钮 SW1-SW6 按下时,并分别对应于 P2.7-P2.2 接中断,该程序请参考样例程序。RESET 为 RESET 开关。OSC 为晶体(0-33MHz)插接区。小 LED 为电源指示灯。RS232 接线端:RX 为 89S51
5、/52/53 的 232 电平 RDX 端弯脚 DB9 接线:2 为串形输出口3 为串形输入口5 为接地用户接线时只需使用不交叉的串口线与计算机相连RST、PSEN、 ALE、VCC、GND 与 CPU 的 ALE,PSTN,RESET、VCC、GND 端直接相连,用于系统扩展。电源输入为:使用 9V 稳压电源即可、电源芯为正、外筐为地 。三、出厂方式介绍可以使用A/D转换,AT24C02,串口通讯,数码管的动态扫描、蜂鸣器、ADC0832、24C02、在线编程等资源,可以查阅光盘中的 PDF 文件来熟悉这些资源的应用。(CPU 管座)液晶接口 LCD可以自己接线将接口上的焊盘与 89s52
6、的 I/O 口相连,必须参考液晶的说明书,了解其特性,方可进行连接,以免减少不必要的损失。在演示盘中提供了扩展一个液晶的 ASM 样例程序(DEMO_LCD.ASM),用户可以通过参考样例程序来熟悉对液晶的控制技术。步进电机和继电器:RS232 串口通讯:电路中的 RS232 芯片是用来将 TTL 电平与 232 电平互转。我们可以将两块 51A/D/E板进行通讯实验如:用 A 板(发出信号的 51_E 板)向 B 板(接收信号的 51E 板)发出信号,即用不同的按键来发出信号,则 B 板上的数码管会出现相应的数字(SW1 为 1,SW2 为 2,SW3 为 3,-SW6 为 6)。A/D 转
7、换接口串行 EEPROM AT24C02说明:采用动态扫描方式,若检测键盘,不采用 LED 数码显示时:只需将 P3.3 口置成低电平,然后判断 P2.2-P2.7 哪一个口线为低电平即可;若采用数码显示,先将 P3.3 置高,在对 P2.2-P2.7 顺序扫描(相应的一位置低电平)的同时,读取 P3.4引脚是否为低电平,如为低电平,则表示相应的一位置按键按下.8 只 LED 小灯及 6 位数码管:说明:采用共阳接法,若要将 LED 点亮,则只须将单片机 P1 口上相应的 I/O 置成低电平。数码管由 2N5401 驱动!集成温度传感器 DS18B20,量程:-20-+120 度,分辩率:12
8、 位,自校零。用户自行购买后,将其焊接在传感器位置上,运行可测量温度。本机电源输入为:9V 12V第2章 建立KeilC51项目运行KEIL软件,接着按下面的步骤建立您的第一个项目:(1)点击 Project 菜单,选择弹出的下拉式菜单中的 New Project,如图 21。接着弹 出一个标准 Windows 文件对话窗口,如图 22。在“文件名”中输入您的第一个 C 程序项 目名称,这里我们用“test”。“保存”后的文件扩展名为 uv2,这是 KEIL uVision2 项目文件扩展名,以后能直接点击此文件以打开先前做的项目。图 21 New Project 菜单图 22 文件窗口(2)
9、选择所要的单片机,这里选择常用的 Ateml 公司的 AT89s52。此时屏幕如图 23 所示。AT89s52 有什么功能、特点呢?看图中右边有简单的介绍。完成上面步骤后,就可 以进行程序的编写了。(3)首先在项目中创建新的程序文件或加入旧程序文件。如没有现成的程序,就要新建一个程序文件。在 KEIL 中有一些程序的 Demo,在这里我们还是以一个C程序为例介绍如何新建一个C 程序和如何加到您的第一个项目中。点击图 24 中 1 的新建文 件的快捷按钮,在2 中出现一个新的文字编辑窗口,这个操作也可通过菜单 FileNew 或 快捷键 Ctrl+N 来实现。下面是经典的一段例程序:#inclu
10、de #include void main(void)SCON = 0x50; /串行口方式 1,允许接收TMOD = 0x20; /定时器 1 定时方式 2TCON = 0x40; /设定时器 1 开始计数TH1 = 0xE8; /11.0592MHz 1200 波特率TL1 = 0xE8; TI = 1;TR1 = 1; /启动定时器while(1)printf (Hello World!n); /显示 Hello World图 23 选取芯片图 24 新建程序文件这段程序的功能是不断从串行口输出“Hello World!”字符,先不管程序的语法和意思吧,先 看看如何把它加入到项目中和如何
11、编译试运行。(4)点击图 24 中的 3 保存新建的程序,也能用菜单 FileSave 或快捷键 Ctrl+S进行保存。因是新文件所以保存时会弹出类似图 24 的文件操作窗口,把第一个程序命名为 test1.c,保存在项目所在的目录中,这个时候会发现程序单词有了不一样的颜色,说明 KEIL的C语言语法检查生效了。如图 25 鼠标在屏幕左边的 Source Group1 文件夹图标上右击弹出 菜单,在这里能做在项目中增加减少文件等操作。选“Add File to Group Source Group 1” 弹出文件窗口,选择刚刚保存的文件,按 ADD 按钮,关闭文件窗,程序文件已加到项目中了。这
12、个时候在 Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它能展开查看。图 25 把文件加入到项目文件组中(5)C程序文件已被加到了项目中了,下面可以编译运行了。这个项目只是用做学习新建程序项目和编译运行仿真的基本方法,所以使用软件默认的编译设置,它不会生成用 于芯片烧写的 HEX 文件。先看图 26,图中 1、2、3 都是编译按钮,不一样是 1 是用 于编译单个文件。2 是编译链接当前项目,如果先前编译过一次之后文件没有做动编辑改动, 这个时候再点击是不会再次重新编译的。3 是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动。在 3 右边的是
13、停止编译按钮,只有点击了前三个中的任一个,停止按钮 才会生效。5 是菜单中的它们。在 4 中能看到编译的错误信息和使用的系统资源情况等, 以后我们要查错就靠它了。6 是有一个小放大镜的按钮,这就是开启关闭调试模式的按钮,它也存在于菜单 DebugStartStop Debug Session,快捷键为 Ctrl+F5。图 26 编译程序(6)进入调试模式,软件窗口样式大致如图 27 所示。图中 1 为运行,当程序处于停止状态时才有效,2 为停止,程序处于运行状态时才有效。3 是复位,模拟芯片的复位,程序回到最开头处执行。按4 能打开 5 中的串行调试窗口,这个窗口能看到从 51 芯片的串行口输
14、入输出的字符,这里的第一个项目也正是在这里看运行结果。这些在菜单中也有。首先按4打开串行调试窗口,再按运行键,这个时候就能看到串行调试窗口中不断的打印“Hello World!”。最后要停止程序运行回到文件编辑模式中,就要先按停止按钮再按开启关闭调试 模式按钮。然后就能进行关闭 KEIL 等相关操作了。图2-7为了让编译好的程序能通过编程器写入51芯片中,要先用编译器生成HEX文件,下面来看看如何用KEIL uVISION2来编译生成用于烧写 芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字 节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理
15、器的目标程序代码。它保 存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一个 项目,打开它的所在目录,找到test.Uv2的文件就能打开先前的项目了。然后右击图28 中的1项目文件夹,弹出项目功能菜单,选Options for TargetTarget1,弹出项目选项设置窗口, 同样先选中项目文件夹图标,这个时候在Project菜单中也有一样的菜单可选。打开项目选项窗口, 转到Output选项页图28所示,图中1是选择编译输出的路径,2是设置编译输出生成的文件 名,3则是决定是否要创建HEX文件,选中它就能输出HEX文件到指定的路径中。选好了再将它重新编译一次,很快在编译信息窗口中就显示HEX文件创建到指定的路径中了,如图29。这样就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果,编程器可以利用ISP下载程序。(技巧:一、在图28中的1里的项目文件树形目录中,先选中对象,再单击它就可对它进行重命名操作,双