当前位置:文档之家› 51单片机控制LED灯程序设计

51单片机控制LED灯程序设计

51单片机控制LED灯程序设计
51单片机控制LED灯程序设计

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

秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,

重复循环。

程序:

01: START: MOV R0, #8 ;设左移8次

02: MOV A,#0FEH ;存入开始亮灯位置03: LOOP: MOV P1, A ;传送到P1并输出

04: ACALL DELAY ;调延时子程序05: RL A ;左移一位

06: DJNZ R0, LOOP ;判断移动次数07: MOV R1, #8 ;设右移8次

08; LOOP1: RR A ;右移一位

09: MOV P1, A ;传送到P1并输出

10: ACALL DELAY ;调延时子程序11: DJNZ R1,LOOP1 ;判断移动次数12: JMP START ;重新设定显示值13: DELAY: MOV R5,#25 ;延时0.5秒子程序14: DLY1: MOV R6,#100 ;

15: DLY2: MOV R7,#100 ;

16: DJNZ R7,$ ;

17: DJNZ R6,DLY2 ;

18: DJNY1 ;

19: RET ;子程序返回

20: END ;

6.功能说明:单片机P1端口接8只LED,每次点亮两只,先从右边向左边移动点亮;再从左边向右边移动点亮,然后闪烁两次,重复循环。

程序:

01: START: MOV R0, #7 ;设左移7次

02: MOV A,#0FCH ;存入开始亮灯位置

03: LOOP: MOV P1, A ;传送到P1并输出

04: ACALL DELAY ;调延时子程序

05: RL A ;左移一位

06: DJNZ R0, LOOP ;判断移动次数

07: MOV R1, #7 ;设右移7次

08: LOOP1: RR A ;右移一位

09: MOV P1, A ;传送到P1并输出10: ACALL DELAY ;调延时子程序11: DJNZ R1, LOOP1 ;判断移动次数12: MOV R2, #3 ;设置闪烁次数13: MOV A, #00H ;设初始值

14: LOOP2: MOV P1, A ;P1端口灯亮

15: ACALL DELAY ;调用延时子程序16: CPL A ;A取反值

17: DJNZ R2, LOOP2 ;判断闪烁次数18: JMP START ;重新设定显示值19: DELAY: MOV R5, #25

20: DLY1: MOV R6, #100

21: DLY2: MOV R7, #100

22: DJNZ R7, $

23: DJNZ R6, DLY2

24: DJNZ R5, DLY1

25: RET ;子程序返回

26: END ;程序结束

7.功能说明

单片机端口接八只LED,编程时利用取表的方法,使端口P1做单一灯的变化:先向左移2次,然后向右移2次,再闪烁4次,不断循环。

程序:

01: START: MOV DPTR, #TABLE ;存表

02: LOOP: CLR A ;A清零

03: MOVC A, @A+DPTR ;取表代码

04: CJNE A, #01H, LOOP1;不是01H,循环05: JMP START ;重新设定

06: LOOP1: MOV P1, A ;送P1输出

07: ACALL DELAY ;调延时程序

08: INC DPTR ;数据指针加1

09: JMP LOOP ;转移到LOOP处

10: DELAY: MOV R5,#25 ;延时0.5秒11: DLY1: MOV R6,#100 ;

12: DLY2: MOV R7,#100 ;

13: DJNZ R7,$ ;

14: DJNZ R6,DLY2 ;

15: DJNZ R5,DLY1 ;

16: RET ;

17: TABLE: DB 0FEH,0FDH,0FBH,0F7H ;18: DB 0EFH,0DFH,0BFH,7FH ;左移19: DB 0FEH,0FDH,0FBH,0F7H ;

20: DB 0EFH,0DFH,0BFH,7FH ;左移21: DB 7FH,0BFH,0DFH,0EFH ;

22: DB 0F7H,0FBH,0FDH,0FEH ;右移23: DB 7FH,0BFH,0DFH,0EFH ;

