实验三 P1口亮灯实验

合集下载

《单片机原理及接口技术》课程实验大纲

《单片机原理及接口技术》课程实验大纲

《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《MCU principles and interface technologies》experiment课程性质:专业选修课程课程编号:0510085所属系部:机电工程学院总学时:14学时预备知识:电路、数字电子技术课程在教学计划中的地位作用:本课程是机械电子工程专业的一门重要专业选修课程。

目前单片机技术开发和应用水平已成为一个国家工业化发展水平的标志之一。

单片机原理及其应用已成为从事电子技术的工程技术人员必须掌握的基础理论和基本技能之一。

通过本课程的学习使学生实践上掌握单片计算机的基本组成、工作原理及常用接口技术,建立单片机系统整体概念,使学生具备单片机应用系统软、硬件开发的初步能力。

教学方式:理论与实践相结合教学的目的与要求:通过本课程的学习,使学生掌握单片机的硬件结构、MCS-51的指令系统、MCS-51汇编语言程序设计、MCS-51的中断系统、MCS-51的定时器/计数器、MCS-51的串行口、MCS-51单片机扩展存储器的设计、MCS-51扩展I/O接口的设计、MCS-51 与键盘、显示器的接口设计、MCS-51单片机与D/A转换器和A/D转换器的接口、MCS-51的功率接口、MCS-51的串行通信技术及其扩展接口。

进一步理解MCS-51单片机的开发装置、工作原理、编程方法,学会使用开发机进行程序。

课程教材:《单片机原理及接口技术》蔡美琴主编高等教育出版社参考书目:1.《单片机程序设计基础》周航慈主编北京航天航空大学出版社2. 《单片机原理及其接口技术》胡汉才主编清华大学出版社编写日期:2012年6月制定课程内容及学时分配:发光二极管显示各相状态。

要求:掌握步进电机控制系统的硬件设计方法;熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试的能力。

正确连接电路,编写程序,调试运行。

实验一P1口亮灯实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写。

实验三 P3.3口输入,P1口输出

实验三 P3.3口输入,P1口输出
2、实验步骤
P3.3用导线连至K1开关,P1.0~P1.7导线连至L1~L8,K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
3、参考程序
四、思考题
1、如果要增加或者减少亮灯时间,应该如何修改程序?
在延时过程中,再加一次循环或减少一次循环,可以增加减少亮灯时间。
2、如果要使发光二极管以左移方式点亮,应该如何修改程序?
(可附页)
【单片机原理及应用】实验报告
班级:计13本2学号:姓名:
实验三P3.3口输入,P1口输出
实验类型
综合
实验日期
实验地点
实验时间(星期节次)
指导教师
实验组成员
一、实验目的及要求:
1、掌握P3口、P1口简单使用。
二、实验仪器:
计算机ቤተ መጻሕፍቲ ባይዱ
三、实验内容、步骤及程序
1、实验内容
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。
将A寄存器的初值改为100H,将INC加一指令改为减一指令,
分析初值是100H而不是FF:因为DJNZ指令是在减一之后再判断为零,才跳转。
五、实验结果及总结:(你的实验过程用了多少时间?遇到了哪些难题?你是怎么解决的?你的收获有哪些?)刚开始,程序仿真只是不出来,仔细检查程序没问题,但就是出不来效果,最后是重启仿真软件,就好了可能是软件问题。

定时器中断实验报告

定时器中断实验报告

实验三运用定时中断方法控制P1口亮灯实验报告一、实验目的1学习内部定时/计数器的使用2学习定时中断处理程序的编程方法二、实验预备知识1.P1口是准双向口,可以定义为输入,也可以定义为输出2.本实验中延时子程序采用指令循环来实现。

