基于AT89C51单片机的最小系统设计

基于AT89C51单片机的最小系统设计
基于AT89C51单片机的最小系统设计

基于AT89C51单片机的最小系统设计

组员:田竹、王维、袁倍明

摘要:

本次实验课题为设计一个基于AT89C51单片机的最小系统。用P1口设计流水灯,用P2口和P0口分别作段选和位选设计了六位数码管的静动态显示和简易的电子钟,用P3口设计了一个4*4的矩阵键盘,并用蜂鸣器实现了唱歌功能和键盘按下的声响,用62256扩展内部RAM,还扩展并实现了LCD1602的静动态显示,最后通过ADC0809和DAC0832分别实现了A/D、D/A转换功能。

一、系统电源

用MC7805集成稳压器将输入电压转为+5V稳压给系统供电。

二、晶振(12MHZ)及复位电路

采用12MHz的外部晶振,给系统提供时钟信号。并采用了按键复位电路。

三、流水灯

功能描述:让8个led灯循环闪烁

源程序:

流水灯

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:MOV A,#11111110B LOOP:MOV P1,A;给P1口送值LCALL DLY

RL A ;循环左移

LJMP LOOP

DL Y:MOV R7,#250 ;延时子程序DLY1: MOV R6,#200

DJNZ R6,$

DJNZ R7,DLY1

RET

END

四、数码管

功能描述:数码管动态显示1~6

源程序:

ORG 0000H

LJMP START

ORG 0100H

START:

MOV P0,#0

MOV P2,#0F9H

SETB P0.0

LCALL DELAY

CLR P0.0

MOV P2,#0C4H

SETB P0.1

LCALL DELAY

CLR P0.1

MOV P2,#0D0H

SETB P0.2

LCALL DELAY

CLR P0.2

MOV P2,#99H

SETB P0.3

LCALL DELAY

CLR P0.3

MOV P2,#92H

SETB P0.4

LCALL DELAY

CLR P0.4

MOV P2,#82H

SETB P0.5

LCALL DELAY

CLR P0.5

LJMP START

DELAY: MOV R5,#10

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

END

五、4*4矩阵键盘和蜂鸣器

功能描述:通过按键让数码管显示0-F,按键按下时,蜂鸣器响一下。

源程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV P0,#0FFH

MOV B,#4

MOV P3,#0F0H;列置0,看行电平

JNB P3.4,L1

JNB P3.5,L2

JNB P3.6,L3

JNB P3.7,L4

AJMP MAIN

L1: MOV R1,#0

AJMP LL1

L2: MOV R1,#1

AJMP LL1

L3: MOV R1,#2

AJMP LL1

L4: MOV R1,#3

AJMP LL1

LL1: ACALL DL10MS;消抖

MOV A,P3

XRL A,#0F0H

JZ MAIN

MOV P3,#0FH;行置0,看列电平

JNB P3.0,L5

JNB P3.1,L6

JNB P3.2,L7

JNB P3.3,L8

L5: MOV 20H,#0

AJMP KEY

L6: MOV 20H,#1

AJMP KEY

L7: MOV 20H,#2

AJMP KEY

L8: MOV 20H,#3

AJMP KEY

KEY:MOV A,R1;计算键值并查表赋值

MUL AB

ADD A,20H

MOV R2,A

MOV DPTR,#TABLE

MOV A,R2

MOVC A,@A+DPTR

MOV P2,A

CALL BEEP_BL

LCALL DELAY

LJMP MAIN

BEEP_BL: CLR P2.7;蜂鸣器子程序

ACALL DELAY

SETB P2.7

RET

DELAY: MOV R5,#50;延时

D1: MOV R6,#20

D2: MOV R7,#50

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

DL10MS:MOV R7,#05H

LOOP1: MOV R6,#0F9H

LOOP2:NOP

NOP

DJNZ R6,LOOP2

DJNZ R7,LOOP1

RET

TABLE:DB 0A0H,0F9H,0C4H,0D0H,99H

DB 92H,82H,0F8H,80H,90H

DB 88H,83H,0A6H,0C1H,86H

DB 8EH

END

六、时钟