24: DB 0F7H,0FBH,0FDH,0FEH ;右移 25: DB 00H,0FFH,00H,0FFH ;

26: DB 00H,0FFH,00H,0FFH ;闪烁27: DB 01H ;结束码 28: END ;

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

MCS51的中断系统有几个中断源

.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制 的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出 各个中断源)?各个中断源的入口地址是多少? 答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存 器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求: INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、 001BH、0023H。 3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。 五、作图题(10分) 用6264(8K*8)构成16K的数据存储系统。要求采用线选法产生片选信号,并计算6264的地址范围 答:WR接6264的WE RD接6264的OE AB0---AB12接6264的A0---A12 DB0—DB7接6264的D0—D7 AB15、AB14分别接Y0和Y1 地址:0000H---1FFFH;2000H---3FFFH 六、设计题(1题13分;2题12分,共25分) 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。 答:图 (5分) 构思 (3分) MOV A,#80H (1分) UP:MOV P1,A (1分) RR A (2分) SJMP UP (1分 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 答:图 (5分) 构思 (3分)

单片机最小系统设计

单片机最小系统设计 时间:2011-05-01 22:47:54 来源:作者: 单片机最小系统设计 该单片机最小系统具有的功能: (1)具有2位LED数码管显示功能。 (2)具有八路发光二极管显示各种流水灯。 (3)可以完成各种奏乐,报警等发声音类实验。 (4)具有复位功能。 功能分析 (1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能; (3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。 (4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 设计框图 硬件电路设计 根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。

元件清单的确定: 数码管:共阴极2只(分立) 电解电容:10UF的一只 30PF的电容2只 220欧的电阻9只 4.7K的电阻一只 1.2K的电阻一只 4.7K的排阻一只, 12MHZ的晶振一只 有源5V蜂名器一只 AT89S51单片机一片 常开按钮开关1只 紧锁座一只(方便芯取下来的,绿色的) 发光二极管(5MM红色)8只 万能板电路版15*17CM S8550三极管一只 4.5V电池盒一只,导线若干。七、硬件电路的焊接 按照原理图把上面的元件焊接好,详细步骤省略。 相关程序编写 针对上面的电路原理图,设计出本单片机最小系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1”。 (2)、第二个发光二极管点亮,同时数码管显示“2”。 (3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果 (4)、所有的发光二极管灭了,同时数码管现实“0”。

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

51单片机最小系统实验报告

51单片机最小系统实验报告 1.实验目的: 1).学习、了解单片机原理,即单片机的各引脚功能、特殊功能寄存器、中断系统、定时/计数器和通信方式等; 2).了解指令系统,各指令的功能; 3).学习电路原理设计,PC板设计以及编排; 2.方案设计: 1).最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。此部分主要包括电源电路、复位电路、时钟电路、USB 接口设计等; 2).扩展电路的设计对于51最小系统CPU芯片等在芯片出厂时不可能让片内存储器的大小满足所有功能的要求,如果将片内存储器做太大,必然造成芯片成本的提高。所以合适的外部RAM、液晶、外部中断和串行接口电路设计等。 3.任务:51单片机最小系统的设计 1)CPU选择:STC15W4K系列 选择原因:a.宽电压(2.5V-5.5V) b. 大容量4K字节SRAM和多组并行端口 c.16/32/56/61/63.5字节多选Flash程序储存器以及普通定时、计数器T0-T4外部管脚可掉电唤醒。 d.内置高精准时钟(5-28MHz任意设置)和集成MAX810专用复位电路

