单片机课程设计说明书

单片机课程设计说明书
单片机课程设计说明书

任务书——电脑时钟(带定时启闹功能)

一、课程设计题目:

电脑时钟的设计与制作

二、课程设计要求:

要求设计制作的电脑时钟具有以下功能:

1.自动计时,由6位LED显示器显示时、分和秒;

2.具备校准功能,可以直接由0-9数字键设置当前时间;

3.具备定时启闹功能。

三、设计任务概述:

通过设计一个电脑时钟,掌握Protel 设计单片机应用系统硬件线路图的方法,掌握使用Dais集成开发环境开发单片机应用系统控制程序的基本步骤和方法。

任务涉及的知识面包括MCS-51汇编程序语言、MCS-51 单片机I/O 应用、中断与定时器应用、人机接口应用技术等。

四、工作计划及安排:

①布置任务、分析任务、学习汇编语言、单片机的功能程序设计(3 天)

②方案设计、使用Protel 设计和绘制电脑时钟的硬件原理图(2 天)

③电脑时钟控制程序设计和调试(4 天)

④撰写实习报告(1 天)

五、考核及成绩评定方式:

设计结果占40 %;实习报告占40%;平时抽查(含半小时抽查):20%;

课程程设计的成绩可为优秀、良好、中等、及格、不及格五个等级;

考勤:迟到扣5 分/次,旷课扣10 分/次

设计说明书目录

0、前言

单片机的应用介绍

1、课程设计的目的和要求

1.1课程设计的目的

1.2课程设计的基本要求

2、总体设计

2.1、总体方案

2.1.1、计时方案

2.1.2、键盘/显示方案

2.2、硬件总体设计

2.2.1、系统组成方案

2.2.2、扩展单元编址

2.2.3、键盘、显示功能的定义

2.3、软件总体设计

2.3.1、存储单元的分配、标志位的定义

2.3.2、主程序框图及清单(带有注释)

3、硬件设计

本系统所选用的各种芯片的功能、引脚、相应的命令控制字格式等。

4、软件设计

本系统的主要子程序、中断服务程序的框图及程序清单(带有注释)

5、总结

课程设计的收获、体会以及对本教学环节的意见和建议

6、参考文献

7、系统原理图

A3图纸绘制

摘要:用8051单片机CPU及接口电路设计电压检测报警系统并实现。包括企划,设计,运行.调试等过程。用到8051,8255两种芯片。

前言

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

由于单片机有许多优点,因此其应用领域之广,几乎到了无孔不入的地步。单片机应用的主要领域有:

1)智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空调、电视机、录像机、微波炉、电冰箱、电饭煲以及各种视听设备等。

2)办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。

3)商业营销设备:在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。

4)工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、PLC等。在化工、建筑、冶金等各种工业领域都要用到单片机控制。

5)智能化仪表:采用单片机的智能化仪表大大提升了仪表的档次,强化了功能。如数据处理和存储、故障诊断、联网集控等。

6)智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单片机。

7)汽车电子产品:现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机。

8)航空航天系统和国防军事、尖端武器等领域:单片机的应用更是不言而喻。

单片机应用的意义不仅在于它的广阔范围及所带来的经济效益。更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。随着单片机应用的推广,微控制技术将不断发展完善。

1. 课程设计的目的和要求

1.1 课程设计的目的

通过课程设计让我们把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发我们的学习的热情。

用8051单片机CPU及接口电路设计并实现显示时间的电脑时钟。

1.2 课程设计的基本要求

1.自动计时,由6位LED显示器显示时、分和秒;

2.具备校准功能,可以直接由0-9数字键设置当前时间;

3.具备定时启闹功能。

2.总体设计

2.1、总体方案

2.1.1、计时方案

利用MCS-51单片机内部的定时器/计数器进行中短定时,配合软件延时实现时,分,秒的计时。

2.1.2、键盘/显示方案

采用动态显示模型,如图1所示。

图-1动态显示模型

2.2、硬件总体设计

2.2.1、系统组成方案