功能描述:在数码管上实现时钟功能,并通过矩阵键盘的3个键实现复位,调时,调分。

源程序:

ORG 0000H

LJMP 1000H

ORG 001BH

AJMP 0100H

ORG 0100H

MOV TH1,#0D8H

MOV TL1,#0F0H

DJNZ 69H,TT1

MOV 69H,#100

SETB 4FH

TT1:RETI;中断延时

ORG 1000H

MOV 30H,#1

MOV 31H,#2

MOV 32H,#0

MOV 33H,#0

MOV 34H,#0

MOV 35H,#0

MOV TMOD,#10H

MOV TH1,#0D8H

MOV TL1,#0F0H

MOV IE,#88H

XS0: SETB TR1

MOV 69H,#100

CLR 4FH

XS00:LJMP KEYKEY;判断按键有无按下LX1: CJNE A,#0A0H,LX2

LJMP P100

LX2: CJNE A,#0F9H,LX3

LJMP P1000

LX3: CJNE A,#0C4H,XS

LJMP P10000

XS: MOV 40H,#01H

MOV DPTR,#TAB

MOV P0,40H

MOV A,30H

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A,#42H

MOV 40H,A

MOV P0,40H

MOV A,31H

ADD A,#10

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A,#44H

MOV 40H,A

MOV P0,40H

MOV A,32H

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A,#48H

MOV 40H,A

MOV P0,40H

MOV A,33H

ADD A,#10

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A,#50H

MOV 40H,A

MOV P0,40H

MOV A,34H

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A,#60H

MOV 40H,A

MOV P0,40H

MOV A,35H

MOVC A,@A+DPTR

MOV P2,A

LCALL YS1MS

MOV P2,#0FFH

MOV A, #40H

MOV 40H,A

JNB 4FH,LLLL1

CLR 4FH

LJMP JIA

LLLL1:LJMP XS00

P100: MOV 30H,#0

MOV 31H,#0

MOV 32H,#0

MOV 33H,#0

MOV 34H,#0

MOV 35H,#0

JIA: MOV R1,#14H

MOV A,35H

CJNE A,#9,JIA1

MOV 35H,#0

MOV A,34H

CJNE A,#5,JIA10

MOV 34H,#0

P10000: MOV A,33H

CJNE A,#9,JIA100

MOV 33H,#0

MOV A,32H

CJNE A,#5,JIA1000

MOV 32H,#0

P1000: MOV A,31H

CJNE A,#9,JIA10000

MOV 31H,#0

MOV A,30H

CJNE A,#2,JIA100000

MOV 30H,#0

AJMP XS

JIA100000:

INC 30H

AJMP XS0

JIA10000:

CJNE A,#3,JIAJIA

MOV A,30H

CJNE A,#02,JIAJIA

MOV 30H,#0

MOV 31H,#0

AJMP XS0

JIAJIA:

INC 31H

AJMP XS0

JIA1000:INC 32H

AJMP XS0

JIA100: INC 33H

AJMP XS0

JIA10: INC 34H

AJMP XS0

JIA1: INC 35H

AJMP XS0

RET

YS1MS: MOV R6,#9H

YL1: MOV R7,#19H

DJNZ R7,$

DJNZ R6,YL1

RET

DL10MS:MOV R7,#05H

LOOP1: MOV R6,#0F9H

LOOP2:NOP

NOP

DJNZ R6,LOOP2

DJNZ R7,LOOP1

RET

DELAY: MOV R5,#50

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

;-----------矩阵键盘----------- KEYKEY: MOV B,#4

MOV P3,#0F0H;列置0,看行电平

JNB P3.4,L1

JNB P3.5,L2

JNB P3.6,L3

JNB P3.7,L4

AJMP XS

L1: MOV R1,#0

AJMP LL1

L2: MOV R1,#1

AJMP LL1

L3: MOV R1,#2

AJMP LL1

L4: MOV R1,#3

AJMP LL1

LL1: ACALL DL10MS;消抖

MOV A,P3

XRL A,#0F0H

JZ LLL2

MOV P3,#0FH;行置0,看列电平

JNB P3.0,L5

JNB P3.1,L6

