




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 KElL 51软件实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握算术运算程序实验设备:计算机、KEIL51软件实验内容:在 KEIL51编程实现把片人 RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。 编译、连接、仿真调试。实验步骤:、运行KEIL51软件,出现图1所示KEIL 51主界面。图1 KEIL 51主界面首先用ProjeCt菜单下的NeW ProjeCt命令建立项目文件,过程如下。(1)选择PrOjeCt菜单下的NeW PrOjeCt命令,弹出如图 2所示的Create new PrOjeCt对话框。图 2 Create NeW P
2、rOjeCt 对话框(2)在Create NeW PrOjeCt对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E: project),输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的SeIeCtDeViCe for Target Target'对话框,用户可以根据使用情况选择单片机型号。Keil UViSiOn2 IDE 几乎支持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯 片的相关信息以供用户参考。图 3 SeIeCt DeViCefor Target 'Targetl 对
3、话框 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的CoPy Standard 8051 StartUP Code to PrOjeCt Folder and Add File to PrOjeCt确认框,C语言开发选择【是】,汇编语言开发选择【否】。单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。这时只有一个框架,紧接着需向项目文件中添加程序文件内容。-JC OPJr Siandard 8051 St ar tup CoC1 t o Pr OJeC i FOlder and Adl Tile to Prj ect ?
4、图 4 Copy Standard 8051 StartUP Code to PrOjeCt Folder and Add File to PrOjeCt 确认框二、给项目添加程序文件当项目文件建立好后,就可以给项目文件加入程序文件了,Keil UViSiOn2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。(1)选择文件菜单上的new命令,出现新建文本窗口,如图5所示。图5 新建文本窗口在文本编辑窗口中输入加法程序。存盘,假设文件名为add16.asm。注意汇编程序文件扩展名为.asm,这时默认路径为工
5、程文件夹。参考程序如下:ORG OoooHLJMP MAlNORG 1OOOHMAIN:MOVRO,#3OHMOV R1,#4OHMOV R2,#16CLR CLOOP: MOV A,ROADDC A, R1MOV RO,AINC ROINC R1DJNZ R2,LOOPSJMP $END 添加文件到项目中。在项目管理器窗口中,展开TargetI项,可以看到SoUrCe GroUPI子项。右击SoUrCe GroUPI, 在出现菜单中选择 Add Files to Group SOUrCe Group1命令。出现添加文件的窗口,加程序 add16.asm如到项 目中。如图6所示。注意文件类型要
6、选择为*.a*。查找范蛋X):I PFojeCtAd-I图6编译、连接后的显示图Add Iil IQ (Tr QIl> J SvIUc; Gxup 1,文件喀(S) :aaiaCIas«文件葵型IXh底匸 SOUrCe £iIe *. ; arc; . a5) T |图5添加程序文件到项目三、编译、连接项目,形成目标文件当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX目标文件(只在keil 51中软件仿真可以不形成目标文件)(1)选择ProjeCt菜单下的Built Target命令(或快捷键F7)编译、连接当前项目,编译、
7、连接时,如果程序有 错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接, 这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。如图6所示。(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接。方法如下:右击项目管理器窗口的TargetI项,在右键菜单中选择下面的OPtions for Target Target 1命令,在 OPtions for TargetTarg对话框选择 OUtPUt选项卡,在该选项卡选中 Create HEX File选项,选择生成HE
8、X文件。如图7所示。I IrnL “1Cpg ILinanf |I ISiI 颂BlSl LDHtl IEVJ n> f m 皿Idg n>lIIfiL HilC I >iln< I Vtilidts1 r Tildw far Qj Ci>.t EhjE.Iabl &_ IJU =li a= *>4 b=* Jftihm Jiua a Skl= 彳IILf*jn tj, IQbMBS > LllIW IBRKI IBPr Cr4(÷ rai Tu.4iEuifL S莊 Br?IVM Zf*rni 厂 NlCT c;-c3EKJL数据,
9、在弹出的窗口中输入30h3fh单元的数据,如图9和图10所示。厂 CrtftA* BbUk TL1«f Ctva-Le IiJlLii i Y VeXaibflc- 1Z3Ifar IVdiCt审 fcil Vktn Lotplc¼厂 FlUrl IJSer Lirttgl: 厂 FUrl VSer rCir 茸图 7 OPtiOnS for Target Target 1 '对话框四、运行调试观察结果当项目编译、连接成功后,就可以运行它来观察结果,运行调试过程如下。先用DebUg菜单下的Start/Stop DebUg SeSSiOn命令(快捷键Ctrl+F5)启
10、动调试过程,启动后可用 DebUg菜单下Go连续运行命令、SteP单步运行、Stop running停止运行命令等运行程序观察结果。本实验中进入启动调试后, 先用VieW菜单下的memory Window打开存储器窗口,在 address框输入d: 0x30 ,在存储器窗口中显示片内数 据存储器30h单元开始的数据。如图8所示。LddiG.JaxlF EiIC Eiil Yiv EjrgiCt DbxPcxtr1l3 7pls 1HCS YiEa胆 H÷l?ifij 岁巻冨口 O I為芒龍I匸二-F F A ! 跖引 PJ Oi "I1 11屮莊朋駅舁炉赫巳k尸3* S E
11、S I 'ffl F 03O吗UUUHr>L CCaIUQ(RG ICQQtHIarR; En)V RO,30IryT LtfAaE .<v y"CLR CLDnF: TrP 和的DCC JLF EjUV QFja(AJJt RjDJiU LJ<R2 .10O PMemory WindoW窗口ItdyL : 03ClI:0x0:I;00;Z:ExEO:IJ: LIw?OiOOOOOO 0OOUoOOUlJUOClrl0OO1OOOOOOOO打IIaIlHUUUUOliCJ 0:DO OD DoDDDDoUCa o OO OO OO0 u 0 0 OOOouO
12、ooOouO O UOo-O Ooo O D OOUQo-DDU3 D O O O03ODODDZOOEPlPF 肛 K r r>ja 皿 冃 - - m LFgTlHmO 更Hj 牛 rj 人 is2pl鲨 卜 liDf 討/图8启动调试过程结果图在片内数据存储器窗口中右击30h单元,在右键菜单中选择modify memory at D : 0x30,从30h单元开始修改图9修改片内数据存储器的内容图10 输入30h3fh单元的数据用相同的方法修改40h4fh单元的数据。修改后选择run命令运行,运行后在存储器窗口可看到该程序运行的结果。在存储器窗口的address框中还可输入c: O
13、x地址显示程序存储器,X: Ox地址显示片外数据存储器。另外,可用VieW菜单下的symbols Window命令查看特殊功能寄存器,用PeriPheralS菜单下面的命令来查看并口、串口、定时/计数器和中断的相关内容。实验结论与问题:简要介绍KElL 51使用过程。实验二 内存块移动实验目的:1、掌握 KEIL 集成开发环境的使用2、掌握数据块移动程序实验设备:计算机、 KEIL51 软件实验内容:编程实现将内存数据块移动,在 KEIL51 编译、连接、仿真调试 汇编语言源程序:ORG00HMOVR0, #30HMOVR1, #00H ;设置源地址MOVR2, #40HMOVR3, #00H
14、 ;设置目标地址MOVR7, #0;设置计数值MOVDPH, R0MOVDPL, R1;将源地址(30OoH)赋DPTRMOVXA, DPTR; 取源地址中的数据MOVDPH, R2MOVDPL, R3;将目标地址(4000H)赋DPTRMOVXDPTR, A; 将源地址中的数据送到目标地址INCR1; 源地址加 1INCR3;目标地址加 1DJNZR7, LOOPLJMP$START:LOOP:END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。实验三 乘法运算实验实验目的:1、掌握 KEIL 集成开发环境的使用2、掌握多字节乘法运算程序实验设备:计算机
15、、 KEIL51 软件实验内容:编程实现把 R2R1(R2 为高字节, R1 为低字节)和 R0 中的无符号数相乘,结果放于 R7R6R5(R7 为最高 位)。在 KEIL51 编译、连接、仿真调试实验步骤:ORG 0000HLJMP MAINORG 0030HMAIN: MOV R1,#0FFHMOV R2,#0FFHMOV R0,#11HMOV A,R1MOV B,R0MUL ABMOV R6,BMOV R5,ACLR CMOV A,R2MOV B,R0MUL ABMOV R7,BADDC A,R6MOV R6,AMOV A,R7ADDC A,#00HMOV R7,ASJMP $END实验
16、结论及问题:给 R2R1 和 R0 赋值方法有哪些?MOVRn,AMOVRn,01H立即数寻址MOVRn,#01H直接赋值。三种情况实验四 并行接口实验实验目的:1、掌握 KEIL 集成开发环境的使用2、掌握 Proteus 仿真软件的使用3、学会使用ProteUS和KElL软件进行系统仿真调试4、掌握单片机并行接口的结构与使用实验设备:计算机、KEIL51软件、PRoTEUS软件实验内容:KEIL 51在80C51单片机的P2 口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。在 中编程序,形成 HEX文件,在PROTEUS中设计硬件,下载程序,运行看结果。实验步骤:-、打开
17、PROTEUS的ISIS软件,如图10所示。新建电路图文件,设文件保存到 e: projectio下面,文件基本 名为io,扩展名默认。IoOO1O Ih图10 ISIS窗口图、在compOnent mode模式下单击选择元件按钮P,打开元件选择对话框,如图11所示。ts m JlklrwJaREaJitS INaPIba'IDu 巴亡ILfcnmPJ zr-Ier".BiiiZIWSlArMdkjtk .LW. IJir-*LJ>AnIMbg ICl L3=lii>!i >0S 0l DXnBr,s Drfrwrr DeajgeIy _ Ofe DbdBS
18、-ECLiaJDDSviiH LlTtljcmE IIi 3rcd ImIi工址IiL<3h: Prtpivg Metfr或 IE MiCfUfinkCeUoI CMHLeLneEE Mlf Sferr DparelborialAmpIliBit Jt,i Jc<- PLt FRGAs fie,t25J. FmiIV*(nHg d!d s Plei>vlr,JLi rvew.1NQ> i 的IdIciIElda±e: SnI r<! Cf r die l:ey> Efd= ijdMf B Eger1pr JttrC-JMgifiIjI H M J
19、1EUI.图11元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图10的device列表栏。在这里依次添加元件单片机80c51、电阻RES、电容CAP、按键BUTToN、晶振CRYSTAL、发光二极管 LED-RED。如图12所示。图12添加元件的device列表栏三、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进 行移动、旋转等操作。电源与地在工具按钮的Terminals mode中选取。如图13所示。SSS -卄旳Ir册患解 <J-*J± T1U
20、- ,M* 备图13放置元件图四、连接导线,如图14所示。连接后存盘。-ll l LI 曲Li 甞 0 a J ¾¾ 卜I £ ZB乙I林武忙瞳妊巴丨色Q丨匪ISISti > ILjIiI LTrLM 加刘G -ajsh LoW iJ,Lfi I-Ir>r ¾lt*Lt-<>lj*IE:*吕"P-LEL RED33:r图14连接元件图五、在keil 51中设计软件程序,形成 HEX文件。保存软件项目到电路文件相同的文件夹e: projectio。设计软件程序如内容一,过程略。参考程序如下:ORG OoooHLJMP MA
21、lNORG 0100HMAIN:MOV A,#01HLOOP:MOV P2,ALCALL DELAYRL ASJMP LooPSJMP $DELAY:MOV R2,#10HDELAY1:MOVR3,#OFFHDJNZ R3,$DJNZ R2,DELAY1RETEND六、在PROTEUS电路图中,单击单片机 80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的 Program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的io.hex文件。如图14所示。IdLl COonLentdE XCIUde IrlQlin giSJlaitiQInAac
22、 hiefrchy mo duhE 带ClUde from FlCB LayOUtEditgll ProP亡Hi亡乞 as test图14 下载程序到单片机七、单击仿真运行按钮Play ,运行程序。可通过 LED二极管看到相应的结果。如图15所示。图15仿真结果图实验结论与问题:如果要改变LED显示的循序,该怎么办?实验五多路开关指示实验目的:1、掌握KEIL集成开发环境的使用2、掌握PrOteUS仿真软件的使用3、学会使用PrOteUS和KEIL软件进行系统仿真调试4、掌握单片机并行接口的结构与使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:AT89C51单片机的 P1.
23、0P1.3接4个二极管, 二极管反映开关状态(开关闭合,对应的灯亮)。P1.4P17接4个开关,编程读取开关状态,使得对应的发光口 5 EeIl 0.1 ADI 2TDO- 3.DJ .D STADSR4 RS隹皿R3 7 三=i R8 1FTEi".IftJr4 TBI.,CTEn- RS- lF-J,R7 ,屯T屈1 能.a ItT_Eg.Z.- M.S31IrOII 3.TM 3,arr JOTTPX4PJT FIJPr P3.TWD.7P?OL1XTA LZRSrALEViPlrI Pl 1P1JZFlJP1.< FlSFIJE PllJ Rg . -T-E-T-应冏.
24、11,11伍力" SGPI 2 E Z ZPorteUS模型为MUlti SWitCh.DSN如下图所示。程序设计:开关状态检测,对于单片机来说,是检测其I/O 口的输入。可以轮流检测每个开关状态。根据每个开关的状态让相应的发光二极管指示。汇编语言源程序:START:ORG OoHEND实验六外部中断实验目的:1、掌握KEIL集成开发环境的使用2、掌握ProteUS仿真软件的使用3、学会使用PrOteUS和KEIL软件进行系统仿真调试4、掌握单片机的功能模块中断的设置和应用中断的结构与使用实验设备:计算机、KEIL51软件、PRoTEUS软件实验内容:AT89C51单片机的P3.2/
25、INT0引脚接一个开关,模拟外部中断源,编写程序,当外部中断发生时,对其作出 响应(以发光二极管的亮/灭来指示)。程序设计:夕卜部中断的初始化设置共有三项内容:中断总允许即EA= “1 ”,外部中断允许即 EXi= “ 1 ”,中断方式设置。中断方式设置一般有两种方式,即电平方式和脉冲方式,这里采用脉冲方式,当前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入。PrOteUS 模型为 EXternaI Interrupt.DSN。I L I 1RlI epR3IDUr B I . 产TE
26、171;17 i .i l, b2EtF 十如4TETB R5 - , s /1. TBfc i 卫-嬉B , j"LL1XTAEZHBTf5ALE1J31-1i1z1Jg T51JPH,AIC PeII 朋 M PDJrDQl FRI P.tfftB* Fr* FjEAE5 FO.TmKTF=IVZS Ni阳 PN 砂 CIRJiMlQ I1f.13F3.7 Aft 15F3ir R> 口 IfrKD F3fTE F3rP.4l fjm PlfiW F3.7fTO汇编语言源程序:LED BITP1.0LEDBUF EQU30HORG 00HLJMP START ;中断入口地址
27、 ;中断处理指令START: CLRLEDBUFCLRLED ;外部中断O下降沿触发;打开外部中断允许位(EX0及总中断允许位(EA)LJMP$;等待中断INTERRUPT:保护现场CPLLEDBUF;取反LEDMoVC,LEDBUFMoVLED,CPOPPSW:恢复现场RETIEND实验七单片机定时实验实验目的:1、了解定时器的结构2、熟练掌握定时器的使用方法3、掌握利用定时器产生方波的方法4、掌握中断的使用实验设备:计算机、KEIL51软件、PRoTEUS软件实验内容:T89C51单片机的实验电路如图所示,P1.0 口接一个发光二极管,编写程序,控制发光二极管闪烁,时间间隔1s,要求采用A
28、T89C51单片机的内部定时器计时,用中断方式,采用工作方式2。PorteUS 模型为 EXternaI Interrupt.DSN 如下图所示。J 4 JMH i冲 Cl霊NQqr- uEXlIrBt-VELm <TET. . SI÷÷2÷-TWWI U , -TECTAL1PiDniJ<CaXTAJl3F.Ckil F-,AEK MnAKIIPAHPACf.wF5IlZDrePZJr»卩口負HALEF3.iAEOP2SAOFiJDFjSUP51i,AePIilH.lTtP 12F3rIF 121F33bTWTP 1.4PF 1P3smT 1F 1.7FaJrFFIDnr ,Z71«程序设计要求:设置内部计数器用作定时器,是对机器周期数计数。 每个机器周期的长度是 12个振荡器振荡周期。 单片机晶振用12MHz ,工作方式2,即8位自动重装方式定时器,定时100微秒中断一次,通过计算,得到定时常数=156 ,然后对100微秒中断次数计数 10000次,就是1s。 汇编语言源程序:ORGOoHTICKEQU10000T100usEQU256-100C100usEQU30HLEDBUF EQU40HLEDBITP1.0T0INT:PUSH PSW;10000 X 100U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舞蹈艺术在艺术市场趋势分析与发展预测考核试卷
- 萍乡学院《药物化学》2023-2024学年第一学期期末试卷
- 沈阳科技学院《科伦理与学术规范博士》2023-2024学年第二学期期末试卷
- 山西省朔州市右玉县2025届四下数学期末学业质量监测模拟试题含解析
- 兰州信息科技学院《口译理论与实践》2023-2024学年第一学期期末试卷
- 山东省聊城市文苑中学2025年高三3月综合测试历史试题含解析
- 山东菏泽定陶区2025年初三年级第二次模拟考试数学试题含解析
- 山东杏林科技职业学院《入侵检测与防御》2023-2024学年第二学期期末试卷
- 石嘴山市2024-2025学年四年级数学第二学期期末统考试题含解析
- 江西司法警官职业学院《心肺康复》2023-2024学年第一学期期末试卷
- 一例巨大儿分娩的个案护理-课件
- 苏教版三年级科学下册单元测试卷及答案(全册)
- 室内质控-检验科课件
- (完整)人力资源六大模块ppt
- 小学四年级下学期英语阅读理解
- 彩色手绘卡通儿科小儿护理高热惊厥健康宣教教案PPT课件讲义
- DB43∕T 498-2009 博落回叶-行业标准
- 心力衰竭病人的护理查房pptppt(ppt)课件
- T∕CADERM 2002-2018 胸痛中心(基层版)建设与评估标准
- 二次函数的应用——桥洞问题
- 《天然高分子》PPT课件.ppt
评论
0/150
提交评论