单片机实验指导书终稿

单片机实验指导书终稿
单片机实验指导书终稿

实验一清零、移数、判断

一、实验目的

1、掌握汇编语言程序设计和调试方法。

2、掌握RAM存储器读写及存储块操作方法

3、熟悉分支结构程序的设计。

二、实验内容

将片内30H~40H及片外0010H~0100H清零,然后将片内41H~47H的内容移到片外0041H~0047H,判断:

若(0041H)<15,则求其平方存到0050H中,并将位00H置1。

(0041H)=15,则加15存到0050H中,并将位01H置1。

(0041H)>15, 则减15存到0050H中,并将位02H置1。

三、实验说明

通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。

四、实验框图

片内外RAM清零流程图移数流程图

判断流程图

五、思考题

1、如果平方数超过255,怎样将数放到片内RAM 30H和31H单元内,写出指令。

2、位的表示方法有哪些,举例说明?将01H位清零的方法有几种,写出指令。

实验二排序、加法

一、实验目的

1、进一步掌握汇编语言程序设计和调试方法。

2、掌握数据排序的算法及加法运算。

二、实验内容

1、有两个长度为10个字节的无符号数分别放在片内30H和40H为首的存储单元中

(低字节),求其和(带进位位),放在50H为首的单元中。

2、将50H为首单元中的数按升序排列放在60H为首的单元中。

三、实验说明

通过本实验,学生可以了解单片机排序的算法,本程序采用“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。

四、实验框图

加法运算流程图排序流程图

五、思考题

1、-125与-9相加,PSW中OV、AC、CY的值是多少?各表示什么含义?

2、两个压缩BCD码59和22相加,结果放到片内RAM 30H单元中,写出程序。

实验三查表、多分支

一、实验目的

1、掌握查表指令。

2、掌握多分支结构程序的设计。

二、实验内容

设有一表格,表中数为:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根据片外0000H单元的低4位的数,取出表中相应的值存到片内30H中;根据片外0000H单元的高4位的数,将片内RAM 区中可位寻址的相应的位置1(从位00H~位0FH,只可有一个位地址为1)

三、实验说明

通过本实验,学生可以掌握多分支结构程序的设计,本程序采用查表指令和散转指令进行程序设计。

四、实验框图

查表指令查数流程图散转指令位操作流程图

五、思考题

1、如果表中对应的数是一个字,该如何操作,例如:

根据片内RAM 50H单元中的数,给出的数在00-05H之间,数据表存放在片内ROM 20H开始的单元中,数据表存放在20H开始的片内ROM中,查表所得数据字(双字节,高位字节在后)高位字节存于52H、低位字节存于51H。写出程序。

50H单元中的数据:00 01 02 03 04 05H

对应的数:1011H 1234H 3456H 4578H AA10H FF89H

2、写出远程查表和近程查表指令的查表范围。

实验四 外部中断实验

一、实验目的

1、学习外部中断技术的基本使用方法。

2、学习中断处理程序的编程方法。 二、实验要求

1、用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。

2、用单次脉冲申请中断,在中断处理程序中对输出信号进行处理,使8个发光二极管 依次点亮。

3、 利用两个按键分别接INT0、INT1,作为加1和减1键使用,实现上电时8个发光 二极管全灭,每按加1键一次,亮的灯多一盏,按8次后重复开始状态,每按减1键一次,亮的灯少一盏,按8次后重复开始状态。 三、实验电路及连线

四、实验说明

中断服务程序的关键是:

1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。

2.必须在中断程序中设定是否允许中断重入,即设置 EXO 位。

3.对于 80C196,要选择相应的中断源,并设置中断屏蔽寄存器的相应位。 中断程序使用了 INT0、INT1 中断(80C196 为 EXTINT 中断),一般中断程序进入时应保护 PSW 、ACC 以及中断程序使用但非其专用的寄存器,实验中要注意保护用到的寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。

单次脉冲

五、实验框图

六、思考题

1

、利用软件延时的方法,修改程序改变发光二极管的发光时间,写出延时程序主程序框图外部中断子程序框图

实验五定时器实验

一、实验目的

1、学习 8031 内部定时计数器的使用和编程方法。

2、进一步掌握中断处理程序的编程方法。

二、实验要求

1、用CPU 内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转。