3.延时时间的计算:延时时间=机器周期×指令所需机器周期数×循环次数其中循环次数可以采用多重循环来实现三、实验内容程序如下:一、外部中断选择边沿触发方式控制灯的状态ORG 00HLJMP MAINORG 03HLJMP INTERRUPTORG 30HMAIN: SETB EX0SETB IT0SETB EAMOV A,#00HMOV P1,ASJMP $INTERRUPT: INC AMOV P1,ARETI二、用定时器定时方式控制灯的状态 ORG 0000HLJMP MAINORG 000BHLJMP DISPLAYORG 0030HMAIN:MOV IE,#82HMOV TMOD,#01HMOV P1,#01HMOV TH0,#9EHMOV TL0,#58HMOV R7,#10SETB TR0SJMP$DISPLAY:MOV TH0,#9EHMOV TL0,#58HDJNZ R7,LOOPMOV A,P1RL AMOV P1,AMOV R7,#10LOOP:RETI三、实验心得及体会对于中断的设置用到P3口的第二功能,第一个实验中,我所设置的触发方式为边沿触发,中断输入的管脚应该为P3.2即外部中断0输入,因此给外加脉冲时应该给到P3.2。

第一次因未分清触发所给管脚导致脉冲加入时无反应。

编写中断及初始化程序时,中断地址的开辟要提前在主程序之前给出,以实现执行中断时指针的转移。

做有关定时程序之前要首先弄清楚晶振的大小,以确定一个机器周期的时间,在这次试验中,试验箱所用晶振为6MHZ,一个机器周期的时间为2us,总计数时间可以达到131ms,但是无法满足0.5s的时间要求,所以用R7预置循环次数,显得尤为重要。

单片机原理与应用实验教案

单片机原理与应用实验教案

《单片机原理及应用》实验教学大纲课程编号:B04611016课程类别:专业课实验学时:16学时学分:2.5适用专业:计算机科学与技术一、实验教学目的和任务本课程是计算机及应用专业一门重要的专业课。

其教学内容直接面向生产。

同时,微机向小型化、超小型化方面发展愈来愈迅猛。

单片机应用已渗透社会各个领域,特别在通信技术中的应用,大大提高了通信技术水平。

学生应具备这方面的知识与技能,为今后参加工作,打下坚实的基础。

二、实验教学基本要求本课程是一门很注重实践的课程。

以研究MCS-51系列单片机入手,掌握其硬件结构、指令系统和程序设计,以及常用接口技术和典型应用实例。

三、实验教学内容实验项目一:清零程序1、实验目的及要求要求学生掌握软件的结构和键盘的调试。

2、实验内容及学时分配(2学时)(1)了解MCS-51软件的构造(2)掌握清零程序的输入方法(3)了解起始伪指令的输入方法实验项目二:拼字和拆字程序1、实验目的及要求要求学生掌握存储器分配和汇编语言的简单应用。

2、实验内容及学时分配(2学时)(1)进一步掌握MCS-51软件的基本使用方法(2)掌握指令的寻址方式(3)掌握数据传送指令和地址内容的分配实验项目三:数据区传送子程序1、实验目的及要求要求学生掌握RAM数据存储器实际操作。

2、实验内容及学时分配(2学时)(1)掌握MCS-51逻辑运算指令和位操作指令(2)进一步掌握数据传送子程序的简单方法(3)掌握查表程序的编写实验项目四:数据排序实验1、实验目的及要求要求学生掌握汇编语言的应用和实际操作。

2、实验内容及学时分配(2学时)(1)掌握MCS51逻辑运算指令和位操作指令(2)进一步掌握简单顺序程序的编写和调试方法(3)掌握查表程序的编写实验项目五:查找相同个数1、实验目的及要求熟悉汇编语言程序,使用环移指令和加1指令。

2、实验内容及学时分配(2学时)(1)掌握赋值指令(2)掌握带进位的环移指令和加1程序的编写实验项目六:双字节无符号数的乘法实验1、实验目的及要求要求学生掌握MCS-51汇编语言设计和调试方法。

实验3---P1口亮灯实验

实验3---P1口亮灯实验