e.看门狗、对外输出时钟及复位 2).系统要实现的功能: 以UPU为核心器件,并利用外存储器对最小系统电路进行扩展。在介绍CPU基本特点的基础上,通过学习指导,开展出51单片机最小系统板。系统要实现以下功能,最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。此部分主要包括电源电路、复位电路、时钟电路、中断系统,USB 接口的设计和相对扩展等。 4.外围器件选择及说明: 1).外部RAM:IS62C256AL。ISSI的IS62C256AL是一个32Kx8位字长的低功耗CMOS静态随机存取存储器。IS62C256AL采用ISSI公司的高性能,低功耗CMOS工艺制造。 当/CE处于高电平(未选中)时,IS62C256AL进入待机模式。在此CMOS 输入标准的待机模式下,功耗低至150 μW(典型值)。 使用IS62C256AL的低触发片选引脚(/CE)和低触发输出使能引脚(/OE),可以轻松实现存储器扩展。低触发写入使能引脚(/WE)将完全控制存储器的写入和读取。 IS62C256AL在引脚上完全兼容其他32Kx8的塑料SOP或TSOP1封装的SRAM。 2).USB接口。接收、传送数据。 3).USB转串口芯片:CH340G。支持USB1.1或者USB2.0/USB3.0通信.具有仿真接口,可以升级外围串口设备,支持常用的MODE联络信号、STC全系

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

51单片机中断系统详解

的定时器中断后便认为是1s,这样便可精确控制定时时间啦。要计50000个数时,TH0和TL0中应该装入的总数是65536-50000=15536.,把15536对256求模:15536/256=60装入TH0中,把15536对256求余:15536/256=176装入TL0中。 以上就是定时器初值的计算法,总结后得出如下结论:当用定时器的方式1时,设机器周期为T CY,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/T CY ,装入THX和TLX中的数分别为: THX=(65536-N)/256 , TLX=(65536-N)%256 中断服务程序的写法 void 函数名()interrupt 中断号using 工作组 { 中断服务程序内容 } 在写单片机的定时器程序时,在程序开始处需要对定时器及中断寄存器做初始化设置,通常定时器初始化过程如下: (1)对TMOD赋值,以确定T0和 T1的工作方式。 (2)计算初值,并将初值写入TH0、TL0或TH1、TL1。 (3)中断方式时,则对IE赋值,开放中断。 (4)使TR0和TR1置位,启动定时器/计数器定时或计数。 例:利用定时器0工作方式1,实现一个发光管以1s亮灭闪烁。 程序代码如下: #include #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num; void main() { TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1) TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872 TL0=(65536-45872)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1) { if(num==20) //如果到了20次,说明1秒时间 { led1=~led1; //让发光管状态取反 num=0; } } } void T0_time()interrupt 1

跟我学51单片机(一):单片机最小系统组成与IO输出控制

