单片机第二章实验报告

2022-11-02

报告在写作方面,是有着极为复杂、详细的写作技巧,很多朋友对报告写作流程与技巧,并不是很了解,以下是小编收集整理的《单片机第二章实验报告》的相关内容,希望能给你带来帮助!

第一篇:单片机第二章实验报告

上海第二工业大学单片机实验实训实验报告8

单片机实验实训实验报告8 班级:10计科A1

学号:20123430074

姓名:贾强强

4.8 实验8 A/D转换器的使用1 实验目的:掌握ADC0809的工作原理。

实验要求:编写0809A/D转换程序,每隔1秒将A/D转换的结果显示在DS3和DS4两位上,以十六进制形式显示。

程序设计:由于读A/D转换的结果和刷新LED都要用到的P0口,因此,如果读取A/D转换结果频率太快,就会出现无法正确显示的现象,解决办法是由定时器T1,定时1秒,每秒启动A/D转换一次。因为T0中断太频繁,为保证T1进入中断可将T1和INT0中断设为高优先级。

程序源代码: ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP PPT0 ORG 001BH LJMP PPT1 ORG 0100H

1 START: SETB IT0 SETB EA SETB EX0 SETB PX0 MOV TMOD,#12H MOV TH0,#0FBH MOV TL0,#0FBH SETB TR0 SETB ET0 MOV TH1,#0FH MOV TL1,#00H SETB ET1 SETB PT1 SETB TR1 SETB P3.6 SETB P1.4 CLR P3.6 CALL DELAY1MS

2 SETB P3.6 MOV 20H,#50H MOV R7,#20 LOOP: CALL DISPLAY AGAIN:AJMP LOOP DELAY1MS: MOV R0,#100 LOOP1:MOV R1,#10 LOOP2:DJNZ R1,LOOP1 DJNZ R0,LOOP1 RET DISPLAY: MOV DPTR,#DPDATA MOV A,20H ANL A,#0FH CLR P2.1 MOVC A,@A+DPTR MOV P0,A

3 CALL DELAY1MS SETB P2.1 MOV A,20H ANL A,#0F0H SWAP A CLR P2.0 MOVC A,@A+DPTR MOV P0,A CALL DELAY1MS SETB P2.0 RET DPDATA:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H

DB 0F8H,80H,98H,88H,83H,0E2H,0A1H,86H8EH PINT0:

CLR P3.7 MOV P0,#0FFH MOV A,P0 SETB P3.7 MOV 20H,A

4 RETI PPT0: CPL P3.3 RETI PPT1:

MOV TH1,#0FH MOV TL0,#00H CLR TF1 DJNZ R7,RETN MOV R7,#20 SETB P3.6 SETB P1.4 CLR P3.6 CALL DELAY1MS SETB P3.6 RETN: RETI

END 实验心得:

回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论

5 到实践,学到很多很多的课堂理论中没学到过的东西,在程序调试的过程中提高自己的发现问题、解决问题、实际动手和独立思考的能力。当然,这其中也有很多问题,第

一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 这次课程设计能顺利的完成,除了我们的努力外,当然也离不开指导老师申老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!

第二篇:单片机实验报告

实验

四、中断交通灯实验

林立强

1000850116

一、实验目的

1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。

2、掌握中断响应及处理的编程方法。

二、实验原理

MCS-51的中断系统中有5个中断源:外部中断INTO,INT1,定时器/计数器TO、T1中断和串口UART中断,它们对应不同的中断矢量。 如表:

IE是中断允许寄存器,其中EXO,ETO,EX1,ET1,ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下,才能得到中断响应。80XX51的5个中断都可以设为高低2个优先级,IP是中断优先级寄存器,其中PXO,PTO,PX1,PT1,PS位分别对应5个中断的优先级设置,置“1”时设为高优先级中断,为“0”时是低优先级中断。在有中断嵌套要求时,低优先级中断可被高优先级所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。

三、实验电路

电路原理图如下,所需元件为:AT89C

