1212020303-樊晓晨-单片机实验报告
- 格式:doc
- 大小:1.12 MB
- 文档页数:18
单片机及接口技术实验报告实验一数据传送程序一、实验目的1、掌握汇编语言设计和调试方法。
2、掌握DVCC实验系统的操作步骤。
二、实验内容1、编程实现,把7000H~70FFH单元的内容清零。
2、编程实现,把源地址为6000H开始的单元内容,传送到目的地址7000H开始的单元中,传送个数为0FFFH个。
三、DVCC实验系统操作说明1、接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的“P”,否则按Reset键。
2、运行DVCC软件。
(程序DVCC598H实验系统DVCC实验系统)3、单击工具栏上“新建”或“打开”按钮,编写源程序。
单击“编译”按钮,使其形成可执行文件。
4、单击工具栏上“联接”按钮,同时按下DVCC实验箱上PCDBG键(键盘上最右边第2个),实现PC机和实验箱的联接。
联机成功,屏幕上出现:.反汇编窗口、寄存器标示位窗口。
5、在成功联机后,单击工具栏上“调试”按钮,把最终目标文件装载到实验系统RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(.EXE)文件”来实现。
6、单击工具栏上“运行”或“单步”按钮,运行实验程序。
7、单击工具栏上“窗口”,选择“显示内部数据窗口”或“显示外部数据窗口”可显示数据窗口。
鼠标右击数据窗口的数据,可设置数据块新地址;鼠标左键单击数据,可修改数据数值。
8、运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏幕上OK,即可退出运行状态。
四、实验程序代码1、把7000H~70FFH单元的内容清零。
程序代码:ORG 0000HAJMP STARTORG 70HSTART: MOV P2, #70H ;送地址高8位到P2端口MOV R0, #00H ;R0=00H,表地址低8位CLR A ;将累加器A清0LOOP: MOVX @R0, A ;将A送入以R0内容为地址的外部RAM.INC R0 ;R0+1-->R0CJNE R0,#00H,LOOP;比较条件转移指令,若R0不等于0,则跳转到LOOPAJMP $ ;暂停END2、编程实现,将源地址为6000H开始的单元,传送到目的地址7000H开始的单元,传送个数为0FFFH个。
单片机实验报告总结单片机实验报告总结单片机实验心得体会单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。
在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。
这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。
将所学知识运用到实践中,在实践中发现问题,强化理论知识。
现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。
第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
所以第一次试验相对失败。
鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。
在做实验中,第二个问题应该是准备不充分吧。
一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。
于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。
这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。
单片机实训报告范本一、实训目的及背景本次实训的目的是通过设计和搭建一个单片机系统,理解和掌握单片机的原理和应用,培养学生的实际动手能力和解决问题的能力。
二、实训内容1. 实训环境的搭建为了进行单片机实训,我们需要搭建一个合适的实训环境。
首先,我们需要购买一台单片机开发板,它包含了单片机、外部设备接口、显示器等组件。
其次,我们需要安装开发环境,包括单片机编译器、调试器和仿真器等。
最后,我们需要准备一套实验教材,其中包含了实验指导书、实验源代码和实验报告模板等。
2. 实训实验的设计与实施根据教材的指导,我们进行了一系列的实训实验。
实验内容包括了单片机的基本原理、输入输出的控制、中断的应用、定时器的使用等。
在每个实验中,我们首先研读实验指导书,了解实验的目的和步骤。
然后,我们按照实验指导书的步骤进行实验,编写实验源代码,并通过调试器和仿真器进行调试和测试。
最后,我们整理实验结果,撰写实验报告。
3. 实训实验的总结与评估在每个实验结束后,我们进行实验总结与评估。
通过总结实验过程中遇到的问题和解决方法,我们深化了对单片机的理解和掌握。
通过评估实验结果,我们检验了自己的实际动手能力和解决问题的能力。
实验总结与评估的结果将作为实训成绩的依据。
三、实训结果与分析本次实训共进行了10个实验,涵盖了单片机的基本原理和应用。
通过实验,我们熟悉了单片机的硬件结构和软件编程,掌握了单片机的输入输出控制、中断处理和定时器应用等技术。
我们成功完成了每个实验,并获得了实验数据和实验结果。
实训结果的分析表明,我们在实验过程中遇到了一些问题,例如电路连接错误、程序逻辑错误等。
通过仔细分析问题的原因,我们找到了解决问题的方法,并进行了相应的调试和修正。
最终,我们成功解决了所有问题,并获得了正确的实验结果。
四、实训心得与收获通过本次实训,我深刻体会到了实践的重要性和乐趣。
通过动手操作和实验调试,我增强了自己的实际动手能力和解决问题的能力。
单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机c语言程序设计---单片机实验报告实验目的:1.掌握单片机的中断的原理、中断的设置,掌握中断的处理及应用2.掌握单片机的定时器/计数器的工作原理和工作方式,学会使用定时器/计数器实验内容:一.定时器/计数器应用程序设计实验1.计数功能:用定时器1方式2计数,每计数满100次,将P1.0取反。
(在仿真时,为方便观察现象,将TL1和TH1赋初值为0xfd,每按下按键一次计数器加1,这样3次就能看到仿真结果。
)分析:外部计数信号由T1(P3.5)引脚输入,每跳变一次计数器加1,由程序查询TF1。
方式2有自动重装初值的功能,初始化后不必再置初值。
将T1设为定时方式2,GATE=0,C/T=1,M1M0=10,T0不使用,可为任意方式,只要不使其进入方式3即可,一般取0。
TMOD=60H。
定时器初值为X=82-100=156=9CH,TH1=TL1=9CH。
程序:#include<REGX51.H>void main(){P1_0=0;TMOD=0x60;TH1=0xFD;TL1=0xFD;ET1=1;EA=1;TR1=1;while(1){}}void timer1_Routine()interrupt3{P1_0=~P1_0;}实验2.中断定时使用定时器定时,每隔10s使与P0、P1、P2和P3端口连接的发光二极管闪烁10次,设P0、P1、P2和P3端口低电平灯亮,反之灯灭。
分析:中断源T0入口地址000BH;当T0溢出时,TF0为1发出中断申请,条件满足CPU响应,进入中断处理程序。
主程序中要进行中断设置和定时器初始化,中断服务程序中安排灯闪烁;TL0的初值为0xB0,TH0的初值为0x3C,执行200次,则完成10s定时。
实验要求:完成计数实验和中断计数实验。
具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,对仿真结果进行总结。
程序:#include<REGX51.H>#include"Delay.h"int i;int j=0;void main(){ P1=0; P2=0;P3=0; P0=0; TMOD=0x01;TH0=0x3C;TL0=0xB0;ET0=1;EA=1;TR0=1;while(1) {}}void timer0_Routine()interrupt1 {TH0=0x3C;TL0=0xB0;j++;if(j>=150){ j=0; for(i=0;i<20;i++){P1=~P1;P2=~P2;P3=~P3;P0=~P0;Delay(200); } }}实验分析:心得体会:。
单片机实训报告范文精选5篇实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。
比如:小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运行时不能实现理想的现象。
这时有人就晕了不知该怎么办,然后就去问别人。
当别人找出问题出在哪里时就会恍然大悟。
其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。
自己一定要掌握解决问的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个很有用。
通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。
也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。
一、实验目的1. 掌握单片机的基本工作原理和硬件结构。
2. 熟悉单片机的编程方法,提高编程能力。
3. 学习单片机的调试技巧,提高调试效率。
4. 通过实际操作,培养动手能力和团队合作精神。
二、实验仪器与设备1. 单片机实验开发板2. 编译器(如Keil、IAR等)3. 仿真软件(如Proteus、Multisim等)4. 连接线、电源、示波器等辅助设备三、实验步骤1. 熟悉单片机实验开发板(1)观察开发板的硬件结构,了解各个模块的功能和连接方式。
(2)熟悉开发板上的按键、LED、串口、I2C、SPI等接口。
2. 编写程序(1)根据实验要求,设计程序功能。
(2)选择合适的编程语言(如C语言、汇编语言等)。
(3)使用编译器编写程序代码,并进行语法检查。
3. 程序调试(1)使用仿真软件(如Proteus)对程序进行仿真调试。
(2)观察程序运行结果,检查程序是否存在错误。
(3)根据仿真结果,修改程序代码,直至程序正常运行。
4. 硬件连接(1)根据程序功能,连接开发板上的相关硬件模块。
(2)确保连接正确,避免短路或接触不良。
5. 实验运行(1)打开电源,启动单片机。
(2)观察程序运行情况,验证程序功能是否实现。
(3)根据实验要求,调整程序参数或硬件配置,优化程序性能。
6. 数据采集与记录(1)使用示波器等设备,采集实验过程中的数据。
(2)记录实验数据,为后续分析提供依据。
7. 结果分析(1)对实验数据进行整理和分析,评估程序性能。
(2)总结实验过程中的经验教训,提出改进措施。
8. 实验报告撰写(1)整理实验过程,包括实验步骤、实验数据、实验结果等。
(2)分析实验结果,总结实验经验教训。
(3)撰写实验报告,要求格式规范、内容完整。
四、实验注意事项1. 确保实验环境安全,避免触电、短路等事故。
2. 严格遵守实验操作规程,避免损坏实验设备。
3. 注意程序调试过程中的细节,提高调试效率。
4. 实验过程中,积极思考,勇于创新,提高动手能力。
单片机实验报告实验一单片机控制LED灯点亮一、实验目的1.进一步熟悉编程和程序调试2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验内容在keil环境下编写一下程序:1)点亮最后一个LED2)点亮1、2、5、6这四个LED3)让第三个LED闪烁4)设计出流水灯程序,从D7—D0三、实验设计及调试:实验步骤说明:本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。
1.使用单片机最小应用系统。
用扁平数据线连接单片机P1口与LED灯相连。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,输入源程序(实验(一)),进行编译,直到编译无误。
生成hex文件。
4.打开实验板总电源,将hex文件下载到实验板内,观察发光二极管显示情况。
实验硬件电路连接图:100第一个实验内容分析:首先观察分析硬件电路图,判断发光二极管是共阴极还是共阳极接法;观察二极管与P口的连接情况,即与哪个口连接以及是如何连接的;硬件电路部分分析清楚后在编写程序完成所要求的内容有硬件电路图知:发光二极管所连接的是P1口,并且L0—L7分别与P1.0----P1.7对应相连接,内容一:点亮最后一个LED即L7,故程序编写如下所示:#includevoid main(){P1=0x7f;}第二个实验内容分析:先进行硬件分析,要点亮1、2、5、6这四个LED,有硬件电路图知:只需给P1.6,P1.5,P1.2,P1.1低电平其他给高电平即可。
程序编写如下所示:#includevoid main(){P1=0x99;}第三个实验内容分析:让第三个LED闪烁,即让第三个灯亮一会,经过一段时间在灭,可采用延时程序,让第三个灯先亮然后经过一段延时在灭,中间所需延时时间可由软件设置,程序编写如下所示:#include#define uint unsigned int#define uchar unsigned charUint z;void delay();void main(){while(1){P1=0xfb;delay();P1=0xff;delay();}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=1200;y>0;y--);}第四个实验内容分析:设计流水灯程序,从D7—D0,本实验可采用两种方法:第一种比较麻烦:即先让D7亮经过一段延时在让D6亮同时让D7灭,如此一个一个的先亮后灭,最后采用一个死循环即可保证灯是从D7—D0循环的亮灭,不过这样编写的程序比较麻烦,执行程序时所占的内存空间也比较大,效率不高第二种方法是调用循环程序即可,本实验可采用循环右移程序,编写起来比较简单并且执行效率高,可移植性也比第一种要好~~程序编写如下:#include#include#define uint unsigned int#define uchar unsigned charuchar temp;void delay(uint);void main(){ temp=0xfe;while(1){for(num=0;num<8;num++){P1=temp;delay(100);temp=_cror_(temp,1);P1=0xff;delay(100);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}实验二单片机控制数码管实验一、实验目的1. 掌握数码管是如何显示出字符2. 掌握数码管动态显示原理二、实验原理 1.数码管两种接法2.共阴极数码管编码0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , ? 0 1 2 3 4 5 ? 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , ? 6 7 89 A B0x39 , 0x5e , 0x79 , 0x71 , 0x00 ? C D E F 无显示3.动态显示原理动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
单片机实验报告范文一、实验目的本实验旨在通过实际操作和实践,使学生掌握单片机的基本原理和编程方法,培养学生分析问题和解决问题的能力,并能够通过编程实现各种功能。
二、实验器材1.STC89C52单片机开发板2.LED灯3.电阻4.电源5.连接线三、实验内容1.实验一:LED灯闪烁实验本实验利用单片机控制LED灯的亮灭,使LED灯以一定的频率交替闪烁。
2.实验二:数码管显示实验本实验利用单片机控制数码管的显示,实现0-9的数字显示功能,并通过编程实现数字的递增和递减。
四、实验步骤实验一:LED灯闪烁实验1.将LED正极连接到开发板的P0端口,将LED负极连接到GND端口。
2. 使用Keil C编译器编写程序,编写程序实现LED灯闪烁功能。
4.打开电源,观察LED灯的闪烁情况,检查实验结果是否正确。
实验二:数码管显示实验1.将数码管的A-G引脚连接到开发板的P0.0-P0.6端口,将数码管的共阳极连接到开发板的VCC端口。
2. 使用Keil C编译器编写程序,编写程序实现数码管的显示功能。
4.打开电源,观察数码管的显示情况,通过按键实现数字的递增和递减功能,检查实验结果是否正确。
五、实验结果实验一:LED灯闪烁实验实验结果符合预期,LED灯以一定的频率交替闪烁。
实验二:数码管显示实验实验结果符合预期,数码管能够正确地显示0-9的数字,并且可以通过按键实现数字的递增和递减。
六、实验总结通过本次实验,我对单片机的原理和编程方法有了更深入的了解。
通过编写程序,我成功地实现了LED灯的闪烁和数码管的显示功能,并且通过按键实现了数字的递增和递减功能。
实验过程中,我也遇到了一些问题,但通过查找资料和向同学请教,我成功地解决了这些问题。
通过实验,我发现单片机的编程控制功能非常强大,可以实现各种各样的功能,这对我以后的学习和工作都具有重要的意义。
七、实验心得通过本次单片机实验,我不仅学习了单片机的基本原理和编程方法,还锻炼了自己的动手能力和解决问题的能力。
1 哈尔滨理工大学 实验报告
课程名称:单片机原理及应用 学 院: 自动化 专业班级: 电 技12-3 学生姓名: 樊晓晨 学 号: 1212020303 指导教师: 王宏民 2
实验一 课程名称 单片机原理及应用 时间 2014.10.22 实验名称 KeilμVision2基本操作实验 地点 B302 姓 名 樊晓晨 学号 1212020303 班级 电技12-3 同实验者 学号 班级
一.实验目的 1.熟悉KeilμVision2 集成开发环境 2.初步掌握KeilμVision2的使用方法
二.实验内容 KeilμVision2使用方法介绍 1、KeilμVision2启动 从桌面上直接双击KeilμVision2的图标来启动软件。KeilμVision2启动后,在程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签分别显示当前项目的文件结构、CPU寄存器和部分特殊功能寄存器的值(只有在调试的时候才出现)和所选CPU的附加说明文件,如果是第一次启动KeilμVision2,这三个标签都是空的。 2、源文件的建立 使用菜单“File→New”或点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序,
ORG 0000H MOV A,#0FEH MAIN: MOV P1, A RL A LCALL DELAY AJMP MAIN DELAY: MOV R7,#255 DL: MOV R6,#255 DJNZ R6,$ DJNZ R7,DL RET END 保存该文件,注意必须加上扩展名(汇编语言源程序一般使用asm或a51为扩展名,假如是C语言源程序,扩展名为*.c),这里假定文件保存为text1.asm, 3、新建一个工程 首先点击“Project→New Project„”菜单,出现一个如图1-1所示的对话框,你可以在编辑框中输入一个名字(如dpj1),不需要扩展名,点击保存出现第二个对话框如图1-2所示,要求选择CPU,我们选择Atmel公司的89C51芯 3
片, 点击“确定”软件会弹出提示框如图1-3:问你是否添加默认代码,我们不需要所以选择否。这样一个工程就建立好了。
图1-1 新建一个工程
图1-2 选择CPU芯片 图1-3 起动代码 此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”,点击“+”展开,可以看到下一层的“Source Group1”,这时工程还是一个 空的工程,需要将刚才新建的源程序添加进去,点击“Source Group1”,然后右击,出现一个下拉菜单,如图1-3所示,选择其中的“Add file to Group ‘Source Group1’”。 点击后就会出现一个对话框要求寻找源文件。 4
图1-3 添加文件 注意:该对话框下面的“文件类型”默认为C source(*.c),也就是说以C为扩展名的文件,而我们是以asm为扩展名的文件,所以在列表框中找不到text1.asm,要将文件类型改掉,点击对话框中“文件类型”后面的下拉列表,并找到选中“Asm Source File(*.a51,*.asm)”,这样就可以找到text1.asm文件了。 4、工程的详细设置 工程建立以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project窗口的Target 1,然后使用菜单“Project→Option for target ‘target 1’”即出现工程设置的对话框,这个对话框非常复杂,共有8个页面,要全部搞清非常不易,但一般只需默认设置即可。 (1)设置对话框中Target页面,如图1-4所示,Xtal后面的数值是晶振频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试显示程序执行时间。正确设置该数值可使显示时间与实际时间一致,一般将其设置成与你的硬件所用晶振频率相同,一般我们设置为12,其他默认设置。 5
图1-4 Target页面 (2)设置OutPut页面,如图1-5所示,这里也有多个选择项,其中“Create Hex file” 用于生成可执行代码文件(可以用编程器写入单片机芯片的Hex格式文件,文件的扩展名必须是.HEX)默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项。其他选择默认设置即可
图1-5 设置OutPut页面 5、编译、连接 在工程设置好后,即可进行编译、连接。选择菜单“Project→Build target”,对当前工程进行连接,如果当前文件已修改,软件会先对文件进行编译,然后再连接产生目标代码,编译过程信息将出现在输出窗口中的Build页中 6
如图1-6所示,如果程序出现语法错误,会有错误报告出现,双击改行就可以定
位到出错的位置,修改即可,然后重新编译,直至没有问题。
图1-6 正确编译、连接后的结果 三.实验过程描述
成绩评定: 指导教师: 7
实验二 课程名称 单片机原理及应用 时间 2014.10.22 实验名称 汇编程序设计实验 地点 B302 姓 名 樊晓晨 学号 1212020303 班级 电技12-3 同实验者 学号 班级
一.实验目的 1.掌握汇编语言简单程序设计 2.掌握程序执行过程 3.掌握KeilμVision2软件调试方法
二.实验内容 1.Keil C程序调试相关知识 (1)常用调试命令 对于工程成功进行汇编、连接以后,使用菜单debug→Start/Stop Debug Session或者按Ctrl+F5即可进入调试状态。进入调试状态后,界面与编辑状态相比没有明显的变化,debug菜单项中原来不能用的命令现在可以用了,工具栏会多出一个用于运行和调试的工具条,如图2-1所示,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令等。
图2-1运行和调试工具条 (2)在线汇编 在进入Keil的调试环境以后,如果发现程序有错,可以直接对源程序进行修改,但是要修改后的代码起作用,必须先退出调试环境、重新进行编译、连接后再次进行调试,如这样的修改只是临时修改,这样做就太麻烦了。为此Keil软件提供了在线汇编能力,将光标定位于要修改的程序行上,用菜单Debug→Inline Assembly...即可出现图2-2的对话框,在Enter New后直接输入需要更改的程序语句。
图2-2 在线汇编窗口 (3)断点设置 程序调试时,一些程序行必须满足一定的条件才能被执行到,这些条件往往 8
是异步发生或难以预先设置的,此时就需要进行断点设置。设置方法如下:用菜单Debug→Inset/Remove BreakPoint设置或移除断点(用鼠标双击该行也可以实现同样的功能)。 (4)程序调试时的常用窗口 Keil软件在调试程序时提供了多个窗口,主要包括输出窗口、观察窗口、 存储器窗口、反汇编窗口、串行窗口等,进入调试模式后,可以通过菜单View下的相应命令打开或关闭这些窗口。 2.实验程序1 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV A,#0FEH MOV B,#100 DIV AB MOV R0,#21H MOV @R0,A DEC R0 MOV A,#10 XCH A,B DIV AB SWAP A ADD A,B MOV @R0,A SJMP $ 3.实验程序2 (设系统频率为12MHz) ORG 0000H LP: MOV P1, #81H LCALL DELAY MOV P1, #42H LCALL DELAY MOV P1, #24H LCALL DELAY MOV P1, #18H LCALL DELAY MOV P1, #24H LCALL DELAY MOV P1, #42H LCALL DELAY SJMP LP DELAY: MOV R2, #64H L1: MOV R3, #0C8H L2: DJNZ R3, L2 DJNZ R2, L1 RET 9
三.实验过程描述 10 成绩评定: 指导教师: 11
实验三 课程名称 单片机原理及应用 时间 2014.11.5 实验名称 在线编程脱机运行实验 地点 B302 姓 名 樊晓晨 学号 1212020303 班级 电技12-3 同实验者 学号 班级
一.实验目的 1、熟悉S51E单片机用户板的基本组成; 2、初步掌握单片机在线编程,脱机运行流程;
二.实验内容及设计流程 一、 S51E单片机用户板介绍
a) 实验程序(1)输出口控制程序 ORG 0000H MOV A,#0FEH MAIN: MOV P1, A RL A LCALL DELAY AJMP MAIN DELAY: MOV R7,#255 DL: MOV R6,#255 DJNZ R6,$ DJNZ R7,DL RET END