单片机原理及应用实验指导书(6个实验)1
- 格式:doc
- 大小:908.33 KB
- 文档页数:28
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
《单片机原理与应用》课程实验指导书电子、机电及电气工程与自动化专业适用吴茂屈丽丽王飞编佛山科学技术学院二00九年十月前言以往我校的单片机实验教学通常是使用启东DAIS系列单片机微机仿真实验系统进行单片机实验教学的,DAIS系统可以做二十多项试验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个:厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。
根据我校学生对单片机课程学习的需求,我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
目录系统介绍 (2)软件实验:实验一清零程序....................... . (4)实验二拆字程序................................... . (5)实验三拼字程序................................... . (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 ......... .. (8)实验一 P1口输出流水灯实验 (11)实验二 P1口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验........................... (12)实验五遥控解码实验...................... (12)实验六计数器实验.................................... (13)实验七继电器控制实验................................. .. (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验(急救车与交通灯) (15)实验十二 AT24C02读写实验........... .................... (15)实验十三 93C46读写实验 ........... ..................... (16)实验十四 LCD1602字符型液晶控制显示实验 (16)实验十五 LCD12864点阵型液晶控制显示实验 (17)实验十六 A/D转换(数字电压表)实验 (17)实验十七 D/A转换(波形发生器) 实验 (18)实验十八 DS18B20温度采集及处理实验...................... (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教学的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教学大纲的要求,基于简单、使用的原则,开发了FD-51单片机实验板。
《单片机原理及应用》实验指导书.db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h;============================= = 延时子程序============================ Delay:mov r7, #0 DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop ret;========================6位数码管轮流显示子程序======================= DisplayLED:mov r0, #020hmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示 Loop:mov dptr, #OUTBIT mov a, #0movx @dptr, a ; 关所有八段管 mov a, @r0mov dptr, #OUTSEG movx @dptr,a mov dptr, #OUTBIT mov a, r2movx @dptr, a ; 显示一位八段管 mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop ret ;========================== 单片机读入键盘行的状态子程序 =============== TestKey:mov dptr, #OUTBIT mov a, #0movx @dptr, a ; 输出线全置为0 mov dptr, #IN ; IN =08001h movx a, @dptr ; 读入键状态 cpl aanl a, #0fh ; 高四位不用 retKeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07h ;==========================扫描键盘子程序=========================== GetKey:mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN mov r1, #00100000b mov r2, #6 KLoop:mov a, r1 ; 找出键所在列 cpl amovx @dptr, a cpl a rr amov r1, a ; 下一列 movx a, @r0 cpl a anl a, #0fh jnz Goon1 ; 该列有键入 djnz r2, KLoopmov r2, #0ffh ; 没有键按下, 返回 0ffh sjmp Exit Goon1:mov r1, a ; 按下键的键码在键码表中的位置偏移量=(列-1 X 4 + (行-1 ;从第6列开始mov a, r2 dec a rl a rl amov r2, a ; r2 = (r2-1*4mov a, r1 ; r1中为读入的行值 mov r1, #4 LoopC:rrc a ; 移位找出所在行 jc Exitinc r2 ; r2 = r2+ 行值 djnz r1, LoopC Exit:mov a, r2 ;r2中为按下键的键码在键码表中的位置偏移量 mov dptr, #KeyTable movc a, @a+dptr mov r2, a ; 取出键码 WaitRelease:mov dptr, #OUTBIT ; 等键释放 clr amovx @dptr, a mov r6, #10 call Delay call TestKey 单片机原理及应用实验指导书罗钧付丽编重庆大学光电工程学院 20XX年5月目录实验规则 (2实验一单片机监控程序实验(4学时 (3 附:LAB20XXP 实验仪 (9 附:验证实验程序 (10 附:K EIL的使用步骤参考(17 实验二 A/D转换实验 (3学时 (21 附:验证实验程序(24 实验三 D/A转换实验 (2学时 (25附:DA转换实验程序 (27实验四单片机系统综合实验( 3学时 (28 附:实验仪中的温度传感器电路 (30 附:直流电机和步进电机控制接口电路 (31 实验规则为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则:一、实验前必须充分预习,完成指定的预习内容,预习要求如下: 1.认真阅读本实验指导书,分析掌握本次实验的基本原理; 2.完成各实验预习要求中指定的内容; 3.明确实验任务。
《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。
三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。
2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。
4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。
字迹要清楚,结论要明确。
爱护实验设备,遵守实验室纪律。
*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。
目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。
单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。
2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。
保存文件。
文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。
如果是多模块项目,可以同时选择多个文件再打开。
B ) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
C ) 保存项目。
在保存项目对话框中输入项目名称。
MY1 无须加后缀。
软件会自动将后缀设成“.PRJ ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。
4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。
c ai wp @f j ut .e d u.c n单片机实验操作指导书第一篇 Keil uVision2基本操作Windows应用程序Keil uVision2是一个集成开发环境,它把项目管理、源代码编辑、程序调试等集成到一个功能强大的环境中。
存储器窗口工作窗口外围设备窗口输出窗口项目窗口下面以P1口点亮LED 灯为例,介绍基本的实验操作。
1.双击桌面上的图标,启动Keil uVision2。
2.选择或工具栏的按钮新建文件。
3.编辑源程序,并将文件保存成后缀为.asm 的文件(本例存为led.asm)。
(建议先在D 盘建一文件夹如MCS51用于存放实验文件)。
c ai w p @f j ut .e d u.c n4.建立项目。
(1)从菜单中选择新建项目。
(2)输入项目名称(一般与源程序同名),点保存。
(3)选择器件。
选择Atmel 公司的AT89S51c ai w p @f j ut .e d u.c n往下,找到AT89S51,选中后点确定。
(5)出现下列对话项时,选择“否”。
(如果用C51,则选择“是”)5.将源程序文件添加到项目中。
①鼠标左键单击“+”号展开②单击鼠标右键③单击鼠标左键④在弹出的对话窗口中选择“文件类型”和“文件名”,然后点“Add ”添加。
添加后该窗口不会关闭,点“Close ”关闭。
c ai w p @f j ut .e d u.c n项目中添加了源程序文件6.设置目标文件选项单击工具按钮“Options for Target ”,对“Target”和“Output”标签进行相关设置。
设置后点“确定”。
设置时钟频率,用于仿真调试时定时、观察程序运行时间等,如设为6.0MHzc ai w p @f j ut .e d u.c n单击,将该选项打勾,编译后才会在当前目录生成后缀为.HEX 的目标文件,用于仿真调试。
7.编译 用菜单中的命令或工具栏的按钮对项目进行编译。
单片机原理及应用实验指导书(电气工程及其自动化专业)电气工程学院2016年8月前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。
由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生和广大的工程技术人员,配合《单片机原理》课程的教学,结合一种单片机实验板编写了这本实验指导书。
《单片机原理及应用》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。
本实验指导书提供多个实验的指导性材料,实验项目基本涵盖课程教学大纲的要,项目难易适中。
目录一、实验的性质与目的 (4)二、实验时间分配 (4)三、实验的地点选择 (4)四、实验的内容安排与要求· (4)五、注意事项 (5)六、实验报告要求 (5)七、成绩评定标准(参照模板制定) (5)实验一IO驱动实验 (6)实验二计数器实验 (8)实验三双机通信实验 (10)实验四数码管驱动显示实验 (13)实验五直流电机控制实验 (15)实验报告格式 (19)一、实验的性质与目的单片机原理及应用实验,是电气工程及其自动化及相关专业实践性环节系列之一,是学习《单片机原理及应用》课程中完成理论与实际结合的重要部分。
单片机实验过程中,学生通过查阅资料、接口设计、程序设计、安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并具有综合功能的小应用系统设计。
使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。
2.掌握汇编程序的编写方法及常用技巧。
二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。
在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。
因为程序在机器内连续高速地运行,难以观测程序的运行情况。
此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。
因此需要有相应的仿真设备才能完成。
单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。
在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。
系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。
LAB6000实验系统由硬件及软件两部分组成。
三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。
1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。
如图1-1。
图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。
单片机原理及应用实验
单片机是指一种集成了微处理器核心、存储器、输入输出功能和系统时钟等组件的微型计算机系统。
它通常由中央处理器(CPU)、存储器、输入输出设备和系统总线等组成。
单片机的工作原理是通过执行储存在存储器中的程序指令来完成特定的计算和操作。
单片机的应用非常广泛,可以应用于各种电子设备中。
以下是一些典型的单片机应用:
1. 控制系统:单片机可以用于工业控制系统、家庭自动化系统等场景中,通过接收输入信号并根据预设的逻辑程序来控制输出设备的状态,实现各种控制功能。
2. 电子设备:单片机可以应用于各种电子设备中,如电视机、音响、空调等。
它可以接收远程控制信号,并根据信号进行相关功能的操作。
3. 信息处理:单片机可以用于数据处理和信息传输领域,如数据采集和传输、数据处理和分析等。
4. 通信系统:单片机可以用于各种通信系统中,如电话、传真机、无线通信设备等。
它可以通过与外部设备的通信来实现相应的通信功能。
5. 汽车电子系统:单片机可以应用于汽车电子系统中,如发动机控制单元(ECU)、车载娱乐系统、车载导航系统等。
它可
以控制汽车各个系统的运行和协调。
6. 医疗设备:单片机可以应用于各种医疗设备中,如心电图机、血压计、血糖仪等。
它可以接收生理信号,并进行相应的处理和分析。
总之,单片机在电子领域有着广泛的应用,可以实现各种控制、处理和通信功能。
它为电子设备的智能化和自动化提供了重要的支持。
C-51的基础知识C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。
目前,使用C语言进行程序设计已经成为软件开发的一个主流。
用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。
而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。
一、C-51基础2、运算符+ - * / (加减乘除)> >= < <= (大于大于等于小于小于等于)== != (测试等于测试不等于)&& || ! (逻辑与逻辑或逻辑非)>> << (位右移位左移)& | (按位与按位或)^ ~ (按位异或按位取反)3、语句if 分支选择语句switch/case 多分支选择语句for 循环语句while 循环语句do-while 循环语句与标准C语言基本相同。
4、C-51中数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON = 0X98; sfr16 T1 = 0xFF; sbit CY = PSW^7;二、单片机集成开发环境目前单片机开发应用平台常用的有Keil和Wave(伟福)。
它们集编辑、编译、仿真于一体,支持汇编和C语言的程序设计,界面友好,易学易用。
它们的工作界面如图2-1和图2-2所示。
图2-1 Keil的工作界面图2-2 Wave的工作界面实验一单片机控制发光管一、实验目的1、熟悉集成开发环境;2、学习单片机I/O口的控制方法;3、学习C51语句的编写方法。
二、实验说明单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。
51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。
单片机原理及应用实验指导书襄樊学院物理与电子工程学院实验要求 (1)实验预习报告内容及格式 (1)实验报告内容及格式 (1)实验1 Keil C51的使用(汇编语言) (2)实验2 十六进制与十进制的转换 (7)实验3 8段LED显示器动态显示 (8)实验4 矩阵键盘的使用 (13)实验5 A/D转换 (17)实验6 D/A转换 (19)附录试验箱原理图 (22)实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告(预习报告只交电子文档)。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告(实验报告需交电子文档和打印文档)。
实验预习报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种应用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。
预习要求:1.熟悉使用Keil C51的步骤。
2.理解实验内容2中程序的工作原理。
3.编写实验内容3所需要的程序。
实验步骤:以下假定你在E:\TEST 文件夹下学习、运行Keil1.建立一个工程项目选择芯片确定选项如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)图1-1创建工程名弹出下一界面。
如图1-2所示:①选CPU厂家(Atmel)→②选CPU型号(89C51), ③选好后确定图1-2选厂家,选CPU 型号接着选晶振频率及生成HEX 文件等。
如图1-3所示:①Project→②Options for Target ‘Target 1’…→③在Target中→④更改CPU 晶振频率为12MHz→⑤在Output中→⑥选择生成HEX 格式其它采用缺省设置→⑦选好后确定。
图1-3选晶振频率及生成HEX 文件等窗口2.建立汇编源文件如图1-4所示:①File→②New, ③弹出源文件编辑窗口。
输入以下源文件:ORG 0000HAGAIN:CPL P1.0MOV R0,#10 ;延时0.5秒LOOP1:MOV R1,#100LOOP2:MOV R2,#250DJNZ R2,$DJNZ R1,LOOP2DJNZ R0,LOOP1SJMP AGAINEND图1-4进入编辑源文件窗口源程序编写完后,①File→②Save As 将文件以test.asm保存在E:\test 目录下,获得汇编语言源程序。
3.用项目管理器生成(编译)各种应用文件①点击Target 1 前之+ 号→出现②Source Group1→③点击它并按鼠标右键会生弹出下拉菜单见图1-5编译文件文件窗口→选择④Add Files to Group ‘ Source Group 1’ →⑤点击add向项目中添加Test.asm 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1前会出现一个+号→⑧点击之弹出test. asm 文件名点击该文件名→⑨主窗口中会出现该程序图1-5进入编译文件文件窗口编译:Project→Build target 就会生成一系列到文件如OBJ 文件LST 文件HEX文件等。
4.检查并修改源文件中的错误如果在源文件中存在错误在Output 窗口中会出现错误提示信息,你可以在源程序中进行修改,然后存盘后重新Build 观察错误提示信息。
5.编译连接通过后进行软件模拟仿真Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。
6.编译连接通过后进行硬件仿真实验箱的仿真串口必须与PC 机串口连接,通电,拨位开关K10必须拨在B端,连接P10和L00,连接P11和L01,设置硬件实时仿真调试选项:Project→Options for Target ‘Targetl’→Debug.硬件实时仿真调试选项窗口,见图1-5选硬件仿真选项,按确定按钮确定。
图1-5硬件实时仿真调试选项窗口进入硬件实时调试窗口后,可打开各种观察窗口,进行单步断点运行到光标连续执行等操作,无误后可连续运行观察LED发光管的显示效果。
注意退出时须按单片机的复位按键SS10,在进行硬件连接前最好也先按单片机的复位按键SS10。
7.修改以上程序,实现同时在P1.0和P1.1上各输出一个频率为1Hz但电平状态相反的方波。
重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。
2.以上菜单操作都可以点击工具栏中的相应图标快速实现。
3.退出硬件连接可以按SS10,在进行硬件连接前最好也按一次SS10。
4.生成源文件的方法:①从键盘上输入源文件;②用其他编辑软件(包括Microsoft Word)编辑源文件,然后复制到Keil C51 文件窗口中,使Word 文档变为TXT 文档,这种方法最好,可方便输入中文注释;③也可装入在其它编辑软件中编辑的源文件如: *.asm/*.a51/*.c... 等。
实验2 十六进制与十进制的转换实验目的:实践汇编语言顺序结构的编程方法,掌握十六进制数转换成十进制数的编程实现,掌握单步运行程序的基本技巧。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:将十六进制数转换成十进制数有多种方法,比较典型的是用待转换数除以权值的方法,即依次除以100、10,则各次的商和最后的余数就是所需要的十进制数。
实验内容:将放在片内RAM30H中的2位十六进制数转换成3位十进制数,按照从高位到低位的顺序分别放入31H~33H中(即非压缩的BCD码)。
在本实验中,要求使用单步方式运行,以便观察各单元的变化过程。
预习要求:理解实验原理,熟悉实验环境。
编写实现本实验要求的程序,并生成*.asm文件,将这个文件放在U 盘上备用。
实验步骤:1.建立一个工程,将在预习中做好的*.asm文件加入。
2.调出存储器编辑窗口,将30H单元修改成某一值。
3.在希望停下来的指令上设断点,然后运行,在断点处停下来后,再单步运行,可以看到各单元的变化情况。
运行完最后一条指令后,在31H~33H中应获得30H中十六进制数对应的十进制数。
重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。
2.本实验可以不用硬件连接,以软件仿真的方法即可进行。
3.程序的起始地址必须为0000H(以后各实验均同)。
4.对程序修改后必须退出连接,进行编译后再重新进行连接才能生效(以后各实验均同)。
5.调出存储器编辑窗口方法是:操作View→Memory Window,或点工具栏中的相应图标。
6.存储器编辑窗口可以编辑3个空间,可以用Adress调出。
在Adress中键入d:xxH或0Xxx将从地址xxH开始显示片内RAM的低128字节和特殊功能寄存器SFR;在Adress中键入i: xxH或0Xxx将从地址xxH开始显示片内RAM;在Adress中键入c: xxxxH或0Xxxxx将从地址xxxxH开始显示程序存储器;在Adress 中键入x: xxxxH或0Xxxxx将从地址xxxxH开始显示片外RAM。
7.将鼠标指针放在存储器编辑窗口中的某个数据上点击右键,在弹出的窗口中点Modify Memory at……可以修改其值。
如果要修改连续多个单元,可以在数据之间用“,”隔开。
8.设断点可以用Debug中的Insert/Remove Breakpoint或点击工具栏中的相应图标快速实现。
运行可用Go。
6.单步运行可以用Debug中的Step(纯单步)、Step Over(将子程序调用作为一条指令运行)或点击工具栏中的相应图标快速实现。
10.在运行过程中如果希望中止当前运行,从头开始,可以点击工具栏中的RST图标实现。
实验3 8段LED 显示器动态显示实验目的:掌握8段LED 显示器的使用及显示程序的设计方法。
实验设备:ZY15MCU12BD 型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:1. 实验箱上有6位8段LED 显示器,采用动态方式驱动。
即使一位LED 显示器显示内容一段时间,然后下一位LED 显示器显示内容一段时间……,周而复始。
只要刷新频率不小于50Hz ,就可以获得清晰稳定的显示效果。
2.MCS-51CPU 通过一片8255对8段LED 显示器进行段驱动和位驱动,8255的A 口、B 口、C 口、控制口的地址分别为片外RAM 的4000H 、4001H 、4002H 、4003H 。
3.LED 显示器的各段由8255的B 口驱动,低电平对应段发光,高电平对应段熄灭。