51、SW-SPDT、LED-RED、LED-GREEN、 LED-YELLOW、RES、TRAFFICLIGHTS

四、实验内容

参照实验电路,设计交通灯控制系统。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。用单次脉冲模拟急救车或警车申请外部中断。

1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;

2、程序下载到单片机实验板上验证; (实验板数码管的驱动程序见附件)。

五、程序流程图

仿真图:

紧急情况:

源程序:

ORG 0000H

AJMP START

ORG 0023H //串口中断地址

AJMP SBR1

START:MOV TMOD,#00100000B

//定时器方式2

MOV TL1,#0FDH //9600bps/11.0592MHz

MOV TH1,#0FDH

SETB TR1

MOV SCON,#01100000B //方式1

MOV R0,#20H

MOV R1,#40H

ACALL SOUT

SJMP $

SBR1: JNB RI,SEND

ACALL SIN

SJMP NEXT SEND: ACALL SOUT NEXT: RETI

SOUT: MOV A,@R0

MOV C,P

CPL C

MOV ACC.7,C

INC R0

MOV SBUF,A

CLR TI

RET

SIN: MOV A,SBUF

MOV C,P

CPL C

ANL A,#7FH

MOV @R1,A

INC R1

CLR RI

RET

PLAY: MOV A,R7

MOV B,#10

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

// 0

A B C D E F

END

第三篇:单片机实验报告

单片机实验一

实验报告

课程名称: 姓

名: 系

别: 专

业: 年

级: 学

号: 指导教师:

单片机原理及应用实验

陈璐 信息系

电气工程及其自动化

2012级 120712041 李莉

2015 年

6 月 25

1.实验目的和要求

1)熟悉Keil 软件界面,以及编辑、编译、运行程序的步骤;

2)熟悉Proteus软件界面,掌握用Proteus画仿真图的方法。 2.主要仪器设备

Keil 软件与Proteus仿真软件 3. 实验设计要求

利用单片机、1个开关和1个发光二极管,构成一个简单的开关检测系统的仿真电路图。单片机P3.0引脚接按钮开关,P1.0引脚接发光二极管的阴极。当开关闭合时,发光二极管亮;开关打开时,发光二极管灭;按钮开关与发光二极管没有任何电气上的联系。

单片机对开关K的状态的检测由程序检测P3.0引脚的输入电平。当开关K闭合,即P3.0脚输入低电平;当开关K打开,即P3.0脚输入高电平。使用发光二极管,阳极接+5V,阴极接P1.0端口。当程序控制P1.0输出高电平时,发光二极管D1灭;当程序控制P1.0输出低电平时,发光二极管D1亮。 4.操作方法与实验步骤

(1)Keil C51软件使用

在Keil C51集成开发环境下,建立一个工程并编辑以下源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

#include "reg51.h" #define uchar unsigned char #define uint unsigned int sbit in=P3^0; sbit out=P1^0; void main(void) { while(1) { in=1; if(in= =0)out=0; else out=1; } } (2)建立新文件

进入Proteus ISIS界面,单机主菜单项【文件】→“新建设计”选项,就会弹出“新建设计”窗口,窗口中提供了多种模版选择。其中横向图纸为Landscape,纵向图纸为Portrait,DEFAULT为默认模版。单击选择的模版图标,再单击“确定”按钮,即建立一个该模版的空白文件。如果直接单击“确定”按钮,即选用系统默认的DEAFAUILT模版。

单击保存按钮,在弹出的对话框“保存ISIS设计文件”中输入文件名再单击“保存”,则完成新建设计文件的保存操作,其后缀自动为“.DSN”。

(3)设定绘图纸大小 单击菜单中的【系统】→“设置图纸大小”,选择所需图纸的尺寸位A4。

(4)选取元器件并添加到对象选择窗口中