JNB P3.2,L7

JNB P3.3,L8

L5:JNB P3.0,L5

MOV 20H,#0

AJMP KEY

L6: JNB P3.1,L6

MOV 20H,#1

AJMP KEY

L7:JNB P3.2,L7

MOV 20H,#2

AJMP KEY

L8: JNB P3.3,L8

MOV 20H,#3

AJMP KEY

LLL2:LJMP XS

KEY:MOV A,R1;计算键值并查表赋值

MUL AB

ADD A,20H

MOV R2,A

MOV DPTR,#TABLE

MOV A,R2

MOVC A,@A+DPTR

;LCALL DELAY

LJMP LX1

TAB:

DB 0A0H,0F9H,0C4H,0D0H,099H,092H,082H,0F8H,080H,090H DB 020H,079H,044H,050H,019H,012H,002H,078H,000H,010H TABLE:DB 0A0H,0F9H,0C4H,0D0H,99H

DB 92H,82H,0F8H,80H,90H

DB 88H,83H,0A6H,0C1H,86H

DB 8EH

END

七、1602液晶显示

功能描述:在lcd上动态逐字显示两行字符串。

源程序:

RS EQU P2.7

RW EQU P2.6

E EQU P2.5

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: ACALL DEL5MS

ACALL DEL5MS

ACALL DEL5MS

MOV P1,#38H

ACALL ENABLE1

ACALL DEL5MS

MOV P1,#38H

ACALL ENABLE1

ACALL DEL5MS

MOV P1,38H

ACALL ENABLE1

MOV P1,#00000001B

ACALL ENABLE

MOV P1,#00111000B

ACALL ENABLE

MOV P1,#00001111B

ACALL ENABLE

MOV P1,#00000100B

ACALL ENABLE

MOV P1,#8FH

ACALL ENABLE

MOV DPTR,#TABLE1

ACALL L1

MOV P1,#0CFH

ACALL ENABLE

MOV DPTR,#TABLE2

ACALL L2

SJMP $

L1:MOV R1,#00H

LL1:MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

ACALL DELXXMS

ACALL WRITE_LCD

INC R1

CJNE A,#00H,LL1

RET

L2:MOV R1,#00H

LL2:MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

ACALL DELXXMS

ACALL WRITE_LCD

INC R1

CJNE A,#00H,LL1

RET

WRITE_LCD:

SETB RS

CLR RW

CLR E

ACALL DELAY

SETB E

RET

ENABLE1:CLR RS

CLR RW

CLR E

SETB E

RET

ENABLE:CLR RS

CLR RW

CLR E

ACALL DELAY

SETB E

RET

DELAY:MOV P1,#0FFH

CLR RS

SETB RW

CLR E

NOP

SETB E

JB P1.7,DELAY

RET

DEL5MS:MOV R7,#125

DEL1:MOV R6,#18

NOP

DEL2:DJNZ R6,DEL2

DJNZ R7,DEL1

RET

DELXXMS:MOV R7,#250

DEL3:MOV R6,#250

NOP

DEL4:DJNZ R6,DEL4

DJNZ R7,DEL3

RET

table1: db"UHZ NAIT "

table2: db"*********:QQ "

END

八、外部RAM扩展

功能描述:将片内数据送到片外RAM储存,再送回片内,在数码管中显示。

源程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:MOV P0,#0FFH

MOV A,#0F9H

MOV DPTR,#0001H

MOVX @DPTR,A

CLR A

MOVX A,@DPTR

MOV P2,A

SJMP $

END

九、AD转换

功能描述:向ADC0809输入模拟信号电压,经转换后在数码管上显示电压值。

源程序:

LED_0 EQU 30H

LED_1 EQU 31H

LED_2 EQU 32H

ADC EQU 35H

CLOCK BIT P3.1

ST BIT P3.0;ALE

OE BIT P3.2

EOC BIT P3.3

ORG 0000H

LJMP START

ORG 000BH

CPL CLOCK;给0809时钟

RETI

ORG 0100H

START:

MOV LED_0,#00H

MOV LED_1,#00H

MOV LED_2,#00H

MOV TMOD,#02H