电路的核心是8051单片机,系统配备6位LED显示和4X3键盘,采用8255做为键盘/显示接口电路,利用8255的A口作为6位LED显示的选口,B口作为段选口,C口的低3位为键盘输入口,对应0-2 行,A口同时用作键盘的列扫描口。由于采用共阴极数码管,A口输出低电平选中相应的位,而B口输出高电平点亮相应的段,P1.0接蜂鸣器,低电平驱动蜂鸣器鸣叫。

2.2.2、扩展单元编址

8255的地址分配如下:

控制寄存器:8000H,定义为PORT ;

A口:8001H,定义为PORTA;

B口:8002H,定义为PORTB;

C口:8003H,定义为PORTC;

2.2.3、键盘、显示功能的定义

时钟显示: 6位LED从左到右依次显示时,分,秒,采用24h计时.

键盘功能: 0-9数字键(健号为00H-09H),C/R键(时间设置/启动计时键,键号为0AH)和ALM键(闹钟设置/启闹/停闹键,键号位0BH).)

(1)时间显示上电后系统自动进入时钟显示,从00:00:00开始计时,此时可以设置

当前时间。

(2)时间调整按下C/R键,系统停止计时,进入时间设定状态,系统保持原有显示,

等待键入当前时间。按下0-9数字键可以顺序设置时,分,秒,并在相应的LED上显示

设置值,设置完毕后系统将从设定后的时间开始计时显示。

(3)闹钟设置按下ALM键,系统继续计时,显示00:00:00,进入闹钟设定状态,等

待键入启闹时间。按下0-9数字键可以顺序进行相应的时间设置,并在相应的LED上显

示设置值,设置完毕后系统启动定时启闹功能,并恢复时间显示。定时时间到,蜂鸣

器鸣叫,直至重新按下ALM键停闹,并取消闹钟设置。

2.3、软件总体设计

软件设计分为下面功能模块。

(1)主程序初始化与键盘键控。

(2)计时定时器0中断服务子程序,完成刷新计时缓冲区功能。

(3)时间设置与闹钟设置由键盘输入设置当前时间与定时启闹时间。

(4)显示完成6位动态显示。

(5)键盘扫描判断是否有键按下,若有则求取键号。

定时比较判断启闹时间到否,如到则启动蜂鸣器鸣叫。

(6)其他辅助功能子程序。

主程序模块MAIN,流程图如图-3示。

计时程序模块CLOCK,流程图如图-4示。

定时器0每隔100ms溢出中断一次,则循环中断10次延时时间为1s,重复60次为1min,分计时60次为1h,小时计时24次则时间重新回到00:00:00。

设系统使用6MHz晶振,定时器0工作在方式1的定时器初值为3CB0H,即TH0=3CH,TL0=OB0H。

时间设置程序和闹钟定时程序模块MODIFY,流程图如-5所示。

将键盘输入的6位时间值合并为3位压缩BCD码(时,分,秒),送入计时

缓冲区和闹钟值寄存区,做为当前计时起始时间或闹钟定时时间,模块入口微计时缓冲区或闹钟值寄存区的首地址。

如图-6示,键盘设置子程序KEYIN的功能是将键入的6位时间值送入键盘设置缓冲区,用合字子程序COMB将键盘设置缓冲区中的6位BCD码合并为3位压缩BCD码,送入计时缓冲区或闹钟值寄存区。若键盘输入的小时值大于23,分和秒值大于59,则不合法,将取消本次设置,清零重新开始计时。

键盘扫描程序模块YSCAN,流程图如-7示。

判断是否有键按下,无键按下则循环等待,有键按下则求取键号后返回。

图-3主程序流程图图-4 计时流程图

图-5时间设置程序和闹钟定时流程图图-7键盘扫描程序流程图

图-6键盘设置子程序流程图图-9定时比较程序流程图显示程序模块DISPLAY,流程图如-8示。

将显示缓冲区的6位BCD码用动态扫描方式显示。首先将3B计时缓冲区中时,分,和秒压缩BCD码拆分为6BBCD码,由拆字子程序SEPA来实现。当按下时间或闹钟设置键后,在6位设置完