2、单片机P1.0、P1.1接两个发光二极管,INT0接一启动按键,利用定时器实现启动后两个发光二极管一亮一灭,亮灭时间均为1s,再按按键发光二极管停止工作。

3、单片机P1.0、P1.1接两个发光二极管,利用定时器产生两个控制信号,分别控制两个发光二极管实现一个每隔200μs状态发生一次反转,另一个每隔400μs状态发生一次反转。

三、实验电路及连线

单次脉冲

四、实验说明

1、关于内部定时计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部定时计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。

2、定时器有关的寄存器有工作方式寄存器TMOD 和控制寄存器TCON。TMOD 用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12 个振荡器周期。因为实验系统的晶振是6MHZ,本程序工作于方式2,即8 位自动重装方式定时器,定时器100us 中断一次, 所以定时常数的设置可按以下方法计算:

机器周期=12÷6MHZ=2uS

(256-定时常数)×2uS=100us

定时常数=206。然后对100us 中断次数计数10000 次,就是 1 秒钟。

4、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。

5、对于80C196,与定时器有关的寄存器为IOC1.2 和INT-MASK。IOC1.2 为定时器1溢出中断允许/禁止位。INT-MASK 的第0 位为定时器溢出屏蔽位。

6、对于80C196,在设置中断定时常数时,要注意先设置窗口寄存器WSR,设置完常数后,再恢复原WSR 值。

五、实验框图

下图为实验要求1对应的实验框图:

六、思考题

1、若定时时间超过定时器的最大定时时间,如何处理?若需要定时2s ,定时器怎样设 定?

主程序框图 中断子程序框图

实验六 定时器计数器实验

一、实验目的

1、学习 80C51 内部定时/计数器使用方法。 二、实验要求

1、利用80C51内部定时计数器 T0,按计数器模式和方式 1 工作,对 P3.4(T0)引脚 进行计数。将其数值按二进制数在 P1 口驱动 LED 灯上显示出来。

2、利用80C51内部定时计数器T0和T1,T0作为计数器使用,T1作为定时器使用,计 数次数达到10次时,控制P1.0连接的发光二极管点亮100μs(由定时器T1实现),计数次数再增加10次,发光二极管灭100μs,如此循环。

3、利用80C51内部定时计数器 T0,采用工作方式3,TL0设置为计数器,实现外部中 断功能,TH0设置为定时器,实现中断响应过程中控制P1.0连接的发光二极管点亮100μs。 三、实验电路及连线

四、实验说明

本实验中内部计数器起计数器的作用。外部事件计数脉冲由 P3.4 引入定时器 T0。单 片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 五、

实验框图

下图为实验要求1对应的实验框图:

六、思考题

如何设置计数10次发生中断?设计的依据是什么?

实验七 8255 输入、输出实验

一、实验目的

1、掌握8255 芯片结构及编程方法。

2、掌握8255 输入/输出实验方法。

二、实验内容

利用 8255 可编程并行口芯片,实现输入/输出实验,实验中用 8255PA 口作输出,PB 口作输入。

1、按下开关,并用发光极管显示开关的状态。

2、让发光二极管循环左移点亮,延时时间为1S。

三、实验电路及连线

8255 的 CS/接地址译码/CS0,则命令字地址为 8003H,PA 口地址为 8000H,PB 口地址为 8001H , PC 口地址为 8002H 。PA0-PA7(PA 口)接 LED0-LED7(LED)PB0-PB7(PB 口)接

四、实验说明

可编程通用接口芯片 8255A 有三个八位的并行 I/O口,它有三种工作方式。本实验采用的是方式 0:PA,PC 口输出,PB 口输入。很多 I/O 实验都可以通过 8255来实现。

五、实验步骤

用插针按接线图接好线,运行程序,发光二极管按下开关的状态,调整开关的状态,发

光二极管跟开关的变化而变化。

六、实验框图

用发光极管显示开关状态流程图发光二极管循环左移点亮流程图七、思考题

若延时1S用定时器实现,程序应如何改?

实验八 单片机串行口通讯实验

一、 实验目的

1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。

2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。

二、 实验内容 主机:每隔1秒读一次P0口并将读数发给从机,同时接收从机的信号,若与所发数相同,则P1.0的灯亮,若不同或不回答则P1.1的灯亮。 从机:将接收的数据从P1口送出,并回发此数据。 三、实验电路及连线

