[计算机软件及应用]单片机原理与接口实验讲义.doc
《[计算机软件及应用]单片机原理与接口实验讲义.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]单片机原理与接口实验讲义.doc(33页珍藏版)》请在三一办公上搜索。
1、单片机原理与接口实验讲义 课程性质:专业基础课 授课班级: 授课时间:2012.8.272013.1.6授课教师:上课时间:星期二 1、2节 星期四 3、4节 星期二 7、8节 星期四 1、2节学生人数:100+75人 第一章 AT89S51单片机实验及实践系统板简介AT89S51单片机实验及实践系统板(以后简介系统板)集成多个硬件资源模块,每个模块各自可以成为独立的单元,也可以相互组合,因此,可以为不同阶层的单片机爱好者及单片机开发者提供不同的开发环境。每个硬件模块介绍如下:1 继电器控制模块系统板上提供了2路继电器控制模块,分布在系统板的最左上端区域中,输入信号由Realy in 1和Re
2、aly in 2端口输入分别控制两路继电器,继电器控制的信号分别由最上端的两个插针输入和输出。分别称为“com1 open1 short1”,“com2 open2 short2”,由于这个两个继电器是单刀单掷控制,当继电器不吸合时,“com1”和“short1”相通,“com2”和“short2”相通;当继电器吸合时,“com1”和“open1”相通,“com2”和“open2”相通。其电路原理图1.1所示:图1.12 参考电压源模块在系统板上写有“参考电压源”区域中,是由TL431来完成参考电压的调节,调节范围在02.50V之间;主要为是系统板上需要参考电压芯片或是为外部设备提供参考电压,
3、由Var Vref Out端口输出。其电路原理图如图1.2所示:图1.23 三路可调电压模块此模块主要是用于提供05V之间的可变的模拟电压值,即可以作为参考电压源也可以作为模拟电压信号。这三路是相互独立的。分别对应着由VR1,VR2,VR3端口输出。具体的电路原理图如图1.3所示:图1.34 电源模块电源模块为系统板上其它模块提供5V电源,电源输入有两种方式,一种为交直流电源从电源插座输入,输入的电压要求,直流输入应大于7.5V,交流输入应大于5V,通过7805三端稳压器得到5V的直流电源供给系统其它模块工作,另一种为从USB接口获取5V电源,只要用相应配套的USB线从电脑主机获取5V直流电源
4、,在电源模块中加有保护电路,即电路中有短路,不会对7805三端稳压器及电脑主机电源有损害!其电路原理图如图1.4所示:图1.45 程序下载模块该模块完成源程序代码下载到AT89S51或者是AT89S52芯片中,它需要和微机上的ISP下载器软件配合使用来完成这样的功能。具体的电路原理图如图1.5所示:图1.56 232电平转换模块232电平转换采用MAX232芯片把TTL电平转换成RS232电平格式,可以用于单片机与微机通信,以及单片机与单片机之间的通信,在该系统板上提供了两个DB9的接口,其中一个用ISP下载器模块的程序下载接口,称为“ISPInterface”,另一个接口为单片机与其它具有R
5、S232接口的通信端口,称为“Common Port”。具体的电路原理图如图1.6所示:图1.67 频率产生器模块该模块采用555芯片产生一些连续频率的方波信号,由“WAVEGND”端口输出,其稳定可调的频率范围在5KHz100KHz之间变化。电路原理图如图1.7所示:图1.78 音频放大模块该音频放大模块采用LM386芯片作为音频的功率放大,音频信号由“SPK IN”端口输入,信号的输出由“SPKOUT”端口输出,只要在“SPKOUT”接一个喇叭即可。具体的电路原理图如图1.8所示:图1.89 模数转换模块系统板上的模数转换模块采用ADC0809芯片,组成8路8位的A/D转换,8路模拟电压的
6、输入由IN0IN7的端口输入,控制ADC0809芯片工作的控制信号由“CLKOEEOCSTA2A1A0”端口输入,转换的数据从D0D7的端口输出。具体的电路原理图如图1.9所示:图1.910 动态数码显示模块该系统中采用8位的动态数码显示,控制数码显示的数据由两部分组成,一部分为笔段亮灭控制的信号输入由“ABCDEFGH”端口输入,而控制位显示的控制信号由“S1S2S3S4S5S6S7S8”端口输入,同时该动态数码显示采用共阴数码管;具体的电路原理图如图1.10所示:图1.1011 四路静态数码显示模块在该模块中,每一路端口对应着一个具体的数码管,具体的电路原理图如图1.11所示:图1.111
7、2 8X8点阵模块该系统板上提供了8X8点阵模块,用于理解单片机是如何控制点阵数码管的工作过程,它有两个输入控制端口,对于点阵数码管有行和列之分,这两个端口分别控制它们的行和列,“DR1DR8”为8X8点阵模块的行信号控制端口,“DC1DC8”为8X8点阵模块的列信号控制端口。具体的电路原理图如图1.12所示:图1.1213 八路发光二极管指示模块该模块采用8个发光二极管作为指示信号作用,即可以用排线来控制,也可以单个地控制每个发光二极管的亮灭,当控制信号为低电平时,发光二极管亮,为高电平时,发光二极熄灭;控制电平的输入由“L1L8”输入。电路原理图如图1.13图1.1314 三八译码模块在系
8、统板上提供了三八译码模块,控制译码器译码信号由“CBA”端口输入,译出的控制信号由“Y0Y7”输出。电路原理图如图1.14图1.1415 串并转换模块该系统板上采用了四个74LS164(移位寄存器)作为串并转换模块,这四路串并转换模块已经级连起来。串行数据从“RXDTXD”端口输入;具体的电路原理图如图1.15所示:图1.1516 数模转换模块系统板上的数模转换模块采用了8位的D/A转换芯片DAC0832来完成数模转换过程,DAC0832是电流输出型D/A转换芯片,因此,后面接有集成运放LM358来完成电流到电压的转换。其中的数字信号的输入从“D0D7”端口输入,控制DAC0832工作的控制信
9、号由“WRCS”端口输入,模拟量的输出从“AOUT”端口输出,由于LM358工作在双电源条件下,因此要给LM358加入12V电压,从“12VGND12V”端口加入。具体的电路原理图如图1.16所示:图1.1617 单片机系统该系统板上的单片机系统把全部的I/O端口资源提供出来,因此,在实际应用的时候,可以灵活地组合成不同的单片机应用系统,该单片机采用12MHZ晶振,具体的电路原理图如图1.17所示:图1.1718 四路拨动开关模块开关控制信号由“K1K2K3K4”端口输出,具体的电路原理图如图1.18所示:图1.1819 分频模块该系统板上的分频电路采用2片74LS74来完成最大16分频,输入
10、的时钟信号由“CK IN”端口输入,经过2片74LS74分频后的信号分别由“/1 /2 /4 /8 /16”端口输出,分别表示未分频,2分频,4分频,8分频,16分频;具体的电路原理图如图1.19所示图1.1920 四路单总线模块为了适应新技术的需要,增加1Wire总线接口,在本系统板上提供了四路1Wire总线接口,数据传输通过“DQ1DQ2DQ3DQ4”端口来完成;具体的电路原理图如图1.20所示:图1.2021 二线总线模块(I2C总线)为了适应新技术的需要,增加了2路I2C总线接口,适用8脚的I2C总线芯片,左边的“PIN1 PIN2 PIN3 PIN4 PIN5 PIN6”与上面的接口
11、连接,右边的“PIN1 PIN2 PIN3 PIN4 PIN5 PIN6”与下面的接口连接;具体的电路原理图如图1.21所示:图1.2122 独立式键盘模块键盘是人机通信不可缺少的部件,独立式键盘是最基本的一种键盘方式,在本系统中提供了四个独立式按键;具体的电路原理图如图1.22所示:图1.2223 44行列式键盘模块行列式键盘也即矩阵式键盘,它由行和列组成,在每个行列的交叉点上放置一个按键,这样44行列式键盘共需要16个键盘组成;具体的电路原理图如图1.23所示:图1.2324 32KB数据存储器模块为了适应大容量的数据处理的需要,在系统板上加入了32KB数据存储器(RAM),数据总线从“D
12、0D7”的端口输入,高8位地址总线从“A8A15”端口输入,控制数据存储器的读写控制信号从“ALECSWRRD”端口输入,具体的电路原理图如图1.24所示:图1.24以上是“AT89S51单片机实验及实践系统板”的所有硬件资源简介,通过这24个模块之间的相互组合,可以设计出从基本的单片机系统到复杂的单片机应用控制系统的设计,是初学者对单片机入门和开发不可缺少的过程。第二章 Keil C软件使用Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。下面介绍Keil C51软件的使用方法进入 Keil
13、 C51 后,屏幕如下图所示。几秒钟后出现编辑界启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51如下图所示,然后点击保存. 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的5
14、1核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项 新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。
15、注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。 6)回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如下菜单 然后单击“Add File to Group Source Group 1” 屏幕如下图所示 选中Test.c,然后单击“Add”屏幕好下图所示注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同7)现在,请输入如下的C语言源程序: #include /包含文件#include void
16、 main(void) /主函数SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; /此行及以上3行为PRINTF函数所必须printf(“Hello I am KEIL. n”); /打印程序执行的信息printf(“I will be your friend.n”);while(1); 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示 8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target
17、”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),屏幕如下所示 9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果,其结果如下图所示 至此,我们在Keil C51上做了一个完整工程的全过程。但这只是纯软件的开
18、发过程,如何使用程序下载器看一看程序运行的结果呢?10)单击“Project”菜单,再在下拉菜单中单击“” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中。第三章 实验项目1.按键识别方法之一1 实验任务每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。2 电路原理图图4.8.13 系统板上硬件连线(1 把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;(2 把“单片机系统”区域中的P1.
19、0P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。4 程序设计方法(1 其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而在按键按下的过程中,不要有干扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。因此在按键按下的时候,图4.8.2要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况下,我们可以采用电容来滤除掉这些干扰信号,但实际上,会增加硬件成本及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 单片机 原理 接口 实验 讲义
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4561739.html