成之前,应显示键入的数据而不显示当前时间。为此系统设置一个计时显示允许标志位F0,在时间/脑钟设置期间F0=1,不调用拆字程序SEPA。

图-8显示程序流程图

定时比较程序模块ALARM,流程图图-9示。

将当前时间(计时缓冲区的值)与预设的启闹时间(闹钟设置寄存区的值)比较,二者完全相同时,启动蜂鸣器鸣叫,并置位闹钟标志位,重新按下ALM键停闹,并清零脑钟标志。

拆字程序的功能是将3B计时缓冲区中时,分和秒压缩BCD码拆分为6BBCD码并刷新显示缓冲区;合字程序的功能是将键盘设置缓冲区中6位BCD码合并为3位压缩BCD码,送入计时缓冲区或闹钟值寄存区,同时检测时间值的合法性。

2.3.1、存储单元的分配、标志位的定义

定时器0按照方式1工作,片内RAM及标志位的分配与定义见图2所示

2.3.2、主程序框图及清单(带有注释)

************************主程序MAIN************************ ORG 0000H

AJMP MAIN

ORG 000BH

AJMP CLOCK

ORG 0030H

PORT EQU 8000H

PORTA EQU 8001H

PORTB EQU 8002H

PORTC EQU 8003H

DISP0 EQU 30H

DISP1 EQU 31H

DISP2 EQU 32H

DISP3 EQU 33H

DISP4 EQU 34H

DISP5 EQU 35H

HOUR EQU 3CH

MIN EQU 3DH

SEC EQU 3EH

MSEC EQU 3FH

AHOUR EQU 40H

AMIN EQU 41H

ASEC EQU 42H

F1 BIT PSW.1

MAIN: MOV SP, #50H ;设置堆栈区

MOVX DPTR, #PORT

MOV A, #03H

MOVX @DPTR,A ;8155初始话

CLR F1 ;清零闹钟标志位

CLR F0 ;允许计时显示

MOV AHOUR, #0FFH

MOV AMIN, #0FFH

MOV ASEC, #0FFH

MOV R7, #10H

MOV R0, #DISP0

CLR A

LOOP: MOV @R0, A

INC R0

DJNZ R7, LOOP ;设置初值

MOV TMOD, #01H

MOV TL0, #0B0H

MOV TH0, #3CH ;定时器0初始化

SETB TR0 ;启动定时器

SETB EA

SETB ET0 ;开中断

BRGIN: ACALL ALARM ;调用定时比较

AACALL KEYSCAN ;调用键盘扫描

CJNE A, #0AH, NEXT1 ;是CLR/RST键否

CLR TR0 ;是则暂时停止计时

MOV R1, #HOUR ;地址指针向计时缓冲区首地址

AJMP MOD

NEXT1: CJNE A, #0BH ,BEGIN ;是ALARM键否

JB F1, NEXT2 ;闹钟正在闹响否

MOV R1, #AHOUR ;地址指针指向闹钟值寄存区首地址

MOD: SETB F0 ;置位时间设置/闹钟定时标志,禁止显示计时时间 ACALL MODIFY ;调用时间设置/闹钟定时程序 SETB TR0 ;重新开始计时

CLR F0 ;清零时间设置/闹钟定时标志,恢复显示计时时间 AJMP BEGIN

NEXT2: SETB P1.0 ;闹钟正在闹响,停止

CLR F1 ;清零闹钟标志 AJMP BEGIN

************************时间设置/闹钟定时模块MODIFY**************** MODIFY : ACALL KEYIN ;调用键盘设置子程序

ACALL COMB ;调用合字子程序 RET 3. 硬件设计

本系统所选用的各种芯片的功能、引脚、相应的命令控制字格式等。 3.1 MCS-51

芯片介绍:MCS-51系列单片机是美国Intel 公司开发的8位单片机,又可以分为多个子系列。MCS-51

系列单片机共有40条引脚,包括32条I/O 接口引