从机接线:P1口接8只发光二极管。 四、实验说明

1、8051、80C196 的 RXD 、TXD 接线柱在 POD51/96 仿真板上,8088/86 的 TXD 、RXD 在 POD8086 仿真板上的 8251 芯片旁边。

2、通讯双方的 RXD 、TXD 信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的 RXD 、TXD 直接交叉连接。也可以将本机的 TXD 接到 RXD 上,这样按下的键,就会在本机 LED 上显示出来。

3、若想与标准的 RS232 设备通信,就要做电平转换,输出时要将 TTL 电平换成 RS232电平,输入时要将 RS232 电平换成 TTL 电平。可以将仿真板上的 RXD 、TXD 信号接到实验板上的“用户串口接线”的相应 RXD 和 TXD 端,经过电平转换,通过“用户串口”接到外部的 RS232 设备。可以用实验仪上的逻辑分析仪采样串口通信的波形。 五、实验步骤

按要求接好线,运行程序,改变开关状态,看主机和从机发光二极管的变化情况。 六、实验框图

1、甲机程序流程图

甲方

乙方

主机接线图

2、乙机程序流程图

七、思考题

1、51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯,进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,如何实现?

实验九A/D 转换实验

一、实验目的

1、掌握 A/D 转换与单片机的接口方法。

2、掌握 A/D 芯片 ADC0809 转换性能及编程。

3、通过实验掌握单片机如何进行数据采集。

二、实验内容

利用实验板上的 ADC0809 做 A/D 转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,采用查询方式读入A/D转换结果,用 8255 的 PA 口输出到发光二极管显示。

三、实验电路及连线

四、实验说明

A/D 转换器大致有三类:一是双积分 A/D 转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近 A/D 转换器,精度,速度,价格适中;三是并行 A/D 转换器,速度快,价格也昂贵。

实验用的 ADC0809 属第二类,是八位 A/D 转换器。每采集一次一般需100us。本实验采用延时查询方式读入 A/D 转换结果,也可以用中断方式读入结果。在中断方式下,A/D 转换结束后会自动产生 EOC 信号,将其与 CPU 的外部中断相接,在中断服务程序中读取转换结果。有兴趣的同学可以试试编程用中断方式读回 A/D 结果。

五、实验步骤

把0809的0通道IN0用插针接至电位器输出,按接线图接好线(查询方式下,EOC和INT0之间不用连接)。运行程序,发光二极管显示转换后的数字量,调整电位器输出值,发光二极管跟随电位器电压的变化而变化。

六、实验框图

查询方式进行A/D转换时程序流程图

七、思考题

1、修改程序,能对IN0~IN7 这8个通道轮流采样,把转换结果依次存入数据存储器中20H~27H单元。

2、画出采用中断方式进行A/D转换的程序流程图。

实验十键盘扫描、显示实验

一、实验目的

1、了解数码管动态显示的原理。

2、了解用总线方式控制数码管显示的方法。

3、掌握键盘扫描和 LED 八段码显示器的工作原理。

4、掌握键盘和显示器的接口方法和编程方法。

三、实验内容

1、利用实验仪提供的显示电路,动态显示一行数据。

2、利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。

三、实验电路及连线

D5 D4 D3 D2 D1

段码输出位选通信号

(0x004H) (0x002H)

D5 D4 D3 D2 D1 D0

D3 D2 D1 D0

读回行码列码

(0X001H) (0X002H)

四、实验说明

1、实验仪提供了6位8段码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8 位段码、6 位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。本实验仪中8位段码输出地址为0X004H,位码输出地址为0X002H。此处X是由KEY/LED CS 决定。做键盘和LED实验时,需将KEY/LED CS接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。

2、本实验仪提供了一个6×4的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X是由KEY/LED CS决定,参见地址译码。例如将KEY/LED CS信号接CS0 上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号。

3、实验2的实验程序可分成三个模块。

①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。

②显示模块:将显示单元的内容在显示器上动态显示。

③主程序:调用键输入模块和显示模块。

五、实验步骤

1、按要求接好线,运行程序,在数码管上动态显示一行数据,调整动态扫描时间看显示的变化情况。

