当前位置:文档之家› 单片机实验心得体会 (2)

单片机实验心得体会 (2)

单片机实验心得体会 (2)
单片机实验心得体会 (2)

单片机实验心得体会

(生物系统工程高源)

说在最前面的话:

在整个单片的机的实验过程中,我的思维发生了很多改变。

首先是,我没有想到这个机器真的可以将电脑上的代码看起来很简单的转换成电路的通断。虽然这个和我们的手机芯片,电脑CPU比起来还差了很多,但是原理可行,便是越做越复杂越做越小。

其次,这门课真的非常依靠我们的上课是不是认真听,微电子电路精密的实验就是这样,任何一个位置的错误操作或者元器件的损坏都是不可能实现最后的结果的。

同样在后面的文章中我还会谈到语句的选择问题,在这些实验中我渐渐的学会了不套用书本上的语言而使用更多的我的思想。从那个定时装置老师需要我们自己计算两个量的乘积开始探索我们发现了我们可以做的有很多,可以去革新,可以去简化。

最后我们的知识实在还是太渺小了,我们可以学的内容还是有很多的,如果想让单片机这个领域有更好的发展,我们需要去寻找的还有很多。

一、实验一定要内容清晰,思路清晰,弄懂每一行代码。

在单片机的系统中,是像一些我们比较熟知的程序语言一样,有自己的地址,有自己的工作方式和工作顺序,因此我们在设计时是不能出一点差错的,而因为每一行都在进行地址的转换和堆栈的转换,因此我们在实验前一定要充分了解这次实验全部要做的内容。

二、实验过程可改变处多、很多路线可以归结到统一的答案。

我们知道最基础的单片机汇编语言结构形式由顺序结构,分支结构,循环结构组成。在我们完成前面几个实验的时候,我们更多的是用的这些结构的本身。但是后面我们发现,其实在单片机系统中有着更多的方式可以完成同样的目标。

例如,我们同样是完成一个定时,前期可以使用循环进行定时,通过机器时间的计算来设置寄存器中的数字大小。但是当我们开始应用定时器的时候同样可以做到我们想要的工作。而且我们发现定时器在和一些输入输出断口的扩展连接上更好。

上述两个语句就同样是在做定时,但我们可以看到右侧更加严谨,左侧更加基础。我们在实验过程中也可以感受到两者在方便性上的区别:左侧的如果要进行更改,需要对立即数进行更改,而右侧的一方面可以通过立即数的更改,一方面也可以通过修改特殊寄存器上的一些开关量来完成。

因为当汇编的代码长起来之后,保持整个篇幅的整洁是十分重要的,在这个方面,之所以做出特殊寄存器就是这里的优越性,使用一个定时器要比中断子程序容易一些。

和这个类似的例子还有不少,比如中断子程序的使用和计数器的关系,比如键盘的一些连接方法。我们都可以比较其中的优缺点而选择最适应用实验现场的方案,即使他们都能达到最后的结果。

三、实验跳出传统的理论,需要考虑对机器的负荷,舍弃约等于。

我们在使用一些语句的时候,如果仅仅是书面上的,那么不论多么复杂的运算,只要最后能达到要求就可以,但是真正操作的时候收到很多限制,比如随着语句的增多,机器总运行时间的增长,会让整个程序非常的卡。这个时候如何采取措施也是我们需要考虑的。

传统的理论往往用了一些约等于,但是在现实的控制中并不接受一个延时为5ms的系统拥有微小的偏差,因为当这个程序在上万次被调用的过程中,这个偏差会被无限放大。

而如何更改,还可以回到定时器和循环结构做延迟的选择上,定时器要比循环要准确的多。

对于键盘,如果只使用传统的理论,认为人们的操作都是无限准确的,是无法得到想要的结果的,所以人们就用智慧,加了延时判断的语句,使得键盘这个装置可以真正的派上用场。这就是理论和实际的差距,因为本身防抖效果的产生。

四、电路板内部究竟是什么

做了很多实验,我们感叹电路板很厉害的同时,也需要去思考一下内部的电路结构。我们在书本上学习到这些是由大量的门电路组成的,这些门电路的连接具体是怎样的我们不得而知。作为一个非常基础性的语言,汇编语言是很多高级语言的基础,而这些硬件和门之间的连接同样也是汇编的基础。如果我们可以学