跟我学51单片机(一):单片机最小系统组成与I/O输出控制 1 单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Stud y-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。 一、内容提要 本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原理、最小系统的组成,并通过简单的C51 程序设计来讲述编译软件Keil的使用并下载Hex 文件烧写单片机。 二、原理简介 在了解原理之前,首先让我们思考一个问题,什么是单片机,单片机有什么用?这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢?普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM (数据存储器)、ROM(程序存储器)、定时器/ 计数器和多种功能的I/O(输入/ 输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。 在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。

51单片机利用中断控制灯频率和顺序

#include //包含51单片机寄存器定义的头文件#include int e=0,f=0,d=1,a=0,b=0,c=0,delay=10,m=1,V=128; G=1; /******************************************* 函数功能:主函数 ******************************************/ void main(void) { EA=1; //开放总中断 EX0=1; //允许使用外中断 ET0=1; //定时器0开 EX1=1; TMOD=0X01; IT0=1; //选择负跳变来触发外中断 IT1=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(1) ; //无限循环,防止程序跑飞 }

/************************************************************** 函数功能:外中断T0的中断服务程序 **************************************************************/ Time() interrupt 1 //外中断0的中断编号为0 { if(m%delay==0) { m=1; switch(e) { case 0: P1=G; a++; G=P1<<1; // P1=G; if(a==8) { a=0; G=1; } break; case 1: //反序 P1=V; b++; V=P1>>1; // P1=V; if(b==8) { b=0; V=128; } break; case 2: //中间到两边 P1=pow(2,4+c)+pow(2,3-c); c++; if(c==4) { c=0; }

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

单片机最小系统(详解)设计报告

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 本次课程设计包括STC89C51单片机最小系统(包括复位和时钟电路)还有蜂鸣器电路、LED电路和RS232串口电路以及用于扩展功能的四排与I/O端口相连的插孔。利用Protel电路设计软件进行原理图设计,PCB布线,借此巩固单片机应用、模拟电路、数字电路课程及学会工程软件protel的使用。 关键词:最小系统,I/O端口,STC89C51, PCB

Abstract Recent years, with the penetration of computers in the social sphere, SCM applications are constantly deepening, while driving traditional control detects the rapidly growing updated. In the real-time detection and automatic control of microcomputer application system, the microcontroller is often used as a core component, only the microcontroller knowledge is not enough, should be based on the specific hardware architecture, as well as application-specific software features object combine to make perfect . The curriculum includes the SCM STC89C51 minimum system (including reset and clock circuit) and the buzzer circuit, eight digital tube display circuit, RS232 serial port circuitry, and used to extend the functionality of the four rows with the I / O ports are connected jack. Protel circuit design software for the use of schematic design, PCB layout, thereby consolidating microcontroller applications, analog circuits, digital circuits courses and learn to use engineering software Protel. Keyword:minimum system,I/O Port, STC89C51, PCB

基于51单片机的交通控制系统模拟设计

基于51单片机的交通控制系统模拟设计 学院:电气与控制工程学院 专业:自动化 姓名:

目录 1. 设计思路 (2) 2.2显示界面方案 (2) 2.3输入方案: (2) 3 单片机交通控制系统总体设计 (2) 3.1单片机交通控制系统的通行方案设计 (2) 3.2单片机交通控制系统的功能要求 (3) 3.3单片机交通控制系统的基本构成及原理 (3) 4智能交通灯控制系统的硬件设计 (4) 4.1系统硬件总电路构成及原理 (4) 4.2系统硬件电路构成 (4) 4.3系统工作原理 (4) 5 系统软件程序的设计 (6) 5.1程序主体设计流程 (6) 参考文献 (17) 设计心得体会 (18) 附录 (19) 基于单片机的交通控制系统模拟设计

1. 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计,对于本系统,采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。 2.单片机交通控制系统方案的比较、设计与论证 2.1 电源提供方案 采用单片机控制模块提供电源。改方案的优点是系统简明扼要, 节约成本;缺点是输出功率不高。 2.2 显示界面方案 采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。 2.3 输入方案: 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 3 单片机交通控制系统总体设计 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下所示。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始。 通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下: ◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行。 ◆南北方向绿灯灭,东西方向红灯灭,同时黄灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

基于51单片机的交通灯控制系统设计

目录 一引言 (2) 二概要设计 (2) 2.1 设计思路 (2) 2.2总体设计框图 (2) 三硬件设计 (3) 3.1LED循环电路设计 (3) 3.1.1 89cs51单片机概述 (3) 3.1.2 LED循环说明 (5) 3.2 倒计时显示电路 (5) 3.2.1 74LS164芯片 (5) 3.2.2 共阴极数码显示管 (6) 3.2.3 倒计时电路 (6) 3.2.4 急通车电路 (7) 四软件按设计 (7) 4.1 程序流程图: (7) 4.2 LED红绿灯显示 (8) 4.3倒计时显示 (9) 4.4 急通车控制 (9) 4.5程序代码 (9) 五总结 (9) 参考文献 (9) 附录一: (9) 附录二: (10)

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

89C51单片机最小系统设计(电子时钟,秒表,按键计数的单片机设计)

一、电子时钟、秒表和计数器的设计 1、实现的功能: 1)有key0,key1两个功能按键,复位后,数码管会默认显示时钟模式HH.MM 。 (HH表示小时,MM表示分钟), key0短按一次就进入到了秒表模式,数码管显示格式S.SS.S,(分别表示百秒,秒,毫秒) key0再短按一次就进入到了计数器模式,数码管显示格式CCCC(分别为千位百位十位个位)。 key0再短按一次,又进入到了时钟显示模式,就这样由key0控制模式的转换。 2)有RST复位键,本身电路设计有上电自动复位功能,按下RST后,电路复位。 3)有ckey0,ckey1 两个计数按键,按下ckey0,计数加一,按下ckey1,计数减一。 4) 电子时钟和秒表时间计时方法是采用89S52内部计时器0的一种工作方式(详见后面 的代码分析),通过计时器0中断来控制时间的运行。 5)计数器是采用外部中断0和外部中断1这两个外部中断实现加1和减1的操作。 (1)电子时钟模式:(以下“长按”表示按下按键的时间大于1秒,“短按”表示按下的时间小于0.7 秒)1)长按key1一次,会进入到调整分钟的模式,短按key1一次,分钟会加一。 第二次长按key1,会进入到调整小时的模式,短按key1一次,小时加一。 第三次长按key1,重新回到时钟显示模式,这时再短按key1,时间不会变化2)长按key0一次,会进入到显示秒的模式 (2)秒表模式: 1)由key0控制进入秒表模式后,短按key1一次,秒表计时开始,再短按key1一次计时结束 2)长按key1一次,秒表清零 (3)计数器模式 1)按ckey0一下,计数加一,数码管相应的显示的数值加一, 按ckey1一下,计数减一,数码管相应的显示的数值减一, 由于数码管的位数限制,最大只能显示到9999,此时按下ckey0无反应;考虑到 实际计数功能,没有设置负数,所以最小显示0000,这时按下ckey1 ,无反应。 2)长按key1一次计数器清零。 2、电路原理图