脚、4条控制引脚、2条电源引脚、2条时钟引脚。

引脚说明: P0.0~P0.7:P0口8位口线,第一功能作为通用I/O 接口,第二功能作为存储器扩展时的地址/数据复用口。 P1.0~P1.7:P1口8位口线,通用I/O 接口无第二功能。 P2.0~P2.7:P2口8位口线,第一功能作为通用I/O 接口,第二功能作为存储器扩展时传送高8位地址。 P3.0~P3.7:P3口8位口线,第一功能作为通用I/O 接口,第二功能作为为单片机的控制信号。

ALE/ PROG :地址锁存允许/编程脉冲输入信号线(输出信号) PSEN :片外程序存储器开发信号引脚(输出信号) EA/Vpp :片外程序存储器使用信号引脚/编程电源输入引

RST/VPD :复位/备用电源引脚

3.2 8255A

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST RXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1

V SS

芯片说明:8255A是Intel公司生产的可编程输入输出接口芯片,它具

有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,

因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中

间接口电路。8255有三种基本工作方式,三种工作方式由工作方式

控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口

中PC口被分为两个部分,上半部分随PA口称为A组,下半部分随PB

口称为B组.其中PA口可工作与方式0、1和2,而PB口只能工作

在方式0和1。8255共有40个引脚,采用双列直插式封装,各引脚功

能如下:

D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信

息。

CS:片选信号线,低电平有效,表示芯片被选中。

RD:读出信号线,低电平有效,控制数据的读出。

WR:写入信号线,低电平有效,控制数据的写入。

Vcc:+5V电源。

PA0--PA7:A口输入/输出线。

PB0--PB7:B口输入/输出线。

PC0--PC7:C口输入/输出线。

RESET:复位信号线。

A1、A0:地址线,用来选择8255内部端口。

GND:地线。

4.软件设计

5.

本系统的主要子程序、中断服务程序的框图及程序清单(带有注释)

********************键盘设置子程序KEYIN*** *********************

KEYIN:PUSH PSW

PUSH ACC

SETB RS1 ;保护现场

MOV R0,#DISPO ;R0指向显示缓冲区首地址

MOV R7,#06H ;设置键盘输入次数

L1:CLR RS1

CJNE A,#0AH,L2 ;键入数合法性检测(是否大于9)

L2:JNC L1 ;大于9,重新键入

MOV @R0,A ;键号送入显示缓冲区

INC R0

DJNZ R7,L1 ;6位时间输入完否?未完继续,否则返回

POP ACC

POP PSW

CLR RS1 ;恢复现场

RET

*************************键盘扫描子程序KEYSCAN********************** KEYSCAN:ACALL TEST ;调判按键是否按下子程序TEST

JNZ REMOV ;有键按下调消抖延时

ACALL DISPLY

ACALL ALARM

AJMP KEYSCAN ;无键按下继续判是否按键

REMOV:ACALL DISPLAY ;调用显示子程序延时消抖

ACALL TEST ;再判是否有键按下

JNZ LIST ;有键按下转逐列扫描

ACALL DISPLAY

ACALL ALARM

AJMP KEYSCAN ;无键按下继续判断是否按键

LIST:MOV R2,#0FEH ;首列扫描字送R2

MOV R3,#00H ;首列键号送R3

LINE0:MOV DPTR,#PORAT ;DPTR指针指向8155的A口

MOV A,R2 ;首列扫描字送R2

MOVX @DPTR,A ;首列扫描字送8155的A口

MOV DPTR,#PORTC ;DPTR指针指向8155的C口

MOVX A,@DPTR ;读入C口的行状态

JB ACC.0,LINE1 ;第0行键入无按下转第1行

MOV A,#00H ;第0行有键按下,行首键号送A

AJMP TRYK ;求键号

NEXT:INC R3 ;扫描下一列

MOV A,R2 ;列扫描字送A

JNB ACC.3,EXIT ;4列扫描完,重新进行下一轮扫描

RL A ;4列未扫描完,扫描字左移扫描下一列

MOV R2,A ;扫描字送A

