《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三.程序清单及程序流程框图
ORG 0000H Array LJMP MAIN
MAIN: MOV R0,#30H
MOV R2,#10H
CLR A
A1: MOV @R0,A
INC R0
INC A
DJNZ R2,A1
MOV R0,#30H
MOV R1,#40H
MOV R2,#10H
A2: MOV A, @R0
MOV @R1,A
INC R0
INC R1
DJNZ R2, A2
MOV R1,#40H
MOV DPTR ,#4800H
MOV R2, #10H
A3: MOV A,@R1
MOVX @DPTR ,A
INC R1
INC DPTR
DJNZ R2,A3
MOV SP,#60H
MOV R2,#10H
MOV DPTR ,#4800H
PUSH DPL
PUSH DPH
MOV DPTR,#5800H
MOV R3,DPL
MOV R4,DPH
A4: POP DPH
POP DPL
MOVX A,@DPTR
INC DPTR
PUSH DPL
PUSH DPH
MOV DPL,R3
MOV DPH,R4 MOVX @DPTR,A INC DPTR
MOV R3,DPL
MOV R4,DPH
DJNZ R2,A4
MOV R0,#50H
MOV DPTR,#5800H MOV R2,#10H
A5: MOVX A,@DPTR MOV @R0,A
INC R0 INC DPTR DJNZ R2,A5
POP DPH POP DPL HERE: LJMP HERE
END
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三.实验电路
四.程序清单及流程图
程序一
ORG 0000H
LJMP MAIN ORG 000BH LJMP IPTO MAIN: MOV SP, #30H MOV TMOD, #01H
CLR 00H SETB EA SETB ET0 MOV TH0, #3CH MOV TL0, #0B0H MOV R1, #14H SETB TR0 MOV A, #0feH MOV P1, A NT: JNB 00H, NT RL A MOV P1, A
CLR 00H LJMP NT IPTO: MOV TH0,
#3CH MOV TL0,
#0B0H
DJNZ R1, TIO
MOV R1, #14H
SETB 00H
TIO: RETI
END
程序二只需将程序一中“RL A”改为“RR A”即可实现其功能。程序三
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IPTO
MAIN: MOV SP, #30H
MOV TMOD, #01H
CLR 00H
SETB EA
SETB ET0
MOV TH0, #3CH
MOV TL0, #0B0H
MOV R2, #0AH
MOV R1, #02H
SETB TR0
MOV A, #0feH
MOV P1, A
NT: SETB P3.0
NT0:JNB 01H, NT0
CLR P3.0
CLR 01H
NT1:JNB 00H, NT1
CLR 01H
RL A
MOV P1, A
CLR 00H
LJMP NT
IPTO:MOV TH0, #3CH
MOV TL0, #0B0H
DJNZ R2, TIO
MOV R2, #0AH
SETB 01H
DJNZ R1, TIO
MOV R1, #02H
SETB 00H
TIO: RETI
END
程序四(思考题程序)
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IPTO
MAIN: MOV SP, #30H
MOV P1, #0ffH
MOV TMOD, #01H
CLR 00H
SETB EA
SETB ET0
MOV TH0, #3CH
MOV TL0, #0B0H
MOV R1, #14H
SETB TR0
MOV A, #00H NT:JNB 00H, NT
INC A
MOV R3, A
CPL A
MOV P1, A
CLR 00H
MOV A, R3
LJMP NT
IPTO:MOV TH0, #3CH
MOV TL0, #0B0H
DJNZ R1, TIO
MOV R1, #14H
SETB 00H
TIO: RETI
END
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三.电路原理图
四.程序清单及流程图
程序一ORG 0000H LJMP MAIN MAIN: M OV TMOD, #02H
MOV TH0, #9CH MOV TL0, #9CH
SETB TR0 SETB P1.0 HERE:JNB TF0, HERE
CPL P1.0 CLR TF0 LJMP HERE END 程序二 ORG 0000H LJMP MAIN ORG 000BH LJMP IPTO MAIN: M OV SP, #60H MOV TMOD, #02H MOV IE, #82H MOV TH0, #88H MOV TL0, #88H
SETB TR0 SETB P1.1 HERE: LJMP HERE IPTO: CPL P1.1
RETI END
程序三(思考题)
ORG 0000H
LJMP MAIN Array MAIN: M OV TMOD, #11H
MOV TH0, #0FEH
MOV TL0, #0D4H
MOV TH1, #0FFH
MOV TL1, #38H
SETB TR1
SETB P1.0
HERE: JNB TF1, HERE
CPL P1.0
SETB TR0
CLR TF1
CLR TR1
MOV TH1, #0FFH
MOV TL1, #38H
HERE1: JNB TF0, HERE1
CPL P1.0
SETB TR1
CLR TF0
CLR TR0
MOV TH0, #0FEH
MOV TL0, #0D4H
LJMP HERE
END
五.实验结果
周期为200us方波周期为240us方波
周期为500us占空比为2:5的方波
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三、电路原理图
四、程序清单及流程图
程序1:ORG 0000H
LJMP MAIN
MAIN: MOV TMOD, #06H
MOV TH0, #9CH MOV TL0, #9CH SETB TR0
HERE:JNB TF0, HERE
CPL P1.0
CLR TF0
LJMP HERE
END
程序2:ORG 0000H
LJMP MAIN
ORG 000BH LJMP ITPO
MAIN: MOV SP, #60H
MOV TMOD, #06H
MOV TH0, #38H
MOV TL0, #38H
MOV IE, #82H
SETB TR0
HERE:LJMP HERE ITPO:CPL P1.0
RETI
END
程序3(思考题): ORG 0000H LJMP MAIN ORG 001BH LJMP ITPO MAIN: M OV SP, #60H
MOV TMOD, #62H MOV TH0, #9CH MOV TL0, #9CH MOV TH1, #0CEH MOV TL1, #0CEH MOV IE, #88H
SETB TR0 SETB TR1 SETB P1.0 HERE:JNB TF0, HERE
CPL P1.0 CLR TF0 LJMP HERE ITPO:CPL P1.1 RETI END
五、实验结果
程序1与程序2从T0接入1000Hz 的方波,思考题从P1.0口线产生的方波从T1接入
计100次脉冲 计200次脉冲
思考题波形
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三、电路原理图
四、程序清单及流程图
程序一:ORG 0000H LJMP MAIN ORG 0003H LJMP EXTER0 ORG 000BH LJMP IPTO ORG 00013H LJMP EXTER1 MAIN: M OV SP, #60H MOV TMOD, #11H MOV IE, #87H MOV IP, #02H MOV TH0, #9EH MOV TL0, #58H MOV TH1, #0D8H MOV TL1, #0F0H HERE:LJMP HERE DELAY:SETB TR1 HEREY:JNB TF1, HEREY CLR TR1 CLR TF1 MOV TH1, #0D8H MOV TL1, #0F0H RET EXTER0:LCALL
DELAY
JB P1.0, LOOP0 HERE0:JNB P1.0, HERE0
SETB TR0
LOOP0:RETI
EXTER1:LCALL DELAY
JB P1.1, LOOP1 HERE1:JNB P1.1, HERE1
CLR TR0
LOOP1:RETI
IPTO:CPL P1.2
MOV TH0, #9EH
MOV TL0, #58H
RETI
END
程序二(思考题)
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXTER0
ORG 000BH
LJMP IPTO
MAIN: M OV SP, #60H
MOV TMOD, #11H
MOV IE, #83H
MOV IP, #02H
MOV TH0, #0B1H
MOV TL0, #0E0H
MOV TH1, #0D8H
MOV TL1, #0F0H
MOV R1, #02H HERE:LJMP HERE DELAY:SETB TR1
HEREY:JNB TF1, HEREY
CLR TR1
CLR TF1
MOV TH1, #0D8H
MOV TL1, #0F0H
RET
EXTER0:LCALL DELAY
JB P1.0, LOOP0 HERE0:JNB P1.0, HERE0
CPL TR0
OOP0:RETI
IPTO: DJNZ R1, LOOP
CPL P1.2
CPL 00H
JNB 00H, LOOP2
MOV R1, #03H
LJMP LOOP
LOOP2: MOV R1, #02H
LOOP: MOV TH0, #0B1H
MOV TL0, #0E0H
RETI
END
五、实验结果
1、基本要求部分:将程序产生的十六进制代码加载到proteus中,运行仿真开始无波形输
出,按下K0键输出周期为50mS的连续方波,如图5.1所示,当按下K1键波形消失,重复操作结果一样。
2、思考题部分:将程序产生的十六进制代码加载到proteus中,运行仿真开始无波形输出,
按下K0键输出周期为100mS占空比为2:5的连续矩形波,如图5.2所示,当再次按下K0键波形消失,重复操作结果一样。
图5.1 图5.2
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义
三、电路原理图
四、程序清单及流程图
程序一:ORG 0000H LJMP MAIN ORG 000BH LJMP INTO MAIN:LCALL DEL Y MOV SP, #60H MOV TMOD, #02H MOV IE, #82H MOV TH0, #9CH MOV TL0, #9CH MOV DPTR, #7FFFH MOV A, #81H MOVX @DPTR, A
MOV R3, #0FFH
SETB TR0 LOOP0: MOV DPTR, #7FFEH MOVX A, @DPTR SW AP A MOVX @DPTR, A LJMP LOOP0 INTO:PUSH DPL PUSH DPH PUSH ACC MOV DPTR, #7FFCH MOV A, R3 MOVX @DPTR, A CPL
A
MOV R3, A
POP ACC POP DPH POP DPL
RETI DEL Y:MOV R4, #0FFH
LOOP:NOP NOP DJNZ R4, LOOP
RET END
程序二(思考题):
ORG 0000H
LJMP MAIN
MAIN:LCALL DEL Y MOV DPTR, #7FFFH
MOVX @DPTR, A
MOV R3, #08H
MOV DPTR, #7FFEH
MOV A, #0FFH
MOVX @DPTR, A LOOP0: MOV DPTR, #7FFFH MOV A, #00H LOOP1: MOVX @DPTR, A
LCALL DEL Y
CPL ACC.0
MOVX @DPTR, A
LCALL DEL Y
CPL ACC.0
INC ACC
INC ACC
DJNZ R3, LOOP1
MOV R3, #08H
LJMP LOOP0
DELY:MOV R4,#0FFH LOOP3:MOV R5,#0FFH LOOP:NOP
NOP
NOP
NOP
NOP
DJNZ R5,LOOP
DJNZ R4,LOOP3
RET
END
院系:计算机科学学院专业:智能科学与技术年级: 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
目录 8.2.3.4 a.质量手册编号 (2) 8.2.3.4 b.程序文件编号 (2) 8.2.3.4 d.质量记录编号 (2) 8.2附图 1:组织(及所属部门)制订、发放的文件受控流程图 (3) 8.2附图 2:外来受控文件受控流程图 (4) 8.3.2质量记录控制流程图 (5) 8.4.2内部质量审核工作流程图 (6) 8.5.2 6.10进货检验的不合格品控制程序 (7) 8.5.2 6.10产品已交付和使用时发现的不合格品控制程序 (8) 8.5.2产品最终检验的不合格品控制程序流程图 (9) 8.5.2产品实现过程中不合格品控制程序流程图 (10) 8.6.2A类纠正措施流程图 (11) 8.6.2B类纠正措施 (12) 8.6.2C类纠正措施 (13) 8.7.2《质量情况通报》的编制、发放、回收、处理 (14) 8.7.2财务状况预警系统 (15) 8.7.2预防措施的制订、实施和评价 (16) 8.8.2管理评审控制程序流程图 (17) 8.9.2人员招聘录用程序流程图 (18) 8.9.2培训程序流程图 (19) 8.9.2考核程序流程图 (20) 8.11.2产品实现过程策划程序流程图 (21) 8.11.2策划依据 (22) 8.12.2产品要求的识别与评审过程 (23) 8.12.2产品合同修改过程 (24) 8.12.2市场信息控制过程 (25) 8.13.2设计和开发控制程序 (26) 8.14.2采购控制程序流程图 (27) 8.15.2生产运作程序流程图 (28) 8.17.2测量和监控策划程序 (29) 8.18.2体系业绩的测量和监控过程程序 (30) 8.19.2过程的测量、监控和分析程序流程图 (31) 8.20.2产品测量和监控程序流程图 (32) 8.21.2持续改进过程控制程序 (33)
51单片码锁制作的程序和流程图(很详细) 一、基本组成: 单片机小系统+4*4矩阵键盘+1602显示+DC电机 基本电路: 键盘和和显示 键盘接P1口,液晶的电源的开、关通过P2.7口控制 电机(控制口P2.4) 二、基本功能描述: 1.验证密码、修改密码 a)锁的初始密码是123456(密码最长为10位,最短为1位)。 2.恢复初始密码 a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。
3.使系统进入低功耗状态 a)在实际使用中,锁只有在开门时才被使用。因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。 b)同时将LCD背光灯关闭 4.DC电机模拟开锁动作。 a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。 三、密码锁特点说明: 1.0 输入将被以字符形式输入,最长为10位。 超过10位时系统将自动截取前10位、但不作密码长度溢出提示。 2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。 3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。 4.0 若2分钟无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。 5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。 6.0 修改密码键和恢复初始密码键最好置于室。 这是Proteus仿真结果: 输入密码123456: 显示结果: 密码正确时电机启动、电机将持续5秒:
单片机总流程图
主函数程序 #include<> #include<> #define uchar unsigned char #define uint unsigned int #define OSC_FREQ #define __10ms (65536 - OSC_FREQ/(/9970)) #define COM8255 XBYTE[0XFFF3] #define PA8255 XBYTE[0XFFF0] #define PB8255 XBYTE[0XFFF1] #define PC8255 XBYTE[0XFFF2] uchar code tab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6}; uchar code dis_HELLO[]={0x89,0x86,0xc7,0xc7}; uchar code dis_op51[]={0xc0,0x8c,0x92,0xf9}; uchar code dis_code[]={0xcf,0xa4,0xcf,0xa4}; uchar ucCnt_10ms=99; uchar i=0; uchar J=0; uchar n=0; uchar led1; uchar led2; sbit P2_4=P2^4; sbit P3_7=P3^7; sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; void Disp_op51 (); void Disp_HELLO(); void Set_Init_Xint(); void Set_Init_Timer(); void Disp_t(); void DelayX1ms(uint count); void Disp_8255(); void main() { for(;;) { Set_Init_Xint(); Set_Init_Timer(); Disp_8255(); //ucCnt_10ms =99; //ucLed1 = 6;
3 3 3 用查表方式编写y=x1 +x2 +x3 。(x 为0~9 的整数) #include
51单片机密码锁制作的程序和流程图(很详细) 一、基本组成: 单片机小系统+4*4矩阵键盘+1602显示+DC电机 基本电路: 键盘和和显示 键盘接P1口,液晶的电源的开、关通过P2.7口控制 电机(控制口P2.4) 二、基本功能描述: 1.验证密码、修改密码 a)锁的初始密码是123456(密码最长为10位,最短为1位)。 2.恢复初始密码 a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。
3.使系统进入低功耗状态 a)在实际使用中,锁只有在开门时才被使用。因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。 b)同时将LCD背光灯关闭 4.DC电机模拟开锁动作。 a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。 三、密码锁特点说明: 1.0 输入将被以字符形式输入,最长为10位。 超过10位时系统将自动截取前10位、但不作密码长度溢出提示。 2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。 3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。 4.0 若2分钟内无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。 5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。 6.0 修改密码键和恢复初始密码键最好置于室内。 这是Proteus仿真结果: 输入密码123456: 显示结果: 密码正确时电机启动、电机将持续5秒:
程序流程图规范 1.引言 国际通用的流程图形态和程序: 开始(六角菱型)、过程(四方型)、决策(菱型)、终止(椭圆型)。在作管理业务流程图时,国际通用的形态:方框是流程的描述;菱形是检查、审批、审核(一般要有回路的);椭圆一般用作一个流程的终结;小圆是表示按顺序数据的流程;竖文件框式的一般是表示原定的程序;两边文件框式的一般是表示留下来的资料数据的存储。 2.符号用法 程序流程图用于描述程序内部各种问题的解决方法、思路或算法。 图1-1 标准程序流程图符号 1)数据:平行四边形表示数据,其中可注明数据名、来源、用途或其 它的文字说明。此符号并不限定数据的媒体。 2)处理:矩形表示各种处理功能。例如,执行一个或一组特定的操作,
从而使信息的值,信息形式或所在位置发生变化,或是确定对某一流向的选择。矩形内可注明处理名或其简要功能。 3)特定处理:带有双纵边线的矩形表示已命名的特定处理。该处理为 在另外地方已得到详细说明的一个操作或一组操作,便如子例行程序,模块。矩形内可注明特定处理名或其简要功能。 4)准备:六边形符号表示准备。它表示修改一条指令或一组指令以影 响随后的活动。例如,设置开关,修改变址寄存器,初始化例行程序。 5)判断:菱形表示判断或开关。菱形内可注明判断的条件。它只有一 个入口,但可以有若干个可供选择的出口,在对符号内定义各条件求值后,有一个且仅有一个出口被激活,求值结果可在表示出口路径的流线附近写出。 6)循环界限:循环界限为去上角矩形或去下角矩形,分别表示循环的 开始和循环的结束。一对符号内应注明同一循环标识符。可根据检验终止循环条件在循环的开始还是在循环的末尾,将其条件分别在上界限符内注明(如:当A>B)或在下界限符内注明(如:直到C 前言 由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机。为配合《单片机应用技术》课程的教学,使学生尽快了解、掌握89C51单片机的使用,特编写了这本上机指导书(基础篇)。 《单片机》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。本实验指导书提供了9个实验的指导性材料,实验还有一些思考题,可以根据课时的安排和教学要求进行取舍。为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。 由于时间紧迫,加上编者学识有限,如有不妥之处,欢迎读者批评指正。 编者 实验须知 1. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。 2. 各种电源的电压和极性不能接错,严禁带电接线和接插元器件。通电前须经过指导教师检查认可后方能通电。 3. 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。 4. 严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。 5. 实验中若损坏仪器或元器件,应及时向指导教师报告,听候处理。 6. 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。 7. 实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。 8. 按规定认真完成实验报告,对实验中出现的现象进行分析,在规定的时间内交上实验报告。 9. 凡实验或实验报告未能按规定完成的学生,不能参加本课程的考试或考查。 软件实验部分 实验一 Keil uVision2 开发环境入门 一、实验目的 1、初步熟悉Keil uVision2开发环境的使用; 2、了解C51语言程序设计和调试方法。 二、实验内容 1、应用给定程序联系使用Keil uVision2软件 2、对指定数据块赋值 三、实验流程图 1、输入以下程序: 全速运行实验程序,观察相关单元中数据的变化和单步运行的方法 2、对指定数据块赋值 (1)对指定单元进行清零操作 (2)对外部RAM中2000H开始的单元进行赋值,赋值数据为0~16.并对相关单元进行观察。 四、实验步骤 (一)存储块清零 1、打开Keil uVision2开发环境; 2、新建一个文件:File→New; 3、根据清零实验要求输入代码如下: xdata unsigned char Buffer[256] _at_ 0x3000; void main() { unsigned int index; unsigned char xdata * ptr; ptr = &Buffer; // 起始地址 for (index = 0; index <= 255; index++) { *ptr++ = 0; // 清0, 地址加一 } } 4、保存文件名为“Text1.c”并为其建一个工程; Project→New Project→AT89s51→确定→右键Source Group 1→Add Files to Group ” Source Group 1”→将“Text1.c”选中加入工程即可。 5、编译→改错→直到编译通过没有错误; 6、仿真程序:按钮→按钮→屏幕下方会出现Address工具栏→Address栏中输入 如右图→通过改变表中地址对应的内容,这 三个按钮运行程序,查看内容是否被清零。 (二)对指定数据块赋值 1、建立工程和新建文件同(一)中类似 2、自己编程 仿真结果如下图:(仿真步骤与(一)类似) 程序流程图 编写马磊编写时间2011-07-04 审批审批者姓名(及其职务)审批时间 版本V0.9 1概述 利用计算机进行程序设计时,不仅仅只处理一些简单的数据,在大部分的程序设计里处理的问题还是相当复杂的。对于那些复杂的程序设计,读者不可能直接就能写出程序的源代码,而是要通过一些具体的设计方法(如用程序流程图)把程序设计思想先写出来,然后根据程序流程图编写代码。本章将具体介绍进行程序设计时使用的基本方法和C程序的流程控制。 2程序设计的基本知识 2.1程序流程图 在描述一个程序的基本结构思想时有很多种方法,其中程序流程图是最常用也是最基本的方法。 2.1.1传统程序流程图 传统流程图表示法的特点是用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。美国国家标准化协会ANSI规定了一些常用的流程图符号,现已为世界各国普遍采用。我国也有自己的国家标准GB 1526-89与该标准基本相同,本书就参照ANSI标准做具体介绍。标准中各种图示如图3.1所示。 起止框输入输出框判断框处理框 或 流程线连接点注释框 图 3.1 传统流程图表示法 下面对其中一些主要符号作简要说明: (1)起止框是用来标识程序的开始和结束位置的。规定流程图以起止框开始,以起止框结束。 (2)输入输出框也叫数据框,其中可以注明数据名称、来源、用途或其它的文字说明。 (3)菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。 (4)处理框用矩形表示各种处理功能。例如,执行一个或一组特定的操作,从而使信息的值、信息的形式或所在位置发生变化。另外在矩形框内可注明特定处理名称或其简要功能。 (5)流程线用带箭头的直线表示程序的执行顺序。当流程自左向右或自上向下时流程线可以不带箭头,其它情况应加箭头表示流程。 (6)连接点用小圆圈表示将画在不同地方的流程线连接起来。下图中有两个以①为标志的连接点,它表示这两个点是互联在一起的,实际它们是同一个点。这种连接通常用在图形画不下而需要分开画时。 《单片机原理及应用》 实验指导书 姓名: 学号: 专业班级: 所在学院:成人教育学院 2012年5月日 单片机实验指导书 目录 实验一系统认识实验 (2) 实验二程序调试 (4) 实验三外部中断实验 (6) 实验四串口实验 (8) 实验一系统认识实验 一、实验目的 1.掌握SICElab-G2200实验/仿真系统的结构与使用方法; 2.熟悉单片机系统开发软件WAVE6000。 二、实验设备 1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台 3.连线若干根 4.计算机 1 台 三、实验内容 P1端口接发光二极管,加1点亮。 四、连线方案: 实验箱 内部已 连好 五、实验步骤 1.连接Lab51CPU板。(已由实验师连好) 2.仿真器与实验平台的连接 将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。(已由实验师连好) 3.仿真器与计算机的连接 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。 特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。 4.实验连线 按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。拆线时,应先回转一下,不要硬拨,以免损坏线路板。不管是拆线还是插线,都应在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。 5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。 6.在计算机上打开“WAVE6000集成调试环境”,界面如下图所示: 7.建立新程序(如果程序已编好,直接跳到第9步) 选择菜单[文件 | 新建文件]功能。 出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序 ORG 0 MOV P1,#0 ;熄灭发光二极管 LOOP: INC P1 CALL Delay SJMP LOOP Delay: MOV R2,#3 ;延时程序 MOV R1,#0 1、程序说明 输入两个8位数据A和B,求|A-B|,结果放在内存中,并输出结果。 2、调试说明 ①在进行循环程序设计时,要注意循环初始化、内外层循环的控制、循环结束条件等的设置对整个程序的执行逻辑要非常清楚。这样可以避免死循环等意外情况的出现。 ②分支程序的控制很重要,编写代码时,要注意注释重要的分支控制部分。这样思路才不会乱。同时要对照流程图,随时观察代码的逻辑思路是否正确。 3、源程序清单和流程图,附执行结果截图。 源程序清单 DA TA SEGMENT DB 'X:$','H',0AH,0DH,'Y:$','H',0AH,0DH,'|X-Y|:$' X DB 0 Y DB 0 Z DB 0 DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX MOV DX,0 MOV AH,09H INT 21H CALL INPUT MOV X,BL ADD DX,3 MOV AH,09H INT 21H CALL INPUT MOV Y,BL MOV AL,X MOV BL,Y SUB AL,BL MOV Z,AL JC _OUT JMP NEXT _OUT: SUB BL,X MOV Z,BL NEXT: ADD DX,6 MOV AH,09H INT 21H MOV CH,02H LOP: MOV BL,Z CMP CH,02H JB LOP1 ACII码转化为数据 ACII码转化为数据 X-Y>0? Z=Y-X Z=X-Y 数据转化为ACII码 输出Z 结束 存入Y 存入X 开始 否 是 调用子程序 调用子程序 返回 返回 主程序流程图 单片机实验报告(二) 姓名:赵苑珺 学号:090250129 实验三程序设计(二) 一、实验目的 1、了解汇编语言程序设计与调试的过程; 2、掌握循环程序、查表程序和子程序的特点及设计。 二、实验内容 1、循环程序的设计、输入、调试和运行; 2、查表程序的设计、输入、调试和运行; 3、子程序的设计、输入、调试和运行。 三、实验步骤 1、排序程序:将N 个数从小到大排列起来。 设R0 的内容为数据区的首地址,R7 的内容为数据的字节数。参考程序为:MOV R0,#30H ;将序列首地址存入R0中 MOV R7,#10 ;将序列长度存入R7中 SS: MOV A,R7 MOV R2,A MOV 60H,R0 ;将序列首地址存入60H NN: DEC R2 ;循环程序,控制排序次数 MOV A,R2 MOV R3,A MOV R0,60H L1: MOV A,@R0 ;将序列第一个数存入A中 INC R0 ;R0加1,指向第二个位置 CLR C ;清除进位标志位C,为比较两数大小做准备 SUBB A,@R0 ;第一个数减去第二个数 JC MM ;判断C的状态,1(代表数1小于数2)跳至MM,0(代表数 1大于数2)继续执行 MOV A,@R0 ;将第二个数存入累加器A中 DEC R0 ;R0指向第一个位置 XCH A,@R0 ;将A中的数(数1)与R0指向的数(数2)交换 INC R0 ;R0减一,指向位置一 MOV @R0,A ;将A中的数2存到位置一内 SETB F0 ;置位用户标志位,表示有交换 MM: DJNZ R3,L1 ;R3减一不为零则跳至L1,否则继续执行程序 MOV A,R2 CJNE R2,#01H,L2 ;判断R2中的数是否已经减为1,是跳至JJ,否跳至L2 SJMP JJ L2: JB F0,NN ;判断F0状态,若为1(有交换)则跳至NN,否则继续进行JJ: MOV R0,60H ;将序列首地址存入R0 END 北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日 目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28) 实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口 四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序 目录 8.2.3.4 a. 质量手册编号 (3) 8.2.3.4 b. 程序文件编号 (3) 8.2.3.4 d. 质量记录编号 (3) 8.2 附图1:组织(及所属部门)制订、发放的文件受控流程图 (4) 8.2 附图2:外来受控文件受控流程图 (5) 8.3.2 质量记录控制流程图 (6) 8.4.2 内部质量审核工作流程图 (7) 8.5.2 6.10 进货检验的不合格品控制程序 (8) 8.5.2 6.10 产品已交付和使用时发现的不合格品控制程序 (9) 8.5.2 产品最终检验的不合格品控制程序流程图 (11) 8.5.2 产品实现过程中不合格品控制程序流程图 (12) 8.6.2 A 类纠正措施流程图 (13) 8.6.2 B 类纠正措施 (15) 8.6.2 C 类纠正措施 (16) 8.7.2 《质量情况通报》的编制、发放、回收、处理 (17) 8.7.2 财务状况预警系统 (18) 8.7.2 预防措施的制订、实施和评价 (19) 8.8.2 管理评审控制程序流程图 (20) 8.9.2 人员招聘录用程序流程图 (21) 8.9.2 培训程序流程图 (22) 8.9.2 考核程序流程图 (23) 8.11.2 产品实现过程策划程序流程图 (24) 8.11.2 策划依据 (25) 8.12.2 产品要求的识别与评审过程 (27) 8.12.2 产品合同修改过程 (28) 8.12.2 市场信息控制过程 (29) 8.13.2 设计和开发控制程序 (30) 8.14.2 采购控制程序流程图 (32) 8.15.2 生产运作程序流程图 (33) 8.17.2 测量和监控策划程序 (34) 8.18.2 体系业绩的测量和监控过程程序 (35) 8.19.2 过程的测量、监控和分析程序流程图 (36) 8.20.2 产品测量和监控程序流程图 (37) 8.21.2 持续改进过程控制程序 (38) 单片机实验模版 本科实验报告 课程名称:单片机综合设计学院(系): 专业:电子 班级: 学号: 学生姓名: 2018 年月日 实验项目列表 注意:独立完成预习报告和实验操作。 专业:班级:学号: 学生签字: 联系: 《单片机原理及应用实验》报告填写要求依照《大连理工大学本科实验报告规范(试行)》提出的各项要求,现规定《单片机原理及应用实验》报告填写要求如下: 一、每次实验前必须完成预习报告。注意:预习报告中的回答问题必须手写,且由 学生本人签名。第一次实验时,课前将预习报告与《实验项目列表》一同交给 实验老师。每次实验时,课前提交预习报告,没有完成预习报告者不得进行实 验。 二、每一个实验项目均须撰写一份实验报告,最后按顺序装订、上交。 三、实验报告内容: 1、实验目的和要求:写明实验的目的和任务要求; 2、实验原理和内容:与实验内容相关的算法描述、程序的结构类型,与实验相关的 接口模块功能描述。 3、算法流程:使用流程图对算法进行描述。流程图应当逻辑正确、简单清晰。流程 图能够采纳打印或手工绘制。 4、使用protel等工具绘制实验系统电路图(也可手工绘制)。系统电路图应正确、 工整。系统电路中应包含单片机以及单片机工作时所必需的外围相关器件(晶 体、上电复位电路等); 5、程序清单:程序清单一律采纳打印的方式,源程序文件的格式要整齐、规范(语 句的标号、指令及注释应在不同列中)。在程序的关键语句上加注释。相关子程 序要在凝视中进行功能说明; 6、实验结果与分析:明确地写出最后结果(是否实现设计要求等),对实验中所遇 到的问题以及解决的方法加以描述; 7、实验体会、建议:通过实验所体会的收成。针对实验内容、教学方法、考核方法 等提出需要解决的问题,提出改进建议; 8、全部文字叙述内容要求简明扼要,思路清晰、用词规范; 9、要紧仪器设备:记录要紧仪器的名称、型号(包括实验运行软件名称)等 10、实验时刻:报告中应标明实验的日期(年、月、日;星期;组号)。 四、要求实验报告字迹工整,文字简练,数据齐全,图表规范,运算正确,分析充分、具体、定量。 《综合电子创新训练》研究报告研究题目:CTS1600-1控制技术综合试验 院系名称: 专业名称: 学生姓名: 指导教师: xxxx年 xx月 xx日 xxxxxxxxxx 目录 第一章绪论 (1) 1.1课题背景与目的 (1) 1.2课题研究方法 (1) 第二章电梯模型硬件设备 (2) 2.1 实验单片机模型与接口定义 (2) 2.1.1 实验用单片机 (2) 2.1.2 单片机接口定义 (3) 2.1.3 I/O接口DATA控制命令表 (4) 2.2 电梯控制命令说明 (6) 2.3 实验用电梯模型 (8) 第三章与电梯模型相关的实验程序 (10) 3.1数码管连续显示 (10) 3.1.1 程序流程图 (10) 3.1.2 功能简介 (10) 3.1.3 功能实现过程 (11) 3.1.4 问题的解决及收获 (11) 3.2 外部按键灯连续闪烁 (12) 3.2.1 程序流程图 (12) 3.2.2 功能简介 (12) 3.2.3 功能实现过程 (12) 3.2.4 问题的解决及收获 (13) 3.3 键、灯、数码管 (14) 3.3.2 功能简介 (14) 3.3.3 功能实现过程 (14) 3.3.4 问题的解决及收获 (15) 3.4 外部按键上下行 (16) 3.4.1 程序流程图 (16) 3.4.2 功能简介 (16) 3.4.3 功能实现过程 (17) 3.4.4 问题的解决及收获 (18) 3.5 计算器 (19) 3.5.1 程序流程图 (19) 3.5.2 功能简介 (21) 3.5.3 功能实现过程 (21) 3.5.4 问题的解决及收获 (22) 3.6 密码锁 (23) 3.6.1程序流程图 (23) 3.6.2功能简介 (23) 3.6.3实现功能过程 (24) 3.6.4问题的解决及收获 (24) 3.7逐层停自动开关门循环 (25) 3.7.1程序流程图 (25) 3.7.2功能简介 (27) 3.7.3实现功能过程 (27) 3.7.4问题的解决及收获 (27) 3.8 可记录顺序逐层停自动开关门 (28) 实验一LED流水灯 一、实验目的 制作一个流水灯,编写程序来控制发光二极管由上至下的反复循环流水点亮,每次点亮一个发光二极管。 二、程序设计 #include 实验二按键扫描 一、实验目的 使用单片机片内的I/O口来进行开关状态的检测。当开关打开时,I/O引脚为高电平,当开关闭合时,I/O引脚为低电平。编写一个程序,控制流水灯,开关闭合,对应的发光二极管点亮。 二、程序设计 #include 人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想 ------- 屠呦呦 实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include void timer1_init() { TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include 用单片机控制交通灯 传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。 一、硬件硬件电路如附图。AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。 二、软件交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮60秒,绿灯亮55秒,黄灯亮5秒。每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。 源程序清单如下: ORG0000H START:MOVDRTR,#TAB MOVSCON,#00H MOVP1,#6CH;点亮红、绿灯 MOVR0,#0;R0清零 LEFT:INCR0 CJNER0,#55,LP0;R0<55,转LP0 MOVP1,#6AH;R0=55,点亮红、黄灯 LJMPLP1 LP0:CJNER0,#60,LP1;R0<60,转LP1 MOVP1,#0C6H;R0=60,点亮绿、红灯 LJMPRIGHT LP1:LCALLDBDB LCALLDISP LJMPLEFT;20H为1,转LEFT RIGHT:DECR0 CJNER0,#5,LP2;R0>0,转LP2 MOVP1,#0A6H;R0=5,点亮黄、红灯 LJMPLP3 LP2:CJNER0,#0,LP3 MOVP1,#6CH;R0=0,点亮红、绿灯 LJMPLEFT LP3:LCALLDBDB单片机实验答案
单片机实验一
程序流程图
单片机实验指导书——带答案
源程序清单流程图(1)
单片机实验二
微机原理与单片机实验报告
程序文件流程图
单片机实验模版
电梯控制程序源代码(带流程图-功能分解、源代码)
单片机实验程序设计
单片机中断实验报告
用单片机控制交通灯源程序代码及流程图