毕业设计(论文)-基于AT89S51单片机的教室灯光智能控制系统设计

摘要 摘要 本课题针对教室灯光的控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光智能控制系统的思路,并在此基础上开发了智能控制系统的硬件模块和相应软件部分。 该系统以AT89S51单片机作为控制模块的核心部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,通过对人体存在信号和环境光信号的识别与判断,完成对教室灯光的智能控制,避免了教室用电的大量浪费。系统还具有报警功能;同时还采用了软/硬件的“看门狗”等抗干扰措施。 本系统程序部分采用C语言编写,采用模块化结构设计、条理清晰、通用性好,便于改进和扩充。该系统具有体积小,控制方便,可靠性高,针对性强,性价比高等优点,可以满足各类院校对教室灯光控制的要求,很大程度的达到节能目的。 关键词:智能控制器热释红外传感器单片机 1

引言 引言 当前,随着经济的飞速发展,能源短缺问题日益突出,成为一个国家经济发展的“瓶颈”。作为工业生产和人民生活不可或缺的电力能源更是如此。尤其现今越来越提倡低碳生活,节约能源已经成为一种全球共识,而作为培养社会精英的高校更应该起到榜样的作用。但是目前在校园内,教室灯火通明,却空无一人的现象屡见不鲜,这不仅造成了严重的资源浪费,也对高校的形象造成了很坏的影响。本文所研究的教室灯光控制系统就可以很好地实现节约能源的作用。 1 系统硬件组成 整个系统由中央控制电路、2×4按键电路、光敏传感电路、继电器驱动电路、时钟电路、液晶显示电路六个模块组成。其中,光敏传感电路模块主要完成对教室当前光线明暗程度的判定,时钟电路主要实现时基功能,两者分别提供光照和定时数据供以单片机为核心的中央控制模块进行逻辑判断,单片机最终将运算结果输出到液晶显示屏,同时对教室灯光进行控制。整个系统的硬件框图如图1所示。 1.1 中央控制模块 系统中,中央控制器主要用于接收两个外部数据,由此判断是否定时时间已到,教室光照是否充足。控制器根据这两个外部数据来进行逻辑运算,从而实现定时开关灯、刷新液晶显示屏,同时可以通过键盘设置时间日期、查看相关信息 根据系统设计要求,控制器选择了宏晶科技公司提供的STCl2C4052AD型单片机。该款是一种高速、高可靠性单片机,工作电压5.5~3.4V,Flash程序存储器4K字节,SRAM 为256字节,2个定时器,8路8位A/D转换器,可通过串口实现在线编程、A/D转换、看门狗等功能。 1.2 液晶显示电路 为了实现较好的人机交互界面,在本系统中采用1602液晶显示屏来显示用户的设定作息时间及用户所查询的信息。 点阵字符型液晶显示器是专门用于显示数字、字母、图形符号及少量自定义符号的显示器。这类显示器把LCD控制器/点阵驱动器/字符存贮器全做在一块印刷板上。系统选用日立公司的HD44780液晶显示。HD44780具有简单而功能较强的指令集,可实现字符移动/闪烁等功能。与MCU的传输可采用8位并行传输或4位并行传输2种方式。液晶显示电路如图2所示。 2

