单片机原理及应用实验指导书
单片机原理及应用实验指导书

实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对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文件,添加成功。
单片机原理及应用技术实验指导书

单片机原理及应用实验指导书实验前准备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.编译 用菜单中的命令或工具栏的按钮对项目进行编译。
单片机原理及应用实验指导书

单片机原理及应用实验指导书河北理工大学信息学院2005 年5 月目录实验一P1 口实验................................................................... .1 实验二软件BCD ASCII码转换 .......................................................... .3 实验三定时/计数器实验................................................................. .4 实验四外部中断实验............................................................. (6)实验五外部存储器扩展实验........................................................ (7)实验六串行口通讯实验 (8)实验七A/D转换接口实验 (9)一、实验题目1.P1 口做输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的1.学习P1 口作为输出口的使用方法。
2.学习延时子程序的编写和使用。
三、有关说明P1 口为准双向口,P1 口的每一位都能独立地定义为输出线或输入线。
作为输入的口线,必须向锁存器相位写入1,该位才能作为输入。
再看一下延时程序的实现,现常用的有两种方法:一是用定时器中断来实现,二是用指令循环来实现。
在系统时间允许的情况下,可以采用后一种方法。
以12M晶振为例,一个机器周期为12/12=1uS,现要写一个延时0.1S的程序,可大致写出如下:MOV R7,#200DE1:MOV R6,#XDE2:DJNZ R6,DE2DJNZ R7,DE1上面MOV,DJNZ指令均需要两个机器周期,所以每执行一条指令需2uS,现求出X 值:(X*2+2+1)*200+1=100000,求出X=248。
《单片机原理与应用》实验指导书1