习通过门的与或非的连接使得整个体系构成一个特殊寄存器,如果它具有普适的通用性,可能就是一个了不起的发明创造。

并且内部电路的构造对于我们的记忆是十分有必要的。我们在进行编码的时候不可能一直查书,这样会严重影响我们的工作效率,即使我们有工具书来进行查找,我们也需要很好的了解各个编码的功能。而单片机的编码构成是十分大量和冗杂的内容构成的。例如在中断相关的知识,每一个特殊功能寄存器都有八位,而且大量的位都是有其特点,如果通过门电路的示意图,就可以很快的进行记忆。

而这些开关量本身就是内部情况的一个反映。应用这些内部和外部的结合或许以后的某天我们可以设计出更多更优秀的微机系统。

下页有实验心得体会汇总

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

单片机实验报告书

并行I/O 接口实验 一、 实验目的 熟悉掌握单片机并行I/O 接口输入和输出的应用方法。 二、 实验设备及器件 个人计算机1台,装载了 Keil C51集成开发环境软件。 机仿真器、编程器、实验仪三合一综合开发平台 1台。 、实验内容 (1)P1 口做输出口,接八只发光二极管,编写程序,使发光二极管延时 (0.5-1秒)循环点亮。实验原理图如图 3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY 、 LED1 P1.0 VCC T a LED2 r 1k P1.1 .LED8 1k P1. 7 U1 DP-51PRO.NE 单片

RL A

DJNZ R2,L00P LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的 编写方法。 、实验设备及器件 个人计算机 1 台,装载了 Keil C51 集成开发环境软件。 DP-51PR0.NE 单片机仿真器、编程器、实验仪三合一综合开发平台 1台 三、实验内容 AT eK 1 -LJIU1L AUDIOZ20H A^-: M02NP01[EF L^D-GR^NI LEDRSP ■艮 A 4 - i i H - 330 -T I P H T H rs&oRJEtw F 轉-3 BEEN ■jHEEFl U1 30. Pt B -4 PUjfl PO(WO PO.WAtH FQ.27AIE FO3W3 Robert FO.57AW POBWe POJAW F2.1TO F2^fA10 PSjUAH P2 剤MZ F2.5fA13 F2.afAM P2.MM6 P3J0URXD 啊1XW FJ- ZflUTD pa.anHTi FM 4T 「| P3.0>T1 P3JWM PSJ^D 33C> 33P 町E 4 阿5REEF4 XTAL2 RST PSEH ALE

实验报告(单片机实验报告)

1 双字节无符号数加法 例1: 双字节无符号数加法(R0 R1)+(R2 R3) → (R4 R5), R0、 R2、 R4存放16位数的高字节, R1、 R3、 R5存放低字节。已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h) 假设其和不超过16位。请编程。 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1, #79h mov R2,#25h mov R3, #0a4h mov A,R1 ADD A,R3 mov R5,A mov A,R0 ADDC A,R2 mov R4,A ss: jmp ss end 2双字节无符号数减法

例2: 双字节无符号数相减(R0 R1)-(R2 R3) → (R4 R5)。R0、 R2、R4存放16位数的高字节, R1、 R3、 R5存放低字节,已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h);请编程。同学自己可以设置被减数与减数数值 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1,#79h mov R2,#25h mov R3,#0a4h mov A,R1 CLR C SUBB A,R3 mov R5,A mov A,R0 SUBB A,R2 mov R4,A ss: jmp ss end 3双字节数乘以单字节数

例3: 利用单字节乘法指令,进行双字节数乘以单字节数运算。若被乘数为16位无符号数, 地址为M1(30H) 和M1+1(31H)(低位先、高位后), 乘数为8位无符号数, 地址为M2(32H), 积由高位到低位存入R2、 R3和R4三个寄存器中。 30H,31H,32H内容 12H,34H,56H ; org 0000h Ljmp start org 0050h start: mov 30h,#12h mov 31h,#34h mov 32h,#56h mov a,(30h) mov b,(32h) mul ab mov R3,b mov R4,a mov a,(31h) mov b,(32h) mul ab add A,R3 mov R3,A

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

单片机实验报告2_lbs_v2.0

东南大学仪器科学与工程学院学院 实验报告 课程名:单片机应用系统设计 实验名称:单片机课程设计实验报告(二) 院(系):仪器科学与工程学院专业:测控技术与仪器

