mcs51实训项目
- 格式:doc
- 大小:25.00 KB
- 文档页数:3
MCS51单片机软件实验一、数据传送1.实验目的(1)熟悉51单片机的开发环境Keil C51(2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用(3)掌握MOV, MOVX和MOVC类指令的用法及区别2.实验内容(1)将内部数据存储器20H为首地址的十六个字节传送到30H为首地址的数据区,即:20H~2FH送30H~3FH。
(2)将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器的30H~3FH。
(3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区首址为1000H 的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B 中,注意R0中的内容不在0~9范围时的处理。
二、加减法运算1.实验目的(1)正确使用单片机的加减运算指令(2)掌握不同指令对于程序状态字的影响及程序状态字的意义、用处(3)掌握ADD,ADDC,SUBB和DA A等指令的用法(4)学习模块化程序设计方案2.实验内容(1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。
需考虑有进位和无进位情况。
程序入口为:加数:22H,21H,20H三字节,22H为最高位被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位(2)编写3字节二进制减法子程序,用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。
入口:被减数:52H,51H,50H,50H为最低位减数:42H,41H,40H,40H为最低位出口:差:外部数据存贮器2003H~2000H(2003H为最高位)(3)编写10位十进制加法子程序(十进制数采用压缩BCD码存放)入口:加数:24H-20H,低地址放低字节被加数: 29H-25H,低地址放低字节要求调用多组数据调试,注意观察PSW的变化,理解DA A指令的含义。
三、乘法运算1.实验目的(1)掌握MUL指令的用法(2)掌握无符号整数的乘法设计思路2.实验内容(1)无符号二进制双字节乘法入口:R1(高位)R0(低位),内放被乘数R3(高位)R2(低位),内放乘数出口:33H~30H内放乘积,33H为最高位设置多组程序来验证程序的正确性四、代码转换1.实验目的(1)掌握代码转换的方法(2)进一步熟悉51单片机指令系统2.实验内容(1)将内部RAM中30H~37H单元的16个拼装4位二进制数0~F转换成ASCⅡ码,并存入内部数据RAM以40H为首地址的区域中。
目录实验实验一:WAVE软件使用实验二:常用指令的使用练习实验三:循环程序实验四:查表程序实验五:数制转换程序实验六实用子程序:(编程器的使用)实验七:输入检测与输出显示程序实验八:中断/定时程序课设一、课程设计目的和意义二、实验电路系统的结构和使用方法三、设计参考题目介绍和设计提示性思考题四、设计任务书及要求五、课程设计报告格式及要求六、考核办法七、课程设计内容及学时安排实验一:WAVE软件使用一、预习内容1、试验目的:学习WAVE软件安装和基本使用。
2、WAVE软件的安装选择WAVE文件夹下的SETUP.EXE文件并双击接着下一步最后到完成。
3、安装后写出软件窗口中工具栏中各按钮的名称。
参考说明书4、写出下面二实例各条指令的含义二、试验内容实例一指令的含义ORG 0000HMOV R0,#01HL1: MOV A,R0MOV P0,AINC R0AJMP L1END实例二ORG 0000H 指令的含义MOV R0,#01HL2: MOV A,R0MOV P2,ARL AMOV R0,ALJMP L2END1、打开WAVE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。
3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。
5、点击单步按钮或F8键进行单步操作。
6、观测CPU窗口的A、P0和数据存储器窗口R0的状态并列表1记录每循环一次下列寄存器的值。
8、新建一个文件后输入实例二程序内容,并保存在我的文档名为A2.ASM ,执行编译按钮或项目菜单中的编译三、实验报告要求1、写出上述两试验程序各条指令的含义(与预习时相比是否一致)。
2、整理表一和表二的数据,分析他们各自实现的功能。
51单片机实训题目第1题模拟交通灯任务要求:1、主干道绿灯40秒,支干道绿灯20秒,黄灯都是5秒;2、要求用定时器实现定时时间;3、要求显示器同步显示主干道时间的倒计时;4、如果有按键按下,表示有紧急车辆通过(救火车等),2路都亮红灯,蜂鸣器响,如果另外一个按键按下则恢复正常。
第2题基于单片机的电子秒表本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A 键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。
要求按键输入采用中断方式,按键A接INT0,按键B接INT1.第3题采用单片机和DAC设计波形发生器任务要求:1利用单片机和DAC0832产生锯齿波、三角波、正弦波等波形2完成DAC与运放的连接,输出可供示波器显示。
3用按键改变波型的种类,波形的幅值与频率。
第4题基于单片机的精确时钟本设计以单片机为核心,采用常用电子器件设计,一个电源开关,1个按键负责设置时间和开始走时,1个按键负责循环递增时间,16位数码管显示,可实时显示年,月,日,时,分,秒,百分秒,要求精确到0.01秒。
具有整点播放音乐,并根据时针输出相应次数的嘟嘟声,最后一声较尖锐,为准确整点时间。
要求按键输入采用中断方式,按键A接INT0,按键B接INT1.第5题智能温控器本设计以单片机为核心,采用常用电子器件设计,一个电源开关,两个控制温度设定按键(增大/减小),四位数码管分别显示设定温度和实际温度,量程为0~99度,打开电源开关后设定温度值初始化为26度。
按键输入采用中断方式,两个按键分别接INT0和INT1.采用铂电阻(Pt100)温度传感器进行温度测量,模数转换采用ADC0809.单片机根据设定温度S和实测温度P控制继电器R的动作,死区设为2度:当P<=S-1时,控制R接通电加热回路;当P>S+1时,控制R断开电加热回路;当S-1<p<=s+1时,r保持原状态不变。
实验四-MCS-51单片机外部中断实验实验目的:1. 学习MCS-51单片机的外部中断原理和使用方法;2. 掌握如何通过硬件中断和软件中断实现MCS-51单片机的响应机制;3. 了解MCS-51单片机外部中断的实际应用。
实验器材:MCS-51单片机开发板、按键开关、调试器。
实验原理:MCS-51单片机通过INT0和INT1两个硬件中断引脚实现外部中断。
当INT0外部中断线检测到低电平信号时,中断向量为0x0003;当INT1外部中断线检测到低电平信号时,中断向量为0x0013。
通过配置中断控制寄存器IE和TCON,可以实现对外部中断的使能、触发方式和优先级等的控制。
MCS-51单片机还可以通过软件方式实现外部中断,即通过软件方式扫描外部信号,并在检测到信号发生变化时触发相应的中断处理程序。
实现软件中断的方法是使用定时器功能,通过定时器中断触发中断服务程序,该程序扫描外部信号,并根据需要触发软件中断。
实验步骤:1. 将开发板上的按键开关连接到开发板的P3.2引脚。
按键开关按下时,P3.2引脚被拉低,可以触发外部中断。
2. 打开Keil μVision5软件,新建工程,选择芯片型号为STC89C52,保存并命名为“Exp4”。
3. 在主函数中声明中断函数,并在中断函数中打印提示信息。
4. 在主函数中初始化中断控制寄存器IE和TCON,开启INT0外部中断,并将中断优先级设置为最高。
5. 在主函数中使用无限循环,来保持程序一直运行,并定时打印提示信息,以验证程序是否正常运行。
6. 烧录程序到开发板上,先在开发板上不按下按键,观察是否正常打印提示信息。
然后按下按键,观察是否触发外部中断,进入中断函数并打印提示信息。
实验代码:#include<STC89C52.h>#include<stdio.h>// 定义外部中断0的中断服务函数void Interrupt0() interrupt 0{printf("External interrupt 0 has occured!\n");}// 打印提示信息printf("Program is running...\n");while(1){// 定时打印提示信息printf("Hello!\n");delay_ms(1000);}}注意事项:1. 写中断程序时,一定要注意将中断函数的声明放在程序开头,否则可能会出现中断无法触发的情况;2. 在使用中断相关功能的时候,务必仔细阅读数据手册中的相关章节,以确保正确使用并且避免出现不必要的错误;3. 在进行外部中断实验的时候,可以使用按键开关、光敏电阻等外部器件来模拟外部信号的变化,以测试程序的正确性。
第一章单片机系统板说明一、概述单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。
适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。
该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。
该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。
为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。
二、单片机板简介本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。
以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。
因此构成单片机实验系统。
1、主要技术参数(1)MSC-51单片机板板上配有ATMEL公司的STC89C51芯片。
STC89C51资源:32个I/O口;封装DIP40。
STC89C51开发软件:KEIL C51。
2、MSC-51单片机结构(1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。
(2)单片机板左上侧有一个串口,用于下载程序。
(3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。
(4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。
三、母板简介主要技术参数(1)实验系统电源实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。
主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板得电工作。
为适用多种需要,配置了+5V,+12V,—5V电压供主板和外设需要,通过右上角的插针排和插孔输出到外设。
此外,还设有螺旋保险插孔保护实验箱。
(2)RS232接口RS232接口通过MAX232芯片实现与计算机的串行通讯,通过接口引出信号。
一、实训目的1. 掌握单片机的基本原理和组成。
2. 熟悉51单片机的编程方法及开发工具。
3. 培养动手实践能力,提高问题分析和解决能力。
4. 理解单片机在实际应用中的地位和作用。
二、实训内容1. 单片机基本原理- 单片机的组成结构- CPU的工作原理- 存储器分类及功能- I/O接口电路2. 51单片机编程- C语言编程基础- 51单片机指令系统- 程序设计方法- 常用函数和中断系统3. 单片机开发工具- Keil uVision软件的使用- 串口调试助手的使用- 实验箱的连接与调试4. 实训项目- 项目一:LED流水灯- 实现功能:通过单片机控制LED灯的闪烁,形成流水灯效果。
- 实训目标:熟悉单片机基本编程方法,掌握LED灯的控制。
- 项目二:按键控制LED灯- 实现功能:通过按键控制LED灯的开关。
- 实训目标:掌握按键输入的处理方法,了解中断系统。
- 项目三:数字时钟- 实现功能:通过单片机实现数字时钟的功能,显示时分秒。
- 实训目标:掌握定时器的工作原理,了解时钟系统的设计。
- 项目四:温度传感器数据采集- 实现功能:通过温度传感器采集环境温度,并在LCD显示屏上显示。
- 实训目标:学习传感器应用,掌握A/D转换器的工作原理。
三、实训步骤1. 准备工作- 熟悉实训环境,了解实验设备。
- 安装Keil uVision软件,配置实验箱。
2. 理论学习- 学习单片机基本原理、编程方法和开发工具。
- 阅读相关教材和资料,掌握知识点。
3. 项目实施- 根据实训项目要求,进行程序设计。
- 利用Keil uVision软件进行编译、调试和烧录程序。
- 连接实验箱,进行实际操作。
4. 结果分析- 分析程序运行结果,发现问题并解决。
- 总结实训过程中的经验和教训。
5. 撰写报告- 按照实训报告模板,撰写实训报告。
四、实训要求1. 严格遵守实训纪律,按时完成实训任务。
2. 认真学习理论知识,熟练掌握编程方法和开发工具。
MCS-51单片机软件实验通过这些实验程序的调试,使学生熟悉MCS-51 的指令系统,掌握软件仿真方法;了解单片机软件设计过程;掌握汇编语言设计方法,以及怎样用软件仿真提供的调试手段来排除软件错误。
实验一数据传送实验1.实验目的掌握8031 内部RAM 和外部RAM 之间的数据传送方法;掌握这两部分RAM 存贮器的特点与应用,掌握各种数据传送方法。
2.实验内容编写并调试一个数据传送程序,①将40~4FH 数据送到数据存贮器7E00~7E0FH 中,②将数据存贮器7E00~7E0FH 中的数据送到8031 内部RAM 50~5FH 中,③将以(R2,R3)为源RAM 区首地址内的(R6,R7)个字节数据,传送到以(R4,R5)为末地址的RAM 区。
3.实验程序参考图4.调试方法⑴打开仿真软件中内部数据空间和外部数据空间,在40~4Fh 数据单元中分别送数,例如:1,2,3,4,…等16 个数据。
⑵单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00~7F0FH)数据是16 个数据传送到40~4F 单元(40)~(4FH)传送到7E00~7E0FH否与40~4FH数据一一对应。
⑶如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直至正确为止。
5.思考试编写将外部的数据存贮区6030~607FH 的内容写入外部RAM 3030~307H 中。
实验二清零程序1.实验目的掌握汇编语言设计和调试方法,掌握清零程序编写方法。
2.实验内容将7000H~70FFH 的内容清零;将30H~7FH 的内容清零;将(R2,R3)源RAM 区首址内的(R6,R7)个单元中的内容清零。
3.实验程序框图4.调试方法单步运行程序到BP1,观察R0,7000H 两单元内容是否为0 ,单步运行到BP2,看DPTR,R0 是否加1,再单步运行,看是否跳转到BP1,若是,说明第一循环没错,然后全速运行程序,观察7000H-70FF 的内容应全为零,再用单元置数方法,将7000H-70FF 的内容改为不全为0,再运行一次,若全变为零,说明程序全对,同样,可调试后面两个程序。
计算机原理与接口技术实验实验一传送指令编程调试一.实验目的1.掌握指令系统传送指令的汇编语言程序设计和调试方法;2.熟悉运用MCS-51软件在线仿真调试设计的程序的方法。
二.实验设备EL-Ⅱ型实验箱,8051CPU板三.实验内容1.编写多字节数据的传送程序,把内部RAM的30H--37H单元置为10H-17H,然后传送到外部的RAM的4200H--4207H单元;再将4200H--4207H单元逐一求反后送到内部RAM 的30H--37H单元。
2.程序结构采用循环结构,程序用R0作内部RAM指针,用DPTR作外部RAM指针,R7作为计数初值N,本实验N=8。
1.在WIN98窗口中启动MCS51应用软件,用MCS-51汇编软件对输入程序、进行汇编,产生目标代码文件,调试。
程序输入、汇编和调试的具体步骤1)WIN98窗口中建一个名字是由3~5个英文字母组合的文件夹。
2)在MCS51集成开发环境的主菜单中选择新建文件分支命令M51后,按实验系统复位键RST后,实验系统部分显示‘C’,计算机屏幕显示为可编辑状态,既可进行源程序的输入。
3)程序输入结束,必须通过主菜单中文件分支的保存命令将其保存在WIN98窗口中新建的文件夹中,注意:文件名也必须是由3~5个英文字母组合,后缀为.asm。
4)点击主菜单中编译分支的汇编命令对输入的程序进行汇编,在窗口的左下方显示编译结果。
通过观察其内容可以了解程序的指令运用和输入的正确与否。
当编译正确时,软件将自动将生成的目标文件下载到EL-Ⅱ型实验箱的RAM中,可以进入下一个内容——调试的操作。
否则必须将程序中的错误修改正确,再经过存盘和编译的过程,方可以做调试的工作。
当编辑结果有错误时,首先将51窗口最小化,在WIN98窗口中新建的文件夹中找到*.lst 打开查看编译结果,然后必须关闭该显示文件,再回到51窗口中做修改、存盘和编译工作工作。
调试程序的步骤(1)点击主菜单调试中的启动调试命令。
(二)单片机实验开发系统部分实验内容
单片机MCS-51实训项目
软件实验
外部数据存储器扩展
1.存储器块清零
2.二进制到BCD码转换
3.二进制到ASCII码转换
4.程序跳转表
5.内存块移动
6.数据排序
7.P1口输入、输出实验
8.继电器控制实验
9.用74LS244读入数据
10.用74LS273输出数据
11.串行数据转换并行数据
12.并行数据转换串行数据
13.PWM转换电压实验
14.音频控制实验
15.8255输入、输出实验
16.8155输入、输出实验
17.5LED静态串行显示实验
18.6LED动态扫描显示实验
19.查询式键盘实验
20.阵列式键盘实验
21.计数器实验
22.定时器实验
23.8253定时器实验
24.外部中断实验
25.串行口通讯实验
26.ADC0809模数转换实验27.DAC0832数模转换实验
28.MC14433模数转换实验29.EEPROM外部数据程序存储器实验30.SRAM外部数据存储器扩展实验31.93C46串行EEPROM数据读写实验32.电子时钟实验
33.电子琴模拟实验
34.打印机控制实验
35.汽车转弯信号灯控制实验36.温度传感器温度控制实验37.温度过程控制模拟实验
38.五相步进电机模拟实验
39.计算器实验
40.数字频率计实验
41.V/F转换实验
42.F/V转换实验
43.LED点阵显示实验
44.字符液晶显示屏控制实验45.8279键盘扫描显示实验
46.看门狗实验
47.8251串行口扩展通讯实验
48.I2C总线读写实验
49.RS232转RS485实验
50.USB接口实验
51.十字路口交通灯控制实验52.五功能逻辑笔实验
53.直流电机驱动调速实验(实物)54.步进电机驱动实验(实物)55.IC卡读写实验
56.实时时钟/日历控制实验
57.语音芯片控制实验
58.单片机与CPLD实验
59.8051与PC机串行口通讯实验60.Flash Rom外部程序存储器实验61.多功能密码锁实验。