实验一 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.学习延时子程序的编写。
定时器中断实验报告
实验三运用定时中断方法控制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汇编语言设计和调试方法。
P1口输入输出实验报告
实验六P1口输入、输出实验1.实验目的1)学习单片机的P1口作为I/O口的使用方法,进一步学习指令系统,了解硬件的连接方法;2)学习延时子程序的编写和使用。
2.实验要求:P1.0~ P.3口做输出口,接四只发光二极管L0~L3 ; P1.4~ P.7 接逻辑电平开关电路的S0 ~S3。
编写程序,使发光二极管反映开关的状态。
3.实验说明P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据不一定正确。
80C51可以将位变量通过C标志位赋值给其它位。
8051延时子程序的延时计算问题,对于程序Delay:MOV R6,#00HMOV R7, #00HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:(256×255+2)×2×12÷6 ≈261ms4.连线图P1.0——LED0P1.1——LED1P1.2——LED2P1.3——LED3P1.4——S0 P1.5——S1P1.6——S2P1.7——S35.实验内容1)使用仪器、仪表,开发平台型号本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,若干连线,串行数据线。
2) 性能指标、技术要求、思路方案、流程图5.2.1 性能指标、技术要求见实验目的和实验要求。
5.2.2 思路方案:先将连在P1.4----P1.7的数据读入,然后将其输出到P1.0-P1.3口,最后显示到发光二极管。
5.2.3 流程图:P1口输入输出实验备注:因为是反复地查看拨码开关的状态,故框图中没有结束标志。
3) 源程序ORG 0000HLJMP BEGINBEGIN:MOV P1,#0FFH ;当P1口用为输入口时,必须先对它置“1”;若不先对它置“1”,读入的数据不一定正确MOV A,P1 ;读端口数据SWAP A ;交换高低4位MOV P1,A ;写端口LCALL DELAY ;延时子程序JMP BEGIN ;循环DELAY:MOV R6,#0FFH ;FFH 是为了与下面的对应MOV R7,#22HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET4)实验步骤,完成情况4.1在WAVE 6000中新建文件,并将代码写入文件中,保存为EXPERIMENT6.ASM;4.2在WAVE 6000中新建项目,并在模块文件中包含上述EXPERIMENT6.ASM文件,最后保存为EXPERIMENT6.PRG。
实验一:点亮一个发光二极管
实验一:点亮一个发光二极管
一、实验目的:
1掌握单片机试验系统的硬件电路连接方法,编程软件keil的操作方法,以及下载软件的使用方法。
2、掌握并行I/O接口的基本工作方法。
二、实验要求:
1、将一个共阳发光二极管连接到单片机的并行I/O接口引脚。
2、根据你的电路编写程序点亮发光二极管。
3、将程序下载到单片机中。
4、运行观察发光二极管是否点亮,若没有点亮,则检查硬件及软件,重新调试。
三、实验原理图:
发光二极管是共阳的,0点亮,1熄灭。
该图中的P2是指排针,而非P2接口。
四、思考题:
若要求同时点亮8个发光二极管,硬件及软件怎么修改?。
HL-C8051F嵌入式实验开发系统、单片机实验箱
HL-C8051F嵌入式实验开发系统/单片机实验箱一、概述HL-C8051F嵌入式实验/开发系统是针对C8051F单片机(SOC)而开发的。
C8051F单片机完全兼容MCS-51指令系统,利用此平台,不仅可以开展传统的MCS-51单片机教学,如指令系统、中断系统、I/0口接口实验、外围逻辑和通信实验,也可以讲授片上系统(SOC)的概念、体系结构、设计方法、系统应用。
该实验系统实现了C8051F单片机片上的全部资源,并集成了USB主从通信,TCP/IP以太网通信,UCOS-II嵌入式系统移植源码。
我们编写了所有功能和模块的测试程序,提供了大量的实例,使学生在学会C8051F系列片上系统单片机开发方法的同时,感受到片上系统单片机在设计方法上的革新和解决的高效。
二、实验系统组成:(1)CPU板:CPU核心模块采用C8051F020芯片,该芯片是C8051F系列单片机中功能最为其全的一款;集成开发环境支持Silicon Labs IDE和KEIL C软件。
(2)片内:64K FLASH,4K XRAM片外扩展:256K FLASH,32K XRAM(3)CPU板C8051F020芯片I/0引脚全部引出,可以和用户外部电路连接;(4)实验系统带有JTAG接口,并配有HL-EC5型USB高速通讯专业仿真器,通过4脚的JTAG接口可以进行非侵入式、全速的在线系统调试、仿真;(5)4*4阵列式键盘;(6)8位逻辑电平开关输出、8位LED逻辑电平显示;(7)6位动态八段LED数码管;(8)2路单脉冲信号发生电路和1路8MHZ时钟发生电路;(9)时钟分频电路;(10)模拟量发生器电路和逻辑笔电路;(11)8*8LED点阵及驱动电路;(12)128*64LCD液晶显示屏;(13)蜂鸣器电路;(14)直流电机测速电路;(15)四相步进电机及驱动电路;(16)继电器电路及接口;(17)双通道RS-232接口;(18)SPI接口,LED数码管显示;(19)IIC接口,接24C01串行EEPROM;(20)IIC接口,PCF8563日历时钟;(21)8路12位AD,2路12位DA接口;(22)D12USB从机通信;(23)SL811USB主机通信;(24)TL801910M以太网通信;三、C8051F020单片机主要特点:1、模拟外设:(1)逐次逼近型(SAR)12位ADC(ADC0)●可编程转换速率,最大100ksps●可多达8个外部输入;可编程为单端输入或差分输入●可编程放大器增益:16、8、4、2、1、0.5●数据相关窗口中断发生器●内置温度传感器(±3°C)(2)8位ADC(ADC1)●可编程转换速率,最大500ksps●8个外部输入●可编程放大器增益:4、2、1、0.5(3)两个12位DAC●可以同步输出,用于产生无抖动波形(4)两个模拟比较器●16个可编程回差电压值●可用于产生中断或复位(5)电压基准●内部基准(2.4V)(6)精确的VDD监视器和欠压检测器●可通过MONEN引脚允许或禁止。
P1口转弯灯实验报告
P1口转弯灯实验一、实验目的了解P1口的使用,学习汇编语言编程方法与调试技巧。
二、实验内容P1.0开关接5V 时右转弯灯闪亮,P1.1开关接5V 时左转弯灯闪亮,P1.0、P1.1开关同时接5V 或接地时,转弯灯均不闪亮。
标志位为1表示现在有灯亮。
四、实验接线图7047五、实验步骤P1.0,P1.1分别接拨动开关JP40的某两位,P1.4~P1.7依次接LED 指示灯JP32的某四位,连续运行本程序;应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序(例如可把延时程序第一个字节改成返回指令22H ),以便观察。
六、实验程序ORG 0000HLJMP PX00ORG 0C30HPX00: MOV P1, #0FFH ;初始化PX03: MOVA,P1MOV B,AANL A,#03HCJNE A, #01H, PX01 ;满足只是P1.0为高条件吗?JB 00H, PX04 ;闪烁标志位CLRP1.4CLR P1.5 ;开右灯SETB P1.6SETB P1.7 ;关左灯MOV R2,#20HLCALL DELY ;延时SETB 00H ;置标志位LJMP PX03 ;继续查状态PX04: SETB P1.4SETBP1.5SETB P1.6 ;关灯SETB P1.7MOV R2,#20HLCALL DELY ;延时CLR 00H ;清标志位AJMP PX03 ;继续查状态PX01: CJNE A,#02H,PX02 ;满足只是P1.1为高条件吗?JB 01H, PX05 ;判标志位SETB P1.4SETB P1.5 ;开左灯CLR P1.6CLR P1.7 ;关右灯MOV R2, #20H ;延时LCALL DELYSETB 01H ;置标志位LJMP PX03 ;继续查状态PX05: SETB P1.4SETB P1.5SETB P1.6 ;关灯SETB P1.7MOV R2,#20HLCALL DELY ;延时CLR 01H ;清标志位LJMP PX03 ;继续查状态PX02: SETB P1.4SETB P1.5SETB P1.6 ;关灯SETB P1.7LJMP PX03 ;继续ORG 0213HDELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2, DEL4POP 02HDJNZ R2, DEL3POP 02HDJNZ R2, DEL2POP 02HDJNZ R2, DELYRETEND七、实验现象与结论实验现象:P1.0开关接5V时右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。
实验1:P1口亮灯控制程序-实验说明
实验1: P1口亮灯控制程序一、连接方法1、将SIP8-3用跳线帽上连2、依据ISP在线编程步骤将程序写到入芯片中;3、打开电源程序即可运行。
4、注意该实验结束后可将SPL上的跳线帽去掉,以减少开发板的功耗。
二、相应原理图如下:三、实验说明:、本实验仅用到L1灯。
本例实验主要用到了延时子程序,clr,lcall,ajmp 指令,通过控制P1.0口实现效果。
用户可以通过此程序的学习,只要你掌握了该程序,你就成功迈出了学习单片机的第一步!四、程序范例:;****************************************************************************************;*描述: 端口亮灯控制程序;*公司:深圳信盈达电子有限公司;*编写: 牛乐乐;*日期: 2009年07月15日;*版本: V1.0;*连接: SPL跳线连接;;*说明:实现P1.0控制L1灯常亮;****************************************************************************************/ ORG 0000HLJMP MAINORG 0030H ;到0030h处避开00-30之间的敏感地址MAIN:CLR P1.0 ;将P1.0送0指令LCALL DEL ;延时LJMP MAIN ;循环;//******延时子程序**********//DEL: MOV R2,#200 ;执行1该条指令需要1us时间D1: MOV R3,#250 ;执行1该条指令需要1us时间D2: DJNZ R3,D2 ;执行1该条指令需要2us时间DJNZ R2,D1 ;执行1该条指令需要2us时间RET ;执行1该条指令需要1us时间END;延时子程序延时时间T=1+(1+2*250+2)*200+1=2+100600=100602us=100.6ms=0.1s ;//计算延时间;t=2+100*(2+250*(4)+2)=100 000us=0.1s(约等于1s)。
电子琴实验接线表
实验五(8255方波)
无
实验六(8255PA,PB)
PA0~PA7→K1~K8,PB0~PB7→L1~L8
实验七(8255交通灯)
PB3~PB0→L1~L4,PA7~PA0→L5~L12
实验八(I/O)
0Y~Y7→K1~K8,Q0~Q7→L0~L8
一、51部分实验接线表
实验名称
接线步骤
实验一(P1口亮灯)
P1.0~P1.7→L1~L8
实验二(P1口转弯灯)
P1.0→K1,P1.1→K2
P1.4→L1,P1.5→L4,P1.6→L7,P1.7→L10
实验三(P3.3口,P1口)
P3.3→K1
P1.0~P1.7→L1~L8
实验四(工业控制)
P3.4→K1,P3.3→K2
P1.0→JIN,JZ→地,JK→L1,JB→L2
实验十九(步进电机)
P1.0~P1.3→HA~HD
实验二十(8253)
8MHZ→T,T2→CLK0,GATE0→5V,CS3→FF80H
实验二十一(直流电机)
CS5→FF80H,JX2→JX0,AOUT→DJ
实验二十二(LED)
JLPA→JX9,JLPB→JX15,JHPC→JX16,JLP1→JX10
SW3~SW5置ON,CZ11用户通信口→PC机串口
实验十七(LED点阵)
1B90H
JLPA→JX9,JLPB→JX15,JHPC→JX16,JX7→JX17,
CS2→FF80H,JX7→JX17,JQ→JHQ。
实验十八(12864LCD)
22E0H;
2FE0H
JX9→JX12,JX16→JX14
单片机交通灯实验代码
;======================P1口亮灯实验========================= ORG 0790H;----------------------------------------------------------SE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环;----------------------------------------------------------SE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RET;----------------------------------------------------------END;==================== 8255控制交通灯========================== ORG 0BB0HJOD0: MOV SP,#60HMOV DPTR,#0FFDBHMOV A,#88HMOVX @DPTR,A ;8255初始化MOV DPTR,#0FFD8HMOV A,#0B6HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;点亮4个红灯MOV R2,#25H ;延时LCALL DEL YJOD3: MOV DPTR,#0FFD8HMOV A,#75HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;东西绿灯亮,南北红灯亮MOV R2,#55HLCALL DEL Y ;延时MOV R7,#05H ;闪烁次数JOD1: MOV DPTR,#0FFD8HMOV A,#0F3HMOVX @DPTR,AINC DPTRMOV A,#0CHMOVX @DPTR,A ;东西黄灯亮,南北红灯亮MOV R2,#20HLCALL DEL Y ;延时MOV DPTR,#0FFD8HMOV A,#0F7HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;南北红灯亮MOV R2,#20HLCALL DEL Y ;延时DJNZ R7,JOD1 ;闪烁次数未到继续MOV DPTR,#0FFD8HMOV A,#0AEHMOVX @DPTR,AINC DPTRMOV A,#0BHMOVX @DPTR,A ;东西红灯亮,南北绿灯亮MOV R2,#55HLCALL DEL Y ;延时MOV R7,#05H ;闪烁次数JOD2: MOV DPTR,#0FFD8HMOV A,#9EHMOVX @DPTR,AINC DPTRMOV A,#07HMOVX @DPTR,A ;东西红灯亮,南北黄灯亮MOV R2,#20HLCALL DEL Y ;延时MOV DPTR,#0FFD8HMOV A,#0BEHMOVX @DPTR,AINC DPTRMOV A,#0FHMOVX @DPTR,A ;东西红灯亮MOV R2,#20HLCALL DEL Y ;延时DJNZ R7,JOD2 ;闪烁次数未到继续LJMP JOD3 ;循环;---------------------------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DEL YRET;---------------------------------------------END;===================== 工业顺序控制======================== ORG 0000HLJMP PO10ORG 0013HLJMP PO16;----------------------------ORG 0190HPO10: MOV P1,#7FHORL P3,#00HPO11: JNB P3.4,PO11 ;开工吗?ORL IE,#84HORL IP,#01HMOV PSW,#00H ;初始化MOV SP,#53HPO12: MOV P1,#7EH ;第一道工序ACALL PO1BMOV P1,#7DH ;第二道工序ACALL PO1BMOV P1,#7BH ;第三道工序ACALL PO1BMOV P1,#77H ;第四道工序ACALL PO1BMOV P1,#6FH ;第五道工序ACALL PO1BMOV P1,#5FH ;第六道工序ACALL PO1BMOV P1,#0FH ;第七道工序ACALL PO1BSJMP PO12;----------------------------PO16: MOV B,R2 ;保护现场PO17: MOV P1,#7FH ;关输出MOV 20H,#0A0H ;振荡次数PO18: SETB P1.7 ;振荡ACALL PO1A ;延时CLR P1.7 ;停振ACALL PO1A ;延时DJNZ 20H,PO18 ;不为0转CLR P1.7ACALL PO1A ;停振JNB P3.3,PO17 ;故障消除吗?MOV R2,B ;恢复现场RETIPO1A: MOV R2,#06HACALL DEL Y ;延时RETPO1B: MOV R2,#30HACALL DEL Y ;延时RET;----------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DEL YRET;----------------------------END;=================== A/D转换实验======================== ORG 05A0HSE11: MOV SP,#53HMOV 7EH,#00HMOV 7DH,#08HMOV 7CH,#00HMOV 7BH,#09HMOV 7AH,#10HMOV 79H,#10H ;显示缓冲区初值LO18: CALL DIS ;显示MOV A,#00HMOV DPTR,#0FFE0HMOVX @DPTR,A ;0809的0通道采样CALL DIS ;SSEEMOVX A,@DPTR ;取出采样值mov dptr,#0ffe4h ;new add --> 138 Y1cpl a ;new addmovx @dptr,a ;new add --> 驱动发光二极管cpl a ;new addMOV R0,#79HCALL PTDS ;采样值送显示缓冲区SJMP LO18 ;循环;---------------------------PTDS: MOV R1,A ;拆送显示缓冲区ACALL PTDS1MOV A,R1SW AP APTDS1: ANL A,#0FHMOV @R0,AINC R0RET;---------------------------DIS: PUSH DPHPUSH DPLSETB RS1MOV R0,#7EHMOV R2,#20HMOV R3,#00HMOV DPTR,#LS0LS2: MOV A,@R0MOVC A,@A+DPTRMOV R1,#0DCHMOVX @R1,AMOV A,R2inc R1MOVX @R1,ALS1: DJNZ R3,LS1CLR CRRC AMOV R2,ADEC R0JNZ LS2movx @r0,adec r0cpl amovx @r0,aCLR RS1POP DPLPOP DPHRET;-------------------------------------LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92HDB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH;--------------------------------------END===================== D/A输出方波=========================;注意:进行本实验前,请先装载运行D/A 0V输出(调基准电压)程序Asm51\da_0v.asm ;使D/A输出端“AOUT”输出电压为0V,再进行本实验。
p1口亮灯实验报告
竭诚为您提供优质文档/双击可除p1口亮灯实验报告篇一:单片机p1口亮灯实验实验一p1口亮灯实验一、实验目的(1)学习p1口的使用方法;(2)学习延时子程序的编写。
二、实验预备知识(1)p1口对准双向口,每一位都可独立地定义为输出线或输入线。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6mhz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
三、实验内容p1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
四、程序框图五、实验电路六、实验步骤p1.o-p1.7用插针连至L1-L8,运行程序后,观察发光二极管闪亮移位情况。
程序代码如下:oRg0000hmoVp1,#0FFh;送p1口moVA,#0Feh;L1(L0?)发光二极管点亮Loop:moVp1,ALcALLDeLAY;调用延时子程序RLA;左移位sJmpLoop;循环DeLAY:moVR7,#0FFh;延时子程序Loop1:moVR6,#0FFh Loop2:nopnopDJnZR7,Loop2DJnZR6,Loop1ReT;返回enD七、思考1、改变延时常数,使发光二极管闪亮时间改变。
改变R7、R6的值2、修改程序,使发光二极管闪亮移位方向改变。
将RLA改为RRA篇二:实验二p1口亮灯实验【单片机原理及应用】实验报告班级:学号:姓名:篇三:实验一p1口亮灯实验实验一p1口亮灯实验一、实验目的(1)熟悉编程和程序调试(2)学习p1口的使用方法;(3)学习延时子程序的编写。
二、实验内容p1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
三、实验预备知识(1)p1口为准双向口,可定义为输入,也可定义为输出。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6mhZ)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
四、程序框图五、实验步骤实验步骤说明:本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。
单片机实验预习
(要求:①按实验内容及程序框图编写清零程序和P1口亮灯实验的程序;②参照以下格式填写实验报告;③实验报告可附页)课程名称:单片机原理及接口技术实验名称:单片机开发过程认识及I/O 口应用实验一、实验目的、要求1) 掌握仿真软件的使用方法 2) 掌握汇编语言设计和调试方法 3) 掌握I/O 口的使用方法 4) 学习延时子程序的编写 二、实验仪器DICE-5210K 新型单片机综合试验仪、Usb 仿真器和PC 机。
三、实验步骤、实验内容 1. 实验内容1)清零程序——编写程序把3000H~30FFH 的内容清零2)P1口亮灯实验——编写程序使P1口循环点亮8只发光二极管(共阴极连接) 2. 实验程序框图1)清零程序 2)P1口亮灯实验3. 实验步骤 (1)清零程序1) 编写把3000H~30FFH 的内容清零的程序 2) 进入KeilC 软件3) 建立一个项目:点击Project 菜单,选择New Project ,在文件名中输入程序项目名称。
4) 汇编源文件的建立:点击File 菜单中的New 命令新建一个文本编辑窗口,在里面输入事先编好的程序,然后点击File 菜单中的Save 命令以扩展名.ASM 保存文件。
5) 增加文件到源程序组1,然后按仿真器用户手册对目标属性中的相关选项进行设定。
6) 按F7快捷键进行编译链接,如果有错误进行修改,如果编译成功可按CTRL+F5快捷键进入仿真。
7) 用连续或单步方式运行程序,检查片外RAM 3000H~30FFH 中的内容,并记录结果开始P1口初始化点亮1位发光二极管左移一位循环开始R0=00H00H 送3000HDPTR+1R0+1R0=FFH ?结束N(2) P1口亮灯实验1)编写程序使P1口循环点亮8只发光二极管,二极管发光时间由延时子程序实现2)用8芯线将P1.0~P1.7连至L1~L83)按照上述实验步骤新建工程、文件,然后进行编译和仿真4)观察发光二极管是否按照要求循环点亮4. 思考题(1)清零程序假使把3000H~30FFH的内容改成FF,如何修改程序(2) P1口亮灯实验A)修改程序,使发光二极管按16进制方式加一点亮。
P0,P1亮灯
学院:电气信息学院专业:电气工程及其自动化
实验时间
2013-10-29
指导教师
汪鑫
成绩
实验项目名称
输入、输出接口实验(一)
实验目的
了解单片机输入输出接口的使用。
实验内容
一
1.将P1口的低四位定义为输出,高四位定义为输入。输入状态接开关,开关的状态由LED的亮灭反应。(开关开,对应的LED灯亮;开关关,对应的LED灯灭)
2.编写程序
3.连接电路图
4.进入硬件仿真,运行观察结果。
实验内容二
1.P0口接8位开关,P1口接8个LED灯。开关的开、关由LED的亮灭来反应。
2.编写程序。
3.连电路图。
4.进入硬件仿真,运行观察结果。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV P0,#0FFH
ABC: MOV P1,#00H
MOV A,P0
MOV P1,A
LJMP ABC
END
重庆交通大学单片机实验报告
实验四 数码管显示实验
一、 实验目的 1、掌握单片机数码管显示原理。 2、编程实现数码管的动态、静态显示。
二、实验器材 PC 机一台 单片机开发板一套
三、实验内容
图 4-1 实验原理图
任务一:查看开发板上电路图,6 个数码管同时循环显示 0-9 数字,
时间间隔 0.2 秒。(静态显示)
实验代码:
#include<reg52.h> //包含文件 #define uint unsigned int #define uchar unsigned char sbit dula=P2^6;
任务一:在 P1.0 端口上接一个发光二极管 D1 实验代码:
#include <reg52.H> sbit Led1=P1^0; void main(void) { while(1) { Led1=0; } }
9 / 35
实验结果:
图 3-2 仿真结果
图 3-3 实验结果
任务二:在 P1.0 端口上接一个发光二极管 D1,使 D1 在不停地一亮
//宏定义位 P1.5
sbit led3 = P1^2;
//宏定义位 P1.2
sbit key3 = P1^6;
//宏定义位 P1.6
sbit led4 = P1^3;
//宏定义位 P1.3
sbit key4 = P1^7;
//宏定义位 P1.7
void main(void)
//主函数
{
while(1)
4.实验结果:
图 2-8 仿真结果 7 / 35
图 2-9 实验结果 8 / 35
实验三、P1 口亮灯实验
一、实验目的 通过实验了解单片机最小系统;掌握 P1 口作为输入输出方式使
80C51单片机-实验报告
实验一 CPU片内(外)清零1.CPU片内RAM清零一、实验目的:掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:把单片机片内的30H~7FH单元清零。
三、实验框图:四、实验步骤:用连续或者单步的方式运行程序,检查30H-7FH执行前后的内容变化。
五、参考实验程序:程序名称:PNQL.ASMORG 0000HJMP MAINORG 0030HMAIN:MOV R0,#30H ;30H送R0寄存器CLR1:MOV A,#00H ;00送累加器AMOV @R0,A ;00 送到30H-7FH单元INC R0 ;R0加1CJNE R0,#7FH,CLR1 ;不到7F字节再清WAIT:LJMP WAITEND六、实验思考:如果把30H-7FH的内容改为99H,如何修改程序。
2.CPU 片外RAM清零一、实验目的:掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:把外部扩展的RAM的0000H-00FFH单元内容清零。
三、实验框图:四、实验步骤:用连续或者单步的方式运行程序,检查0000H-00FFH执行前后的内容变化。
五、参考实验程序:程序名称:PWQL.ASMORG 0000HMAIN:MOV SP,#60HMOV DPTR,#0000H ;0000H送DPTR寄存器MOV R6,#0FFH ;FFH送R6寄存器(计数)CLR1:MOV A,#00H ;00送累加器AMOVX @DPTR,A ;00 送到0000H-00FFH单元INC DPTR ;DPTR+1DJNZ R6,CLR1 ;不到FF个字节再清WAIT:SJMP WAITEND六、实验思考:把1-10先对应存入片内0030H起始的单元内,然后再从片内取出,对应存入片外7FFFH起始的单元中去。
实验二P1口亮灯实验一、实验目的:学习MCS-51单片机P1口的使用方法二、实验内容:P1口做输出,接8个发光管,编写程序,使得8个二极管循环点亮。
控制P1口的8只LED灯每0.5秒闪亮一次
单片机课程设计论文题目:控制P1口的8只LED灯每0.5秒闪亮一次系部电子信息工程学院专业通信工程学号姓名指导教师程亮亮2015年6月25日摘要现当今,单片机的应用无处不在。
利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。
它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51 单片机及少数外部电路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。
通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。
LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。
作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。
本文介绍了以STC89C52为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗的控制调节的效果,实现对LED灯的PWM调光控制。
关键词:单片机;LED灯;软件程序AbstractNowadays, the application of single chip microcomputer. SCM is used to control the lamps and lanterns of examples are numerous, control the lamps and lanterns of chip is quite much, and using single chip computer control lamps and lanterns, achieve expected effect of the method is the most widely used. It has multi functions, excellent prices, the characteristics of the external circuit is simple, by the Qing Mei single-chip lovers and lamp control manufacturers, with 80C51 microcontroller and a few external circuit to control the LED light, LED lamp has the effect of light and shade, and the light to the brightest and darkest with loud alarm sound. Through the production of the hardware circuit and software program, the brightness of the lighting and sound alarm.LED is also known as light-emitting diode, is a new type of light source, with high efficiency, energy saving, environmental protection, long service life and other light source can not match the advantages. As a green light source products, national green lighting to promote the use of products, representing the development direction of future lighting technology. STC89C52 as control core, using PWM dimming technology, by adjusting the PWM cycle, PWM accounted for empty than to control electric current, thus achieving the photometric light and dark control and regulation of the effect of the LED, LED lamp dimming with PWM control is introduced in this paper.Key words: single chip microcomputer; LED; software program目录摘要 (Ⅱ)Abstract (Ⅲ)目录 (Ⅳ)前言 (1)1:制P1口8只LED灯每0.5秒闪亮一次原理图 (2)1.1原理图 (2)1.2原理图器件 (2)1.3原理图参数设置说明 (3)1.4 PCB板图 (4)2:制P1口8只LED灯每0.5秒闪亮一次程序 (5)2.1 程序 (5)2.2 程序原理详细介绍 (5)3:件流程图 (7)3.1流程图的优点 (7)3.2流程图采用的符号 (7)3.3软件流程图制作软件 (7)3.4流程图 (7)4:软件仿真 (9)4.1 Proteus仿真原理图 (9)参考文献 (11)前言:单片机技术飞速发展,单片机的应用已经渗透到了国民经济的各个领域,处处影响着人们的生活,它的出现给现代工业测控领域带来了一次新的技术革命。
P1口实验报告
P1 口输入、输出实验报告班级姓名学号日期一、实验目的和要求:1、学习P1 口的使用方法。
2、学习延时子程序的编写和使用。
3、学习用‘与’‘或’运算对MCS96系列CPU的变量进行位操作。
二、实验内容1、P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
编程时应注意P1.0,P1.1作为输入口时应先置1,才能正确读入值。
三、程序及运行结果Flash equ 0 ; LED状态STOP equ 1SR equ p1.0 ; 南北红灯SY equ p1.1 ; 南北黄灯SG equ P1.2 ; 南北绿灯ER equ P1.3 ; 东西红灯EY equ P1.4 ; 东西黄灯EG equ p1.5 ; 东西绿灯ljmp Startorg 0003hsetb STOP ; 南北, 东西均红灯retiStart:mov SP, #70mov TCON, #01h ; down edge IT0mov IE, #81h ; enable EA, EX0setb SR ; 南北, 东西均红灯clr SYclr SGsetb ERclr EYclr EGclr STOPLoop:jb STOP, AllRedsetb SR ; 南北红灯, 东西绿灯clr SYclr ERclr EYsetb EGmov a, #20call Delayjb STOP, AllRedsetb SR ; 南北红灯, 东西黄灯闪clr SYclr SGclr ERclr EYclr EGclr Flashmov r7, #9Loop1:mov c, Flashmov EY, cmov a, #1call Delaycpl Flashdjnz r7, Loop1jb STOP, AllRedclr SR ; 南北绿灯, 东西红灯clr SYsetb SGsetb ERclr EYclr EGmov a, #20call Delayjb STOP, AllRedclr SR ; 东西红灯, 南北黄灯闪clr SYclr SGsetb ERclr EYclr EGclr Flashmov r7, #9Loop2:mov c, Flashmov SY, cmov a, #1cpl Flashdjnz r7, Loop2ljmp LoopAllRed:setb SRclr SYclr SGsetb ERclr EYclr EGclr STOPmov a, #10call Delayljmp LoopDelay: ; 延时子程序mov r1, #80Hmov r0, #0 DelayLoop:jb STOP, ExitDelaydjnz r0, DelayLoopdjnz r1, DelayLoopdjnz ACC, Delay ExitDelay:retend四、实验过程中遇到的主要问题五、实验后的心得体会。
实验一 P1口亮灯实验
• 硬件定时与软件计数结合方式解题思路: • 让T0作定时器用,如T0可以定时50ms,当定时时间 到,在T0中断处理程序中一个寄存器内容加1,同 时判断是否加到2000/50=40,如果不到40,则直接 返回,如果计到40,说明2s时间到,使P1口循环点 亮8个发光二极管后再返回。 • T0工作在方式1,控制字01H,计数初值(12MHz): (216–X)×1×10 -6 =50×10 -3S 即216–X=50000 X=216-50000=10000H-C350H =3CB0H 所以,初值为: TH1=3CH,TL1=B0H 若6MHZ课用原来的子程序!
;T0为方式1 ;初值 ;允许中断 ;启动定时 ; LED0先亮 ; ;等待中断 ;重新设置初值 ;依次点亮
中断处理 INTT0: MOV TH0,#9EH MOV TL0,#58H 程序: RL A RETI
拓展实验:每个LED点亮时间为2s
1.定时器/计数器应用实训 实训内容:利用T0定时,产生2s定时,使得P1 口输出信号,控制8个发光二极管循环点亮,设 fOSC=12MHz, 。 1.难点:P1口输出信号,控制8个发光二极管循环 点亮。由于定时时间长达2s,所以单靠一个定 时器不能解决问题。 2.可以采取硬件定时和软件计数(或硬件计数) 结合方式。
实验一 P1口亮灯实验
实验要求
1.分别用2种方式使P1口输出信号,轮流点 亮8个LED,每个LED点亮时间约为50ms。 方法1:利用调用延时子程序方式; 方法2:利用定时器定时50ms,设晶振频率 为12MHz。 2.拓展实验:每个LED点亮时间为2s。 3.选做P1口转弯灯实验。
思路: 1.通过P1.0P~1.7分别送“1”给8个LED指示灯; 2.每次持续时间20分之一秒,即50ms, 由定时器T0来定时,用方式1 , 又知fOSC =6MHz。 8051
单片机原理与应用实验教案实验指导书
单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H~20FF的内容清零。
三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。
四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
五、思考 1、如何用断点方式调试本程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
51单片机实验10-9(青岛大学)小白发
(3)本实验中延时子程序采用指令循环来实现,在系统时间允许的情况 下可以采用此方法。
延时时间 = 机器周期(12÷11.0592MHz)×指令所需机器周期数×循环次数 延时时间程序:
= 28×2μs=512μs。
青岛大学电工电子实验教学中心
实验二 定时/计数器实验
初值X = 2k-定时值/机器周期T
100ms 的定时初值计算:
• X=216-100ms /2μs=65536-50000=15536= 3CB0H
13 位计数器500μs 定时初值
一、实验目的
熟悉MCS-51单片机的定时/计数功能,掌握初始化编程显示 方法。
二、实验内容
• 1、定时器实验:在使用11.0592 MHZ晶振的条件下,用 定时器0产生100MS 定时,由P1.0 输出周期为200MS的方 波信号,并通过示波器观察测量P1.0 的输出波形。 2、计数器实验:手动外部输入脉冲,计数器记到6 时, 由P1.0 输出信号,使LED 发光。
• 1. P3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加1。 • 2. P1口做输出口,编写程序,使P1口接的8 个发光二极管L1—L8按16进 制加1方式点亮发光二极管。
青岛大学电工电子实验教学中心
实验一 P1口开关量输入输出实验
三、实验说明
(1)P1口是准双向口,每一位都可独立地定义为输出或输入。当P1口用 作输入口时必须先对它置“1”。若不先对它置“1”,读入的数据是不正 确的。
三、程序框图
实验2.1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一P1口亮灯实验
一、实验目的
(1)熟悉编程和程序调试
(2)学习P1口的使用方法;
(3)学习延时子程序的编写。
二、实验内容
P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
三、实验预备知识
(1)P1口为准双向口,可定义为输入,也可定义为输出。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHZ)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
四、程序框图
五、实验步骤
实验步骤说明:
本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。
1.使用单片机实验箱,用扁平数据线将单片机P1口与LED灯相连。
P1.0~P1.7用插针连至L1~L8。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,输入源程序(实验(一)),进行编译,直到编译无误。
生成hex文件。
5.打开实验板总电源,将hex文件下载到实验板内,观察发光二极管显示情况。
参考例子:
(1)点亮板子上的第一个灯LED1
(2)点亮板子上的LED1、LED3、LED5、LED7灯,与LED2、LED4、LED6、LED8灯交替
闪烁
(3)流水灯:从LED1---LED8依次点亮参考程序:
1)
#include<reg52.h>
void main()
{
P1=0xfe;
}
2)
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delay();
void main()
{
while(1)
{
P1=0xaa;
delay();
P1=0x55;
delay();
}
}
void delay()
{
uint x,y;
for(x=100;x>0;x--)
for(y=600;y>0;y--) ;
}
3)
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,num;
void delay(uint);
void main()
{
temp=0xfe;
while(1)
{
for(num=0;num<8;num++)
{
P1=temp;
temp=_crol_(temp,1);
delay(1000);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--) ;
}
实验内容:
请在keil环境下编写一下程序:
1)点亮最后一个LED(LED8)
2)点亮LED1、LED2、LED5、LED6这四个LED
3)让第三个LED(LED3)闪烁
4)设计出流水灯程序,从LED8—LED1
注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不再重述。
六、思考
修改延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管闪亮移位方向改变。
七、实验电路
如有侵权请联系告知删除,感谢你们的配合!。