
51单片机kell学习初步和Protues仿真.docx
24页单片机实验指导书前沿单片机实验是学习单片机原理及应用课程的一个重要环节 通过实验加深单片机原理的认识, 训练学生单片微型计算机应用及开发的基本技能, 培养学生合理选择单片微型计算机和接口芯片、 正确设计单片微型计算机的接口电路、学会程序调试的基本方法以及解决实验中所遇到问题的能力,同时,培养学生理论联系实际、严谨认真 的科学态度和良好的工作作风本实验指导书就是基于软件完全仿真单片机系统的单片机实验指导书 ,单片机软件系统开发用的是 KEIL 51软件,单片机硬件系统仿真用的是 PROTEUS中的ISIS软件,如果软件和硬件都正确,最后在 ISIS中能看到相应结果,就像在实际的硬件实验设备上一样,而且在实验中,不仅软件系统需要学生开发,硬件系统也要学生自己 组建,这样更能让学生完整的体会单片机系统开发过程目录实验一 KEIL 51软件实验 4实验二乘法运算实验 10实验三 并行接口实验 12实验四单片机定时/计数器实验 17实验五单片机串行通信实验 18实验六键盘和数码管显示实验 19实验七D/A转换实验 22实验八A/D转换实验 23实验一 KEIL 51软件实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握算术运算程序实验设备:计算机、KEIL51软件实验内容:编程实现把片人 RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。
在KEIL51 编译、连接、仿真调试实验步骤:、运行KEIL51软件,出现图1所示KEIL 51主界面图1 KEIL 51主界面首先用Project菜单下的New Project命令建立项目文件,过程如下1)选才P Project菜单下的New Project命令,弹出如图 2所示的Create new Project对话框图 2 Create New Project 对话框(2)在Create New Project对话框中选择新建项目文件的位置 (最好一个项目建立一个文件夹如 E: \project),输入新建项目文件的名称, 例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的SelectDevice for Target 'Target'对话框,用户可以根据使用情况选择单片机型号 Keil uVision2 IDE 几乎支持所有的51核心的单片机,并以列表的形式给出选中芯片后,在右边的描述框中将同时显示选中的芯 片的相关信息以供用户参考图 3 Select Device for Target 'Target1 对话框(3)这里选择atmel公司的AT89c51。
单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】 单击后,项目文件就创建好了 项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容这时只有一个框架,紧接着需向项目文件中添加程序文件内容图 4 Copy Standard 8051 Startup Code to ProjectFolder and Add File to Project 确认框二、给项目添加程序文件当项目文件建立好后, 就可以给项目文件加入程序文件了, Keil uVision2支持C语言程序,也支持汇编语言程序这些程序文件可以是已经建立好了的程序文件, 也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加1)选择文件菜单上的 new命令,出现新建文本窗口,如图 5所示图5 新建文本窗口在文本编辑窗口中输入加法程序存盘,假设文件名为 add16.asm注意汇编程序文件扩展名为 .asm,这时默认路径为工程文件夹参考程序如下:ORG 0000H LJMP MAIN ORG 1000H MAIN:MOV R0,#30HMOV R1,#40HMOV R2,#16 CLR C LOOP: MOV A,@R0 ADDC A, @R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP SJMP $ END(2)添加文件到项目中。
在项目管理器窗口中,展开Target1项,可以看到Source Group1子项右击Source Group1 , 在出现菜单中选择 Add Files to Group Source Group1谕令出现添加文件的窗口,加程序 add16.asm如到项 目中如图6所示注意文件类型要选择为 *.a*图5添加程序文件到项目三、编译、连接项目,形成目标文件当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成 HEX目标文件(只在keil 51中软件仿真可以不形成目标文件)(1)选择Project菜单下的Built Target命令(或快捷键F7)编译、连接当前项目,编译、连接时,如果程序有 错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接, 这个过程可能会重复多次如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息如图 6所示图6编译、连接后的显示图(2)如果要做硬件下载可硬件仿真,则要形成 HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接方法如下:右击项目管理器窗口的 Target1项,在右键菜单中选择下面的 Options for Target 'Target 1命令,在 Options for Target "Target 1框选择 Output选项卡,在该选项卡选中 Create HEX File选项,选择生成HEX文件。
如图7所示0*f*r Tu"£,eI JTtreeLEEh. ITiri-l Q功始qt J Lia linc | Bl| JlSl B1S1 LxM・ I II5L Him 口小5]Ulilidti|>1 iri 寸 far Qbj即ry哥・修H工会皿祝*卜落5『工喟痴 生*\3 n :g ■— ♦A,*——*B ku T 4“ — — ―,M£ -H- £ 4,m-ini inn IB ■■■■■■■■■■■■■ H ■■■ inW crt«it rai ri'.\aicuiifL hKEI丽而JjIT C1e.Lt Dalek FileIt t ar ♦04E^n『写] ]E Ct..L些 Ui 11 -fci Y VeXaibf 1Z3询宝图 7 Options for Target Target 1 '对话框四、运行调试观察结果当项目编译、连接成功后,就可以运行它来观察结果,运行调试过程如下先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用 Debug菜单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。
本实验中进入启动调试后, 先用View菜单下的memory window打开存储器窗口,在 address框输入d: 0x30,在存储器窗口中显示片内数据存储器30h单元开始的数据如图 8所示告h q • |区彼立|二二二三足喇商愿'厂引必值昌面|底国他撤杷眄口 EMu Eiil Fib Er?ictl DtVu Fez工法%ilg 工,口s SlflS YiE痔 Iklp牌刊 初中i11)中四喧闻印*场&上>如M % gJU hjt qro.axMC RD&Eg UiJUUJdQLJMI KaIU州 G lOOOIHKHODOV ROr#30HUZIT P.l^AOHH」V 吗,CLR ClOQi?: Hnv 九昨nD 0 0 0-0D nu D o O Q u o o O o o o o- G 口口口 口口 □ □□Do o o o o Oo o o o O O □ □ o U o D □ o D o _u o o U o _u o o o o □ □ o D o □ □ o D 0 0-000口口 口口口 一 o □ D D D « o o o Du" onuQn-D- □ oo o o " o □ fl _□ fl * o o n 9 u -I:0x^0:I;0^50; 二:ExEO:1J: Uw?0iUO OU 00 00 no on on do oo oo oo oo ||Q ULf UU UU工:口心口: 00 OD 00 00R2.LOOPIcttiury 能 J\ Utrr*门挈 八 卜归刀口)”目图8启动调试过程结果图在片内数据存储器窗口中右击 30h单元,在右键菜单中选择 modify memory at D : 0x30,从30h单元开始修改数据,在弹出的窗口中输入 30h〜3fh单元的数据,如图 9和图10所示。
陋 ouplw - >iUuu2 LZ-^fi oject\^lJlC. uab]-In «l凿 Eile Edi 1 Kiew IrDj tct De^UE Tla5Jl FtripcteralE: IdoIe 3VTS Hitdov He It后意01晶里里t |率里底以%甑隔I 腌脑普|圆|面而豺|国◎衲{?琳⑴卜号叫呼附z_MlxiI色IL典Iaig acoan 中"HF KAZM QEG lOOOH HAIK:MCV RO.fJOH KOT Fl,f43H HOT F%#15 IciR CLOOTi MOV 储蛆AI'PC h, QEU HD¥ £E(J,A lire PO nrc fi卜「ILoad "E :Xx.projQGt^\ozampl a 1 上]x|m岫 E: |LOkM:OxJU: :dx-40: ;0x50;:De60:ASSIOhl BreazDisableI ],一闻卜Md X awiMMi A 土耳 | L n:ix7n: 口:DxSD: D:OxUO: p:OsAO: p:OkBO: p : DxCO :0r n-i 「' 11 .-11 r -I ri1 「* i 1匚 DeciH^sl '匚 UwigT ► JC Si EMd ,」c 1F Asel i [F FIp kt JF 口中加电F 3Mali lilsncry 也I D Ok3D01 0200 00 nn ii[) uo 00 00 001 2 o o n n u o o oOODDDDOOOO12OOQaoooooooonnDOOOc.C2 CO co nn dii Ou 00 CO CO0 102□0□0□n□oao aooo1 0^- o- o n □ o o o o OOOODO UODO12 00000000c c c o r D D c r- Cfl/W图9修改片内数据存储器的内容Enter Byte(s) at:Oz3OEntwr Exampl*; 1」 2, f a ,“工ox与士”,"U =2QK 工皿E。