2、按要求接好线,运行程序,按动小键盘,数码管显示对应的数字或字符。

六、实验框图

1、显示程序流程图

显示程序流程图

2、键盘扫描、显示程序流程图

主程序流程图

读取键值子程序流程图

七、思考题

1、对于LED显示程序,如果数码管采用共阳极接法,程序该怎样修改?

单片机实训的心得体会

单片机实训报告 一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;加深了对各种调试和仿真软件的使用技能;掌握了单片机应用电路的设计和调试方法。 首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有: (1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;个位显示完毕停留的时间稍微长些。 (2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。 (3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。 (4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;并且按键K1级别高于K0。 (5)串口输出数据,实现在2个数码管上显示60秒计数器。 (6)在集成的8位数码管上动态显示出:1——8的效果。

其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。 然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。 最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。 在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。 在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。 我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位置,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。

单片机实验报告

单片机实验报告 班级:信科09-3 姓名:王艳辉 学号:08093581 指导老师:陈岱 完成时间:2012年1月8日

实验一 I/O接口P1、P3口实验 一,实验题目 1,用P1口做输出,接八只发光二极管,编写程序,使发光二极管循环点亮。 2,用P3口做输入口,接八个扭子开关,通过P1口在实验箱上LED 灯上输出,编写程序读取开关状态,将此状态,在发光二极管上显示出来。 二,实验目的 1.熟悉使用CPLD实验箱进行单片机实验的方法。 2.设计出符合实验要求的CPLD硬件电路。 3.学习单片机仿真开发软件Keil 51的使用方法。 4.学习MCS-51汇编语言编程方法。 5.学习Pl口的使用方法。 6.学习延时子程序的编写和使用。 三,实验准备 P1和P3口为准双向口,Pl、P3的每一位都能独立地定义为输出线或输入线,作为输入时,必须向锁存器相应位写入“l”,该位才能作为输入。803l中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“l”使它再成为一个输入。再来看一下延时程序的实现。现常用的有两种方法:一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。根据实验系统的工作主频,计算出延时0.1s的

时间常量,编制延时程序: MOV R7, #200 (1) DEl:MOy R6,#X (2) DE2:DJNZ R6,DE2 (3) DJNZ R7,DEl (4) 上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需1÷0.256us现求出X值: (X*1/0.256+1/0.256+l/0.256)*200+l/0.256=0.1*10^6。解出X=l26。代入上式可知实际延时约0.100O04s,近似符合要求。 四,实验步骤 (1)打开MAX+PLUSⅡ CPLD实验开发系统。 (2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。为当前的实验选择恰当的路径并创建项目名称”E:\AT8031”。(3)点击File菜单之New项,出现对话框,为选择输入方式,选择Graphic Editor File。出现图形编辑窗口。 (4)双击空白编辑区,出现Enter Symbol 对话框。 (5)从Symbol Libraries项中选择mf子目录(双击),在prim子目录中选择输入脚input 和输出引脚output。 (6)在图形编辑窗口中的左侧点击连线按钮,并完成对电路的连线。(7)在引脚的PIN_NAME处左键双击使之变黑,键入引脚名称。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 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则执行,这是查询方式按下去后是低,否则为高

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

单片机实训心得

沧州职业技术学院单片机实训报告 心得体会 为期一周的单片机实训结束了,真是让我受益匪浅啊!学到了很多东西,不管怎么样,先感谢学校给我的这么多机会,真正的学到了东西。 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,我们就学习了单片机这门课程,感觉是有点难。也不知道整个学习过程是怎么过来得,可是时间不等人。不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费我我们学到了很多知识,也让我们对单片机有了更深一步的了解,虽然最后结果是出来了,可这与老师的精心指导是分不开的她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以老师是功不可没的。 总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。

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 口,如图所示:

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支

持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

大学课程实验心得体会集锦

大学课程实验心得体会集锦 实验心得体会 在做测试技术的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅. 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做应变片的实验,你要清楚电桥的各种接法,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛. 通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅. 实验心得体会 这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动态性能、测试动力学方面的考虑和自动化程度的提高,涉及到计算

机技术基础和基于LabVIEW的虚拟测试技术的运用等。 课程知识的实用性很强,因此实验就显得非常重要,我们做了金属箔式应变片:单臂、半桥、全桥比较,回转机构振动测量及谱分析,悬臂梁一阶固有频率及阻尼系数测试三个实验。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 实验中我学会了单臂单桥、半桥、全桥的性能的验证;用振动测试的方法,识别一小阻尼结构的(悬臂梁)一阶固有频率和阻尼系数;掌握压电加速度传感器的性能与使用方法;了解并掌握机械振动信号测量的基本方法;掌握测试信号的频率域分析方法;还有了解虚拟仪器的使用方法等等。实验过程中培养了我在实践中研究问题,分析问题和解决问题的能力以及培养了良好的工程素质和科学道德,例如团队精神、交流能力、独立思考、测试前沿信息的捕获能力等;提高了自己动手能力,培养理论联系实际的作风,增强创新意识。 实验体会 这次的实验一共做了三个,包括:金属箔式应变片:单臂、半桥、全桥比较;回转机构振动测量及谱分析;悬臂梁一阶固有频率及阻尼系数测试。各有特点。 通过这次实验,我大开眼界,因为这次实验特别是回转机构振动测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。可以说是半自动化。因此在实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验内容,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一些基础知识,那时是很难作得下去的,惟有胡乱按老师指使做,其实自己也不知道做什么。

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)

工作报告之大学单片机实验报告

大学单片机实验报告 【篇一:单片机实验报告】 单片机实验报告 姓名:班级:学号:任课教师:上课地点: 实验一流水灯实验 一、实验目的及要求 1、闪烁的led; 2、从左到右的流水灯; 3、8只led左右来回点亮; 4、led模拟交通灯。 要求1:led按设定的时间间隔闪烁 要求2:接在p0口的8个led从左到右循环依次点亮,产生走马灯效果要求3:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果; 二、实验原理电路图1、 电路图2、 三、源程序 要求1: #includereg51.h #define uchar unsigned char #define uint unsigned int sbit led=p1^0; //延时 void delayms(uint x) { uchar i; while(x--) {for(i=0;i120;i++); } } //主程序 void main() { while(1) {led=~led;delayms(150); } } 要求2: #include reg51.h #include intrins.h //包含程序中的_cror_(p0,y) #define uchar unsigned char #define uint unsigned int uchar led; void delay(unsigned int i) { uint j; uchar k; for(j=i;j0;j-- )for(k=125;k0;k--); } void main() { led=0x7f;//只亮第一个 delay(1000); while(1) { p0=led; delay(500); led=_cror_(led,1);//p0逐步右移一位。} } 要求3: #include reg51.h

单片机实验指导书

单片机实验指导书 适用专业:计算机控制、网络、物联网等 学时:12 编写人:孔庆臣 2016-5-12

实验一 IO口输入输出实验 1. 实验内容 (1) P2口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2) P1口做输入口,接八个扭子开关,P2口接八只发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 2. 实验目的 学习keil仿真软件的使用方法 学习IO口的使用方法。 学习延时子程序的编写和使用。 stc-isp软件的使用 3.有关说明 P1口为准双向口,P1的每一位都能独立地定义为输入或输出线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。单片机IO口在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。 可以用第二个实验做一下实验。先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。 再来看一下延时程序的实现。通常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 本实验系统晶振为11.0592MHZ,则一个时钟周期为0.0904us。现要写一个延时0.1s的程序,可大致写出如下: void Delay100ms() //@11.0592MHz { unsigned char i, j, k; i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } 5.实验电路设计 (1)分析附录1 单片机实验系统部分原理图,选择合适的电路模块,并根据实验要求的功能进行合理的电路模块间的电路连接。 (2)画出本次实验独立的原理图 5、实验要求 (1)完成实验电路设计 (2)完成实验程序设计 (3)实现要求的实验结果

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机实验指导书

实验一8051简单编程与调试实验目的 通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。学会Proteus与Keil的整合调试。 实验基本要求 建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。画出实验程序的流程框图。 实验步骤 采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤: 1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。 在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。如图所示。 点击“确定”按钮后,弹出如下的对话框

如果是进行汇编语言编程选择“否”。 2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。 在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。程序编写完后,再次保存。 在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

【心得体会范文】参观实验室心得体会精选

参观实验室心得体会精选 透过这次实验,我大开眼界,正因这次实验个性是回转机构振动 测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。能够说是半自动化。因此在实验过程中我 受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前 了解将要做的实验的有关质料,如:实验要求,实验资料,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一 些基础知识,那时是很难作得下去的,惟有胡乱按老师指使做,其实 自己也不知道做什么。 在这次实验中,我学到很多东西,加强了我的动手潜质,并且培 养了我的独立思考潜质。个性是在做实验报告时,正因在做数据处理 时出现很多问题,如果不解决的话,将会很难的继续下去。例如:数 据处理时,遇到要进行数据获取,这就要求懂得labview软件一些基 本操作;还有画图时,也要用软件画图,这也要求懂得excel软件的插 入图表命令。并且在做回转机构振动测量及谱分析实验,获取数据时,注意读取波形要改变采样频率,等等。当然不只学到了这些,那里我 就不多说了。 还有动手这次实验,使测试技术这门课的一些理论知识与实践相 结合,更加深刻了我对测试技术这门课的认识,巩固了我的理论知识。 但是这次实验虽好,但是我认为它安排的时刻不是很好,还有测 试技术考试时刻,正因这些时刻安排与我们的课程设计时刻有冲突, 使我不能专心于任一项,结果不能保证每一个项目质量,因此如果有 什么出错请指出! 参观实验室心得体会【2】 高校实验室是培养高层次人才和开展科学研究的重要基地。在西 方发达国家,学校对培养学生的动手能力是十分重视的,这一问题近 年来也越来越受到我国教育界人士的广泛重视。为了提高学生的动手 能力,让学生做相关实训并完成单片机实验报告,在实验的形式上注

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

哈尔滨工业大学单片机实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y 单片机原理与应用 实验报告 学生姓名: 学号: 班级: 通信工程 专业: 任课教师: 所在单位: 电子与信息工程学院 月5年2013. 软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图

四、实验过程 1、LED环境 ⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。 ⑵在“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。. 2、PC环境 在与PC联机状态下,编译、连接、下载PH51\se01.asm,用连续或单步方式运行程序。 3、运行结果检查 ⑴在单步运行时,每走一步可观察其运行结果。 ⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~20FFH 中执行程序前后的内容变化。 五、实验结果及分析 实验前截图: 实验后截图:

: 实验源程序ORG 0640H SE01: MOV R0,#00H DPTR MOV DPTR,#2000H ;(2000H送(DPTR 送LOO1: MOVX @DPTR,A ;0INC DPTR ;DPTR+1 1 INC R0 ;字节数加个字节再清FF不到CJNE R0,#00H,LOO1 ; SJMP $ END 实验问题:2000H~20FFh中的内容是什么? 解答:实验运行之前,2000H~20FFh中的内容是随机分配的;在执行完清零程序之后, 2000H~20FFh中的内容都变为0. 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序流程

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导 实验三调度器设计基础 一、实验目的和要求 1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。 2.掌握Keil与Proteus的联调技巧。 3.掌握串行通信在单片机系统中的使用。 4.掌握调度器设计的基础知识:函数指针。 二、实验设备 1.PC机一套 2.Keil C51开发系统一套 3.Proteus 仿真系统一套 三、实验内容 1.甲机通过串口控制乙机LED闪烁 (1)要求 a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时 闪烁,关闭所有的LED。 b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。 i.甲机发送“A”,控制乙机LED1闪烁。 ii.甲机发送“B”,控制乙机LED2闪烁。 iii.甲机发送“C”,控制乙机LED1,LED2闪烁。 iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。 c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。两机的程序要 分别编写。 d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下: i.设置串口模式(SCON) ii.设置定时器1的工作模式(TMOD) iii.计算定时器1的初值 iv.启动定时器 v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。

(2)电路原理图 Figure 1 甲机通过串口控制乙机LED闪烁的原理图 (3)程序设计提示 a.模式1下波特率由定时器控制,波特率计算公式参考: b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。 2.单片机与PC串口通讯及函数指针的使用 (1)要求: a.编写用单片机求取整数平方的函数。 b.单片机把计算结果向PC机发送字符串。 c.PC机接收计算结果并显示出来。 d.可以调用Keil C51 中的printf来实现字符串的发送。 e.单片机的数码港显示发送的次数,每9次清零。

相关文档
最新文档