太原理工大学单片机实验
实验报告太原理工
![实验报告太原理工](https://img.taocdn.com/s3/m/e743e943fe4733687e21aa6d.png)
太原理工大学现代科技学院实验报告实验一:LED灯控制系统设计一、实验目的学习掌握LED灯控制系统的设计方法二、实验要求利用89C51单片机来控制实验板上的8个LED灯,让这8个LED灯分成两组(高4位与低4位)交替闪烁。
三、请画出硬件电路原理图根据实验要求和实验板现有电路画出LED灯控制系统的硬件电路原理图。
将硬件电路原理图画在下面的空白处,可手画,也可用软件画。
太原理工大学现代科技学院实验报告四、画出程序的流程图 五、按照流程图编写程序(C 语言) …………………………………装……………………………………订………………………………………线……………………………………………太原理工大学现代科技学院实验报告六、验证所设计的系统通过实验板验证所设计的系统是否达到要求1.所设计的硬件电路是否符合设计要求?2.所设计的程序是否符合设计要求?3.如果所设计的系统没有达到要求,存在的问题是什么?是如何改正的?七、你对本课程的实验有何好的建议?太原理工大学现代科技学院实验报告实验二:数码管显示控制系统设计一、实验目的1.了解按钮开关的原理;了解按钮开关输入电路的设计方法;掌握按钮开关的输入方法和编程方法。
2.了解七段数码管的原理;了解七段数码管输出电路的设计方法;二、实验原理1.按钮开关和按钮开关输入电路的原理按钮开关的特点就是具有自动恢复的功能:按下按钮,电路接通;松开按钮,恢复电路的切断状态当把按钮作为电路的输入器件时,一般是将其连接到电源或地,如图1所示。
图1 按钮开关输入电路设计按钮开关一般为开路状态,图(a)中按钮开关通过上拉电阻连接电源,使单片机的输入引脚保持高电平;若按下按钮,单片机的输入引脚将变成低电平,松开按钮单片机的输入引脚将恢复高电平,此操作可产生一个负脉冲信号。
反之,如图(b)所示,单片机的输入引脚保持为低电平。
若按下按钮,单片机的输入引脚变成高电平;松开按钮,单片机的输入引脚恢复低电平,此操作可产生一个正脉冲信号。
单片机实训报告
![单片机实训报告](https://img.taocdn.com/s3/m/52fb754a0a4e767f5acfa1c7aa00b52acec79c42.png)
单片机实训报告一、实训目的本次单片机实训的目的在于通过实际操作和项目实践,深入理解单片机的工作原理和应用开发,提高自身的硬件设计能力、软件编程能力以及解决实际问题的能力。
同时,培养团队合作精神和创新思维,为今后从事相关领域的工作打下坚实的基础。
二、实训设备在本次实训中,我们使用了以下主要设备:1、单片机开发板:用于实验和项目的开发与调试。
2、计算机:安装相关的编程软件和开发工具。
3、示波器:用于观察电路中的信号波形。
4、万用表:用于测量电路中的电压、电流等参数。
三、实训内容1、单片机基础知识学习首先,我们对单片机的基本结构、工作原理、指令系统等进行了系统的学习。
了解了单片机的内部组成,包括中央处理器(CPU)、存储器、输入输出端口等。
通过学习指令系统,掌握了如何使用汇编语言或 C 语言对单片机进行编程控制。
2、硬件电路设计在硬件电路设计方面,我们学习了如何根据实际需求设计单片机的最小系统,包括电源电路、时钟电路、复位电路等。
同时,还掌握了如何扩展外部存储器、输入输出设备等。
通过实际绘制电路图和制作电路板,提高了我们的硬件设计能力和动手实践能力。
3、软件编程在软件编程方面,我们使用了汇编语言和 C 语言两种编程方式。
通过编写简单的程序,如点亮 LED 灯、控制数码管显示、实现按键输入等,逐渐熟悉了单片机的编程方法和技巧。
同时,还学习了如何使用中断、定时器、串口通信等功能,提高了程序的复杂程度和实用性。
4、项目实践在项目实践环节,我们分组完成了一个基于单片机的温度控制系统的设计与实现。
该系统通过温度传感器采集环境温度,经过单片机处理后,控制风扇的转速和加热装置的工作状态,从而实现对环境温度的自动控制。
在项目实践过程中,我们充分运用了所学的知识和技能,从系统方案设计、硬件电路搭建、软件编程调试到系统测试优化,每个环节都进行了精心的设计和认真的实施。
四、实训过程在实训开始阶段,我们首先进行了单片机基础知识的学习和实验。
(太原理工大学)基于msp430单片机的数字温度计的制
![(太原理工大学)基于msp430单片机的数字温度计的制](https://img.taocdn.com/s3/m/244aab0ebb68a98271fefabe.png)
目的
通过数字温度计的制作,介绍msp430单片机系列内核msp430f413微处理器,了解一个典型的430单片机系统的实现过程,能够使用430的C语言集成开发环境,掌握产品的开发流程。
目标对象
高等院校对口专业(单片机软硬件、电子工程、自动化等)高年级学生。
特别是面临就业的毕业班学生。
课程设计
实习课程安排:
1、msp430flash型超低功耗16位单片机的硬件结构介绍及应用领域
2、430的汇编语言和c语言的编程结构简单介绍
3、430的c语言开发环境(IAR Embedded Workbench for MSP430)的应用
4、配合一些简单的实例练习软件的使用和软件仿真
5、数字温度计的原理及电路图分析
6、焊接数字温度计的电路板
7、调试数字温度计的电路板,硬件仿真、功能实现及如何解决所出现的问题。
太原理工大学单片机第3章 MCS-51单片机指令系统
![太原理工大学单片机第3章 MCS-51单片机指令系统](https://img.taocdn.com/s3/m/25f07c6ab84ae45c3b358ce8.png)
addr16:表示16位地址。 addr16:表示16位地址。 addr11:表示11位地址。 addr11:表示11位地址。 rel:用补码形式表示的地址偏移量,取值范围为-128~ rel:用补码形式表示的地址偏移量,取值范围为-128~
11:55
张兴忠制作:zhangxingzhong@
3
3.1 指令系统简介
------指令系统 ------指令系统
指令系统 计算机所有指令的集合,称为该计算机的 指令系统,它是表征计算机性能的重要标 志。每种计算机都有它自己特有的指令系 统。指令是指计算机执行某种操作(如传 送数据、做算术运算等)的命令。
11:55
张兴忠制作:zhangxingzho----指令的两种格式 ------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式 指令的格式是机器码指令格式,如75905B ,即数 机器码指令格式,如75905B 字格式。
11:55
张兴忠制作:zhangxingzhong@
13
3.1.3 指令中的常用符号
#date:表示8位立即数,即8位常数,取值范围为#00H~ #date:表示8位立即数,即8位常数,取值范围为#00H~
#0FFH。 #0FFH。
date16:表示16位立即数,即16位常数,取值范围为 date16:表示16位立即数,即16位常数,取值范围为
11:55
张兴忠制作:zhangxingzhong@
7
3.1.1 指令系统的分类
-----按指令所占存储空间分类 -----按指令所占存储空间分类
MCS-51单片机能够识别并执行的指令共有111条。按 MCS-51单片机能够识别并执行的指令共有111条。按 指令所占字节数、指令执行时间和指令功能进行分类。 1.按指令所占字节数分类 1) 单字节指令(49条) 单字节指令(49条) 2) 双字节指令(46条) 双字节指令(46条) 3) 三字节指令(16条) 三字节指令(16条)
太原理工单片机实验报告1
![太原理工单片机实验报告1](https://img.taocdn.com/s3/m/1d7f452610661ed9ad51f364.png)
太原理工大学现代科技学院单片机原理与应用技术课程实验报告专业班级学号姓名指导教师实验名称双字节BCD加法同组人专业班级学号姓名成绩一、实验目的:1、通过常用指令的编辑练习,进一步理解并掌握MCS-51单片机的指令系统。
2、学习并掌握双字节BCD加法的程序设计3. 学习汇编语言的程序设计基本方法二、实验内容:将两个双字节十进制数机加,相加所得和个位放入R0中,十位放入R1中,若有进位则百位放入R2中。
三、实验设备:计算机一台应用软件:W AVE6000四、实验步骤:上机调试程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV R0,#12HMOV R1,#06HMOV R2,#08HMOV R3,#11HMOV A,R0ADD A,R2DA AMOV R2,AANL A,#0FHMOV R0,A ;将结果的个位放在R0中MOV A,R2ANL A,#0F0HSWAP AADD A,R1ADD A,R3DA AMOV R3,AANL A,#0FHMOV R1,A ;将结果的十位放在R1中MOV A,R3MOV R3,#0HANL A,#0F0HSWAP AMOV R2,A ;将结果的百位放在R2中RETEND五、实验心得与总结通过本次实验,我学到了很多知识,对我今后的学习有了很大的帮助,同时,在做实验的过程中,我遇到的一些问题也使我对思考问题的方法,有了新的认识,还让我深刻体会到实验前的理论知识准备的重要,并且在做实验时最好先预习一下实验内容,这样更有利于实验的操作。
太原理工大学单片机实验报告
![太原理工大学单片机实验报告](https://img.taocdn.com/s3/m/c4f923799b6648d7c1c74643.png)
查看开发板电路图,如下所示:我们检测I/O 的电压高低来控制相应的小灯亮灭。
3.1程序流程图3.2代码分析(1)获取按键的值uchar KeyScan(void){if(K1 == 0) //低电平有效{Delay(100); //检测到按键if(K1 == 0){ while(!K1); //直到松开按键return(1); }}if(K2 == 0){ Delay(100);if(K2 == 0){ while(!K2);return(2); }}return(0);}该函数实现了识别到底是哪个按键被按下的功能,首先检测K1 是否等于0,如果一旦检测到等于0,说明有相应的按键被按下,延时一段时间,又来判断(if(K1 == 0))这个判断是为了防止按键抖动。
同理检测按键K2是否被按下。
(2)主函数功能主函数实现了一按键被按下后,使相应的小灯点亮,同时清除标志位。
本实验主要用到的寄存器:五、实验结果2.6实验现象LED1灯先闪烁隔一会熄灭,一会儿LED2灯闪烁,隔一会也熄灭。
3.3实验现象按下K1键,LED1灯亮,按下K2键,LED2灯亮六、讨论、心得1. 实验内容:外部中断发生,控制灯的亮灭。
开发板上已把S1 按键与P0.1 相连,本实验想要达到的效果就是,通过按键S1 触发P0.1的中断,进而在中断服务子程序中控制LED1的亮/灭。
2.实验流程图3. 实验涉及的主要寄存器初始化LED:设置P1为通用I/O口,设置P1.0 ~ P1.1 方向为输出,然后关闭2 个LED 灯。
再来配置外部中断的相关SFR 寄存器,开启各级中断使能,涉及3 个SFR:EA、IEN1、PICTL(各SFR详细介绍请查阅《CC2530中文手册》):}P0IFG = 0; //清中断标志}(1) 中断服务程序什么意思呢?简单来说中断来了,你想要干什么。
(2) CC2530中断格式格式如下:#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void)a)P0INT_VECTOR——设定的中断向量名本实验主要用到的寄存器:实验现象:按键S1可以控制LED1灯亮灭1.实验内容:CC2530 共有4个定时器,可分3类:定时器1、定时器2、定时器3/4(3与4的用法一致)。
单片机原理及应用实验报告2
![单片机原理及应用实验报告2](https://img.taocdn.com/s3/m/588a168f0408763231126edb6f1aff00bed5702f.png)
单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。
二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。
单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。
单片机的编程方法一般采用汇编语言编写程序。
汇编语言是一种低级语言,可以直接对单片机进行操作。
通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。
本次实验主要通过控制LED灯的亮灭来演示单片机的应用。
在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。
三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。
四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。
在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。
实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。
单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。
五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。
例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。
2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。
例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。
3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。
例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。
单片机拆字程序实验
![单片机拆字程序实验](https://img.taocdn.com/s3/m/6298a4d1aa00b52acfc7ca68.png)
太原工业学院计算机工程系成绩:单片机原理及接口技术课程实验报告课程:单片机原理及接口技术姓名:张成专业:计算机科学与技术学号:132054116日期:2016年6月太工计算机工程系计算机原理实验室实验一:拆字程序实验实验环境 V 系列仿真器集成调试软件实验日期2016.4.22一.实验内容1.熟悉51仿真系统2.设计并单步调试实现将R5中一字节数拆分成两位独立的数据分别存于R6,R7中3.将R6,R7中的一位HEX 数据转换为输出ASCII 编码二.理论分析或算法分析 1. 将一个数存放在R5中2. 通过A 寄存器将R5中的高4位和第四位存放在R6与R7中(将高位和0f0做与操作,低四位和0f 做与操作)3. 清零CY ,通过SUBB 让高四位和低四位与0A 做差,判断操作数的大小4. 通过JC 判断如果操作数大于9,则加37H ,否则加30H5. 将结果送回R5,R6中开始将一个数存入R5中拆分R5,将高位存入R6,低位存入R7清零CY ,高位低位分别与0A 做SUBB 操作,JC 判断大于等于则加37H小于加30H将结果存入R6,R7中结束三.实现方法org 2000hmov r5,#2AH mov a,r5anl a,#0f0h ;高swap amov r6,amov a,r5anl a,#0fh ;低mov r7,aclr cmov a,r6subb a,#0ahjc l1sjmp l2l0:clr cmov a,r7subb a,#0ahjc l3sjmp l4 l1:mov a,r6 add a,#30h mov r6,a sjmp l0l2:mov a,r7 add a,#37h mov r6,a sjmp l0l3:mov a,r7 add a,#30h mov r7,a jmp l5l4:mov a,r7 add a,#37h mov r7,al5:nopsjmp $ END四.实验结果分析输入的操作数是2AR6中存放高位ASCII码32,R7中存放低位ASCII码41五.结论完成了本次实验要求的设计并单步调试实现将R5中一字节数拆分成两位独立的数据分别存于R6,R7中将R6,R7中的一位HEX数据转换为输出ASCII编码实验内容。
太原理工大学单片机第11---单片机应用系统的开发与工具
![太原理工大学单片机第11---单片机应用系统的开发与工具](https://img.taocdn.com/s3/m/6adacb6ca45177232f60a2f2.png)
张兴忠制作:zhangxingzhong@
17
11.3.3 用Keil C51调试C51应用程序举例 C51调试C51应用程序举例 调试C51
1.定时器编程 2.中断编程
张兴忠制作:zhangxingzhong@
18
11.4
单片机应用系统的设计实例
1.系统的总体方案
张兴忠制作:zhangxingzhong@
11
11.2
MCS-51单片机应用系统的调试 MCS-51单片机应用系统的调试
单片机应用系统的调试是系统开发 的重要环节。当完成了单片机应用系统的硬件 设计、软件设计和硬件组装后,便可进入应用 系统调试阶段。系统调试的目的是查出系统中 硬件设计与软件设计中存在的错误及可能出现 的不协调问题,以便修改设计,最终使系统能 正确地工作。单片机应用系统的调试工作分硬 件调试、软件调试和脱机运行调试三部分。
1.系统的总体方案设计 (1)熟悉控制对象,确定技术指标 (2)单片机选型 (3)硬件和软件的功能划分
张兴忠制作:zhangxingzhong@
8
11.1.2 应用系统设计过程
2.系统硬件设计 (1)单片机系统的扩展部分设计 (2)各功能模块设计 (3)工艺设计
张兴忠制作:zhangxingzhong@
9
11.1.2 应用系统设计过程
3.系统软件设计
(1)程序结构设计 (2)程序流程图设计 (3)编写各模块程序 (4)总体程序连接
张兴忠制作:zhangxingzhong@
10
11.1.3 撰写设计总结报告
单片机应用系统开发完毕,不管是 成功或者失败,都要马上写总结报告,找到这次 设计的不足之处,记录设计的创新之处。 总结报告是对自己开发应用系统进 行的技术、能力、信心、经验的记录。
单片机原理实验报告
![单片机原理实验报告](https://img.taocdn.com/s3/m/5a34b92459fafab069dc5022aaea998fcc224025.png)
单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验一基本操作实验目的:熟悉伟福仿真机软件的基本操作,熟悉MCS-51指令。
实验内容A:数据传送程序实验程序:实验步骤:(1)从起始地址开始全速运行程序Ⅰ,检查运行结果, 外部数据窗口中7000H~700FH单元的内容皆为00H;(2)按要求修改程序如Ⅱ,用单步/跟踪运行程序, 查看寄存器和外部数据窗口;(3)在PLUS处设置断点,从起始地址开始全速运行程序,查看寄存器和外部数据窗口;(4)清除断点,用运行到当前行方式将程序运行到PLUS的下一条指令,查看运行结果是否正确。
实验内容B: 1 , 当X>0时求符号函数Y= 0 , 当X=0时-1 , 当X<0时实验程序:实验步骤:(1)准备好三个有代表性的数据,分三次用单步/跟踪方式运行程序,注意PC指针的变化;当(40H)= _____(X>0) 时,ACC.7= 0 , 运行后(41H)= _01H_____(Y= 1),当(40H)= _00H____(X=0) 时,ACC.7= 0 , 运行后(41H)= __00H____(Y= 0),当(40H)= _____(X<0) 时,ACC.7= 1 , 运行后(41H)= FFH (Y=﹣1)(2)思考:能否用“JC POSI ”指令替代“JB ACC.7, POSI ”指令, 修改运行程序,验证结果。
注意“CJNE A, #00H, NZEAR”执行后CY位为0/1 ?单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验二输入/输出控制实验实验目的:掌握单片机I/O口输入输出的控制方法,学会编写数码管的显示程序。
实验内容A:P1 口做输出口,接8只发光二极管L1~L8(高电平时发光二极管点亮),编写程序,使L1~L8流水闪烁。
ORG 0000HSTART: MOV A,#01HMOV R2,#08HLOOP:MOV P1,ALCALL DELAYRL ADJNZ R2,LOOPAJMP STARTDELAY:MOV R5,#40 ;延时1秒D1:MOV R6,#50D2:MOV R7,#248D3:DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RETEND实验内容B:P1 口做输入口,接拨动开关K1~K8。
单片机实习报告(精选8篇)
![单片机实习报告(精选8篇)](https://img.taocdn.com/s3/m/7286a01bb5daa58da0116c175f0e7cd18425188b.png)
单片机实习报告(精选8篇)单片机篇1这次实习我们使用控制电路的单片机是AT89S51型号的。
透过它实现对八盏双色灯发光二极管的控制P0和《单片机实习报告总结》正文开始》这次实习我们使用控制电路的单片机是AT89S51型号的。
透过它实现对八盏双色灯发光二极管的控制P0和P2口控制四盏灯。
在AT89S51的9引脚接复位电路,对电路实现复位控制。
在电路中接入74S164译码器和共阴极数码管,透过AT89S51的P3口数据的输入对共阴极数码管的控制。
同时也可实现双色发光的二极管与共阴极数码管的共同作用。
在AT89S51的P3。
2口接上中断控制电路,P3。
5口接入蜂鸣器,使电路实现中断作用,也使电路便于检测。
尽量朝“单片”方向设计硬件系统。
系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。
系统中的相关器件要尽可能做到性能匹配。
如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。
硬件电路设计:1)确保硬件结构和应用软件方案相结合。
硬件结构与软件方案会相互影响,软件能实现的功能尽可能由软件实现,以简化硬件结构。
务必注意,由软件实现的硬件功能,一般响应时光比硬件实现长,且占用CPU时光;2)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选取、去耦滤波、印刷电路板的合理布线、各元器相互隔离等;3)尽量朝“MCS-51单片”方向设计硬件系统。
系统器件越多,器件之间相互干扰也越强,所消耗功耗也增大,也不可避免地降低了系统的稳定性;4)系统中的相关器件要尽可能做到性能匹配。
如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。
1。
1单片机型号及特性单片机型号是AT89S51。
特性是:⑴8031CPU与MCS-51⑵兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环)⑶全静态工作:0Hz-24KHz⑷三级程序存储器保密锁定⑸128*8位内部RAM⑹32条可编程I/O线⑺两个16位定时器/计数器⑻6个中断源⑼可编程串行通道⑽低功耗的闲置和掉电模式⑾片内振荡器和时钟电路1。
单片机实训报告实验步骤
![单片机实训报告实验步骤](https://img.taocdn.com/s3/m/71547ab0988fcc22bcd126fff705cc1755275f81.png)
一、实验目的1. 掌握单片机的基本工作原理和硬件结构。
2. 熟悉单片机的编程方法,提高编程能力。
3. 学习单片机的调试技巧,提高调试效率。
4. 通过实际操作,培养动手能力和团队合作精神。
二、实验仪器与设备1. 单片机实验开发板2. 编译器(如Keil、IAR等)3. 仿真软件(如Proteus、Multisim等)4. 连接线、电源、示波器等辅助设备三、实验步骤1. 熟悉单片机实验开发板(1)观察开发板的硬件结构,了解各个模块的功能和连接方式。
(2)熟悉开发板上的按键、LED、串口、I2C、SPI等接口。
2. 编写程序(1)根据实验要求,设计程序功能。
(2)选择合适的编程语言(如C语言、汇编语言等)。
(3)使用编译器编写程序代码,并进行语法检查。
3. 程序调试(1)使用仿真软件(如Proteus)对程序进行仿真调试。
(2)观察程序运行结果,检查程序是否存在错误。
(3)根据仿真结果,修改程序代码,直至程序正常运行。
4. 硬件连接(1)根据程序功能,连接开发板上的相关硬件模块。
(2)确保连接正确,避免短路或接触不良。
5. 实验运行(1)打开电源,启动单片机。
(2)观察程序运行情况,验证程序功能是否实现。
(3)根据实验要求,调整程序参数或硬件配置,优化程序性能。
6. 数据采集与记录(1)使用示波器等设备,采集实验过程中的数据。
(2)记录实验数据,为后续分析提供依据。
7. 结果分析(1)对实验数据进行整理和分析,评估程序性能。
(2)总结实验过程中的经验教训,提出改进措施。
8. 实验报告撰写(1)整理实验过程,包括实验步骤、实验数据、实验结果等。
(2)分析实验结果,总结实验经验教训。
(3)撰写实验报告,要求格式规范、内容完整。
四、实验注意事项1. 确保实验环境安全,避免触电、短路等事故。
2. 严格遵守实验操作规程,避免损坏实验设备。
3. 注意程序调试过程中的细节,提高调试效率。
4. 实验过程中,积极思考,勇于创新,提高动手能力。
c51单片机实验报告
![c51单片机实验报告](https://img.taocdn.com/s3/m/dadaa7aa846a561252d380eb6294dd88d1d23d11.png)
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
单片机实训教程实验报告
![单片机实训教程实验报告](https://img.taocdn.com/s3/m/7f0857566d85ec3a87c24028915f804d2b1687c4.png)
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机实验报告(完整版)
![单片机实验报告(完整版)](https://img.taocdn.com/s3/m/7d5e0b8002d276a200292e6b.png)
单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。
二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。
3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
太原理工大学单片机课程设计
![太原理工大学单片机课程设计](https://img.taocdn.com/s3/m/e67d2318b7360b4c2e3f6495.png)
太原理工大学现代科技学院嵌入式系统基础课程设计设计名称16×16点阵LED电子显示屏专业班级学号姓名指导教师专业班级 自动化09-2 学号 姓名 成绩 16×16点阵LED 电子显示屏的设计 一、功能要求 设计一个16×16点阵LED 电子显示屏。
要求在目测条件下LED 显示屏各亮点度均匀、充沛,可显示图形和文字,显示图形和文字稳定、清晰无串扰、图形或文字显示有静止、移动/移出等显示方式。
二、方案论证 2.1 LED 驱动显示方案 大屏幕显示广泛应用于各个领域,动态大屏幕显示系统显示的文字,数字,图形等生动逼真,立体感强。
用单片机驱动LED 点阵有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。
静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU 时间。
动态显示需要CPU 时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU 时间多。
这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU 时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU 时间多,但使用的硬件少,能节省线路板空间。
如果用静态显示的方法 ,16×16的点阵共有256个发光二极管,单片机没有那么多的端口,如果用锁存器来扩展端口,按8位锁存器来计算,也需要32个锁存器。
两位显示就需要64个锁存器。
因此在实际应用中的显示屏几乎都不采用静态显示,而是采用动态扫描的显示方法。
本次设计的要求是2位的16×16点阵显示,采用动态显示,扫描电路就可以实现多行的同名列共用一套列驱动器。
具体就16×16的点阵来说,把所有同一行的发光二极管的阳极连在一起,把同一列的发光二极管的阴极连在一起(共阳接法),先送出对应的第一行发光二极管亮灭的数据并锁存,然后选通第1行使其亮灭的时间,然后熄灭;再送对应的第二行的数据,依次下去,直到第16行。
单片机实验报告(学期全部实验)
![单片机实验报告(学期全部实验)](https://img.taocdn.com/s3/m/1d01629bdd88d0d233d46afc.png)
单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。
二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。
四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
时间间隔简单的用了一个延时的语句。
因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。
四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原理工大学单片机实验太原理工大学现代科技学院单片机原理与接口技术课程实验报告专业班级通信12-2学号2012101702姓名徐义申指导教师温景国实验名称 双字节BCD 加法实验 专业班级 通信12-2 学号 2012101702 姓名 徐义申 成绩 一、实验目的: 1. 熟悉并掌握MC-51指令系统及程序设计方法。
2. 掌握双字节BCD 加法的程序算法。
二、实验设备: PC 机 1. 操作系统:Windows XP / 7 2. 程序环境:Wave 6000 三、实验内容: 完成有进位位的双字节BCD 的加法实验,两个加数分别放于 40H~41H 和45H~46H ,结果存于50H~52H 中。
(两个加数为9388H 和7287H )。
四、实验原理: BCD 码因其十进制的表示方式,在直接做二进制加法,发生进位时,结果可能会出现偏差,需人为校准。
五、实验源程序: ORG 0000H MOV 40H,#88H ; 88H →(40H) MOV 41H,#93H ; 93H →(41H)MOV 45H,#87H ; 87H →(45H) ……………………………………装………………………………………订…………………………………………线………………………………………MOV 46H,#72H ; 72H →(46H) MOV R0,#40H ; 40H →R0 MOV R1,#45H ; 45H →R1 START: MOV A,@R0 ; ((R0))→A ADD A,@R1 ; ((R1))+A →A MOV 50H,A ; A →(50H) INC R0 ; (R0)+1→(R0) INC R1 ; (R1)+1→(R1) CLR A ; A 清0ADDC A,@R0 ; ((R0))+A+Cy →A ADD A,@R1 ; ((R1))+A →A MOV 51H,A ; A →(51H) CLR A ; A 清0 ADDC A,#0H ; 0H+A+Cy →A MOV 52H,A ; A →(52H) SJMP $ ; 循环 END ……………………………………装…………订…………………………………………线……………………………订………………………本程序进行了两个双字节BCD数的加法,中途出现两次进位,每次进位参与下一次的进位加法计算。
六、实验结果与分析:通过两次进位加法计算,两个双字节BCD数加法的结果变为三字节BCD数,并存于50H~52H单元中,其中52H单元中存结果的最高位1。
七、实验心得:通过本次实验,我更加直观的感受到BCD加法过程中的问题,并通过编程和仿真,动态观看了数据在单片机内部的存储状况。
实验名称 数据排序程序 专业班级 通信12-2 学号 2012101702 姓名 徐义申 成绩 一、实验目的: 1. 熟悉并掌握MCS-51指令系统和程序设计方法。
2. 掌握排序程序算法。
3. 掌握用循环程序实现数据排序的方法。
二、实验设备: PC 机 1. 操作系统:Windows XP/ 7 2. 仿真软件:Wave 6000 三、实验内容: 编写一个通用排序子程序并调试,其功能为将RAM 的40H~4FH 单元16个字节无符号二进制整数按从小到大顺序排序,将排序后的数据存放在50H~5FH 缓冲区中。
四、实验原理: 从40H 单元的第一个数开始依次和相邻单元的另一个……………………………………装……………………………订…………………………………………线………………………数比较,如果顺序正确,则不作任何操作;如果顺序错误,则将这两个数位置对换。
这样,在完成第一遍n-1次比较后,最小的数到了最后,所以第二遍比较只需要比较n-2次,最多作n-1遍比较就可完成排序。
在比较中设立一个标志位flag 清零,在循环结束时,若flag=1说明排序未完成,进入外循环;若flag=0,说明排序完成,程序结束。
五、实验源程序: ORG 0000H MOV R7,#10H MOV R0,#40H MOV R1,#20H START: MOV A,R1 MOV @R0,A INC R0 DEC R1 DJNZ R7,START MOV R7,#0FH LP0: MOV R0,#40H MOV A,R7 …………………订…………………CLR 7FH LP1: MOV A,@R0 MOV 20H,@R0 INC R0 MOV 21H,@R0 CLR C SUBB A,21H JC LP2 SETB 7FH MOV @R0,20H DEC R0 MOV @R0,21H INC R0 LP2: DJNZ R6,LP1 JNB 7FH,LP3 DJNZ R7,LP0 LP3: MOV R7,#10H MOV R0,#40H MOV R1,#50H LP4: MOV A,@R0 MOV @R1,AINC R0 DJNZ R7,LP4SJMP $ END 六、实验结果与分析: ……………………………………装……………………………………订…………………………………………线………………………………(排序前:) ……………………………………装……………订…………………………………………线………(40H) 20 1F 1E 1D 1C 1B 1A 19 (48H) 18 17 16 15 14 13 12 11 (排序后):由小到大48排序后,数值由小到大,从(40H )→(50H ),……………订………………(48H)→(58H)七、实验心得:通过实验让我深刻体会到实验前的理论知识准备的重要,如果自己没有一些基础知识,那也是很难做下去的。
同时对我的后续课程的学习提出了更高的要求。
实验名称 子程序调用 专业班级 通信12-2 学号 2012101702 姓名 徐义申 成绩 一、实验目的: 掌握MCS51单片机I/O 口的基本输入与输出功能。
学习子程序的调用和程序设计。
掌握子程序调用过程中保护现场与恢复现场以及调用程序与被调用程序之间的参数传递。
二、实验设备: PC 机 操作系统:Windows XP/ 7 仿真软件:WAVE 6000 三、实验内容: 编写程序,计算Y=∑=2^ai y .a1,a2,…;…,a10……………………………………装………………………订…………………………………………线……………………存放在内部RAM 的20H 开始的存储区内,计算所得结果放入R2和R3中。
四、实验源程序: ORG 0000H MAIN: MOV R0,#20H MOV R7,#10 MOV R3,#0 MOV R2,#0 LOOP: MOV A,@R0 ACALL SORT ADD A,R2 MOV R2,A CLR A ADDC A,R3 MOV R3,A INC R0 DJNZ R7,LOOP SJMP $ SORT: MOV DPTR,#TAB MOV A,@A+DPTR RET ………………………………订………………………………TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 EN: NOP END 五、实验结果与分析:子程序调用不必重复编写同样的程序,有利于提高编码效率,缩短源程序与目标程序的长度,节省程序存储的空间,使程序模块化,通用化,便于阅读,交流。
六、实验心得:通过这次实验我深刻体会到了对中断方式认识的不足以及对汇编语言的不熟悉,程序不断出错,有关中断的以前没有做过实验,上课学的没有在实际中运用过,我意识到实践的重要性,虽然上课都能跟上老师的思维,但下来做实验时,才发现只靠课堂上学的知识还远远不够,通过这次实验,我对中断有了更深的了解。
实验名称定时/计数器应用设计专业班级通信12-2学号2012101702姓名徐义申成绩一、实验目的:(1)深刻理解对MCS-51单片机定时/计数器内部结构、工作原理和工作方式。
(2)掌握定时/计数器工作在定时和计数两种状态下的编程方法。
(3)掌握中断服务程序设计方法。
二、实验设备:PC机操作系统:Windows XP/ 7 仿真软件:WAVE 6000 三、实验内容:在使用12MHz晶振的条件下,用T1产生1ms的定时,两个7段LED数码管从00开始显示,每1秒加1,到达59后,再从00开始,完成60秒定时功能。
四、实验原理: MCS —51单片机内部包括T0和T1两个定时计数器。
每个定时,计数器有4种工作方式。
设加1计数器计数的最大值为M ,计数值为N ,计数初值为Count ,则Count的计算方法如下。
Count=M —定时时间/T=M-50000/1=65536-50000=15536=3CB0H五、实验源程序:1. 定时器: ORG 0000H AJMP START ORG 001BH AJMP TIME1 ORG 0030H START: MOV SP,#60H MOV TMOD,#10H SETB EA SETB ET1 MOV R3,#60 MOV R0,#0 MOV R1,#0 ……………………订………………………MOV TL1,#0B0H SETB TR1 AJMP $ TIME1: PUSH ACC PUSH PSW INC R0 MOV A,R0 CJNE A,#20,T_LP2 MOV A,R1 MOV B,#10 DIV AB SWAP A ADD A,B MOV P1,A INC R1 CJNE R1,#60,LP0 MOV R1,#00H LP0: MOV R0,#00H T_LP2: MOV TH1,#3CH MOV TL1,#0B0H POP PSWRETI END 2. 计时器:ORG 0000H MOV TMOD,#02H MOV TH0,#251 MOV TL0,#251 SETB TR0 START: MOV P0,#0FFH JNB TF0,$ CLR TF0 MOV P0,#00H JNB TF0,$ CLR TF0 AJMP START END 七、实验心得: 通过这次实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,通过我们讨论有了更深的认识。
在做计时器时,因不明白06H 所代表……………………………………装………………………………………订…………………………………………线……………………………………太原理工大学现代科技学院实验报告的含义,程序一直无法调通。
最后更换成02H方使程序运行通过。