目录 一、硬件实验四显示器/键盘实验 (3) 二、硬件实验五串行口实验 (16) 三、硬件实验六计数器/定时器实验 (32) 四、硬件实验八 8255扩展 (39)

硬件实验四显示器/键盘实验 I、八段数码管显示实验 一、目的 1、了解数码管动态显示的原理; 2、了解用总线方式控制数码管显示。 二、内容 利用实验箱提供的显示电路,动态显示一行数据。 三、实验步骤 1、硬件连接 2、实验说明 注意:当用总线方式驱动八段显示管时,请将八段的驱动方式选择开关拨到“内驱”位置;当用I/O方式驱动八段显示管时,请将开关拨到“外驱”位置。

本实验箱提供了6位8段LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制,显示方式为动态显示。 8位段码,6位位码分别由两片74HC374输出,其中位码再经MC1413或ULN2003反相驱动。 本实验箱中,8位段码输出地址为0X004H,位码输出地址为0X002H。此处X是KEY/LED CS决定,参见地址译码。 做键盘和LED实验时,需将KEY/LED CS接到相应的地址译码上,以便用相应的地址来访问。例如KEY/LED CS接到CS0上,则段码地址为08004H,位码地址为08002H。 七段数码管的字形代码表如下表: 3. 分析并执行程序,观察并记录结果 四、提高要求 修改程序,显示1,2,3,4,5,6或A,B,C,D,E,F。

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

单片机实验报告 二

单片机实验报告二 班级:信息工程(微波通信方向) 姓名:肖丽学号:1195111040 时间:2013.10.29地点:工学院单片机实验室 实验题目:第三章课后习题练习 一、实验目的 1. 掌握Keil集成开发环境基本使用方法; 2. 掌握学林51mini仿真器和下载(编程)器的基本使用方法。 二、实验主要仪器及环境: 硬件:学林51mini仿真器和下载(编程)器 软件:Keil Vision2、XLISP 三、实验内容 P85.6、8、P77有关的极值排序的程序 四、实验步骤 1.将P85.6修改存到自己的文件内,用软件仿真。 2.编写P85.8的程序,然后存到自己的文件里,用软件仿真。 3.编写P77有关的极值排序的程序,然后存到自己的文件里,用软件仿真。 五、实验流程框图、实验程序 P85.6已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后, A=(80H);SP=(42H);(41H)=(50H);(42H)=(80H);PC=(001EH)。ORG 0000H MOV A,#02H MOV SP,#42H MOV 41H,#0FFH MOV 41H,#0FFH POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH ACC MOV A,B INC A

MOVC A,@A+DPTR PUSH ACC SJMP $ ORG 3000H DB 10H,80H,30H,80H,50H,80H END P85.8试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。 ORG 0000H START: MOV 41H,#00H MOV R0,#20H MOV R2,#21H LOOP: MOV A,@R0 JNZ NEXT INC 41H NEXT: INC R0 DJNZ R2,LOOP

单片机实训报告

单片机原理及应用 实训报告 班级: 学号: 姓名: 指导教师: 实训总成绩:

一、节日彩灯设计 题目:8位逻辑电平模块上的LED小灯从左向右呈现“鞭甩”的实验现象,状态间隔为0.25秒;按键1开始,按键2结束。 原理图 程序代码: #include #define uchar unsigned char uchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; sbit S1=P1^4; sbit S2=P1^7; unsigned char i,j; delay(unsigned int x) { for(j=0;j

for(i=0;i<10;i++); } void main() { uchar i,b,d; while(1) {if (S1==0) {delay(50); if(S1==0); S1=b; b=0; {for(i=0;i<8;i++) { P2=tab[i]; delay(50); {if (S2==0) {delay(50); if(S2==0); S1=d; d=1; P2=0xff; }} } } } } } 设计思想总结 用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。节日彩灯控制器是利用将单片机的CPU、RAM、ROM、定时器/计数器及输入/输出、I/O接口电路集成在一块集成电路芯片上的特点。通过其与发光二极

管及驱动电路的连接,从而构成一个完整的硬件电路。然后通过对单片机的ROM 进行编程,实现对彩灯闪烁的控制。 二、定时器实现流水灯 题目:利用定时器/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯点亮,依次循环点亮。 原理图 程序代码 #include #include int lamp = 0xfe ; int cnt = 0; main() {P2 = 0xfe; TMOD = 0x01; TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; TR0 = 1 ; ET0 = 1;

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.doczj.com/doc/5813780927.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.doczj.com/doc/5813780927.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