《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 BCD码与ASCII码转换实验三 P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六 A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。
(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。
(3)连续或单步运行所编程序。
检查R2R3R4R5中的内容是正确。
四、实验原理:R6 R7R2 R3R4 R5B AB AB A(B)R2 (B+B+A) R3 (R4+A+A) R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为ATMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。
六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将1050H、0551H、0952H、4153H、0154H。
《单片机原理及应用实验指导书》

实验一 I/O口的实验一、实验目的1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法;2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;3.掌握在Proteus环境下建立文件原理图的方法;4.实现Proteus与Keil联调软件仿真。
二、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A,# HLOOP: MOV P2,ACALL DELAYSJMP LOOPDELAY: MOV R1,# HDL1: MOV R2,# HDL2: MOV R3,# HDJNZ R3,$DJNZ R2,DL2DJNZ R1,DL1RETEND将以上程序补充完整,流水时间间隔为50ms。
3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。
三、主要实验设备实验室电脑及配套实验箱LED发光二极管、按键电路。
四、实验内容1.将以上汇编语言程序补充完整;2.改变流水灯的时间间隔;3.编写出对应的C51程序。
五、实验总结进行软硬件仿真时,观察到8支LED发光二极管流水发光。
六、预习及思考1.如何让改变流水方向?2.若将R3至R10上拉电阻省略,8支LED还能正常发光吗?3.如果将LED接到P0口与接到P2口硬件设计时应注意什么问题?实验二定时计数器中断实验一、实验目的利用单片机的定时计数器和外部中断,实现LED流水灯轮流发光,流水时间以定时器的方式来控制,利用计数器进行计数改变流水灯的状态,输入外部脉冲产生外部中断改变流水灯的状态。
《单片机原理与应用》实验指导书
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院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。
《单片机原理及应用》实验指导书
《单片机原理及应用》实验指导书目录实验一P1口输出实验(验证性实验) (1)实验二中断实验(验证性实验) (3)实验三键盘显示实验(验证性实验) (5)实验四计算器实验(综合性实验) (8)实验一P1口输出实验(验证性实验)一.实验目的1.熟悉P1 口的功能。
2.熟悉延时子程序编写和使用。
3.熟悉I/O口接法和总线接法4.初步熟悉单片机软硬件设计方法。
二.实验内容P1口做输出口,P1.0引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭(亮0.2s、灭0.8s)。
要求采用I/O口接法和总线接法两种方法实现。
三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理实验箱中带有8051的仿真器,因此用户需按要求进行仿真器设置。
实验箱中单片机并口的各个引脚已经引出相应插孔,请同学自行查找。
实验箱上的LED,其电路图如下:六. 实验步骤1.打开keil软件编写程序,并进行仿真器设置。
2.将实验箱中单片机的某个并口引脚接发光二极管。
3.编译调试程序。
七. 思考1.实现走马灯程序。
(选做)2.实现简单的时钟功能。
(选做)实验二中断实验(验证性实验)一.实验目的1.熟悉中断的硬件电路。
2.熟悉中断的软件设计。
二.实验内容1. 利用实验箱上的单脉冲按键和发光二极管实现:每当单脉冲按键按下时(产生一个脉冲),发光二极管亮灭变化。
2. 利用计数器实现:每当单脉冲按键按下10次时,发光二极管亮灭变化三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键产生一个单脉冲。
单片机原理及应用实验指导书
《单片机原理及应用》实验指导书温州大学瓯江学院2007年9月目录实验一单片机开发系统的使用 (1)实验二单片机软件实验 (4)实验三MCS-51单片机I/O实验 (9)实验四MCS-51单片机中断实验 (15)实验五定时器计数器实验 (22)实验六单片机综合应用设计实验 (25)附录Keil C51常用库函数原型 (31)实验一单片机开发系统的使用一、实验目的1、了解单片机开发系统的各主要组成部分,包括PC、仿真器和实验开发系统;2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。
二、实验仪器1、自制的C51实验开发板 1块2、直流温压电源 1台3、仿真器(EASYPROBE) 1只4、PC机 1台三、实验内容1、认识51单片机开发系统的结构。
图1-1 51单片机开发系统的结构2、初步认识仿真器软件和Keil C51软件界面。
3、简单程序调试(1) 传送指令设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。
MOV R0,#30HMOV A,@R0MOV R1, AMOV B, @R1STOP: SJMP STOP执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。
(2) 运算指令4、多字节十进制数加法被加数加数结果低位20H21H22H23H 高位图1-2 4字节十进制数相加两个4字节十进制数1234567和89987265相加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。
运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。
分别按“跟踪”、“单步”和“全速”方式调试程序。
检查运算结果,区别“跟踪”、“单步”调试方式的不同。
在“ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DA A”的功能。
《单片机原理及应用》实验指导书.doc
《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。
2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。
3)熟悉用单片机P0 口控制LED灯亮和灭的方法。
2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。
把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。
改变延吋吋间,则改变LED灯改变速度,效果也不一样。
4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。
2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。
编辑实验源程序。
(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》实验指导书(C语言)中南林业科技大学交通运输学院交通运输教研室周永军2015.09前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。
由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生,配合《单片机原理及应用》课程的教学,结合本学院单片机教学实验板编写了这本实验指导书。
《单片机原理及应用》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习程序设计,还是学习接口电路与外设,不通过加强动手是不能获得预期效果的。
本实验指导书提供多个实验的指导性材料,可以根据课时的安排和教学要求进行取舍。
为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。
实验须知1. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。
2. 各种电源的电压和极性不能接错,严禁带电接线和接插元器件。
通电前须经过指导教师检查认可后方能通电。
3. 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。
4. 严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。
5. 实验中若损坏仪器或元器件,应及时向指导教师报告。
6. 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。
7. 实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。
8. 按规定认真完成实验报告,在规定的时间内缴上实验报告。
9. 凡实验或实验报告未能按规定完成的学员,不能参加本课程的考试或考查。
单片机实验报告格式实验报告标题一、实验目的二、实验内容三、实验设计及调试:(1)实验分析及内容。
(2)实验电路:画出与实验内容有关的简单实验电路。
(3)实验设计及调试步骤:根据内容写出实验程序。
调试程序,观察结果。
(4)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。
四、实验后的经验教训总结。
目录实验一实验板使用,KEIL C51软件使用.................................................... 错误!未定义书签。
实验二C51数据类型实验1 ........................................................................... 错误!未定义书签。
实验三数据类型实验2................................................................................... 错误!未定义书签。
实验四运算符与表达式的练习实验1 .......................................................... 错误!未定义书签。
实验五运算符与表达式的练习实验2 .......................................................... 错误!未定义书签。
实验六程序流程控制语句的练习实验 ......................................................... 错误!未定义书签。
实验七函数实验.............................................................................................. 错误!未定义书签。
实验八数组、指针实验.................................................................................. 错误!未定义书签。
实验九.............................................................................................................. 错误!未定义书签。
实验十 ......................................................................................................... 错误!未定义书签。
实验十一.............................................................................................................. 错误!未定义书签。
实验十二.............................................................................................................. 错误!未定义书签。
实验十三.......................................................................................................... 错误!未定义书签。
实验十四.......................................................................................................... 错误!未定义书签。
实验十五 ......................................................................................................... 错误!未定义书签。
实验十六.............................................................................................................. 错误!未定义书签。
附录一:Keil C51集成开发环境使用说明...................................................... 错误!未定义书签。
附录二:TX-1C 单片机开发板简介................................................................ 错误!未定义书签。
实验一实验板使用,Keil C51软件使用一、实验目的1. 熟悉单片机实验版、Keil C51软件使用方法和调试技巧;2. 了解C51的程序结构。
二、实验要求点亮与单片机P1.0 口相连的发光二极管,延时约0.2S,然后熄灭,再延时约0.2S,再点亮,如此循环下去。
[硬件电路]三、实验内容及步骤1. 启动PC机,安装好USB-to-seareal驱动,用USB线连接计算机与实验板;2. 打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,下载目标程序到SST89E516RD芯片中;3. 运用单步运行、设置断点等调试技巧调试程序。
【参考源程序】#include<reg51.h>/**********************************************************上面这行是一个“文件包含”处理,是指一个文件将另外一个文件的内容全部包含进来,这里的程序虽然只写了一行,但C 编译器在处理的时候却要处理几十或几百行,这里包含reg51.h 的目的在于本程序要使用P1 这个符号,而P1是在reg51.h 这个头文件中定义的。
大家可以在编译器目录下面用记事本打开这个文件看看。
*********************************************************/sbit P1_0=P1^0; //定义IO 口这步的目的是让编译器知道P1_0 代表的就是单片机的P1.0 口void delay02s (void) //延时0.2 秒子程序{unsigned char i,j,k; //定义3 个无符号字符型变量。
for(i=20;i>0;i--) //三个FOR 循环用来延时,这里为for(j=20;j>0;j--) //什么是0.2S 大家可以用for(k=248;k>0;k--); //设置断点仿真,就可知道大概是0.2S 了。
}void main (void) //每一个C 语言程序有且只有一个主函数,{while(1) //循环条件永远为真,以下程序一直执行下去。
{P1_0=0; // I/O 口P1.0 输出低电平,小灯被点亮。
delay02s(); //延时经过0.2 秒。
P1_0=1; // I/O 口P1.0 输出高电平,小灯熄灭。
delay02s(); //延时经过0.2 秒。
}}实验二C51 数据类型实验1一、实验目的:掌握相关语句的编程方法。
二、实验内容:1.演示字符型数据和整型数据的溢出;2.观察数据在内存中的存储位置;3.了解不同类型数据的差异。
[硬件电路]1. 演示字符型数据和整型数据的溢出(参考程序如下:)#include "reg51.h"void main(){while(1){unsigned char a,b;int c,d;a=0,b=0;a=255;b=a+1;c=0,d=0;c=32767;d=c+1;}}2. 观察数据在内存中的存储位置(参考程序如下:)#include "reg51.h"void main(){ code int x=100;int y;y=x; //避免编译警告for(;;);}3.了解不同类型数据的差异。
程序通过两个延时函数的不同效果,给不同函数类型的数据间差异提供一感性认识。
下载程序后,会发现八位发光二极管被点亮的时间很短,而熄灭的时间很长。
参考程序如下:#include<reg52.h>void delaychar(){unsigned char m,n;for(m=255;m>0;m--) //unsigned char型的变量,最大值可以取到255for(n=10;n>0;n--); //故这种变量延时不会太长}void delayint(){unsigned char n;unsigned int m;for(m=65535;m>0;m--) //unsigned int型的变量,最大值可以取到65535for(n=10;n>0;n--); //故这种变量,延时的长度会比前者大。