MOV TH0,#0FEH

MOV TL0,#0FEH

MOV IE,#82H

SETB TR0

WAIT:CLR ST

SETB S T

CLR ST

JNB EOC,$

SETB O E

MOV ADC,P1

CLR OE

MOV A,ADC

MOV B,#51

DIV AB

MOV LED_2,A

MOV A,B

MOV B,#5

DIV AB

MOV LED_1,A

MOV A,B

MOV B,#2

MUL AB

MOV LED_0,A

LCALL DISP

SJMP WAIT

DISP:MOV P0,#00H

MOV DPTR,#TABLE

MOV A,LED_0

MOVC A,@A+DPTR

SETB P0.2

MOV P2,A

LCALL DELAY

CLR P0.2

MOV A,LED_1

MOVC A,@A+DPTR

SETB P0.1

MOV P2,A

LCALL DELAY

CLR P0.1

MOV A,LED_2

MOVC A,@A+DPTR

SETB P0.0

ADD A,#80H

MOV P2,A

LCALL DELAY

CLR P0.0

RET

DELAY: MOV R6,#50

D1: MOV R7,#15

DJNZ R7,$

DJNZ R6,D1

RET

TABLE:DB 0A0H,0F9H,0C4H,0D0H,99H

DB 92H,82H,0F8H,80H,90H

END

十、DA转换

功能描述:实现输出方波、三角波、梯形波。

源程序:

1.方波程序

ORG 0000H

LJMP LOOP1

ORG 0100H;通过高低电平地的变化来输出方波LOOP1:

CLR P3.6

MOV P2,#00H;向选通地址送低电平地

ACALL DELAY

MOV P2,#0FFH;向选通地址送高电平

ACALL DELAY

LJMP LOOP1

DELAY:MOV R1,#06H

D2:MOV R2,#0FFH

D1:DJNZ R2,D1

DJNZ R1,D2

RET;延时,通过改变它的大小可以改变占空比

END

2.三角波:

ORG 0000H

LJMP STR1

ORG 0100H

STR1: CLR P3.6 ;通过上升和下降来产生三角波

MOV R6,#00H ;电压随时间上升

STR2: MOV A,R6

MOV P2,A

INC R6

CJNE R6,#0FFH,STR2 ;电压随时间下降

STR3: ACALL DELAY

DEC R6

MOV A,R6

MOV P2,A

CJNE R6,#00H,STR3

AJMP STR1

END

总结

一、流水灯

流水灯使用接口最好使用P1口,P1口没有第二功能也不用作为地址总线,容易控制。最好加一跳针,以便与其他功能区分开。

二、数码管

焊接时,可将各数码管的段选分别连接起来,连线时,应该贴着板子布线。p0口做位选时,要接上拉电阻,增大数码管驱动电流,或采用PNP来进行放大。放射级接电源,基极接p0口,集电极接位选。P0和P2口使用时和其他功能有重复,最好用跳针加以控制。

三、矩阵键盘

4*4矩阵键盘的消抖很关键,调用一个10ms的延时,当按键放开时,数码管显示相应的数字,并伴有蜂铃器的响声。对键盘行列扫描时,用软件置零比用硬件置零方便。

四、电子钟

编程时,用中断定时比一般定时更为精确。由于程序本身存在一定的缺陷,导致在按键进行控制时,程序会暂停并等待直至按键放开。

五、蜂鸣器

编程时,可在网上查找歌曲编写软件,将歌曲转化为对应的代码,用查表进行实现唱歌功能。

七、L CD1602

线路有点复杂,需要认真来进行线路检错,注意其引脚对应的P口不被用于其他功能而分流,导致液晶不能正常显示。

在其Vee引脚接一电位器进行对比度调节。编程时,注意不要遗漏复位程序。

八、片外RAM

扩展时,可将各个P口用插槽引出,方便使用。编程时,可通过查看XDATA 窗口,看对应的数据有无送到指定的地址。

九、AD转换

ADC0809数据输出的八个引脚2-1到2-8分别接到单片机的P*.7到P*.0口,注意不要接反了。

十、DA转换