单击器件选择按钮,弹出选取元器件对话框。在其左上角“关键字”一栏中输入元器件名称“AT89C51”,则出现关键字匹配的元器件列表。选中AT89C51所在行或单击AT89C51所在行后,再单击“确定”按钮,便将元器件AT89C51加入到ISIS对象选择窗口中。按此操作方法逐一完成其他元器件的选取。本设计中使用的各元器件的关键字相应为“AT89C51”、“BUTTON”(按钮开关)、“CAP”(瓷片电容)、“CAP-ELEC”(电解电容)、“CRYSTAL”(晶振)、“RES”(电阻)等。被选取的元器件加入到ISIS对象选择窗口中。 (5)放置、移动、旋转元器件

单击ISIS对象选择窗口中的元器件名,蓝色条出现在该元器件名上。把鼠标指针移到编辑区某位置后,单击就可放置元器件于该位置,每单击一次,就放置一个元器件。如果要移动元器件,先右击元器件使其处于选中状态,再按住鼠标左键进行拖动,达到目标处后,松开鼠标即可。如要调整元器件方向,先将指针指在元器件上单击鼠标右键选中,再单击相应的旋转按钮。若多个对象一起移动或转向,可选择相应的块操作命令。 (6)放置电源、地(终端)

单击工具箱的终端模式按钮,然后在对象选择窗口中单击POWER来选中电源,然后使用元器件调整工具按钮进行方向调整,最后在编辑区中单击放置电源。 (7)电路图布线

单击元器件引脚间、线间等接线处,自动生成连线。 (8)电气检测

单击电器检查快捷键按钮,根据电气检查列表的指示修改设计中的错误,完成实验。 5.实验内容及实验数据记录

每当按下K时,LED灯就会发光。

C2U130pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X112MHz18XTAL2D1R24.7K930pFRSTR4220293031C310uFPSENALEEAKR310K10K12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51LED-GREENC1R1220 6.实验数据处理与分析

每当按下K时,in(p3.0)I/O口就会变为低电平,该信号使得CPU给out(p3.0)I/O口发送低电平,使得LED灯发亮。 7.实验过程中遇到的问题及解决方法

一开始安装软件的时候最后一步设置完通信设置时,鼠标点击“好”,但是屏幕一直显示“通信错误”的提示,经过重复操作,还是没有成功,结果是因为“端口选择”处选择错了,改正后最终安装成功。 8.心得体会

对于这次单片机实验不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固等,在以后的学习中尤其应该注意。

第四篇:单片机实验报告

实验一 uVision2 集成开发环境的使用

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结:1.简述生成应用程序的过程。2.记录程序调试过程中所出现的错误及改正方法。

3. 请简述单片机C语言与微机C语言之异同。

实验二 uVision2 集成开发环境的仿真与调试

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结: 1.简述监控程序下载过程;2.简述实验程序调试过程及调试结果。

实验三 单片机I/O口控制

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.绘制实验程序的流程图;2.简述实现上述硬件控制功能的其它方法。

实验四 74HC138译码实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述74LS138译码条件;2.绘制实验程序的流程图。

实验五 16 X 16 LED扫描输出实验

一、 实验目的和要求

二、实验设备与与仪器

三、实验内容

四、实验方法与步骤

五、实验小结:1.简述在LED上显示汉字的方法;2.绘制实验5程序的主程序流程图。

实验六RS232串行口实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述单片机串行口波特率的设置方法。2.绘制单片机发送与接收程序的流程图。

实验七 图形液晶显示实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述图形液晶显示汉字与图形的方法; 2.绘制实验7参考程序主程序的流程图。

实验八 串行模数转换实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结 : 1.输入电压为值200mv,则A/D转换后的结果为多少?2.请绘出用TLC549芯片进行A/D转换的程序流程图.

实验九 串行数模转换实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结:1.简述TLC5620的控制方法;2.如果要使TLC5620的通道1输出1V的电压,则送给通道1的控制数据是多少?

实验十 最小单片机系统制作

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结:1.简述最小单片机系统的制作过程.2.最小单片机系统调试过程中遇到的问题及解决方法.

第五篇:单片机实验报告(三)

实验报告书

信息工程系

电气自动化

11班

姓名:张青

