51系列单片机程序的设计说明
- 格式:ppt
- 大小:2.09 MB
- 文档页数:88
一、填空题1、指令格式是由操作码和操作数所组成,也可能仅由操作码组成。
2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为 MOVC 。
3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为 MOV 。
4、若访问MCS-51的片外数据存储器,它的操作码助记符应为 MOVX 。
5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。
6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。
7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为 1022H 。
8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为 2073H 。
9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。
10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。
11、指令LCALL 37B0H,首地址在2000H,所完成的操作是 2003H 入栈,37B0H →PC。
12、MOVX A,@DPTR源操作数寻址方式为寄存器间接寻址。
13、ORL A,#0F0H是将A的高4位置1,而低4位保持不变。
14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为00B7H 。
15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为 2080H 。
16、MOV C,20H源寻址方式为位寻址。
17、在直接寻址方式中,只能使用 8 位二进制数作为直接地址,因此其寻址对象只限于片内RAM 。
18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
19、在变址寻址方式中,以 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。
20、假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器 1031H 单元的内容送入累加器A中。
51单片机:LED灯亮灯灭程序设计1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。
程序:01: MOV A , #11111110B ; 存入欲显示灯的位置数据02: MOV P1,A ; 点亮第一只灯03: JMP $ ; 保持当前的输出状态04: END ; 程序结束2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。
程序:01:START: MOV A , #00010010B ; 存入欲显示灯的位置数据02:MOV P1,A ; 点亮灯03:JMP START ; 重新设定显示值04:END ; 程序结束3.功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。
程序:01:START: MOV R0, #8 ;设左移8次02:MOV A, #11111110B ;存入开始点亮灯位置03:LOOP: MOV P1, A ;传送到P1并输出04:RL A ;左移一位05:DJNZ R0, LOOP ;判断移动次数06:JMP START ;重新设定显示值07:END ;程序结束4.功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。
程序:01:START: MOV R0, #8 ;设右移8次02:MOV A, #01111111B ;存入开始点亮灯位置03: LOOP: MOV P1, A ;传送到P1并输出04: ACALL DELAY ;调延时子程序05: RR A ;右移一位06: DJNZ R0, LOOP ;判断移动次数07: JMP START ;重新设定显示值08: DELAY: MOV R5,#50 ;09:DLY1: MOV R6,#100 ;10: DLY2: MOV R7,#100 ;11: DJNZ R7,$ ;12: DJNZ R6,DLY2 ;13: DJNZ R5,DLY1 ;14: RET ;子程序返回15:END ;程序结束5.功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边的第一只点亮,0.5秒后点亮右数的第二只灯,第一只熄灭,再过0.5秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。
十字路口交通灯控制系统的设计1.设计思路近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
1.1 电源提供方案采用单片机控制模块提供电源。
1.2显示界面方案采用数码管显示。
这种方案只显示有限的符号和数码字符,简单,方便。
1.3 输入方案:直接在I/O口线上接上按键开关。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择该方案。
2 单片机交通控制系统总体设计2.1单片机交通控制系统的通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
一共可以有四个状态。
通过具体的路口交通灯状态的分析我们可以把这四个状态归纳如下:(1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时80秒。
此状态下,东西向禁止通行,南北向允许通行。
(2)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
(3)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时60秒。
此状态下,东西向允许通行,南北向禁止通行。
(4)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
用图表表示灯状态和行止状态的关系如下:表1交通状态及红绿灯状态灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
烟台大学51单片机课程设计说明书课题:八路抢答器学生姓名:王志林学号:2院系:机电汽车工程学院指导老师:姜风国同组成员:张凤礼、张体栋、程事业、范光科2013 年 06 月 05 日目录1 设计任务 (2)2 系统总体方案 (2)3 硬件设计 (3)3.1 控制系统所需硬件 (3)3.2 硬件原理介绍 (4)4 软件设计 (6)4.1 软件总体设计 (6)4.2 程序流程图 (7)5 软件仿真...................................................................................... (9)5.1 Keil软件 (9)5.2在Proteus软件 (9)6小结 (10)附1:源程序代码 (11)附2:参考文献 (18)1 .设计任务本设计要求学生结合现有的实际条件,以51单片机为控制核心,设计一个8路智能抢答器。
要求实现以下功能:1) 有一主持人和8个参赛队员2) 当主持人按下抢答按键,参赛队员在10秒内可以抢答,并且抢答器开始倒计时。
剩余5秒时,如果仍无人抢答,则系统每1s报警一次。
如超出10秒则不能抢答;如抢答成功,则显示抢答队号。
3) 抢答成功则需在60秒内回答完成,如超出时间则抢答无效,显示无效指示。
如果60秒完成回答,则抢答成功,显示有效。
剩余5秒时,如果仍无人回答,则系统每1s报警一次。
4) 当主持人按下复位键时,系统回到初始状态。
5) 倒计时期间,如果主持人想终止倒计时,可以按下“停止”按键,系统会自动进入准备状态。
主要硬件设备:AT89C51单片机,8输入3态缓冲器/线驱动器74LS244,六反相驱动器7404,共阳极LED数码管等,12MHZ晶振,74LS04反相器,手动开关,按键若干,报警喇叭。
2.系统总体方案2.1整体方案设计该智能抢答器以AT89C51单片机为控制核心,控制精度较高,操作误差主要来自晶振自身所造成的误差。
单片机C语言程序设计:INT0 中断计数来源:21ic作者:关键字:INT0单片机C语言程序设计/* 名称:INT0 中断计数说明:每次按下计数键时触发INT0 中断,中断程序累加计数,计数值显示在 3 只数码管上,按下清零键时数码管清零*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int//0~9 的段码uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f ,0x6f,0x00};//计数值分解后各个待显示的数位uchar DSY_Buffer[]={0,0,0};uchar Count=0;sbit Clear_Key=P3^6;//数码管上显示计数值void Show_Count_ON_DSY(){DSY_Buffer[2]=Count/100; //获取3 个数DSY_Buffer[1]=Count%100/10;DSY_Buffer[0]=Count%10;if(DSY_Buffer[2]==0) //高位为0 时不显示{DSY_Buffer[2]=0x0a;if(DSY_Buffer[1]==0) //高位为0,若第二位为0 同样不显示DSY_Buffer[1]=0x0a;}P0=DSY_CODE[DSY_Buffer[0]];P1=DSY_CODE[DSY_Buffer[1]];P2=DSY_CODE[DSY_Buffer[2]];}//主程序void main(){P0=0x00;P1=0x00;P2=0x00;IE=0x81; //允许INT0 中断IT0=1; //下降沿触发while(1){if(Clear_Key==0) Count=0; //清0Show_Count_ON_DSY();}}//INT0 中断函数void EX_INT0() interrupt 0{Count++; 计数值递增}单片机C语言程序设计:INT0 及 INT1 中断计数来源:21ic作者:关键字:INT0INT1单片机C语言/* 名称:INT0 及INT1 中断计数说明:每次按下第 1 个计数键时,第 1 组计数值累加并显示在右边3 只数码管上,每次按下第 2 个计数键时,第2 组计数值累加并显示在左边3 只数码管上,后两个按键分别清零。
计算机硬件技术基础(MCS-51单片机原理及应用)综合实验报告书学院:能环学院班级:热能073设计人:王治博学号: 070662同组人:李超学号:070650一、题目:全自动洗衣机二、目的与要求:1.目的:1.进一步加深对MCS-51单片机内部结构和程序设计方法的理解。
2.提高综合运用MCS-51单片机的软硬件进行程序设计的能力。
2.基本要求:(1)要求使用面向对象和结构化程序设计的编程思路。
(2)学校的刷卡式全自动洗衣机给同学们的生活带来了很大便利,现利用MCS—51单片机,通过延时、定时、中断等操作实现全自动洗衣机工作过程的模拟控制。
3.设计说明:运用了中断,延时等来模拟全自动洗衣机工作的全过程,用指示的点亮,熄灭来表示洗衣机的正转反转及开盖,刷卡,注水,脱水等全部过程。
三、设计方法和基本原理:1.问题描述:分析全自动洗衣机的工作过程:接通电源后,打开洗衣机盖子放入衣物和洗衣粉,盖上盖子。
通过刷卡启动注水,利用外部中断0模拟注水达标志位,停止注水并开始洗衣。
洗衣过程为:正转10秒(利用延时实现),间歇4秒,然后反转10秒,间歇4秒,再正转(这里认为已洗静),然后开始排水,同样利用延时模拟排水达标志位,排水结束,如此循环往复3次(注水—洗涤—排水过程),认为洗衣过程结束。
然后开始脱水操作,利用定时器,定时时间到,打开洗衣机盖子取出衣物,等待下一次刷卡,即下一次洗衣任务。
试验中用各指示灯的亮灭来表示洗衣过各环节的相应状态。
2.涉及到的硬件:LED指示灯3.流程图四、程序清单:ORG 8000HLJMP MAINORG 8003HLJMP INTT0ORG 800BHLJMP TOS0MAIN: CLR P1.7 ;电源指示灯亮WAIT:JB P3.1,W AIT ;等待刷卡MOV SP,#5FHSETB EA ;允许cup中断SETB EX0 ; 允许外部中断SETB IT0 ;令外部中断为边沿触发SETB ET0 ;开启T/C0中断SETB PX0 ;令T/C0中断优先MOV TMOD,#01H ;置T/C0为方式1,定时MOV TH0,#4CH ;送定时初值MOV TL0,#00HMOV R2,#00HMOV R1,#03H ;重复3次YY:CLR P1.1 ; 注水灯亮,开始注水SETB PSW.5FF:JNB F0,FF0 ;等待注水达标SJMP FFFF0:CLR P1.3 ;开始正转MOV 40H,#0AHFF1:LCALL DELAYDJNZ 40H,FF1SETB P1.3CLR P1.2 ;间歇MOV 41H,#04HFF2:LCALL DELAYDJNZ 41H,FF2SETB P1.2CLR P1.4 ;开始反转MOV 42H,#0AHFF3:LCALL DELAYDJNZ 42H,FF3SETB P1.4CLR P1.6 ;排水灯亮,开始排水MOV 43H,#03HFF4:LCALL DELAYDJNZ 43H,FF4SETB P1.6 ;排水结束DJNZ R1,YY ; 检验是否继续洗衣FF5:CLR P1.5 ;开始脱水SETB TR0 ;启动T/C0 HERE:SJMP HERETOS0:MOV TMOD,#01HMOV TH0,#4CHMOV TL0,#00HINC R2CJNE R2,#200,NEXTMOV R2,#00HCLR TR0SETB P1.5LJMP MAINNEXT:RETIINTT0:CLR F0SETB P1.1RETIDELAY:MOV R5,#92 ;延时子程序DELY:MOV R7,#35DEL1:MOV R6,#120DEL2:DJNZ R6,DEL2DJNZ R7,DEL1DJNZ R5,DEL YRETEND五.程序调试:(1)将所编写的程序在WIN51文件下进行编译,看是否有错误出现,根据编译提示进行修改,进行编译,如果还不能达到要求的结果,继续进行修改,直到所编写的程序0个错误0个警告。
第一章单片机系统板说明一、概述单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。
适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。
该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。
该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。
为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。
二、单片机板简介本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。
以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。
因此构成单片机实验系统。
1、主要技术参数(1)MSC-51单片机板板上配有ATMEL公司的STC89C51芯片。
STC89C51资源:32个I/O口;封装DIP40。
STC89C51开发软件:KEIL C51。
2、MSC-51单片机结构(1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。
(2)单片机板左上侧有一个串口,用于下载程序。
(3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。
(4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。
三、母板简介主要技术参数(1)实验系统电源实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。
主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板得电工作。
为适用多种需要,配置了+5V,+12V,—5V电压供主板和外设需要,通过右上角的插针排和插孔输出到外设。
此外,还设有螺旋保险插孔保护实验箱。
(2)RS232接口RS232接口通过MAX232芯片实现与计算机的串行通讯,通过接口引出信号。
51单片机原理及应用51单片机是一种常见的微控制器,以其高性能和广泛应用而受到广大工程师的青睐。
本文将介绍51单片机的原理和应用。
51单片机的原理可以从其硬件结构和工作流程两方面来讲解。
首先是硬件结构。
51单片机包括中央处理器(CPU),存储器(包括存储器管理单元、内部RAM和ROM),输入/输出端口(I/O口),定时器/计数器,串行通信接口等。
CPU是整个系统的核心,负责指令的执行和数据的处理。
存储器用于存储程序和数据,其中ROM存储程序代码,RAM用于暂存数据。
I/O口用于与外部设备进行信息交互。
定时器/计数器用于产生精确的时间延迟和计数操作。
串行通信接口用于与其他设备进行数据传输。
其次是工作流程。
51单片机的工作流程一般包括初始化、输入/输出控制和运算处理三个阶段。
初始化阶段主要是对各个模块的配置和初始化,例如设置时钟频率、串口波特率等。
输入/输出控制阶段通过读取输入设备(如按键、传感器等)的状态,控制外部设备(如LED灯、马达等)的状态。
运算处理阶段通过执行指令,对数据进行处理和计算。
至于应用方面,51单片机具有广泛的应用领域。
主要应用包括控制系统、嵌入式系统、通信系统、工业自动化等。
在控制系统中,51单片机可以用于控制家电、机器人、机械设备等。
在嵌入式系统中,51单片机可以应用于智能家居、智能交通、智能仪表等。
在通信系统中,51单片机可以用于电话、网络和无线通信设备等。
在工业自动化中,51单片机可以用于工厂生产线控制、仪器仪表控制等。
总结起来,51单片机的原理和应用都是非常重要的。
通过了解其硬件结构和工作流程,可以更好地理解其工作原理。
而了解其应用领域,则可以为工程师在实际项目中的选择和设计提供参考。