单片机原理及接口技术实验实验教案_第1页
单片机原理及接口技术实验实验教案_第2页
单片机原理及接口技术实验实验教案_第3页
单片机原理及接口技术实验实验教案_第4页
单片机原理及接口技术实验实验教案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教案课程名称单片机原理及接口技术实验学时学分24(15)适用班级应用电子技术班授课教师教师职务讲师教学单位交通与汽车工程学院实验教案(首页)实验课程名称单片机原理及接口技术实验实验学时24独立设课非独立设课实验课类别1基础2专业基础3专业4其它任课教师职称讲师授课对象年级专业应用电子技术班级本科专科教材和主要参考资料单片机原理及接口技术实验指导书交通与汽车工程学院2012万隆、巴奉丽单片机原理及应用技术清华大学出版社教学目的和教学要求通过实验,进一步掌握51单片机的结构原理,了解单片机硬件设计、软件设计基本方法与技巧,初步掌握单片机汇编语言设计的方法和软硬件调试的步骤、方法,增加感性认识,提高学生的实际动手能力,为今后的工作打好良好的基础。教学重点和教学难点重点单片机工作原理及接口技术难点程序设计教学进程安排课次实验项目(实验内容)学时备注1汇编语言调试(在KEILC51集成开发环境下使用工程的方法来管理文件,学会简单的汇编程序调试)22简单I/O口实验(P0口作输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。)23定时器(方式一)(用单片机的定时/计数器产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到9时,自动从0开始)24中断方式独立按键(在数码管上显示数字09。具体要求为每按一下微动开关即引起一次外部中断,每按一次外部中断0端口P32按键,CPU在执行中断服务程序时将数码管上的显示值加1;每按一次外部中断1端口P33按键,CPU在执行中断服务程序时将数码管上的显示值减1。)25、6数码管显示实验(P0端口接数码管的字形码笔段,P3口接一个开关,当开关接高电平时,显示“HELLO”字样;当开关接低电平时,显示“12345”字样。)47、88X8LED点阵显示技术(利用88LED点阵显示不同的字样、图形符号。采用单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。)49、1044矩阵式键盘识别技术(用单片机的并行口P1接44矩阵键盘,以P10P13作输出线,以P14P17作输入线,在数码管上显示每个按键的“0F”序号。)411直流电机调速(利用单片机对直流电机调速。通过外部按键改变电机的转速,每按一次按键改变一次直流电机转速,同时数码管显示当前的速度档级1(高速)、2、3、4(低速)212数字测温的系统设计(完成数字测温系统的程序结构能够准确的显示室温。)2实验教案课题项目名称汇编语言调试计划学时2实验类型1演示性2验证性3综合性4设计性5其它授课日期年月日第周星期第节【实验目的】1熟悉使用VISION集成开发工具编写、编译、调试单片机汇编语言程序的方法。2掌握A51汇编语言的编程方法。3领会汇编语言程序设计的思想和方法。【实验要求】在KEILC51集成开发环境下使用工程的方法来管理文件,学会简单的汇编程序调试【实验设备】PC机、KEILVISION集成开发环境。【实验内容】1建立工程打开KEIL软件,先新建一个文件夹,以方便工程的管理。点击PROJECT,然后选择NEWPROJECT,选择保存目录为刚才新建的目录,弹出SELECTDEVICEFORTARGETTARGET1对话框。在“DATABASE”栏内选择ATMELAT89C52或者AT89S52,单击“确定”后在弹出的对话框中选“是”,这是这是添加标准80C51启动代码到工程。单击“FILENEW”新建文件,并保存到前面新建的目录用,下来进行编程。若C语言编写程序并保存为“C”格式,若或用C语言编写程序并保存为“ASM”格式。程序编写好后,在SOURCEGROUP1上点击鼠标右键,在弹出的选项框中点击ADDFILESTOGROUP“SOURCEGROUP1“,选择需要添加的C语言或汇编语言的源文件。再双击“SOURCEGROUP1“,便可以看到所添加的文件了,双击“C”或“ASM”文件,就可以看到源文件了。注意,对初学者,一个工程里只能有本程序DEMOASM,无关的程序要删除,新试验一个程序最好重新建工程,以保证一个工程里只有你要试验的那一个程序。2编写程序程序为MOVA,45HMOVB,37HMOV30H,AADDA,BMOVR0,AMOVDPTR,0200HMOVXDPTR,AEND3程序调试(1)编译通过后,点DEBUG下的START/STOP开始调试,STEP和STEPOVER都是单步调试,STEP是遇到子程序或中断也要进入进行单步调试,STEPOVER是遇到子程序或中断当一句一次执行完。本程序物子程序,二者是一样的。执行一句得到可见A中的值为45H,B中还为0,是将要执行的语句,再执行一步,可见B中数据为37H(2)点VIEWMEMORYWINDOWS,再输入D0回车,得到可见30H处为00(内存默认是一般为0),再执行一步得到可见30H处为45H,再执行一步,得到A中的值为AB45H37H7CH,并且可见DPTR中为0000再执行一步,得到可见R0中为7CH。同时可见片内地址00H处为7CH,因为在缺省时R0就是片内地址00H,再执行一步,得到可见DPTR中为0200H再执行一步,并输入X200H回车,得到可见片外RAM的200H单元处的值为7CH。(3)对片内片外RAM赋值,也可以不在程序前赋值,在程序调试前直接到地址处赋值。如想对片外200H处赋值6EH,点VIEWMEMORYWINDOWS,输入X200H回车,得到直接双击X200H处,输入6E即可得【实验报告要求】1写出实验目的、内容;2写出实验过程中出现的问题及解决方法;3对实验提出建议。实验教案课题项目名称跑马灯计划学时2实验类型1演示性2验证性3综合性4设计性5其它授课日期年月日第周星期第节【实验目的】1熟悉实验系统的使用及调试方法;2学习汇编语言及51C语言程序编写;3学习I/O口的使用方法;4学习延时子程序的编写和使用。【实验要求】1P0口作输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。2利用取表的方法,使端口P0做循环的变化,第一步每隔一个点亮;第二步每隔两个点亮;第三步每隔4个点亮;最后全部点亮、熄灭闪烁2次(延时的时间05秒)。【实验设备】PC机、单片机实验板、USB连接线、KEILVISION2编译软件、STCISPV483程序写入软件。【实验内容】一、单片机开发流程11PL2303驱动的安装若电脑是第一次连上实验板,安装“USB转串口的驱动”PL2303驱动。请注意以下几点1安装完成之后,按照提示的信息,必须重启计算机。2如果电脑已经安装此驱动或同类不同版本的驱动时,必须先删除原驱动后,重启计算机,才能再次安装。否则,将提示“无法安装新硬件”。3请不要使用同类其它版本的驱动,否则将会影响开发箱使用性能。4安装好PL2303“USB转串口的驱动”后,下次连接实验板后不需要重新安装。12程序的编译打开KEIL软件,先新建一个文件夹,以方便工程的管理。点击PROJECT,然后选择NEWPROJECT,选择保存目录为刚才新建的目录,弹出SELECTDEVICEFORTARGETTARGET1对话框。在“DATABASE”栏内选择ATMELAT89C52或者AT89S52,单击“确定”后在弹出的对话框中选“是”,这是这是添加标准80C51启动代码到工程。单击“FILENEW”新建文件,并保存到前面新建的目录用,下来进行编程。若C语言编写程序并保存为“C”格式,若或用C语言编写程序并保存为“ASM”格式。程序编写好后,在SOURCEGROUP1上点击鼠标右键,在弹出的选项框中点击ADDFILESTOGROUP“SOURCEGROUP1“,选择需要添加的C语言或汇编语言的源文件。再双击“SOURCEGROUP1“,便可以看到所添加的文件了,双击“C”或“ASM”文件,就可以看到源文件了。编写、修改好程序保存后,单击“PROJECT/OPTIONSFORTARGET1”或工具栏中的图标进行设置,点击“OUTPUT”。注意在“CREATEHEX“这个选项前打钩,以便生成HEX代码。然后先后点击“PROJECT/REBUILEDALLTARGETFILES”、“PROJECT/BUILEDTARGET”或工具栏中中的第一个和第三个图标按钮,这样就可以生成HEX文件了。13程序的下载1打开STCISPEXE软件。2在MCUTYPE中选择芯片,这里选择STC90C516RD。3单击“打开程序文件”选择要下载的HEX文件。4接好USB线(注意现在让开发板处于关电状态,开关在开发板的右下角KP按键)。5COM口选择插上USB线时“设备管理器”中的“端口”中看到的COM口。6选择波特率,如果下载的时候,提示了“握手失败”,那么需要给开发板最高波特率,最低波特率都设置到2400。7按STCISP软件上面的“DOWNLOAD/下载”,然后再给单片机上电,至此,就将程序写入单片机了。二、硬件电路连接把“单片机系统”区域中的P00P07用8芯排线连接到“八路发光二极管指示模块”区域中的L1L8端口上,要求P00对应着L1,P01对应着L2,P07对应着L8。如图所示【实验设备】PC机、单片机实验板、USB连接线、KEILVISION2编译软件、STCISPV483程序写入软件。【实验报告要求】1写出实验目的、内容;2画出实验连线图,列出实验的汇编程序;3写出实验过程中出现的问题及解决方法;4分析结果,得出结论。【参考程序】1P0口作输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。ORG0000HAJMPMAINORG0030HMAINMOVP2,00MOVP0,0FEHMOVA,P0LOOPRLALCALLDELAYMOVP0,ALCALLDELAYSJMPLOOPDELAYMOVR5,30延时子程序,延时03秒D1MOVR6,20D2MOVR7,248DJNZR7,DJNZR6,D2DJNZR5,D1RETEND2利用取表的方法,使端口P0做循环的变化,第一步每隔一个点亮;第二步每隔两个点亮;第三步每隔4个点亮;最后全部点亮、熄灭闪烁2次(延时的时间05秒)。汇编源程序ORG0000HAJMPSTARTORG0030HSTARTMOVDPTR,TABLELOOPCLRAMOVCA,ADPTRCJNEA,01H,LOOP1JMPSTARTLOOP1MOVP0,AMOVR3,20LCALLDELAYINCDPTRJMPLOOPDELAYMOVR4,50D1MOVR5,248DJNZR5,DJNZR4,D1DJNZR3,DELAYRETTABLEDB0AAH,55H,0CCH,33HDB0FH,0F0H,00H,0FFHDB00H,0FFHDB01HEND课题项目名称定时器(方式一)计划学时2实验类型1演示性2验证性3综合性4设计性5其它授课日期年月日第周星期第节【实验目的】1学习定时/计数器的工作原理;2学习汇编语言程序编写;3掌握定时/计数器的定时及计数方法。【实验要求】用STC90C516R单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到9时,自动从0开始。【实验设备】PC机、单片机实验板、USB连接线、KEILVISION2编译软件、STCISPV483程序写入软件。【实验内容】打开KEIL软件,先新建一个文件夹,以方便工程的管理。点击PROJECT,然后选择NEWPROJECT,选择保存目录为刚才新建的目录,弹出SELECTDEVICEFORTARGETTARGET1对话框。在“DATABASE”栏内选择ATMELAT89C52或者AT89S52,单击“确定”后在弹出的对话框中选“是”,这是这是添加标准80C51启动代码到工程。单击“FILENEW”新建文件,并保存到前面新建的目录用,下来进行编程。若C语言编写程序并保存为“C”格式,若或用C语言编写程序并保存为“ASM”格式。程序编写好后,在SOURCEGROUP1上点击鼠标右键,在弹出的选项框中点击ADDFILESTOGROUP“SOURCEGROUP1“,选择需要添加的C语言或汇编语言的源文件。再双击“SOURCEGROUP1“,便可以看到所添加的文件了,双击“C”或“ASM”文件,就可以看到源文件了。编写、修改好程序保存后,单击“PROJECT/OPTIONSFORTARGET1”或工具栏中的图标进行设置,点击“OUTPUT”。注意在“CREATEHEX“这个选项前打钩,以便生成HEX代码。然后先后点击“PROJECT/REBUILEDALLTARGETFILES”、“PROJECT/BUILEDTARGET”或工具栏中中的第一个和第三个图标按钮,这样就可以生成HEX文件了。程序的下载1打开STCISPEXE软件。2在MCUTYPE中选择芯片,这里选择STC90C516RD。3单击“打开程序文件”选择要下载的HEX文件。4接好USB线(注意现在让开发板处于关电状态,开关在开发板的右下角KP按键)。5COM口选择插上USB线时“设备管理器”中的“端口”中看到的COM口。6按STCISP软件上面的“DOWNLOAD/下载”,然后再给单片机上电,至此,就将程序写入单片机了。二、硬件电路连接把“单片机系统”区域中的P00P07用8芯排线连接到“八路发光二极管指示模块”区域中的L1L8端口上,要求P00对应着L1,P01对应着L2,P07对应着L8。如图所示【实验报告要求】1写出实验目的、内容;2画出实验连线图,列出实验的汇编程序;3写出实验过程中出现的问题及解决方法;4分析结果,得出结论。【参考程序】汇编语言源程序ORG0000HAJMPMAINORG000BHT0溢出中断入口地址AJMPTIME0ORG0020HMAINCLRP15MOVR1,0FFHMOVR2,00H给计数器R2赋初值0MOVSP,70H设置堆栈MOVTMOD,01H设置T0工作方式MOVTH0,4CHT0置计数初值MOVTL0,00HSETBET0允许T0溢出中断SETBEACPU开中断SETBTR0启动T0开始计数WAITCJNER2,20,WAIT定时时间未到,继续查询等待ACALLLIGHT定时时间到,调用查表求灯光子程序AJMPWAITLIGHTMOVR2,00H查表求灯光子程序,计数器重新赋初值INCR1查表求灯光,详细解释见试验5“多位数码显示”MOVA,R1MOVDPTR,TABMOVCA,ADPTRMOVP0,ACJNEA,0FFH,NEXTMOVR1,0FFHNEXTRET子程序返回以下是中断服务程序TIME0INCR2计数器加1MOVTH0,4CH重置计数初值MOVTL0,00HRETI中断返回TABDB3FH,06H,5BH,4FH,66H灯光变换表格DB6DH,7DH,07H,7FH,6FHDB0FFHEND课题项目名称中断方式独立按键计划学时2实验类型1演示性2验证性3综合性4设计性5其它授课日期年月日第周星期第节【实验目的】1了解外部中断的原理及过程。2熟悉单片机几个外部中断的矢量地址及中断设置。3掌握中断服务程序的编程方法。【实验要求】在数码管上显示数字09。具体要求为每按一下微动开关即引起一次外部中断,每按一次外部中断0端口P32按键,CPU在执行中断服务程序时将数码管上的显示值加1;每按一次外部中断1端口P33按键,CPU在执行中断服务程序时将数码管上的显示值减1。【实验设备】PC机、单片机实验板、USB连接线、KEILVISION2编译软件、STCISPV483程序写入软件。【实验内容】1实验电路2系统板上硬件连线(1)把单片机的P00P07连接到74HC573的数据输入端,74HC573的数据输出端连接数码管中的ADP端口上;(2)把单片机的P20P22端口用3根导线连接到74HC138的A、B、C“端口上;(3)把74HC138的Y0Y4连接到数码管中的COM端口上;(4)开关按钮S1、S2连接到单片机P32、P33引脚作为外部中断输入信号。【实验报告要求】1写出实验目的、内容;2画出实验连线图,列出实验的汇编程序;3写出实验过程中出现的问题及解决方法;4分析结果,得出结论。【参考程序】1汇编语言源程序ORG0000HLJMPSTARTORG0003HLJMPEXT0ORG0013HLJMPEXT1ORG0030HSTARTMOVR7,0FFHMOVR6,0AHSETBEACPU开放中断SETBEX0允许外部中断0申请中断SETBEX1允许外部中断1申请中断CLRIT0设置外部中断0触发方式为跳变触发CLRIT1设置外部中断1触发方式为跳变触发MOVP0,0FFH调用初始状态显示子程序AJMP等待按键发出中断申请EXT0CLREA进入中断,先关闭中断LCALLPLAY0调用键识别子程序LCALLEL40MSSETBEA返回主程序之前先开中断RETI中断返回指令,EXT1CLREA进入中断,先关闭中断LCALLPLAY2调用键识别子程序LCALLEL40MSSETBEA返回主程序之前先开中断RETI中断返回指令,PLAY0DECR6查表求段码,然后送到P0口的子程序CJNER6,0FFH,RST0MOVR6,09HRST0MOVA,R6MOVR7,AMOVDPTR,TABMOVCA,ADPTRMOVP0,ACJNEA,3FH,NEXT0如果没有显示到最后一个数字0,就继续查表显示MOVR6,0AH否则,重新从表头开始显示NEXT0RETPLAY2INCR7查表求段码,然后送到P0口的子程序CJNER7,0AH,RST2MOVR7,00HRST2MOVA,R7MOVR6,AMOVDPTR,TABMOVCA,ADPTRMOVP0,ACJNEA,6FH,NEXT2如果没有显示到最后一个数字0,就继续查表显示MOVR7,0FFH否则,重新从表头开始显示NEXT2RETEL40MSMOVR5,200延时40MS子程序DEL1MOVR4,02HDEL2MOVR3,0FFHDEL3DJNZR3,DEL3DJNZR4,DEL2DJNZR5,DEL1RETTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH存放09的段码表END(2)C语言源程序INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITKEY1P32SBITKEY2P33UCHARCOUNT0UCHARCODETABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FVOIDDELAYUINTDEL/延时,延时时间为10MSDELUINTI,JFORI0IINCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARCODETABLE160X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71VOIDDELAY_1MSUINTI/1IMS延时子程序UCHARX,JFORJ0JINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINEULONGUNSIGNEDLONGDEFINEJUMP_ROM0XCCDEFINESTART0X44DEFINEREAD_EEROM0XBESBITDQP23/DS18B20数据口UNSIGNEDLONGTMPH,TMPLUCHARCODETABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/这三个引脚参考资料SBITEP27/1602使能引脚SBITRWP26/1602读写引脚SBITRSP25/1602数据/命令选择引脚/名称DELAY功能延时,延时时间大概为5US。输入无输出无/VOIDDELAYS_NOP_NOP_NOP_NOP_NOP_/名称DELAY功能延时函数输入无输出无/VOIDDELAYUINTNINTIFORI0IITEMPTEMPWRITE_BITTEMPDELAY5/名称BITBUSYVOID功能这个是一个读状态函数,读出函数是否处在忙状态输入输入的命令值输出无/BITBUSYVOIDBITBUSY_FLAG0RS0RW1E1DELAYSBUSY_FLAGBITP0E0RETURNBUSY_FLAG/名称WCMDUCHARDEL功能1602命令函数输入输入的命令值输出无/VOIDWCMDUCHARDELWHILEBUSYRS0RW0E0DELAYSP0DELDELAYSE1DELAYSE0/名称WDATAUCHARDEL功能1602写数据函数输入需要写入1602的数据输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论