AJMP LINE0 ;转向扫描下一列

EXIT:AJMP KEYSCAN ;等待下一次按键

TRYK:ADD A,R3 ;按公式计算码,求得键号

PUSH ACC ;键号入栈保护

LETK:ACALL TEST ;等待按键释放

JNZ LETK ;按键未释放,继续等待

POP ACC ;按键释放,键号出栈

RET ;键盘扫描结束,返回

TEST:MOV DPTR,#PORTA ;DPTR指向指针向8155的A口MOV A,#00H

MOVX @DPTR,A ;全扫描字00H送8155的A口

MOV DPTR,#PORTC ;DPTR指向指针8155的C口

MOVX A,@DPTR ;读入C口行状态

CPL A ;A取反,以高位电平表示有按键

ANL A,#07H ;屏蔽高5位

RET

*****************显示子程序DISPLAY*********************

DISPLY: JB F0, DISP ;允许时间标志F0=1转DISP

ACALL SEPA ;否则调用SEPA刷新显示缓冲区

DISP: PUSH PSW ;动态扫描显示子程序

PUSH ACC

SETB RS0

MOV DPTR, #PORTA

MOV @DPTR, A

MOV R0, #DISP0

MOV R7, #00H

MOV R6, #06H

MOV R5, #OFEH

DIS1: MOV DPTR, #TAB

MOV A, @R0

MOVC A, @A+DPTR

MOV DPTR, #PORTB

MOV @DPTR, A

MOV DPTR, #PORTA

MOV A, R5

MOVX @DPTR, A

HERE: DJNZ R7, HERE

INC R0

MOV A, R5

R1 A

MOV R5, A

DJNZ R6, DIS1

CLR RS0

POP ACC

POP PSW

RET

TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H

DB 7FH, 6FH, 77H, 7CH, 59H, 5EH, 79H, 71H ;共阴极字型码表

*********************合字子程序COMB************************

COMB: MOV R0, #DISP1 ;R0指向显示缓冲区小低位

ACALL COMB1 ;合字

CJNE A, #24H, CHK ;小时大于24否?

CHK: JNC EXIT1 ;大于24则取消本次设置,退出

MOV @R1, A ;否则小时送计时缓冲区/闹钟值寄存区小时单元INC R1

MOV R0, #DISP3 ;R0指向显示缓冲区分低位

ACALL COMB1

CJNE A, #60H, CHK1

CHK1: JNC EXIT1

MOV @R1, A

INC R1

MOV R0, #DISP5 ;P0指向显示缓冲区秒低位

ACALL COMB1

CJNE A, #60H, CHK2

CHK2: JNC EXIT1

MOV @R1, A

RET

EXIT1: AJMP MAIN ;收入不合法退出,重新清零计时COMB1:MOV A, @R0

ALL A, #0FH ;取出低位

MOV 43H, A ;暂存于43H单元

DEC R0 ;指向高位

MOV A, @R0

ANL A, #0FH

SWAP A ;高位送入高4位

ORL A, 43H ;高低位合并

RET

**********************拆字子程序SEPA************************ SEPA: PUSH PSW

PUSH ACC

SETB RS0

MOV R0, #DISP5 ;指向显示缓冲区秒低位

MOV A, SEC

ACALL SEPA1

MOV A, MIN

ACALL SEPA1

MOV A, HOUR

ACALL SEPA1

POP ACC

POP PSW

RET

SEPA1: MOV 44H, A ;暂存44H

ANLA, #0FH ;取出低位

MOV @R0, A ;送显示缓冲区低位

DEC R0 ;指向显示缓冲区高位

MOV A, 44H

ANL A, #0F0H ;取出高位

SWAP A ;高位送往低4位形成高位数据

MOV @R0, A ;高位数据显示缓冲区高位

RET

******************定时比较模拟块ALARM***********************

ALARM: MOV A, ASEC

CJNE A, SEC, BACK ;秒单元相同则继续比较,否则返回

MOV A, AMIN

CJNE A, MIN, BACK ;分单元相同则继续比较,否则返回