单片机实验报告一

单片机实验报告 1 姓名 陈奋裕 时间 2014/10/30 地点 机电实验大楼B526 实验题目 软件开发环境和简单程序设计 一、实验目的 1. 熟悉WAVE 软件使用 2. 学习简单程序的调试方法 二、实验主要仪器及环境 PC 机、WA VE 软件、仿真器+仿真头、实验板、电源等。 三、实验内容及步骤 1.启动PC 机,打开WAVE 软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。 2.打开CPU 窗口,选择单步或跟踪执行方式运行程序,观察CPU 窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。 四、流程图及参考程序 实验1 1)参考程序 2)流程图 ORG 0000H START EQU 30H MOV R0, #START MOV R2, #10 mov a,#01h Loop: MOV @R0,A NOP LJMP $ END

五、实验及程序的分析和讨论 (1)第一个程序是将地址为30H到39H的寄存器的内容全部置1。先在R0中存放内部存储器的起始地址30H,R2中存放内部存储器的长度10个,累加器置1,然后利用循环控制指令DJNZ R2,Loop控制10次循环给上述10个单元赋值1.最后,使单片机自身跳转。 (2)实验得到全速执行后相应的测试结果: (3)实验得到30H到39H寄存器执行后的内容: 从该表中也可以看出该程序的功能,即将30H到39H的寄存器内容置1,说明自己的分析是对的。 六、实验小结 1、汇编语言的结果在软件里面全部都是黑色字体,无法编译,在老师的 提醒下,知道了WAVE软件只能执行ASM文件,所以实验前要先将文件 的类型改为.ASM。 2、程序中的逗号要在英文的状态下面编写;若提示有空余符号,则是分 号后面直接写注释,不要添加空格 七、思考题 1、软件开发环境提供了哪些调试手段?各有何特点? 答: 1.伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查 找语法错误; 2.单步执行,来检查每句程序的功能; 3.全速执行程序,来检查整段程序要完成的功能; 4.还可以设置断点进行调试,以便分段执行程序。 2、如何将存储器块的内容移动到另一位置? 答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到 另一位置。

单片机实验报告2

实 验 报 告 实验课程:单片机原理及应用 实验名称:实验二——指示灯/开关控制器班级:应用物理12-1学号:2012305384 :再先总学时: 48 教师:虎成绩: 实验日期:2015年05月04日 一、实验目的 学习汇编語言指令系统的编程与调试方法

二、实验容 1、参照教材图A.19完成实验二电路原理图的绘制; 2、根据图A.20的程序流程图编写汇编语言程序; 3、利用ISIS的汇编工具查找并修正程序的语法错误和逻辑错误; 4、观察仿真结果,完成实验报告。 三、实验要求 实验报告应包含如下容:1、完成的电路原理图,要求说明P2口控制LED亮灭和P1口读取开关状态的工作原理;2、编写的汇编源程序,要求源程序中含有能说明语句功能的注释区段和至少2条伪指令;3、汇编程序的调试过程,要求简述使用的调试方法,展示调试过程主要截图;4、实现的仿真运行效果,要求提交3~4幅运行截图;5、实验小结,说明遇到的主要问题或实验2体会等。 实验报告的电子主题及存盘文件名的格式为:2005041220马晓明实验2,应采用2003或2007版word文档格式。 1、电路原理图 图1 实验原理图 P1口读取开关状态的工作原理:通过P1的读引脚功能来实现,由于P1口设上拉电阻,在开关闭合前读取高电平,经过三态门在P1.n输出

高电平。当开关闭合时,由于与地面相连,P1读取低电平,经过三态门在P1.n输出低电平。 P1口输出工作原理:单片机执行写P1,#data时,数据data经过部总线送入锁存器储存。当数据为,则该位锁存器输出Q=1,则非Q为0,场效应管截止,从而在引脚P1.n上输出高电平;反之,如果数据为0,则Q=1,非Q为0,场效应管导通,引脚P1.n上输出低电平。 P2口控制LED灯的原理也是通过P2口的输出原理实现的,程序不断把P1的容传递给P2。当给P1口赋初值0或开关闭合时,P1.n输出0,P2口读取0,在引脚P2.n上输出低电平,由原理图中LED的摆放方式知LED灯低电平导通。同理当给P1口赋初值#FFH或开关断开时,P1.n输出1,P2口读取1,在引脚P2.n上输出高电平,LED灯截止,灯灭。 2 3、程序调试方法 (一)源文件创建与编译