51单片机的默认中断优先级都是低级及中断嵌套

51单片机的默认中断优先级都是低级及 中断嵌套 51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了。 在说到中断之前,我先来定义一下优先级,明白了什么是优先级,后面的阐述就容易明白了。实际上很多人都是混淆了优先级的含义,所以才觉得糊里糊涂。 中断的优先级有两个:查询优先级和执行优先级。 什么是查询优级呢?我们从datasheet或书上看到的默认(IP寄存器不做设置,上电复位后为00H)的优先级:外部中断0 >; 定时/计数器0 >; 外部中断1 >; 定时/计数器1 >; 串行中断 或 int0,timer0,int1,timer1,serial port 或 INT0、T0、INT1、T1、UART 或 PX0>;PT0>;PX1>;PT1>;PS>;...... 其实都是查询优级。首先查询优先级是不可以更改和设置的。这是一个中断优先权排队的问题。是指多个中断源同时产生中断信号时,中断仲裁器选择对哪个中断源优先处理的顺序。而这与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照

上述5个查询优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高优查询先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。 例如:当计数器0中断和外部中断1(按查询优先级,计数器0中断>;外部中断1)同时到达时,会进入计时器0的中断服务函数;但是在外部中断1的中断服务函数正在服务的情况下,这时候任何中断都是打断不了它的,包括逻辑优先级比它高的外部中断0计数器0中断。 而中断的执行优先级就是你对IP寄存器的设置了。在2个优先级的情况下,某位为1,则相应的中断源为高优先级;为0,则为低优先级。 关于中断的优先级有三条原则: 1、CPU同时接收到几个中断时,首先响应优先级最高的中断请求; 2、正在进行的中断过程不能被新的同级或低行优优先级的中断请求所中断; 3、正在进行的低行优优先级中断服务,能被高行优优先级中断请求中断; 若:同一执行优先级中的中断申请不止一个时,则有一个中断优先权排队问题。优先权排队,由中断系统硬件确定的自然优先级形成,优先权自高到低的顺序即:

51单片机最小系统学习板的设计与制作