MOV A, AHOUR

CJNE A, HOUR, BACK ;小时单元相同定时时间到

CLR P1.0 ;启动闹钟鸣叫

SETB F1 ;置位闹钟标志

BACK: RET

*************定时器0中断服务子程序CLOOK*******************

CLOOK: MOV TL0, #0B7H

MOV TH0, #3CH ;重装初值,时间校正

PUSH PSW

PUSH ACC ;保护现场

INC MSEC

MOV A, MSEC

CJNE A, #0AH, DONE

MOV MSEC, #00H

MOV A, SEC

INC A

DA A ;二一十进制转换

MOV SEC, A

CJNE A, #60H, DONE

MOV SEC, #00H

MOV A, MIN

INC A

DC A

MOV MIN, A

CJNE A, #60H, DONE

MOV MIN, #00H

MOV A, HOUR

INC A

DA A

MOV HOUR, A

CJNE A, #24H, DONE

MOV HOUR, #00H

DONE: POP ACC

POP PSW

RET1

6.总结

本次课程设计是用8051单片机CPU及接口电路设计一个数字时钟,经过两个星期的设计调试,结果满足设计要求,验证无误。设计主要用到了两种种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。关于显示模块,在以前的实

验中做过,所以问题很容易解决。

通过本次设计,我系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了8051定时器的使用和中断处理器程序的编程方法。开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目的

7.参考文献

1、胡汉才编著,《单片机原理及其接口技术》清华大学出版社,2004。

2、张毅刚等编著,《单片机原理及应用》哈尔滨工业大学出版社,2004。

3、胡汉才等编著,《单片机原理及系统设计》清华大学出版社,2002。

4、高海生等编著,《单片机应用技术大全》西安交通大学出版社,1996。

8.系统原理图

A3图纸绘制

单片机课程设计 简易计算器的设计

目录 摘要 (1) 绪论 (1) 1.设计要求及功能分析 (1) 1.1 设计要求 (1) 1.2 基本功能 (2) 2.设计方案 (2) 2.1 硬件部分设计方案 (2) 2.1.1 单片机部分 (2) 2.1.2 按键部分 (2) 2.1.3 显示部分 (2) 2.2 软件部分设计方案 (2) 3.系统的硬件总体设计 (4) 3.1 系统的总体硬件设计 (4) 3.2 键盘连接电路 (4) 3.3 显示屏连接电路 (5) 3.4 单片机芯片AT89C51 (6) 3.5 外接电路 (7) 4.系统的软件总体设计 (8) 4.1 键盘识别程序设计 (8) 4.2 显示程序 (11) 4.3 运算程序 (11) 5.元器件清单及程序清单 (12) 5.1 元器件清单 (12) 5.2 程序清单 (12) 6.软件仿真 (18) 6.1 仿真验证 (18) 6.2 性能分析 (20) 6.3 出现故障及其原因 (20) 6.4 解决方法 (20) 结论 (20) 参考文献 (21) 致谢 (21) 附录PCB图 (22)

简易计算器的设计 学生:李飞马鹏超舒宏超 指导老师:王孝俭 摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 关键词:单片机、计算器、控制电路、仿真。 绪论 设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在内部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。 1.设计要求及功能分析 1.1设计要求: 本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成部分由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻(10K)做P0口的上拉电阻,可以实现16位的数值操作计算。 1.2基本功能: 首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0”,其他位全部不显示;

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

单片机课程设计完整版样本

课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录

一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的

经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位

P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

单片机课程设计 数字电压表设计

《单片机原理及应用》课程设计报告书 课题名称数字电压表设计 名姓 学号 专业

指导教师 机电与控制工程学院月年日 1 任务书 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。 3、键盘显示部分。利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 关键词:8051 模数转换LED显示矩阵键盘 2 目录

1 绪论 (1) 2 方案设计与论证 (2) 3 单元电路设计与参数计算 (3) 4 总原理图及参考程序 (8) 5 结论 (14) 6 心得体会 (15) 参考文献16 (7) 3 1.绪论 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优