可先用LED灯检测DAC0832是否输出的信号是否与编程写的信号一致,若将WR1脚接地,可直接对P口送值,若将WR1脚接P3.6,可用送地址方式赋值。UA741的输出口与DAC0832的RFB脚之间可接电位器来调节精确度。输出时,可以采用双极性输出电路使输出电压变为正电压

十一、检测电路

编程仿真时,可单步运行看P口及其他相应的寄存器有无正确赋值,硬件检测时,最好交给另外的组员仔细检查电路板看有无短接、虚焊等问题,再用万用表进行检测,如没有问题,仿真时从P口开始到功能器件逐步用万用表检查相应的值。

基于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。

AD教案实验6单片机最小系统原理图设计

实验六单片机最小系统原理图设计 1 实验目的及要求 ?熟悉Altium designer的操作 ?能够画库原件中没有的库以及封装,并能加载到库,在原理图中熟练调用 ?能够设计较为复杂的电路原理图,并输出元件清单表 2 实验设备 装有Altium designer的电脑一台 3 实验步骤 新建设计工作区:文件-新建-设计工作区 新建PCB工程:文件-新建-工程-PCB工程 新建原理图,PCB图,原理图库以及PCB图库:文件-新建-原理图/PCB/库-原理图库/PCB图库 保存PCB工程文件到以自己名字新建的文件夹里面,保存文件名为51DPJ,文件类型为默认。(实验五已经新建完的可以直接打开,不用再新建一遍了。) 然后在新建完的原理图的里面把本次实验的原理图设计出来。本次实验注重在原理图的编辑以及PCB的制作,以51单片机最小系统为例,大家做的时候可以不完全按照所给原理图画,然后很多元器件可以在网上找到PDF的文档资料,资料中会比较详细介绍元器件的信息,封装,电路图,实物图,以及检测的效果图,电路中的封装基本按照上面来做。

图3 实验原理图 输出元件清单表BOM BOM表对一个项目来说非常重要,因为这张表不仅包含了原理图上的所有元件,同事也是生成部分和采购部门的重要参考文件,因为生成部要利用BOM知道元件的位置及型号,二采购部要知道元件完整型号以及精度等级等参数从而去进行选购,因此,工程师一定要保证BOM单不能出错,否则造成的麻烦可能影响你的产品设计周期。 完整BOM单输出: ?进入BOM单输出对话框:单机菜单Reports---bill of Materials进入BOM单输出对 话框 ?设置BOM单格式并输出:All columns 表格内用于选择 BOM单要添加的栏;从 all columns 栏选中某关键字拖拽到 Grouped Columns 栏用于设置以前关键字进行整行合并;Export 区域内用于设置 BOM 单输出格式;最后单击 EXPORT 按钮导出BOM 单。 ?变量BOM单输出:按照第二部设置好BOM格式后,如果要以变量形式输出 BOM单,课单机Menu按钮,从中选择Change Variant 变量,再到处BOM单既可以变量形式输出。

单片机最小系统设计

单片机最小系统设计 时间: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 缘起 1. 给51初学者提供一个简单的DIY的教材。 第二章跑马灯和串口 2.1 第一步:准备 准备一下器件: 1、烙铁(质量好点) 2、焊锡(细) 3、烙铁架(带一个专用海绵) 4、松香块 5、万用表(要有带响的,听听红黑表笔短接时的声音出来快不快) 6、PCB面万用板1块 7、40pin 插座1个 8、11.0592M晶振1个 9、30P瓷片电容2个 10、11个LED 11、电阻排1K 1个到VCC,做跑马灯LED的限流电阻 12、max232或者兼容的芯片 13、16pin的插座上去 14、STC89C51 15、其它杂物 以上的投资加起来,不会超出100元。

价格数量和封装如下: STC的单片机可以串口下载。 解释一下: LED:8个挂在P1口,排电阻是上拉限流的;2个作为串口收发的指示灯;1个LED作为电源指示灯; 独石电容6个:5个是使用在max232上的;一个是使用在单片机上,作为电源去耦的; 10K电阻1个,接在EA上,上拉到5V; 电解电容和电阻构成上电复位电路;(STC单片机不需要)