日期:2014.10.14 实验一:完成AT89S51单片机与PC机的RS232串行通信接口电路实物制作。该部分电路可在实物电路板Ⅰ上进行搭建。

实验二:设计串口初始化程序,要求:工作方式

1、查询方式、允许接收、波特率为2400bps,设时钟频率为12MHz。

实验三:串口查询方式设计带参数字符发送子程序,并在此基础上利用MOVC查表指令完成带参数串发送子函数设计,自定义被发送字符串。要求工作方式1,波特率4800,时钟频率为11.0592MHz。 实验四:串口中断方式编写单字符接收程序,存储收接收并进行回显,波特率设为9600,时钟频率为11.0592MHz。 实验五:完成PC机远程控制小灯系统的软硬件仿真设计,并在实物电路板上测试程序的功能实现。 实验六:利用MOVC查表指令在试验电路板Ⅰ上拓展完成小灯多种显示功能的实现。

实验七:拓展题:结合定时器中断程序拓展完成PC机远程控制小灯闪烁、左右移动等功能的实现。

实验二:ORG 0000H LJMP START ORG 0030H START: LCALL INIT_S ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;串行口初始化子程序 ;;;;;;;;;;

INIT_S: MOV SCON,#40H MOV TMOD,#20H

MOV TH1,#0FAH

MOV TL1,#0FAH

SETB TR1

SETB REN

RET END

实验三:

ORG 0000H

LJMP START

ORG 0030H START:

LCALL INIT_S

MOV DPTR,#HELLO_TAB

LCALL

SEND_STRENG

LJMP $

INIT_S: MOV

SCON,#40H

MOV

TMOD,#20H

MOV

TH1,#0FAH

MOV

TL1,#0FAH

SETB TR1

CLR EA

RET

SEND_STRENG:MOV R1,#00H SEND_NEXT : MOV A,R1

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R1

LJMP SEND_NEXT

SEND_BYTE:CLR TI

MOV SBUF,A

JNB TI,$

RET

ORG 0100H

HELLO_TAB:DB

"tang zi li shi ge da sb"

DB

0DH,0AH,0FFH

END 实验四:

RX_D_FIRST EQU 45H RX_D_P EQU 30H RX_COM_OK BIT 00H

ORG 0000H

LJMP START

ORG 0023H

LJMP INT_SERIAL

ORG 0030H START: LCALL INIT_S

MOV RX_D_P,#RX_D_FIRST

CLR RX_COM_OK

MOV DPTR,#HELLO_TAB

LCALL SEND_STRING

MOV DPTR,#COM_MESSAGE

LCALL SEND_STRING

LJMP $ 串行口初始化子程序

INIT_S: MOV SCON,#40H

MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

SETB TR1

SETB EA

SETB ES

SETB REN

RET SEND_BYTE: CLR TI

MOV SBUF,A

JNB TI,$ RETURN: RET ; SEND_STRING: MOV R4,#00H SEND_NEXT: MOV A,R4

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R4

LJMP SEND_NEXT INT_SERIAL: CLR EA

JBC RI, RX_DAT

JBC TI, INT_RETURN RX_DAT: MOV R1,RX_D_P

INC RX_D_P

MOV A,SBUF

CJNE A,#0DH,LOAD_DAT

MOV DPTR,#RECEIVE_OK

LCALL SEND_STRING

MOV RX_D_P,#RX_D_FIRST

SETB RX_COM_OK

LJMP INT_RETURN LOAD_DAT: MOV SBUF,A

MOV @R1,A

INT_RETURN: SETB EA

RETI

ORG 0100H HELLO_TAB: DB "Welcome to online operating system!"

DB 0DH,0AH,0FFH COM_MESSAGE: DB "Please input the command to control the LED."

DB 0DH,0AH,0FFH RECEIVE_OK: DB 0DH,0AH

DB "Receiving the command is ok!"

DB 0DH,0AH,0FFH

END

上一篇:电气事故经典案例分析下一篇:大气污染防治工作资料

本站热搜