Next:
Delay: MOV R6, #0A0H Lo1: MOV R7, #0FFH Lo2: DJNZ R7, LO2 DJNZ R6, LO1 RET
ቤተ መጻሕፍቲ ባይዱ
三、思考 •(1)改变延时常数,使发光二极管闪亮时间改变; •(2)修改程序,使发光二极管闪亮移位方向改变。
四、实验过程记录和描述 五、实验数据和处理 六、实验心得和体会
(2)实验电路
A2区的P10—P17用8芯排线连接到D1区的LED1—LED8, 运行程序后,观察发光二极管闪亮移位情况。
(3)P1口亮灯程序
ORG 8000H MOV P1, #0FFH MOV A, #0FEH MOV P1, A LCALL Delay RL A SJMP Next
;送P1口, 灭 ;点亮L1发光二极管 ;调用延时子程序 ;左移位 ;循环 ;延时子程序
实验3---P1口亮灯实验
一、实验目的
•(1)学习P1口的使用方法; •(2)学习延时子程序的编写。
二、实验方案设计 必须有硬件设计图和 程序流程框图!
(1)实验内容
P1 口作为输出口,接八只发光二极管,编写程序, 使发光二极管循环点亮。 •(1)P1口对准双向口,每一位都可独立地定义为输出 或输入。 •(2)本实验中延时子程序采用指令循环来实现。 延时=机器周期*指令所需机器周期数*循环次数

3P0,P1口应用试验

3P0,P1口应用试验

实验三 P0,P1口应用试验1.实验目的:学习并掌握单片机开发系统操作方法,练习P0,P1口应用。

2.实验内容:(1)万利仿真器开发环境Medwin使用练习。

(2)练习单片机对端口操作的方法和延时的方法。

3.实验仪器:PC机一台,万利仿真器一套及其开发环境,清华TMC-1开放式单片机实验系统一套。

4.试验要求:(1)P0口输入,P1口输出实验P0端口接逻辑电平开关(输入设备),P1口接LED显示电路(输出设备),无条件地将逻辑电平开关输入的数据传送给LED显示电路。

程序代码:ORG 0000HMAIN: MOV P0, #0FFH ;向p0端口锁存器写,0FFH,准备输入MOV A,P0 ;从p0口输入数据MOV P1,A ;将数据传送到p1口显示SJMP MAINEND(2)流水灯实验P1口作为输出,控制LED指示灯从左到右,然后从右到左依次循环显示。

程序代码:LED1 EQU P1.0 ;第1个数码管对应的引脚LED2 EQU P1.1 ;第2个数码管对应的引脚LED3 EQU P1.2 ;第3个数码管对应的引脚LED4 EQU P1.3 ;第4个数码管对应的引脚LED5 EQU P1.4 ;第5个数码管对应的引脚LED6 EQU P1.5 ;第6个数码管对应的引脚LED7 EQU P1.6 ;第7个数码管对应的引脚LED8 EQU P1.7 ;第8个数码管对应的引脚ORG 0000H ;程序开始LJMP MAIN ;跳转到主程序ORG 0030H ;主程序从30H开始MAIN: MOV SP, #30H ;初始化堆栈LCALL REST ;调用初始化程序,进行初始化LCALL PRO_LED ;调用LED显示程序LJMP MAINREST: MOV P0, #00H ;初始化程序MOV P1, #0FFHRETPRO_LED: SETB LED8 ;LED显示程序开始, 熄灭第一个LEDCLR LED1 ;显示后一个LEDLCALL DELAY ;延时SETB LED1 ;进入第二个循环,熄灭第二个LED CLR LED2 ;显示后一个LEDLCALL DELAY ;延时SETB LED2 ;如此反复,直到所有的LED都循环过CLR LED3LCALL DELAYSETB LED3CLR LED4LCALL DELAYSETB LED4CLR LED5LCALL DELAYSETB LED5CLR LED6LCALL DELAYSETB LED6CLR LED7LCALL DELAYSETB LED7CLR LED8LCALL DELAYSETB LED1 ;开始另外一种显示方式CLR LED8LCALL DELAYSETB LED8CLR LED7LCALL DELAYSETB LED7CLR LED6LCALL DELAYSETB LED6CLR LED5LCALL DELAYSETB LED5CLR LED4LCALL DELAYSETB LED4CLR LED3LCALL DELAYSETB LED3CLR LED2LCALL DELAYSETB LED2CLR LED1LCALL DELAYRETDELAY: PUSH PSW ;保护PSW寄存器CLR PSW.3SETB PSW.4 ;重新设置寄存器组别MOV R0, #02H ;延时常数MOV R1, #0F9H ;延时常数MOV R2, #02H ;延时常数DL1: DJNZ R0, DL1 ;延时循环1MOV R0, #0F9HDL2: DJNZ R1, DL1 ;延时循环2MOV R0, #0F9HMOV R1, #0F9HDL3: DJNZ R2, DL1 ;延时循环3NOP ;修正演示精度POP PSW ;恢复PSW寄存器RETEND问题: 1 若延时功能由定时器来实现,试改写程序。

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。