自己买2个DB9的母头,焊接一根串口电缆; 准备一个3PIN的插座,焊接在PCB的面包板上; 还有电源,Dc5V的电源很多,电源电压差一点问题不大;很多单片机现在电源范围都宽; STC单片机应该可以工作在4V以上,具体查资料。 准备好以上物品,可以准备焊接好了。 来一张全家福: 2.2 第二步:焊接单片机最小系统

2.3 第三步:焊接串口指示灯 2.4 第四步:在P1口上焊接跑马灯

2.5 第五步:焊接Dc5V电源指示灯 2.6 第六步:焊接max232的5个0.1u电容

4--单片机最小系统的原理图绘制

教 学环节教学容与过程 师 生 活 动 教学 方法 设计 意图 复习引入 新课教学 第一课时 一、项目描述: 通过单片机最小系统的原理图设计,对Protel DXP 2004 绘制原理图的过程有进一步的了解,掌握总线与总线入口的绘 制方法,网络标号的正确使用,原理图的报表生成、网络表、 元件库的生成。 过程: 1、新建项目:新建一个PCB项目,命名为“单片机 最小系统.PrjPCB”并保存,在项目中新建一个原 理图文件“87cs20.SchDoc”。 2、设置图纸参数:执行【设计】【文档选项】进行设 置。 3、放置元器件 4、绘制导线 教 师 指 导 学 生 上 机 操 作 练 习 项目 教学 法 任务 驱动 教学 法 让学 生学 会单 片机 最小 系统 的原 理图 设计

新课教学二、总线与总线入口的绘制方法 1、绘制总线:执行【放置】【总线】命令,按【TAB】键修改 总线属性。 2、绘制总线入口 3、放置网络标号 网络标号具有电气特性。 教 师 指 导 学 生 练 习 学会 总线 的绘 制方 法

三、放置忽略ERC检查标记 四、生成原理图报表(元件采购清单) 本软件可以提供采购清单,避免出错。 执行【报告】【bills of materials】菜单命令,打开项目元件列表对话框。 五、原理图的网络表 网络表是原理图与印制板电路的桥梁。 生成网络表的方法:执行【设计】【设计项目的网络表】【Protel】命令,系统自动生成网络表文件,后缀名为.NET。 网络表每一个[…]表示一个元件和它的主要参数,每一个学会生成原理图的各种文件如网络表等

总结 作业(…)表示一个网络,其中显示的是元件的引脚编号,同一个(…)中的引脚在电气意义上是相连的,此信息对PCB制版至关重要。 六、项目元件库的 生成 执行【设计】【建立设 计项目库】菜单命令, 生成一个与项目 同名的元件库。

基于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单片机_最小系统免费下载

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

单片机最小系统原理图

单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的 系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明

复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让R C组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 复位电路: 一、复位电路的用途 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 单片机复位电路如下图:

二、复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢? 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。 开机的时候为什么为复位 在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充

单片机系统的设计

单片机系统的设计 The Standardization Office was revised on the afternoon of December 13, 2020

第4章 单片机系统的设计 引言 用V/F 变换器作A/D 转换时,通常由一些硬件电路如振荡器、二分频器、计数器和门电路组成,而由计数器计得的计数值即A/D 转换结果再通过接口电路送入微计算机进行处理,较为复杂和不便,或者采用F/BCD 变换电路将V/F 变换器输出的频率信号变为BCD 码再通过接口电路送入微计算机,也较为复杂,而且还要对BCD 码进行变换。这些方法成本都较高。 本设计介绍一种以单片机直接与V/F 变换器接口进行A/D 转换的方法,不须额外的硬件电路,完全利用单片机内部的硬件资源,简单方便,成本最低,大大地提高了V/F 变换器作为A/D 转换电路的可行性。 当前,单片机特别是Intel 公司的MCS-51系列单片机已在智能仪器仪表和过程控制等方面得到广泛应用,大有取代Z80之势,因此A/D 转换电路与单片机的接口方法也是人们所关注的。下面将主要介绍MCS-51系列的单片机8031为主控器件的硬件电路。 主控器Intel 8031简介 P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3 P3.4P3.5P3.6P3.7XTAL 1 XTAL 2 V SS RST/VPD RXD TXD T0 T10INT P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 1INT WR RD EA /V P P ALE V CC PSEN 4039383736353433323130292827262524232221 2019181716151413121110 987654321 8031P1.0 图4-1 8031引脚图 8031 cite-feet figure

