欢迎来到天天文库
浏览记录
ID:40598567
大小:204.20 KB
页数:10页
时间:2019-08-04
《信工系 智能101 钱宏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用KEIL软件编写点亮最简单的单片机系统信息工程系智能101:贾富江2011年9月20日利用KEIL软件编写点亮最简单的单片机系统一,目的1熟悉KEIL软件的使用2什么是单片机?3了解单片机应用系统组成。4单片机最小系统概念及原理图。二,对单片机概念以及单片机最小系统的组成的解说。1单片机是指将中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能模块集成到一块硅片上构成的一个小而完善的计算机系统。2单片机应用系统由ISP下载电路,复位电路,电源电路,外围电路,晶振电路,单片机。三,编程语言1,机器
2、语言指指令用不同的二进制代码代表,用二进制指令编写系统软件单片机可以直接执行执行效率高,但指令代码难于记忆,难以实现复杂算法。2,2汇编语言指令用不同的符号代替,如实现寄存器A赋值指令:机器指令:0111010000000010汇编指令:MOVA,#02H需用编译软件,将汇编指令转换成机器代码才能让单片机执行相对机器语言,容易记忆,相对高级语言执行效率高,但仍难实现复杂算法。3,高级语言C语言为代表,如:机器指令:0111010000000010,汇编指令:MOVA,#02H,C语言,ACC=0X02。四,KEIL软件的使用1.启动uVisio
3、n2并创建一个项目——启动uVision2启动uVision2并创建一个项目——新建项目选择单片机型号,点击Project->NewProject新建一个项目文件,保存文件名为“Keil项目文件”“点亮最简单的单片机系统”led1.uv2,将会出现“SelectDeviceforTarget‘Target1’”对话框,要求你选择CPU,选择Atmel目录下的AT89S51启动uVision2并创建一个项目——创建后界面1.启动uVision2并创建一个项目¡ª¡ª创建后界面.创建源文件并加入到项目中——创建汇编源程序,点击File-New新
4、建一个源文件,这将打开一个空的编辑窗口。在该窗口输入汇编语言源代码,并保存为led1.A,注意后缀名必须是“.A”,表明这是一个汇编语言源程序。.创建源文件并加入到项目中——添加源程序到项目源程序建好后,在项目窗口单击Target1-SourceGroup1,并在区域内点右键出现如左图所示菜单,单击AddFilestoGroup‘SourceGroup1’,选择源程序led1.A点确定就将源程序添加到项目中,添加完成后项目显示如右图。通过单击工具条上的图标,你可以编译所有的源文件并生成应用,当你的应用有语法错误时,uVision2将在Outpu
5、tWindow–Build页显示这些错误和警告信息(如图(a)),双击这个错误信息将打开此信息对应的文件并定位常用调试窗口keil软件在调试程序时提供了多个窗口,当程序仿真运行时,可以利用这些窗口查看相关运行结果,从而判断程序的正确与否,图示为P1寄存器窗口、输出窗口和存储器窗口,常用调试窗口——存储器窗口用于显示系统中各种存储器中的值,通过在Address后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C、D,分别代表代码存储空间、直接寻址的片内存储空间,数字代表想要查看的地址。例如输入C:0即可观察到地址0开始的片内ROM单
6、元值。左图中的ModifyMemoryatX:xx用于更改鼠标处的内存单元值,选中该项即出现如右图示的对话框,可以在对话框内输入修改内容。储器的值的修改常用调试窗口——工程窗口寄存器页、观察窗口工程窗口寄存器页用于实时显示当前工作寄存器组R0~R7及系统寄存器包括A、B、DPTR、SP、PSW等,还可显示程序执行时间(sec)等执行状态。用鼠标单击然后按下F2键,即可修改该值。观察窗口用于显示寄存器(如P1)及高级语言变量值。项目的仿真调试3.——进入调试状态为了进行调试,我们在源程序中制造一个错误,将MOVP1,#11111110B改成MOV
7、P1,#00000001B,记住,项目本来的目的是要点亮P1.0引脚上的发光二极管。点击Debug->Start/StopDebugSession进入调试状态,界面如图。项目的仿真调试——查看程序代码存储情况(ROM);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;点亮最简单的单片机系统;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG0000H;将后面程序定位到ROM的0000H单元LJMPSTART;使PC指向标号START所对应的存储单元ORG0030H;将后面
8、程序定位到ROM的0030H单元START:MOVP1,#00000001B;将P1.0引脚清"0",即点亮该引脚所接LEDLJMP$;死循环,防止程
此文档下载收益归作者所有