二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。

2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。

3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。

5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。

三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。

当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。

E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。

综上,画出实验电路原理图。

2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。

图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。

实验5程序流程图如图3-5,3-6所示。

图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。

单片机实验报告

单片机实验报告

单片机实验报告班级:09050541学号:0905054116姓名:王昆鹏实验1 P1口实验一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

软件延时,如果用c编程时,通过使用keil的软件模拟,调试观察子函数(delay)延时时间。

(具体延时可以自行设定)使用汇编语言的软件延时,可以计算其指令的周期数,大概估算其软件延时。

五、实验原理图:P1口输出、输入实验六、实验步骤:执行程序:P1.0~P1.7接发光二极管L1~L8。

七、程序框图:循环点亮发光二极管(具体延时可以自行设定)八、程序代码NAME T1_1ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEH //将1111 1110赋给A LOOP: RL A //A循环左移MOV P1,A //把A赋给端口P1LCALL DELAY //延时0.16sJMP LOOP //循环;延时函数DELAY: MOV R1,#200DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验2 中断口实验一、实验目的:1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:通过设定两个中断使能和触发方式,并编写相应的中断服务子函数,改变led灯的变化情况。

当按下KEYBOARD的按键时8个led都灭,当把k1向上拉再复位后,4个led亮,4个灭。

四、实验原理:参考《单片机原理及接口技术》第三版,北京航空航天大学出版社。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三、P1口亮灯实验
一、实验目的:
a)掌握keil及proteus的联合仿真方法
b)掌握并口的操作方法
c)掌握延时程序的编写
二、实验内容:
P1口做输出口,接八只发光二极管(低电平时发光),P0口接七段数码管,编
写程序,使发光二极管循环点亮。

请根据系统电路图,编写相应的程序并给予适
当的注释。

(一)实验要求:
z基本要求:
a)每个二极管每次点亮持续的时间约为一秒钟,假设使用的系统时钟频率为
12MHZ;
b)其中时间控制可以利用延时程序实现,也可以利用定时器实现;
c)正确连接电路,编写程序,调试运行,使发光二极管能够循环点亮;
d)通过Proteus7软件观察实验结果。

z提高要求:能够通过按键控制彩灯循环的模式。

(二)实验基本步骤:
1.打开Keil,新建工程:Project/New Project,输入工程名,并保存
2.选项选择器件:Atmel 的89C51
3.新建程序文本,并另存为该文件为汇编文件格式: (1)“File/New”,(2) File/Save
As/键入欲使用的文件名及后缀名,即“文件名.asm”。

再单击“保存”
4.添加该文件该工程:回到编辑界面后,单击“Target 1”前面的“+”号,然后
在“Source Group 1”上单击右键,单击“Add File to Group ‘Source Group 1’”
选择刚才新建的汇编文件。

5.设置工程该的options选项:projec / options for project,(1)output 选项卡中Create
HEX File 前打勾;(2)Debug 选项卡选择use“Proteus VSM simulator”。

6.用proteus的ISIS打开电路图P1.DSN
7.将proteus 里DEBUG /use remote debug monitor打勾
8.在keil的汇编文件中输入程序代码,并编译,调试。

(1)写完代码后单击“Project”
菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成
功后(0个errors),(每次修改程序后都要重新编译下,才能生效)。

(2)再单击
“Debug”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷
键Ctrl+F5),点击RUN进行运行。

9.观察运行结果:在proteus中点击运行按键,观测二极管是否循环点亮。

基本要求的参考代码
ORG 0000H
MAIN
LJMP
ORG
0030H
MAIN: MOV A, #01H
LP: MOV P1,A ; 点亮LED
LCALL DELAY; 延时
RL A;否则A左移,下一个灯闪烁
SJMP LP;循环不止
Delay: MOV R5,#0FH;;延时子程序DELAY1: MOV R3, #0FFH
DEL2: MOV R4,#0FFH
DJNZ R4, $
DJNZ R3, DEL2
DJNZ R5,DELAY1
RET
END。

相关文档
最新文档