基于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日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

基于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秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

单片机最小系统的设计及制作

单片机最小系统的设计与制作 江西冶金职业技术学院刘昆山刘星慧 【摘要】本文通过讲解单片机的工作条件,设计并制作单片机最小系统,编写单片机C语言程序,调试单片机产品,掌握单片机产品开发的基本过程。 【关键字】单片机C语言,单片机入门,单片机最小系统 一、单片机最小系统功能介绍 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的以单片机为核心元件的可以正常工作的具有特定功能的单片机系统,是单片机产品开发的核心电路。

图1单片机最小系统成品图 本制作采用单片机C语言编程,主要能完成单灯闪烁的任务,通过AT89S51单片机控制一个LED的亮与灭,实现闪烁现象。同时应具有上电复位和手动复位,并且使用单片机片内程序存储器存放用户程序。 二、知识点讲解 1、AT89S51单片机简介 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K 的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储器技术生产,兼容标准8051指令系统及引脚。它集成的Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程。 单片机的应用可以理解为是单片机芯片通过其引脚控制各种不同的外围电路,实现各种具体功能,所以要学好单片机技术,必须先了解单片机的引脚功能。AT89S51采用了40引脚的双列直插DIP封装形式,实物图如图2所示,引脚配置图如图3图4所示。

图2 AT89S51实物图图3 AT89S51引脚图 图4 AT89S52引脚图 2、引脚功能介绍 IO口灌(流进)电流大,拉(流出)电流小。

P0:漏极开路的双向IO口,使用时,当电流流出需外加上拉电阻 外部地址数据总线,可带八个TTL负载 P1:准双向口(当作输入口用时,须将IO口置1(P1=0XFF;i=P1;)),可带四个TTL负载 P1.0:T2定时计数器2的外部脉冲输入及时钟输出 P1.1:T2EX定时计数器2的捕捉、自动重装的触发输入及减法计数控制 P1.5:MOSI,主动输出从动输入引脚,用于flash(闪存)编程 P1.6:MISO, 主动输入从动输出引脚,用于flash编程 P1.7:SCK, 同步时钟,用于flash编程 ISP编程时用 P2:准双向口,可带四个TTL负载 外部地址总线高八位 P3:准双向口,可带四个TTL负载 P3.0:RXD,串行输入 P3.1:TXD,串行输出 P3.2:INT0,外部中断0输入 P3.3:INT1,外部中断1输入 P3.4:T0,定时计数器0的外部脉冲输入

单片机最小系统设计

单片机最小系统设计 ?单片机最小系统部分 ●AT89C52的结构特点及引脚特 ●硬件框图 ?键盘部分 ?电源部分 ●固定电源 ●可调电源(5—12V) ?软件编程 ?单片机最小系统部分 ●AT89C52的结构特点及引脚特性: 为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通

信等。 各引脚特性: 1.P0 口 P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的 2.P1 口 P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 3.P2 口 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 4.P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻 5.RST 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 6.ALE/PROG 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 7.PSEN 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 8.EA/VPP 外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),E A 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。

毕业设计(论文)-基于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系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系 统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典 型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的 取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的, 原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定 量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率, 用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机

