单片机实验三
单片机实验报告
单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
单片机实验3 拆字、拼字子程序设计
单片机实验3 拆字、拼字子程序设计拆字和拼字是人类阅读、语言学习和表达中的基本技能。
在这个实验中,我们将设计一个单片机程序,通过拆字和拼字的子程序来练习和提高汉字的识别和组词能力。
一、实验目的1. 加深对单片机中汇编语言的理解和掌握。
2. 熟悉单片机的输入、输出、延时等基本指令。
3. 实现汉字的拆字和拼字的子程序,提高汉字识别和组词能力。
二、实验器材1. 单片机开发板(AT89C52)2. 八位数码管3. 九键键盘4. 连接线5. 电脑、Keil C51集成开发环境三、实验内容A.数码管显示编写一个数码管驱动程序,通过按键输入一个数字,将其显示在数码管上。
数码管由8个LED组成,每个LED对应一个二进制位。
因此,我们需要将输入的数字转换为二进制数,并控制相应的LED显示。
B.拆字子程序编写一个拆字子程序,将输入的汉字拆成单个的汉字拼音。
汉字的拼音有一个对应的二进制编码,可参考GB2312中的表格。
在程序中,我们需要首先读取键盘输入的汉字,然后将汉字转换为相应的二进制代码,并将其存储在单片机中。
接着,我们需要将二进制代码分解成单个的拼音,并依次显示在数码管上。
四、程序设计在程序中,我们首先需要定义数码管所对应的输出端口和数码管的位数。
```;定义IO端口和数码管位数MOV P0,#0MOV P2,#0x01MOV DPTR,#TABLEMOVX A,DPTRMOV P2,#0x00MOV R0,#0x00MOV R1,#0x01MOV R2,#0x00MOV R3,#0x00MOV R4,#0x00MOV R5,#0x00MOV R6,#0x00MOV R7,#0x00```在键盘输入数字后,我们需要将其转换为二进制数,并存储在单片机的寄存器中。
对于一个单独的数字,我们可以用以下程序将其转换为二进制码:```;循环显示DISPLAY:MOV P0,#0xFFCLR CJNB R0,SKIP1MOV P0,#0xFESKIP1:RRC AJNB R1,SKIP2MOV P0,#0xFDSKIP2:RRC AJNB R2,SKIP3MOV P0,#0xFBSKIP3:RRC AJNB R3,SKIP4MOV P0,#0xF7SKIP4:RRC ADJNZ R5,DISPLAY```在将汉字转换为二进制编码之后,我们需要编写一个循环程序来分解二进制编码,并将每个拼音对应的二进制代码显示在数码管上。
单片机定时计数器实验
实验结果图
原程序
打开开关,小灯依次亮
修改一
修改二
利用开关。
修改三
小灯每隔200us亮依次
修改四
七、心得体会
通过这次实验,我学会了计数器的使用方法。学会了计数器程序的编写,定时器的使用方法和定时器程序的编写。做完这次实验后,我熟练了对修改程序的修改,掌握了各种语句的作用,通过修改程序得到了实验结果。
2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转
三、实验仪器和条件
计算机
伟福实验箱(lab2000P)
四、实验内容与软件流程图
实验3-1 、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。
、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。
实验三单片机定时/计数器实验
一、实验目的
1、学习计数器的使用方法。
2、学习计数器程序的器程序的编写。
5、熟悉汇编语言
二、实验说明
1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。
、流程图
、实验电路及连线
实验3-2 、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转
、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
实验三流水灯实验(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”,对应的外部引脚则输出“低电平”、“高电平”。
单片机外部中断实验报告
单片机外部中断实验报告实验三外部中断实验报告班级:学号:姓名:教师:一、实验LI的1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管DPD8O每当发生外部中断时,发光二极管以向下流水灯的方式点亮。
分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
三、编程提示1、P3 口是8位准双向口,具有双重功能:第一功能和P1 口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:P3. 0RXD串行输入口P3. 1TXD串行输出口P3. 2INTO外部中断0请求输入线P3. 3INT1外部中断1请求输入线P3.4TO定时器/计数器TO外部计数器脉冲输入线P3. 5T1定时器/计数器T1外部计数器脉冲输入线P3. 6WR外部数据存贮器写脉冲输出线P3. 7RD外部数据存贮器读脉冲输出线2、各中断服务程序入口地址:外部中断003H定时器/计数器T1溢出中断OBH外部中断113H定时器/计数器1BH串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EAESET1EX1ET0EX0(1)外部中断源允许中断(中断0: EX0=l;中断1: EXl=l)o(2)CPU 开中断(EA二1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择控制TCOX:TF1TR1TF0TR0IE1IT1IE0IT0IT0是选择文字则外部中断0请求(INTO)边沿触发方式或电平触发方式的控制位。
前一方式IT0二1,后一方式IT0二0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。
前一方式IT1=1,后一方式ITl=0o当8031复位后,TCON被清0。
5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。
单片机中断实验实训报告
一、实验背景随着电子技术的飞速发展,单片机因其体积小、成本低、功能强大等优点,在各个领域得到了广泛应用。
中断技术是单片机设计中非常重要的一部分,它允许单片机在执行程序的过程中,能够及时响应外部事件,从而提高系统的实时性和效率。
本实训旨在通过实验,加深对单片机中断系统的理解,掌握中断系统的使用方法,并学会在实际应用中灵活运用中断技术。
二、实验目的1. 熟悉单片机中断系统的基本概念和原理。
2. 掌握中断源、中断优先级、中断服务程序等基本概念。
3. 学会使用单片机的中断系统实现实时响应外部事件。
4. 培养动手实践能力和问题解决能力。
三、实验器材1. 单片机实验板2. 示波器3. 电源4. 连接线5. 逻辑分析仪(可选)四、实验内容1. 实验一:外部中断实验(1)实验目的:验证外部中断功能,实现按键控制LED灯的点亮和熄灭。
(2)实验步骤:a. 将外部中断0(INT0)引脚连接到按键,按键按下时产生低电平信号。
b. 编写中断服务程序,实现按键按下时点亮LED灯,按键释放时熄灭LED灯。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的点亮和熄灭情况。
2. 实验二:定时器中断实验(1)实验目的:验证定时器中断功能,实现LED灯的定时闪烁。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断,编写定时器中断服务程序,实现LED灯的定时闪烁。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的闪烁情况。
3. 实验三:中断嵌套实验(1)实验目的:验证中断嵌套功能,实现定时器中断和外部中断的嵌套。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断和外部中断,设置中断优先级。
c. 编写定时器中断服务程序和外部中断服务程序,实现中断嵌套。
d. 编译程序,下载到单片机实验板上。
井冈山大学 单片机实验(3个)
实验一外部中断实验(急救车与交通灯)一、实验目的1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
二、实验要求有急救车到达时,两向交通信号灯为红,以便让急救车通过路口的时间为5秒,急救车通过后交通信号灯恢复中断状态。
本实验以按键为中断申请,表示有急救车通过。
三、实验器材单片机开发板、万利仿真机、稳压电源、计算机三、实验原理1、工作原理:本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。
要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意。
一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验中,主程序延时用的寄存器和中断延时用的寄存器应不相同。
2、工作框图四、实验电路与连线五、实验源代码;FOR EAT598CS273 EQU 0F200HORG 0000HLJMP STARTORG 0003H ;INT 0 中断入口地址LJMP INT0ORG 0040HSTART:MOV SP,#60HSETB EX0 ;INT 0 中断有效SETB IT0SETB EALCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯LCALL STATUS3 ;南北红灯,东西绿灯LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯LJMP CIRCLEINT0:PUSH PSW ;保护现场PUSH 2PUSH ACCMOV DPTR,#CS273MOV A,#0FH ;南北,东西都亮红灯MOVX @DPTR,AMOV R2,#50 ;延时8秒LCALL DELAYPOP ACC ;恢复现场MOVX @DPTR,APOP 2POP PSWRETISTATUS0: ;南北红灯,东西红灯MOV DPTR,#CS273MOV A,#0FHMOVX @DPTR,AMOV R2,#10 ;延时2秒LCALL DELAYRETSTATUS1: ;南北绿灯,东西红灯MOV DPTR,#CS273MOV A,#96H ;南北绿灯,东西红灯MOVX @DPTR,AMOV R2,#50 ;延时5秒LCALL DELAYRETSTATUS2: ;南北绿灯闪转黄灯,东西红灯MOV DPTR,#CS273MOV R3,#03H ;绿灯闪3次FLASH: MOV A,#9FHMOVX @DPTR,AMOV R2,#03HLCALL DELAYMOV A,#96HMOVX @DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASHMOV A,#06H ;南北黄灯,东西红灯MOVX @DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYRETSTATUS3: ;南北红灯,东西绿灯MOV DPTR,#CS273MOV A,#69HMOVX @DPTR,AMOV R2,#50 ;延时5秒LCALL DELAYRETSTATUS4: ;南北红灯,东西绿灯闪转黄灯MOV DPTR,#CS273MOV R3,#03H ;绿灯闪3次FLASH1: MOV A,#6FHMOVX @DPTR,AMOV R2,#03HLCALL DELAYMOV A,#69HMOVX @DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASH1MOV A,#09H ;南北红灯,东西黄灯MOVX @DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYNOPRETDELAY: ;延时子程序PUSH 2PUSH 1PUSH 0DELAY1: MOV 1,#00HDELAY2: MOV 0,#0B2HDJNZ 0,$DJNZ 1,DELAY2 ;延时100 mSDJNZ 2,DELAY1POP 0POP 1POP 2RETEND实验二单片机内部定时器应用一、实验目的1、理解单片机内部定时器的工作原理及使用方法2、了解单片机定时中断程序的编写和调试方法3、掌握定时器的基本使用方法二、实验要求由8031内部定时器1,按连接方式1工作,即作为16位定时器的使用每0.05秒钟T1溢出中断一次。
单片机实验3 数码管控制实验-动态显示
;实验名称:数码管动态显示
;功能:4位数码管循环显示“0123”“4567”“89AB”“CDEF”,间隔0.5S。
;编写人:陈建泽
;编写时间:2010年11月2日
/**********************程序代码************************/
D1MS: MOV R2,#250 ;250*(1+1+2)=1000us=1ms
L1:NOP
NOP
DJNZ R2,L1
RET
/*****************中断服务子程序*****************/
T0_INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
MOV A,R4
CJNE A,#16,L3
AJMP MAIN
L3:MOV R5,A
AJMP L1
DIS:MOV P2,R6;用A作为中间寄存器,因后面要循环显示
MOV A,R5
ACALL SQR ;查表
MOV P0,A
ACALL D1MS ;1ms
INC R5
MOV A,R6
RL A;指向下一位
MOV R6,A
RET;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳极字型码表0、1、2、3
DB 99H, 92H, 82H, 0F8H;共阳极字型码表4、5、6、7
DB 80H, 90H, 88H, 83H;共阳极字型码表8、9、A、B
DB 0C6H,0A1H,86H, 8EH;共阳极字型码表C、D、E、F
单片机实验报告范文
单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
实验三-IO和中断实验
用C程序来实现上述交通灯时序的功能,延时 时间可通过示波器大致地校准。
三、实验内容
4、中断方式输入的交通灯时序:
将P3.2作为单片机的中断信号INT0; 利用中断方式,读取P3.2的电平; 实现上述交通灯时序;
用C程序编写中断程序函数,以及初始化和主 程序。
0输出1Hz方波,正常交通;
马灯效果: 1、C51实验开发板
1块
一个灯右循环间隔时间0.
1、P1口直接输出,驱动LED指示灯,演示跑马灯效果:
1、P1口直接输出,驱动LED指示灯,演示跑马灯效果:
P1口做输出口; 编写程序,使发光二极管指示灯循环点亮。
4、PC机
1台
P1连接至8只发光二极管接口JP8; 0输出占空比为75%、2Hz矩形波,紧急情况。
实验三 I/O和中断实验
一、实验目的
1、掌握单片机基本I/O口的使用特点,
了解本扩展I/O口的方法;
2、掌握单片机中断机制,
掌握单片机中断的使用特点和编程方法。
二、实验仪器
1、C51实验开发板
1块
2、直流温压电源
1台
3、仿真器
1只
4、PC机
1台
5、示波器
1台
三、实验内容
1、P1口直接输出,驱动LED指示灯,演示跑 马灯效果:
0
三、实验内容 用C程序来实现上述交通灯时序的功能,延时时间可通过示波器大致地校准。
实验三 I/O和中断实验
P3口作为输入口,查询P3.
2作为单片机的中断信号INT0;
掌握单片机中断的使用特点和编程方法。
4了、解中本断扩方展式I/O输口入的的1方交法、通;灯时P序1: 口直接输出,驱动LED指示灯,演示跑
51单片机实验报告
51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
单片机C语言_-_实验报告三
教师签名
王银花
批改时间
2014年月日
检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的按键处理。编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时,检测松手时就不用加了。
三、实验内容和步骤
通过四个按键来控制LED灯的显示情况:
A:S1:D0点亮
S2:D1点亮
S3:D2点亮
S4:D3点亮
B:S1:D0-D3点亮
S2:D2点亮
S3:D0-D7点亮
S4:D0-D5点亮
注:任意完成一组即可
四、电路图+程序
五、问题与心得
六、对本实验过程及方法、手段的改进建议
七、实验评价(教师)
1.实验步骤正确,完成了本实验的全部内容。很好( ) 一般( ) 否( )
2.实验数据全面,调试步骤准确,结果正确。很好( ) 一般( ) 否( )
3.实验报告格式规范,图表清晰。很好( ) 一般( ) 否( )
学生实验报告三
系别
课程名称
单片机语言C51程序设计
专业
实验名称
班级
小组情况
姓名
实验时间
2014年月日
学号
指导教师
王银花
报告内容
一、实验目的和任务
1.进一步熟悉编程和程序调试
2.学习独立按键的使用方法
I/O线构成单个按键电路,各个按键之间相互独立,一根线上的按键状态不会影响其他输入线上的工作状态,又称独立式键盘接口电路。
单片机原理实验报告
实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
c51单片机实验报告
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
实验三 定时器实验 实验报告
课程名称:单片机实验题目:实验三定时实验学生姓名:专业:电子信息科学与技术班级:学号:指导教师:张涛实验三 定时器实验一、实验目的1、掌握单片机系统定时器断的原理及使用方法。
二、实验原理 (一)、单片机定时器/计数器的结构 1.定时器/计数器组成框图8051单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。
此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如图所示。
_____INT1(P3.3)_____INT0(P3.2)T1(P3.5)T0(P3.4)图 8051定时器/计数器逻辑结构图由图可知,8051定时器/计数器由定时器 T0、定时器T1、定时器方式寄存器TMOD 和定时器控制寄存器TCON 组成。
2.定时/计数器的方式寄存器和控制寄存器定时/计数器的初始化通过定时/计数器的方式寄存器TMOD 和控制寄存器TCON 完成。
1)定时/计数器方式寄存器TMODTMOD 为T1、T2的工作方式寄存器,其格式如下:TMOD D7 D6 D5 D4 D3 D2 D1 D0(89H) TMOD 的低 (1(2)T /C :功能选择位。
0/C =时,设置为定时器工作方式;1/C =时,设置为计数器工作方式。
(3)GATE :门控位。
当GA TE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须0INT (P3.2)或1INT (P3.3)为高电平方可启动定时器,即允许外中断0INT 、1INT 启动定时器。
TMOD 不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义T0。
复位时,TMOD 所有位均置0。
2)定时器/计数器控制寄存器TCONTCON 的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。
定时器控制字TCON 的格式如下:TCON (88H ) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H(1) TCON.7 TF1:定时器1溢出标志位。
单片机实验三(急救车与交通灯)
单片机技术与应用实验报告实验名称:外部中断实验(急救车与交通灯)班级:11062811学号:11061118姓名:吕琳涛指导老师:谷雨2013年5月20日1. 实验要求由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。
有急救车到达时,两向交通信号为全红,以便让急救车通过。
假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。
本实验以按键为中断申请,表示有急救车通过。
2. 实验目的1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
3. 程序说明:在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。
对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。
综上所述我们这一次的实验就是流水灯与外部中断的结合。
通过对七种情况的罗列1 0 0 1 0 1 1 0 南北绿,东西红0 1 1 0 1 0 0 1 南北红,东西绿1 0 0 1 1 1 1 1 只亮东西红0 1 1 0 1 1 1 1 只亮南北红0 0 0 0 0 1 1 0 南北黄,东西红0 0 0 0 1 0 0 1 南北红,东西黄0 0 0 0 1 1 1 1 全红我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显示,在不同情况进行显示的过程中我们用以前的delay函数进行时间上的规划从而达到依次显示的效果。
0x0f 全红XBYTE[0xf200]=0x0f;0x96 南北绿,东西红XBYTE[0xf200]=0x96;0x9f 只亮东西红XBYTE[0xf200]=0x9f;0x06 南北黄,东西红XBYTE[0xf200]=0x06;0x69 南北红,东西绿XBYTE[0xf200]=0x69;0x6f 只亮南北红XBYTE[0xf200]=0x6f;0x09 南北红,东西黄XBYTE[0xf200]=0x09;在具体的实验代码编写过程中,我们会用到EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。
单片机 实验三中断及定时器实验
实验三:中断及定时器实验一、实验目的:1、弄清中断的概念、基本原理,掌握中断技术的应用2、了解中断初始化的方法,中断向量安装和中断服务子程序的设计方法。
3、了解定时/计数器的工作原理及MCS51单片机的定时器内部结构4、掌握时间常数计算方法5、掌握定时器初始化方法和定时中断程序设计方法二、实验内容:定时器实验1、这个是一个电子钟走时程序,利用定时器T0产生50ms中断,中断计数器中断20次为1秒,利用秒信号进行电子钟计时。
先读懂下面程序段,然后编辑、编译程序,并在伟福仿真器上模拟调试该程序。
程序清单如下:COUNT EQU 7FHCOUNT1 EQU 7EHS_MEM EQU 73HM_MEM EQU 72HH_MEM EQU 71HORG 0000HLJMP MAINORG 000BHLJMP INT_T0 ;“*1”MAIN: MOV SP,#2FHMOV TMOD,#BMOV TH0,#03CH ;50毫秒中断时间常数MOV TL0,#0BHMOV IE,#B ;开放T0MOV IP,#0MOV S_MEM,#0MOV M_MEM,#0MOV H_MEM,#0MOV COUNT,#20SETB TR0;______________________________________________________ W AIT:NOPSJMP W AITINT_T0: MOV TL0,#0BHMOV TH0,#3CHDJNZ COUNT,EXT_T0MOV COUNT,#20 ;恢复中断计数器INC S_MEM ;“*2”MOV A,S_MEMCJNE A,60,EXT_T0MOV S_MEM,#0INC M_MEMMOV A,M_MEMCJNE A,#60,EXT_T0MOV M_MEM,#0INC H_MEMMOV A,H_MEMCJNE A,#13,EXT_T0MOV H_MEM,#0EXT_T0: RETI2、按下列要求修改程序或回答问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
学院: 系: 专业:电子信息工程年级:2008 成绩:
姓名: 学号: 实验时间:2011/5/28 指导教师签字:
______________________________________________________________________________
步进机实验
一、实验目的:
1.了解步进电机控制的基本原理。
2.掌握步进电机转动编程方法。
二、实验内容:
编写程序控制步进电机的正转与反转.
三、实验流程:
四、实验程序:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
void delay(uint z) //延时函数定义,延迟110*z个指令周期
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
unsigned char i,a=0x33; //a的初值为00110011
while(1)
{
for(i=0;i<50;i++)
{
P1=a; //把a的值赋给P1口,使电机转动
a=_crol_(a,1); //左移一位
delay(10); //延时
}
for(i=0;i<50;i++)
{
P1=a; //把a的值赋给P1口,是电机转动
a=_cror_(a,1); //右移一位
delay(10); //延时
}
}
}
程序功能简介:该程序是实现步进电机的正转与反转,主要是利用线圈的电平从0→1或者1→0, 产生电流,使得步进电机的转头,程序使得步进电机的转动的匀速的.
五、实验现象:
步进机先进行正转,然后反转,不断的重复这一过程,并且步进机的速度保持一致。
工业顺序控制
一、实验目的:
掌握工业顺序控制程序的简单编程,中断的使用。
二、实验内容:
8032的P1.0—P1.5控制注塑机的6道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.3为开工启动开关,高电平启动。
P3.4为外故障输入模拟开关, P1.7为报警声音输出。
三、实验流程:
四、实验步骤:
1、实验连线
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\he04.asm,用连续方式运行程序。
3、观察运行结果
4、终止运行
五、实验程序:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit k1=P3^3;
sbit k2=P3^4;
sbit LED8=P1^7;
uchar i=0;
void delay(uint z) //延迟函数定义,延迟110*z个指令周期{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
{code uchar table[]=
{0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//定义六次亮灯一盏
for(;;)
{ for (i =0;i<=5;i++)
{P1=table[i]; //循环亮灯
delay(100);
if(k1==0) //异常出现,进入P1口输出定值的死循环{ for(;;)
{ P1=table[i];
LED8=0;
if(k2==0) //恢复信号,跳出死循环
{break;
}
}
}
}
}
}
}
六、实验现象:
程序运行后,流水灯从左往右一次亮(6个灯亮),当波动K1后,P3.3使能,用外部中断即为工序出错,这时流水灯停止闪动并且保持出错的现场, LED7亮表示警告;当拨动K2后,说明已修正错误,工序恢复正常工作状态,LED灯再次从左往右地闪动,LED7灯灭。