单片机实验报告

课程实验报告 20 ——20 学年()学期 课程名称 专业班级 学生姓名 学号 任课教师 徐州工程学院

实验项目编号 1 实验项目名称I/O口操作实验 实验学时 3 实验日期12月14日成绩 实验地点教二522 指导老师陈卿一、实验目的:1、熟悉keil与proteus操作,掌握程序调试的方法;2、学习I/O口使用 方法 二、实验设备:PC机、keil开发软件、proteus软件 三、实验内容: P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 四、实验原理图:

五、实验步骤:1.打开模拟电路图及其对应keil工程文件 2.编写程序并调试 六、程序流程图: 七、思考:1.如果当P0.7为0时P1口状态才改变,程序应该如何改动? 2.如果把表1.1中的0换成1,1换成0,程序该如何改动?注:本表填写不下,可附页

实验项目编号 2 实验项目名称定时器/计数器实验 实验学时 3 实验日期12月16日成绩 实验地点教二522 指导老师陈卿一、实验目的:通过对T0、T1的编程、学习,掌握定时器的初值计算、方式及模式设定等 初始化方法。学习使用“查询”和“中断”两种方式的编程。 二、实验设备:PC机、keil、proteus 三、实验原理: 四、实验内容: 1、输出方波实验: 实验电路图如下所示: 要求P3.0输出周期为2S的方波,同时P3.1输出周期为1S的方波。 输入程序如下:

2、对外部脉冲计数: 实验电路图如下所示: P3.4作为外部脉冲的输入端口,P1作为显示输出端口。 参考程序如下:

单片机实验报告二 单片机IO口实验

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:?验证?综合?设计?创新实验日期:2019.4.16 实验成绩: 实验二单片机I/O口实验 (一)实验目的 1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时 程序的编写。 2.熟练掌握STC型开发板的使用方法和注意事项。 3.掌握应用STC_ISP烧录过程; (二)设计要求 利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。其中流水灯的变化形式多样。 (三)实验原理 STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现: 1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1 所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏 览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添 加。根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。 图1 2.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中 “STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()” 选项,如图2所示。单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如 图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3 所示:

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

单片机实验报告2

实验报告 二、实验地点:图书馆816-2 三、实验目的:掌握中断控制单元的设置方法及中断的编程方法。 四、实验内容 1.内容及要求: (1)用单次脉冲信号申请中断,在中断处理程序中对输出信号进行翻转,在此实验中使用P1.0口接一发光二极管显示。程序如下: ORG 0000H LJMP START ORG 0013H LJMP INT ORG 1000H START: SETB P1.0 SETB EX1 SETB PX0 SETB IT1 SETB EA INT: CPL P1.0 RETI END (2)用单次脉冲信号申请中断,要求程序中对每次中断进行计数,并将计数结果显示在发光二极管上。在本实验中用P1口接了八个发光二极管来实现。程序如下: ORG 0000H LJMP START ORG 0013H LJMP INT ORG 1000H START: MOV A,#00H MOV P1,A

SETB EX1 SETB PX0 SETB IT1 SETB EA INT: INC P1 RETI END 2.流程图如下: 图1 信号翻转流程图

图2 计数器加1流程图 3.实验步骤 (1.1)将P3.2与单脉冲用导连接,P1.0接一个发光二极管,用二极管的亮、灭来显示翻转。 (1.2)打开试验箱,编写中断程序。 (1.3)编译、运行中断程序并观测试验箱。若试验箱中的发光二极管随着单脉冲按键进行着亮灭亮灭,即说明实现了输出信号的翻转,实验成功。 (2.1)关闭试验箱,将P1.0至P1.7对应连接八个发光二极管,单脉冲连接P3.3。(2.2)打开试验箱,编写中断和累加的程序。 (2.3)编译、运行实验程序并观测试验箱。若八个发光二极管显示的数值等于按下单脉冲键的次数,则实验成功。 五、实验中遇到的问题及解决方法 问题1:实验时,将P3.2口接单脉冲,编写程序时,却写成了0013H,允许中断

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。 实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机实验报告书