特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 因此可以看出,其实要熟悉51单片机的40个引脚功能也很容易: 总共40个脚,电源用2个(Vcc和GND),晶振用2个,复位1个,EA/Vpp用1个,剩下还有34个.29脚PSEN,30脚ALE为外扩数据/程序存储器时才有特定用处,一般情况下不用考虑,这样,就只剩下32个引脚,对于初学者,这32个引脚就是要经常跟它们打交道的了.它们是: P0端口P0.0~P0.7共8个 P1端口P1.0~P1.7共8个 P2端口P02.0~P2.7共8个 P3端口P3.0~P3.7共8个 使得单片机工作的最小电路 80C51为例 首先,我们在使用protel和proteus的软件画电路图时,你会发现原先40个引脚的芯片变成了38个引脚,那是因为它把第40和第20个引脚VCC和GND隐藏了,所以要是的单片机开始工作至少需要一个VCC(电源)和GND(接地)。 其次,学习过组成原理的同学或者说学习过计算机导论的同学一定知道,计算机的冯·诺依曼体系,什么是冯·诺依曼体系。简单的说就是程序(指令)存储,顺序执行,也就是说指令是一条一条执行的,即CPU从ROM(他可以称为程序存储器,但不准确)中取出指令然后再执行。取指令并执行有严格的先后顺序,那么就需要一个时钟来准确的使CPU 稳定工作。 所以,第二个需要的就一个时钟电路。一个内部时钟电路是由两个电容(CAP)和一个石英晶振(Crystal)组成。CPU的时钟周期(震荡周期)由石英晶振决定(常用6MHZ或12MHZ),两个电容取10~30pF,并把他们接在XTAL1(输入)和XTAL2(输出)两端。

单片机最小系统设计

一、内容及要求 内容:设计制作一个51最小系统,用最小系统控制8个发光2极管。 要求:全部点亮,依次点亮,交换点亮;用最小系统控制蜂鸣器;用最小系统控制电机。 二、设计思路 使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 八个发光二极管D1-D8分别接在单片机的P2.0-P2.7接口上,当给P2.0口输出“0”时,发光二极管点亮,当输出“1”时,发光二极管熄灭。可以运用输出端口指令MOV P0,A或MOV P0,#DATA,只要给累加器值或常数值,同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现 图2-1 主程序流程图 流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的成流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应

以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。 程序启动时跳转到键盘判断模块程序中,此程序里面包含Key1~Key5的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示的花型模块,与此同时,当按键Key6有闭合时,程序中调用延时程序程序时,给延时参数赋值上另一个值,是延时程序延时时间发生改变,以达到不同快慢节奏闪烁的彩灯。具体程序流程图2-1所示。 三、硬件设计 3.1 直流稳压电源电路 对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分!本项目直流稳压电源为+5V。如下图所示: 直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。 图3-1 三端固定式集成稳压电源电路图 AT89C51单片机的工作电压范围:4.0V—5.5V,所以通常给单片机外接5V 直流电源。由于时间关系,此处用3节1.5V的干电池供电,在此不在赘述此稳压电源电路图原理。 3.2单片机最小系统 要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。单片机最小系统如下图3-2所示。

单片机应用系统设计工程实践报告

2016-2017学年第1学期 单片机应用系统设计/工程实践 (课号:103G06B/D/E) 实验报告 项目名称:基于AT89C51单片机温度报警系统 学号 姓名 班级 学院信息科学与工程学院 完成时间

目录 一、项目功能及要求 (3) 1.1、课程设计的性质和目的 (3) 1.3、项目设计要求 (3) 二、系统方案设计及原理 (3) 2.1、设计主要内容 (3) 2.2 、AT89C51单片机简介 (3) 2.3 、DS18B20简介 (4) 2.4 、数码管显示 (5) 2.5、报警电路 (6) 三、系统结构及硬件实现 (7) 3.1、总电路图 (7) 3.2、单片机控制流程图 (8) 四、软件设计过程 (8) 五、实验结果及分析 (8) 5.1 、Proteus 仿真 (8) 5.2 、C程序调试 (9) 六、收获及自我评价 (14) 七、参考文献 (15)

一、项目功能及要求 1.1、课程设计的性质和目的 本温度报警器以A T89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设范围则发出警报,且精度高。 利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。 1.2、课程设计的要求 1、遵循硬件设计模块化。 2、要求程序设计结构化。 3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。 5、适当追求编程技巧和程序运行效率。 1.3、项目设计要求 1、基于AT89C51单片机温度报警系统; 2、设计3个按键分别为:设置按钮、温度加、温度减; 3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别; 二、系统方案设计及原理 2.1、设计主要内容 本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。 2.2 、AT89C51单片机简介 AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.A T89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。

相关文档
最新文档