课程设计任务书 (指导教师填写) 课程设计名称电路板设计与制作学生姓名专业班级 设计题目51单片机最小系统学习板的设计与制作 一、课程设计的任务和目的 任务: 设计并制作51单片机最小系统电路板,包括电路原理图设计、版图规划与设计、系统单面电路板制作。 要求: 1)电路原理图准确、版图结构清晰、布局合理。 2)使用插针型元件,成品PCB板面布局合理,密度适当; 3)板上资源包括LED灯、数码管、蜂鸣器、按钮、串行通讯及USB接口; 4)电路板面积适中便于携带,长度15cm,宽8.5cm。 目的: 1)掌握并完成基本PCB板的设计与制作工艺; 2)学习并掌握实现单片机应用系统的软硬件设计、调试、实现的技能; 3)了解单片机最小系统的工作原理与系统开发方法,锻炼动手能力,为毕业设计做准备。 二、设计内容、技术条件和要求 1.设计并制作具有实际功能的单片机最小系统: 可选择实现的功能⑴.流水灯⑵.电子时钟⑶.数字温度计⑷.交通灯控制器; 2.根据所选电路功能,画出电路框图和原理总图。 3.根据电路所需元件及周边设备规划和设计电路板版图,描画版图。 4.根据版图生成gerber工艺文件,进行电路板制作,包括刻板,钻孔,覆铜等。 5.撰写设计总结报告。 三、时间进度安排 本课程设计共两周时间。 第一周:功能设计与理论学习 周一上午:布置设计任务;提出课程设计的目的和要求;明确对撰写总结报告、手工绘制原理图和电路板版图的要求;安排答疑、实验室开放时间。讲解印制电路板的制板流程,介绍PCB刻板机等制板设备的软硬件操作方法以及注意事项。 周一下午:讲解电路原理图与PCB版图设计方法。 周二至周五:学生查阅资料,确定设计题目;进行功能设计,在实验室完成电路原理图与PCB 版图的设计和绘制,导出电路总原理图及版图文件。期间安排两次答疑,指导学生设计。周五,交设计草图-原理图和版图供老师审阅。 第二周:电路板制作、撰写设计总结报告 周一至周四:分组在电子系统加工及评测实验室(225)操作刻板工具和设备进行电路板成品的加工和制作,成品需通过老师验收。 周五:撰写设计总结报告。 四、主要参考文献 1. 《单片机原理及应用》. 冯文旭等著. 第一版, 2008年8月. 机械工业出版社. 2. 《乐普科快速PCB制板系统操作使用流程》手册。 3. 单片机系统开发和PCB设计的相关参考教材; 指导教师签字:2018年9 月3 日

基于51单片机的密码锁系统设计

题目:密码锁系统设计 一、设计要求: 1.该设计的密码锁首先需要有最基本的功能,就是可以显示在用户按下正确并与之相对应的密码时,密码锁级整个系统会做出相应的反应。 2.加入了蜂鸣器,如果四位密码说如正确,按确认后,蜂鸣器会响起。 3.加入红灯和绿灯,当按键密码说如错误时,红灯亮起,输入正确时,绿灯亮起。 二、主要功能模块: 密码锁控制系统主要功能模块单片机主控电路、单片机辅助控制模块,按键控制电路和数码管显示电路组成。根据具体情况选择辅助单片机的型号,和数码管,开关等硬件设备进行设计。 三、要求完成的主要任务: 1. 根据密码锁的基本功能完成硬件电路的搭建能要求完成提供硬件电路图。 2. 使用C51语言完成软件部分设计,实现密码锁的响应功能。 四、时间安排: 2018.11.11~2018.11.20 收集资料,确定设计方案 2018.11.20~2018.11.25 系统设计 2018.11.25 ~2018.12.7 撰写课程设计论文及提交 指导教师签名:年月日

目录 摘要 (5) ABSTRACT (5) 一、需求分析 (3) 二、方案设计 (5) 三、硬件设计分析 (5) 3.1 单片机89C52 (5) 3.1.1单片机最小系统 (7) 3.2显示模块 (8) 3.2.1 LCD显示屏内容及连接 (8) 3.2.2数码管内容及连接 (9) 3.3 蜂鸣器与LED灯连接 (10) 3.4 按键输入 (11) 四、软件设计分析 (12) 4.1 主程序 (12) 4.2 按键程序 (13) 4.3 按键处理程序 (14) 4.4 LCD显示程序 (15) 4.5数码管显示程序 (16) 五、调试 (17) 5.1使用的平台 (17) 5.2功能的调试 (17) 六、总结 (21) 七、参考文献 (21) 附录 (22)

相关主题
文本预览
相关文档 最新文档