并行I/O接口实验 一、实验目得 熟悉掌握单片机并行I/O接口输入与输出得应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。DP—51PRO、NET 单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0、5-1秒)循环点亮。实验原理图如图3、2-1所示。 图3、2—1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 ??MOV A,#0FEH LOOP:MOV P1,A ??LCALL DELAY ??RL A

???DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOVR6,#20 D2:MOVR7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 ?RET ?END 中断实验 一、实验目得 熟悉并掌握单片机中断系统得使用方法,包括初始化方法与中断服务程序得编写方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。 DP-51PRO、NET单片机仿真器、编程器、实验仪三合一综合开发平台1

台. 三、实验内容 (2) 用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG0000H LJMPMAIN ORG 0003H LJMPINT00 ORG 0010H MAIN: A1:MOVA,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3、2,B1 SETB IT0 ?SJMP C1 B1:CLR IT0 C1:SETB EA ?NOP SJMPA1 INT00:PUSH Acc PUSH PSW MOV R2,#8 ?MOV A,#0FEH LOOP: MOV P1,A LCALLDELAY RL A DJNZ R2,LOOP POP PSW

单片机原理实验报告(详细)

湖南城市学院 实验报告 2018-2019 学年上学期 姓名:*** 班级学号:****** 实验课程:单片机原理及应用 实验室名称:电子工程实验室 湖南城市学院信息与电子工程学院实验中心印制

实验项目名称:实验一指示灯和开关控制器实验 一、实验目的及要求 1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法; 2、熟悉proteus软件,了解软件的结构组成与功能; 3、学会在ISIS模块中进行汇编程序录入、编译和调试; 4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。 二、实验原理 实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 图1 实验原理图

在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。软件编程原理为:(1)8只发光二极管整体闪烁3次 亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P3口(即开关状态)内容送入P2口; 无限持续:无条件循环。 程序流程图如图2所示。 图2 实验程序流程图

三、实验仪器设备及装置 (1)硬件:电脑一台; (2)仿真软件:Proteus; (3)编程软件Keil uVision4。 其中,仿真软件ISIS元件清单如表1所示。 表1 仿真软件ISIS元件清单 四、实验内容和步骤 (一)实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程; (2)完成实验的汇编语言的设计与编译; (3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。 (二)实验步骤: (1)提前阅读与实验相关的阅读材料; (2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制; (3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序; (4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误; (5)观察仿真结果,检验与电路的正确性。

单片机实验报告书

软件实验 实验一拆字程序实验 一、实验目的: 掌握汇编语言设计方法。 二、实验内容: 把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清零.本程序通常在把数据送显示缓冲区时使用。 三、实验器材: 计算机 1台 四、实验步骤: 1、按流程图编写程序,以下是通过计算机交叉汇编得到的.LST文件清单,供参考。 2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。 3、设置观察窗口: (1)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000]; (2)在8000H中写入数据(任意); (3)单步执行观察寄存器和8000H—8002H的变化。 五、程序框图: 七、实验程序(51asm\A8051.ASM) ;把指定字节的高低位拆开分别存放,多用于显示子程序 ORG 0000H MOV DPTR,#8000H ;指定的字节 MOVX A,@DPTR MOV B,A ;暂存 SWAP A ;交换 ANL A,#0FH ;屏敝高位

INC DPTR MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH ;指定字节的内容屏敝高位 MOVX @DPTR,A LOOP: SJMP LOOP END 实验二拼字程序实验 一、实验目的: 1、进一步掌握汇编语言设计; 2、熟悉软件调试方法。 二、实验内容: 把8000H、8001H两个字节的低位分别送入8002H的高位和低位。本程序一般用于把显示缓冲区数据取出拼装成一个字节。 三、实验器材: 计算机 1台 四、实验步骤: 1、编写程序并编译成机器代码。 2、用断点或单步方式运行程序,检查8000H-8002H,A,B中內容变化情况。查看内部RAM、外部RAM、断点运行方式、单步操作等请参阅有关章节。 3、打开AP6264.asm程序 (1)文件、编译、连接、装载:点击[项目/重建所有目标文件],系统进行自动编译,并弹出信息窗口,点击[调试/启动/停止调试]进入调试状态。 (2)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000],将地址定位于8000H。 (3)在8000H中写入任意数据,单步执行观察寄存器和数据存储区的变化。 五、程序框图:

相关主题
文本预览
相关文档 最新文档