点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D 转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED 显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。 4 2.方案设计与论证 基于单片机的多路数字电压表电路的基本组成如图3.1所示。

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

推荐-基于单片机多功能秒表课程设计任务书 精品

单片机课程设计课题:多功能秒表 系别:电气与电子工程 专业:电子信息工程 姓名:吴腾飞 学号:093411143 河南城建学院 20XX年1月1日

成绩评定· 一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。 二、评分 课程设计成绩评定

目录 第一章设计目的 第二章设计任务要求 .................................. 第三章总体设计 ...................................... 3.1 任务分析................................................. 3.2 方案确定................................................. 3.3 单片机概述............................................... 3.3.1 单片机的特点 ........................................... 3.3.2 STC89C51单片机简介 3.3.3 STC89C51功能特性概述:................................. 第四章各部分电路设计 4.1 显示原理................................................. 4.2 键盘及读数原理............................................ 4.3 复位电路................................................. 4.4 按键电路................................................. 4.5 时钟电路................................................. 4.6 驱动显示电路............................................. 第五章整体电路图 .................................... 5.1相应程序.................................................. 5.2 硬件实物调试............................................. 5.3 硬件调试.................................................. 5.4软件调试.................................................. 5.5系统联调.................................................. 5.6现场调试.................................................. 第六章设计总结 6.1设计过程中遇到的问题及解决方法............................ 6.2设计体会 .................................................

单片机课程设计电阻测量(完整版)

课程设计报告课程名称:单片机课程设计 设计题目:电阻测量 院系:通信与控制工程系 专业:通信工程 班级: 学生姓名: 学号: 08409212 起止日期: 指导教师: 教研室主任:

摘要 本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D 转换正常进行。A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。 关键词:单片机(AT89C52);电压;A/D转换;ADC0809

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3方案对比与比较................................... 错误!未定义书签。 2、系统硬件电路的设计 (2) 2.1振荡电路模块 (2) 2.2A/D转换电路模块 (3) 2.2.1主要性能 (3) 2.2.2 ADC0809芯片的组成原理 (4) 2.2.3 ADC0809引脚功能 (4) 2.3主控芯片AT89C52模块 (5) 2.3.1主要功能特性 (6) 2.3.2 主要引脚功能 (6) 2.4显示控制电路的设计及原理 (8) 3、程序设计 (9) 3.1初始化程序 (9) 3.2主程序 (10) 3.3显示子程序 (10) 3.4A/D转换测量子程序 (11) 4、调试及性能分析 (11) 4.1调试与测试 (11) 4.2性能分析 (12) 5、元件清单 (13) 6、总结与思考及致谢............................... 错误!未定义书签。参考文献. (13)

单片机4X4键盘计算器课程设计报告书

《单片机课程设计报告》 教学院: 专业班级: 学号: 学生: 指导教师: 时间: 地点:

单片机课程设计任务书 一、课题名称 单片机课程设计 二、设计目的 为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的单片机课程设计。通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。 三、设计容 设计基于51单片机的简易计算器系统电路,并以该电路为基础进行编程,要求能够实现0-99之间的数进行加、减、乘、除运算的功能。 四、设计要求 1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。 2、用4×4的键盘作为输入设备。 3、用LED或LCD进行显示。 4、编写无符号数加、减、乘、除运算、输入和显示的程序。 5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。 6、编写课程设计的总结

六、设计报告 课程设计报告的基本容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规。 1、封面 封面包括“《单片机课程设计》课程设计报告”、班级、、学号以及完成日期等。 2、正文 正文是实践设计报告的主体,具体由以下几部分组成: (1)课程设计题目; (2)课程设计任务与要求; (3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等); (4)方案的比较与论证; (5)硬件电路设计,各个模块的设计与器件的选择; (6)软件程序的设计与调试; (7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等); 3.附录 附录1:系统设计原理图 附录2:系统硬件元器件清单 附录3:系统的程序 七、考核方式与成绩评定办法 及格(60分~69分)、60分以下为不及格。

相关文档
最新文档