




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机实习报告班级姓名学号2012指导老师王巍1目录实验一实验开发环境学习2一实验目的2二实验内容2三实验注意事项2四实验过程2实验A2实验B3实验C4实验二单片机输入及输出实验5一实验目的5二实验内容5三实验注意事项5四实验电路及连线6五实验过程6实验A(流水灯)6实验B(LED两种点亮方式)8实验三单片机定时器及中断实验10一实验目的10二实验内容10三实验注意事项10四实验过程11方波查询12方波中断12流水灯查询14流水灯中断15实验四单片机键盘及LED显示实验16一实验目的16二实验内容16三实验注意事项16四实验电路及连线17五实验过程17六问题分析20实验感想212实验一实验开发环境学习一实验目的1学习KEIL软件的使用方法;2学习单片机汇编程序的开发流程;3学习程序的调试仿真方法。2实验内容完成以下程序,并进行调试。(A)设有两个4位的BCD码,分别存放在片内RAM的23H,22H单元和33H,32H单元中,求他们的和,并送入43H,42H单元中(低位在低字节中,高位在高字节中)。(B)将8BIT二进制数转换为3位BCD码。(C)找出放在内存单元40H开始的10个数中的最大值,并放在内存单元50H中。三实验注意事项1由于实验学时很少,请提前预习和思考实验内容,将流程图及程序准备好,到实验室进行调试和验证。2由于实验室计算机C盘和D盘被保护,所以开始实验前在计算机E盘建立自己的文件夹,文件夹最好为英文名称。实验中及时保存自己的源文件。3实验报告要求在实验报告中详细介绍自己的设计思路、流程图和程序编写、调试过程。4实验过程实验A设计思路首先将两个BCD码的低字节22H和32H相加放入42H单元中,再将高字节23H和33H相加放入43H单元中,注意要加入十进制加法修正DA指令。流程图开始(42H一22H)(32H)(43H)一(23H)33H41H一进位位结束束3程序代码ORG0000HSJMPMAINORG0030HMAINCLRAMOVA,22HADDCA,32HDAAMOV42H,A低字节22H和32H相加放入42H单元中MOVA,23HADDCA,33HDAAMOV43H,A高字节23H和33H相加放入43H单元中CLRAADDCA,00HMOV41H,ASJMPEND实验B设计思路设该8BIT二进制数存放在R1中,则将其除以100,得到的商便为BCD码的最高位;余数除以10得到的商为第二位;此次余数为BCD码的最低位。流程图程序代码开始(R1)一该二进制数(A)一(R1,除以100;(10H)一(A)一商;A一B一余数;(A)除以10;(11H)一(A)一商;12H一B一余数;结束束4ORG0000HSJMPSTARTORG0030HSTARTMOVA,R1MOVB,100DIVAB该二进制数除以100MOV10H,AA中为商,即BCD码的最高位,存放在10H中MOVA,B取余数MOVB,10DIVAB余数除以10MOV11H,AA中为商,即BCD码的第二位,存放在11H中MOV12H,BB中为余数,即BCD码的最低位,存放在12H中END实验C设计思路首先将这10个数中的前两个进行比较,第一个数存于寄存器A中,第二个数存于40H单元中;若两数相等或(A)大于(40H),则继续比较A与下一个数;若(A)小于(40H),则把(40H)放到A中后再继续比较A与下一个数,比较9次后结束循环,最后把A中的值送入内存单元50H中。流程图开始(R0)一数据区首地址(A)一第一个数(R7)一比较次数(R0)一(R0)1(A)当前数(A)一当前数比较次数10存最大值YNYN5程序代码ORG0000HLJMPMAXPORG0030HMAXPMOVR0,0030H起始数据地址存放在R0MOVA,R0寄存器间接寻址MOVR7,9比较次数存放在R7LOOPINCR0MOV40H,R0下一个数据CJNEA,40H,NEQ比较不相等则跳转到NEQSJMPSUBNEQJNCSUBCY0即(A)更大则跳转到SUBMOVA,R0取R0中的数据大者存放在ASUBDJNZR7,LOOPMOV50H,ASJMPEND实验二单片机输入及输出实验1实验目的1学习单片机的I/O口的使用方法;2学习延时子程序的编写和使用;3学习分支指令的使用;4学习使用定时器完成延时的方法。2实验内容1P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮,每个发光二极管点亮时间为1秒;仔细思考,画出程序流程图;编写程序并写清注释;2P20、P21作输入口接两个拨动开关,P1作输出口,接八个发光二极管,编写程序读取开关状态,根据此状态,改变八个发光二极管的点亮方式(至少两种)。编程时应注意P20、P21作为输入口时应先置1,才能正确读入值。仔细思考,画出程序流程图;编写程序并写清注释;3考虑使用定时器完成需要的延时,可以采用查询或是中断的方式。首先根据延时时间确定定时器的工作方式(13位、16位还是8位),然后据此计算出定时器初值,最后确定选择使用T0还是T1,并设置相应特殊功能寄存器(TMOD、TCON)。可根据课件中的例子进行修改。3实验注意事项1对于MCS51MCU,P2口是准双向口。它作为输出口时与一般的双向口结束束6使用方法相同。由准双向口结构可知当P2口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。28051延时子程序的延时计算问题,需要考虑系统晶振和延时时长,对于较长的延时需要采用多重循环的方式得到。如实验要求发光二极管点亮1秒,请参考课件上延时50MS的例子进行修改。3如果需要使用定时器完成较长时间的延时,需要定时器多次定时来完成。4实验报告要求在实验报告中详细介绍自己的设计思路、流程图和程序编写过程。4实验电路及连线连线连接孔1连接孔21P10L02P11L13P12L24P13L35P14L46P15L57P16L68P17L79P20S010P21S15实验过程实验A(流水灯)设计思路在晶振为12MHZ时,方式1最大能实现的定时时间为US,要使P10输出周期为2S的方波,定时时间为1S。对类似的定长时间定时要求,可以采用基准定时加循环的方法。比如要求定时1S,选择T0的方式1,基准定时50MS,循环20次即为1S。流程图开始置定时器模式和常数记数单元赋初值(10H)一(A)一商;A一B一余数;启动定时器(11H)一(A)一商;12H一B一余数;等待中断开中断(11H)一(A)一商;12H一B一余数;7A主程序流程图(B)中断服务程序流程图程序代码ORG0000HAJMPSTARTORG001BHAJMPINT_T0ORG0030HSTARTMOVSP,68HMOVP2,0FFHMOVA,001HMOVTMOD,01HMOVTH0,3CHMOVTL0,0B0HMOVR7,20中断入口保护现场(10H)一(A)一商;A一B一余数;记数单元重新赋初值(11H)一(A)一商;12H一B一余数;中断返回恢复现场(11H)一(A)一商;12H一B一余数;1S循环时间到重置1S循环次数改变P10状态NY8SETBTR1SETBEASETBET0SJMPINT_T0PUSHPSWMOVTH0,3CHMOVTL0,0B0HDJNZR7,EXITMOVR7,20MOVP1,ARLAEXITPOPPSWRETIEND实验B(LED两种点亮方式)设计思路P21P20作输入口接两个拨动开关,P1作输出口,接八个发光二极管,编写程序读取开关状态,根据此状态,改变八个发光二极管的点亮方式,P21P2011时右移依次点亮,P21P2010时左移依次点亮。点亮LED用基准定时实现。因为数码管共阴极,所以高电平时亮。流程图A主程序流程图开始置定时器模式和常数记数单元赋初值(10H)一(A)一商;A一B一余数;启动定时器(11H)一(A)一商;12H一B一余数;等待中断开中断(11H)一(A)一商;12H一B一余数;中断入口保护现场(10H)一(A)一商;A一B一余数;9(B)中断服务程序流程图程序代码ORG0000HAJMPSTARTORG000BHAJMPINT_T1ORG0030HSTARTMOVSP,68H数据指针上移MOVP2,0FFHP2全高,P21P2011MOVA,001HMOVTMOD,10H定时器T1设定在0方式MOVTH1,3CH定时器设初值MOVTL1,0B0HMOVR7,20设定定时循环次数P200记数单元重新赋初值(11H)一(A)一商;12H一B一余数;中断返回恢复现场(11H)一(A)一商;12H一B一余数;1S循环时间到重置1S循环次数YP1口输出电平的引脚由1到2,2到3呈现正向流水灯P1口输出电平的引脚由7到6,6到5呈现逆向流水灯N10SETBTR1启动定时器SETBEA开总中断SETBET1开定时器T1中断SJMP等待中断INT_T1中断服务程序PUSHACCPUSHPSWMOVTH1,3CH重新赋初值MOVTL1,0B0HDJNZR7,EXITMOVR7,20MOVP1,AP10输出高电平JNBP20,LOOP若P200,即P21P2010程序转移RLAP1口输出电平的引脚由1到2,2到3呈现正向流水灯AJMPEXITLOOPRRAP1口输出电平的引脚由7到6,6到5呈现逆向流水灯EXITPOPPSWRETIEND实验三单片机定时器及中断实验1实验目的1学习单片机的定时器的使用方法;2学习中断的使用及中断服务程序的编写;3学习查询方式和中断方式进行信息传递的不同;二实验内容1)使用单片机定时器资源,在P10口上输出一个周期为1S的方波,占空比为50。采用查询和中断的方式分别实现。思考并回答以下问题定时器工作在什么模式定时器工作方式定时器初值如何确定使用T0还是T1如何用定时器得到较长的延时时间中断还是查询方式两种方法在设计时有何区别给出设计思路并画出程序流程图。2)单片机P1口接8个LED,有一个LED点亮;P20接一个按键,首先采用查询的方式实现每按一次按键,LED向左或向右移位一次。如初始时L0亮,按一次按键,则L0熄灭,L1点亮;再按一次按键,L1熄灭,L2点11亮,给出设计思路并画出程序流程图。3)采用单片机外部中断实现同样的功能。思考并回答以下问题电路应该如何连接如何设置中断控制寄存器中断方式选择采用INT0还是INT1如何中断使能中断入口地址在哪里中断服务程序要做哪些工作如何中断返回主程序结构如何给出设计思路并画出程序流程图。思考查询方式和中断方式实现同样功能在程序设计上有和不同3实验注意事项1仔细阅读定时器及中断控制寄存器设置部分内容,理解每一位的意义,再根据程序设计确定相关控制字。2中断服务程序的设计要注意现场保护以保证退出中断后程序的状态不发生变化。3按键连接单脉冲电路单脉冲电路由按键PULSE和去抖动处理组成,每按一次PULSE键产生一个单脉冲。板上有单脉冲的输出信号插孔,图为“”和“”,分别为正脉冲和负脉冲。4实验报告要求在实验报告中详细介绍自己的设计思路、流程图和程序编写过程。四实验过程方波流程图中断)A主程序流程图开始置定时器模式和常数记数单元赋初值(10H)一(A)一商;A一B一余数;启动定时器(11H)一(A)一商;12H一B一余数;等待中断开中断(11H)一(A)一商;12H一B一余数;中断入口保护现场(10H)一(A)一商;A一B一余数;记数单元重新赋初值(11H)一(A)一商;12H一B一余数;12(B)中断服务程序流程图程序代码方波查询ORG0000HAJMPSTARTORG0030HSTARTMOVSP,68H堆栈指针上移SETBP10初始化P10MOVTMOD,01H设置T0工作在方式1MOVR7,10循环次数赋值MOVTH0,3CH定时器计数单元赋初值MOVTL0,0B0HSETBTR0启动定时器T0LOOPLOOP1JNBTF0,定时时间没有到,继续等待CLRTF0手动清除终端标志位CPLP10将P10取反使其输出方波MOVTH0,3CH重新赋初值MOVTL0,0B0HDJNZR7,LOOPSJMPLOOPEND中断返回恢复现场(11H)一(A)一商;12H一B一余数;1S循环时间到重置1S循环次数改变P10状态NY13方波中断ORG0000HAJMPSTARTORG0000BHAJMPINT_T0ORG0030HSTARTMOVSP,68H堆栈指针上移SETBP10初始化P10MOVR7,10循环次数赋值MOVTMOD,01H设置T0工作在方式1MOVTH0,3CH定时器计数单元赋初值MOVTL0,0B0HSETBTR0启动定时器T0SETBEA开总中断SETBET0开定时中断T0SJMP等待中断INT_T0PUSHACC中断服务程序PUSHPSWMOVTH0,3CH重新赋初值MOVTL0,0B0HDJNZR7,EXIT循环次数减一不等于0则跳转MOVR7,10CPLP10循环次数完成改变P10使之输出方波EXITPOPPSWPOPACCRETIEND实验B流水灯流程图开始置定时器模式和常数记数单元赋初值(10H)一(A)一商;A一B一余数;启动定时器(11H)一(A)一商;12H一B一余数;等待中断开中断(11H)一(A)一商;12H一B一余数;14A主程序流程图(B)中断服务程序流程图程序代码流水灯查询ORG0000HSJMPSTARTORG0030HSTARTMOVA,01HP20改变中断入口保护现场(10H)一(A)一商;A一B一余数;记数单元重新赋初值(11H)一(A)一商;12H一B一余数;中断返回恢复现场(11H)一(A)一商;12H一B一余数;1S循环时间到重置1S循环次数YP1口输出电平的引脚移一位P1口输出电平保持不变N15MOVP1,AMOVSP,70HSETBP20WAIT1JBP20,ACALLDELAYMSJBP20,WAIT1WAIT2JNBP20,ACALLDELAYMSJNBP20,WAIT2RLAMOVP1,AP1口输出电平的引脚移一位SJMPWAIT1NOPDELAYMS延时程序MOVR0,20LOOP1MOVR1,200LOOP2NOPDJNZR1,LOOP2DJNZR0,LOOP1RETEND流水灯中断ORG0000HAJMPSTARTORG0003HSJMPINT_IRQORG0030HSTARTMOVA,01HMOVP1,AMOVSP,70HSETBP32SETBEASETBEX0CPLIT0LOOP1SJMPNOPINT_IRQRLAMOVP1,ALOOP216JNBP32,ACALLDELAYNSJJNBP32,LOOP2RETIDELAYNSJMOVR0,20HAHAMOVR1,200HAHAANOPDJNZR1,HAHAADJNZR0,HAHARETIEND实验四单片机键盘及LED显示实验一实验目的1学习数码管动态显示的原理和程序编写;2学习矩阵键盘的扫描原理与扫描程序;二实验内容1)使用单片机I/O口,完成一个6位7段数码管动态显示程序,显示自己学号的后六位。数码管共阴,段码为AH,位码为G0G5。思考并回答以下问题动态扫描的原理是什么什么是位码什么是段码延时时间如何确定,在此实验要求下为多少合适改变延时时间为20MS看看有什么现象发生给出设计思路并画出程序流程图。2)使用单片机I/O口,完成键盘和动态显示程序。G0G5是数码管的位码,也是键盘列扫描信号,键盘行信号为K0K3。要求初始时所有数码管显示“0”,然后每按一次按键,都在最右边显示该键的符号,而旧数据逐渐左移。思考并回答以下问题键盘扫描的原理是什么怎么与动态显示结合键盘在扫描过程中要注意什么如何去抖怎样判断一次正常的按键事件给出设计思路并画出程序流程图。3实验注意事项171将驱动方式开关拨到“外驱”;2仔细阅读课本和课件键盘及动态显示部分内容,理解其原理;3理解动态扫描显示的过程,理解键盘扫描的过程;4七段数码管的字型代码表如下表显示字形GFEDCBA段码001111113FH1000011006H210110115BH310011114FH4110011066H511011016DH611111017DH7000011107H811111117FH911011116FHA111011177HB11111007CHC011100139HD10111105EHE111100179HF111000171H5实验报告要求在实验报告中详细介绍自己的设计思路、流程图和程序编写过程。四实验电路及连线连线连接孔1连接孔21可根据自己的需要选择相应口线连接键盘及数码管显示接口234567895实验过程设计思路将流程图开始18程序代码MAINMOVP1,0FHMOVP2,3FHMOVR4,00HMOVR5,00HMOVR6,00HMOVR7,00HLPLCALLKEY1MOVR0,AMOVA,R5MOVR4,AMOVA,R6MOVR5,AMOVA,R7MOVR6,AMOVA,R0MOVR7,ALCALLDISAJMPLPKEY1MOVP1,0EFH将位选信号赋给P2将段选信号赋给P1将位选信号赋给P2将位选信号赋给P2将段选信号赋给P1左移结束19MOVR7,0FEHDJNZR7,MOVA,P1ANLA,0FHCPLAJZKEY2PANDDANKEY2MOVP1,0DFHMOVR7,0FFHDJNZR7,MOVA,P1ANLA,0FHCPLAJZKEY3LJMPPANDDANKEY3MOVP1,0BFHMOVR7,0FFHDJNZR7,MOVA,P1ANLA,0FHCPLAJZKEY4LJMPPANDDANKEY4MOVP1,07FHMOVR3,03MOVR7,0FFHDJNZR7,MOVA,P1ANLA,0FHCPLAJZEKEYLJMPPANDDANEKEYRETDISMOVR2,80HMOVA,P2MOVDPTR,7AHMOVP1,AMOVA,R7MOVCA,ADPTRMOVP0,ALCALLDIMSMOVA,R2RRA20MOVR2,AMOVP1,AMOVA,P6MOVCA,ADPTRMOVP0,ALCALLDIMSMOVA,R2RRAMOVR2,AMOVP1,AMOVA,R5MOVCA,ADPTRMOVP0,ALCALLDIMSMOVA,R2RRAMOVR2,AMOVP1,AMOVA,R4MOVCA,ADPTRMOVP2,ALCALLDIMSRETDIMSMOVR7,02HDLMOVR6,0FFHD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国耐张绝缘子行业运营态势与投资前景调查研究报告
- 政府减免政策申请书
- 2025至2030中国旅行者腹泻疗法行业发展趋势分析与未来投资战略咨询研究报告
- 2025河南郑州工程技术学院高层次人才招聘81人考前自测高频考点模拟试题及答案详解(有一套)
- 最简单转正申请书
- 2025广西南宁市博物馆招聘编外人员3人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025至2030中国韩版鞋行业项目调研及市场前景预测评估报告
- 2025至2030中国钥匙收纳柜行业发展趋势分析与未来投资战略咨询研究报告
- 代理服务申请书
- 2025年4月四川成都体育学院考核招聘编制内辅导员9人模拟试卷完整参考答案详解
- 《浮顶罐结构及工作原理》课件
- TSG21-2025固定式压力容器安全技术(送审稿)
- 《已上市化学药品药学变更研究技术指导原则(试行)》
- 【MOOC】《操作系统A》(南京邮电大学)章节中国大学慕课答案
- 水电站机电设备拆除施工方案
- 《公共数据安全评估规范》
- 银行家算法课件
- 杨梅综合产业园基础设施建设项目可行性研究报告-杨梅产业发展前景广阔配套需求日益凸显
- 2024年下半年辽宁事业单位管理单位遴选500模拟题附带答案详解
- 农产品直播带货策略
- 2024年化学检验员(中级工)技能鉴定考试题库(附答案)
评论
0/150
提交评论