收藏 分享(赏)

单片机课程设计报告.docx

上传人:dzzj200808 文档编号:2313423 上传时间:2018-09-10 格式:DOCX 页数:25 大小:375.74KB
下载 相关 举报
单片机课程设计报告.docx_第1页
第1页 / 共25页
单片机课程设计报告.docx_第2页
第2页 / 共25页
单片机课程设计报告.docx_第3页
第3页 / 共25页
单片机课程设计报告.docx_第4页
第4页 / 共25页
单片机课程设计报告.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、武汉工程大学课程设计报告1单片机课程设计报告课题名称: 定时闹钟 学生学号: 1004030221 专业班级: 电信 02 班 学生姓名: 汪琼 指导教师: 赵振华 课题工作时间: 2011-12-19 至 2012-12-26武汉工程大学课程设计报告2目录1.摘要 .32.设计目的要求 .43.设计实现方案 .63.1 原理 63.2 系统总框图 63.3 原理及工作过程说明 .64.元器件介绍 .74.1AT89C51.74.2 1602LCD 液晶显示器 .104.3 其他重要元件 .125.软件设计 .145.1 系统框图 145.2 源代码 .156.系统仿真 .346.1 开始程序

2、 346.2 设定闹钟时 LCD 显示器 .356.3 闹钟时间到 .357.实验总结及心得体会 .358.参考文献 .37武汉工程大学课程设计报告31.摘要本设计是定时闹钟的设计,由单片机 AT89C51芯片和 LCD、LED 显示器,辅以必要的电路,构成一个单片机定时闹钟。电子钟可采用数字电路实现,也可以采用单片机来完成。LCD 显示“时” , “分” , LED闪动来做秒的计数,定时时间到能发出警报声并且启动继电器,从而控制电器的启停。现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持

3、。在这次设计中主要是用 AT89S51来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;到达预设的时间,此电路就会发出报警声音提示已经到点。关键字:定时闹钟 AT89C51 LCDSummaryThe regular alarm clock designers design, by the microcontroller AT89C51 chip and LCD, LED display, combined with the necessary circuitry to form a single-chip timer alar

4、m clock. Clock can be digital circuit, the microcontroller can also be used to complete. LCD display “when“, “sub“, LED flash to do the second count, regular time to be able to sound an alarm and start relay to control the electrical start and stop. Now is the era of highly developed automation, esp

5、ecially electronic products are relying on the internal control circuitry to achieve control of the product to achieve the purpose of automatic operation, which requires us to do the design of electrical components and circuits to support .In this design it is mainly used to carry out regular AT89S5

6、1, but also combined with other auxiliary circuit implementation of the control, in time, when you click a control button on the hour plus one hour; click the button on the control minutes plus one minute; reach preset time, this will sound an alarm circuit has prompted the point,.Keywords: time clo

7、ck AT89C51 LCD2.设计目的要求1)本次课程设计应达到的目的:1、综合运用相关课程中所学到的理论知识去独立完成某一设计课题;2、通过查阅手册和相关文献资料,培养学生独立分析和解决问题的能力;3、进一步熟悉单片机和常用接口电路,加深对专业知识和理论知识学习的认识和理解;4、学会电路的安装与调试;武汉工程大学课程设计报告45、进一步熟悉电子仪器的正确使用;6、学会撰写课程设计的总结报告;7、培养严肃认真的工作作风和严谨的科学态度。2) 设计要求使用 AT89C51单片机结合字符型 LCD显示器设计一个简易的定时闹钟LCD时钟,若 LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可使用

8、。定时闹钟的基本功能如下: 显示格式为“时时:分分” 。 由 LED闪动来做秒计数表示。 一旦时间到则发出声响,同时继电器启动,可以扩充控制家电开启和关闭。 程序执行后工作指示灯 LED闪动,表示程序开始执行,LCD 显示“00:00” ,按下操作键 K1K4 动作如下:(1) K1设置现在的时间。(2) K2显示闹钟设置的时间。(3) K3设置闹铃的时间。(4) K4闹铃 ON/OFF的状态设置,设置为 ON时连续三次发出“哗”的一声,设置为 OFF发出“哗”的一声。设置当前时间或闹铃时间如下。(1) K1时调整。(2) K2分调整。(3) K3设置完成。(4) K4闹铃时间到时,发出一阵声

9、响,按下本键可以停止声响。本项目的难点在于 4个按键每个都具有两个功能,以最终实现菜单化的输入功能。采用通过逐层嵌套的循环扫描,实现嵌套式的键盘输入。3.设计实现方案3.1 原理本 LCD定时闹钟,是以单片机及外围接口电路为核心硬件,辅以其他外围硬件电路,用汇编语言设计的程序来实现的。根据 C51单片机的外围接口特点扩展相应的硬件电路,然后根据单片机的指令设计出数字钟相应的软件,再利用软件执行一定的程序来实现数字钟的功能。由于采用集成芯片性的单片机来制作电子钟,这样设计制作简单而且功能多、精确度高,也可方便扩充其他功能,实现也十分简单。本设计是利用 AT89C51单片机为主控芯片,由 LCD、

10、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成硬件电路,通过编写软武汉工程大学课程设计报告5件程序来实现和控制的数字定时闹钟3.2 系统总框图3.3 原理及工作过程说明(1)定时闹钟的基本功能如下 :(a)启动仿真软件,使用 LCD液晶显示器来显示现在的时间 。(b )程序执行之后显示“Time:00:00:00” ; 时间显示的秒开始变化,并且LED闪烁,表示开始已经计时。(c)由 LED闪动来做秒计数表示。(d)当设定的闹钟时间到达后,闹铃开始发出“哒哒哒”的声音。(2)按键功能如下 :按键 K1设置现在的时间和时调整;按键 K2显示闹钟设置的时间和分调整;按键 K3设置闹铃的时间和设

11、置完成;按键 K4闹铃 ON/OFF的状态设置,设置为 ON时连续三次发出 “哗”的一声,设置为 OFF发出“哗”的一声和闹钟时间到时,发出一阵声响,按下本键可以停止声响。(3)调整计时器时间如下 :按下 K1键,然后按 K1调整小时, K2调整分钟,按下 K3表示时间设置完成。(4)调整闹钟时间设置如下 :按下 K3开始闹钟设置,LCD 下一行显示“Alarm:00:00”按下 K1设置小时,按一下 K2设置分钟,再次按下 K3设置完成,并且设置时间消失,当再次按一下 K2时“Alarm:00:00 再次显示并马上消失。按一下 K4关闭闹钟,再次按下打开闹钟。武汉工程大学课程设计报告64.元

12、器件介绍4.1AT89C51本设计的核心硬件就是 89C51芯片,AT89C51 是一种带 4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。4.1.1 引脚图4.1.2 引脚功能介绍P0口:P

13、0 口为一个 8位漏级开路双 向 I/O口,每脚可吸收 8TTL门电流。当 P1口的管脚第一次写 1时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH编程时,P0 口作为原码输入口,当 FIASH进行校验时,P0 输出原码,此时 P0外部必须被拉高。P1口: P1口是一个内部提供上拉电阻的 8位双向 I/O口,P1 口缓冲器能武汉工程大学课程设计报告7接收输出 4TTL门电流。P1 口管脚写入 1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接

14、收。P2口: P2口为一个内部上拉电阻的 8位双向 I/O口,P2 口缓冲器可接收,输出 4个 TTL门电流,当 P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。当 P2口用于外部程序存储器或 16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH编程和校验时接收高八位地址信号和控制信号。P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个

15、 TTL门电流。当 P3口写入 “1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为 AT89C51的一些特殊功能口,如下所示:P3口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0外部输入)P3.5 T1(记时器 1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器

16、件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行 MOVX,MOVC 指令是 ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。PSEN:外部程序存储器的选通信号

17、。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-武汉工程大学课程设计报告8FFFFH),不管是否有内部程序存储器。注意加密方式 1时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。4.2 1602LCD 液晶显示器4.2.1 引脚图武汉工程大学课程设计

18、报告94.2.2 引脚功能第 1脚:VSS 为地电源。第 2脚:VDD 接 5V正电源。第 3脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K的电位器调整对比度。第 4脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和 R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W为高电平时可以读忙信号,当 RS为高电平 R/W为低电平时可以写入数据。第 6脚:E 端为使能端,当 E端由高电平跳变成低电

19、平时,液晶模块执行命令。武汉工程大学课程设计报告10第 714 脚:D0D7 为 8位双向数据线。第 15脚:背光源正极。第 16脚:背光源负极。4.3 其他重要元件4.3.1 独立式键盘的接口电路XTAL218XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 3P0.7/AD7 32P1.01 P1.12 P1.23P1.34 P1.45 P1.56P1.67 P1.78P3.0/RXD10P3.1/TXD1P3.2/INT0 12P3.

20、3/INT1 13P3.4/T0 14P3.7/RD17P3.6/WR16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 2P2.2/A10 23P2.3/A1 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51PROGRAM=.Keilwang.hex在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键接在一根 I/O接口线上,这种方式的连接称为独立式键盘。每个独立式按键单独占有一根 I/O接口线,每根 I/O接口线的工作状态不 会影响到其他 I/O接口线 。这种按键接口电路配置灵活,硬件结构简单,

21、但每个按键必须占用一根 I/O接口线,I/O 接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O 接口线有确定的高电平。当 I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。4.3.2 电磁继电器 RL15VL1220电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,

22、使动触点与原来的静触点(常闭触点)武汉工程大学课程设计报告11释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。5.软件设计5.1 系统框图NYNYN主程序开始初始化是否设置闹钟设置闹钟是否到闹钟时间闹铃响、灯亮显示时间闹铃停、灯灭是否关闹钟武汉工程大学课程设计报告125.2 源代码#include#define uint unsigned int#define uchar unsigned charsbit key1=P10; sbit key2=P11;sbit key3=

23、P12;sbit key4=P13;sbit lcden=P22; sbit lcdrs=P20;sbit lcdrw=P21;sbit jdq=P23;sbit led=P24; sbit sound=P25;int a,b,i,min,hour,minge,minshi,hourge,hourshi,amin,ahour,aminge,aminshi,ahourge,ahourshi,sec,secshi,secge;/unsigned char code x=0xFF,0xC7,0x83,0x01,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,

24、0x7F,0xFF,0xFF;/unsigned char code z=0xFF,0xE3,0xC1,0x80,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x7F,0xFF,0xFF;uchar code table1=0,1,2,3,4,5,6,7,8,9;uchar code table2=“Time:00:00:00 “ ;uchar code Alarm_1=“Alarm:00:00 “;uchar code nul=“ “;uchar num1,num2;bit flag=0;void delay(unsigned int xms)

25、/延时程序uint i,j; for(i=xms;i0;i-)for(j=124;j0;j-);void write_com(uchar com) /LCD命令控制,写指令函数delay(5) ;lcdrs=0;P0=com;delay(5);武汉工程大学课程设计报告13lcden=1;delay(5);lcden=0;void write_data(uchar date) /LCD数据控制,写数据函数delay(5);lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;void time() /设置时间函数while(1)if(key1=0)

26、delay(10);if(key1=0)if(hour=23) /“时 “设置hour=0;elsehour+;hourge=hour%10;hourshi=hour/10;write_com(0x0f);delay(2);write_com(0x80+6);write_data(table1hourge); /“时“个位写入LCD第二行第 6位delay(5);write_com(0x80+5);delay(2);write_data(table1hourshi); /“时“十位写入LCD第二行第 5位while(!key1);/delay(1);武汉工程大学课程设计报告14if(key2=

27、0)delay(10);if(key2=0)if(min=59) /“分“ 设置min=0;elsemin+;minge=min%10;minshi=min/10;write_com(0x0f);write_com(0x80+9);write_data(table1minge); /“分“个位写入 LCD第二行第 9位delay(1);write_com(0x80+8);write_data(table1minshi); /“分“十位写入 LCD第二行第 8位delay(1);while(!key2);if(key3=0)delay(10);if(key3=0)write_com(0x0c);

28、 /整体显示,关光标,不闪烁TR1=1; /定时计数器 1启动while(!key3);break; /key3松开时,显示时间“时“分“位均已设置完毕void alarm() /设置闹钟时间函数while(1)武汉工程大学课程设计报告15if(key1=0)delay(10);if(key1=0)if(ahour=23) /闹钟“时“设置ahour=0;elseahour+;ahourge=ahour%10;ahourshi=ahour/10;write_com(0x0f);/delay(2);write_com(0x80+0x40+8);write_data(:);write_com(0x

29、80+0x40+7);write_data(table1ahourge);delay(1);write_com(0x80+0x40+6);/delay(2);write_data(table1ahourshi);delay(1);while(!key1);if(key2=0) /闹钟“分“设置delay(10);if(key2=0)if(amin=59)amin=0;elseamin+;aminge=amin%10;aminshi=amin/10;write_com(0x0f);/delay(2);write_com(0x80+0x40+10);write_data(table1aminge)

30、;delay(1);write_com(0x80+0x40+9);/ delay(2);武汉工程大学课程设计报告16write_data(table1aminshi);delay(1);while(!key2);if(key3=0) flag=flag;delay(10);if(key3=0)write_com(0x0c);write_com(0x80+0x40);for(i=0;i=20)sec+;num2=0;judge();if(num1=10) /计时 10次 50ms,即 500msnum1=0;led=led; /P24口电位取反,LED 灯亮void main() /主函数lcd

31、_init(); /调用 LCD初始化函数init(); /调用 AT89C51初始化函数while(1)keyscan(); /调用扫描函数/显示时间“秒“ 加 1minge=min%10;minshi=min/10;write_com(0x80+9);武汉工程大学课程设计报告21write_data(table1minge);delay(5);write_com(0x80+8);write_data(table1minshi);hourge=hour%10;hourshi=hour/10;write_com(0x80+6);write_data(table1hourge);delay(5)

32、;write_com(0x80+5);write_data(table1hourshi);write_com(0x80+7);write_data(:);delay(5);write_com(0x80+10);write_data(:);delay(5);secge=sec%10;secshi=sec/10;write_com(0x80+12);write_data(table1secge);delay(5);write_com(0x80+11);write_data(table1secshi);武汉工程大学课程设计报告226.系统仿真6.1 开始程序6.1.1 系统总图D71463D5124

33、D31029D1807E6RW5S4VS1D2VE3LCD1LM032LXTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51PROGRAM=.Keilwang.hexC1

34、30pfC230pf X1CRYSTALR14k234567891RP1RESPACK-8D1LED-RED52%RV11kR210k Q1PNLS1SPEAKERC40.1ufRL15VRL1(C2)RL1(COM)L1206.1.2 LCD 显示器D714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3LCD1LM032L武汉工程大学课程设计报告236.2 设定闹钟时 LCD 显示器D714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3LCD1LM032L6.3 闹钟时间到D71463D5124D31029D1807E6

35、RW5S4VS1D2VE3LCD1LM032LXTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51PROGRAM=.Keilwang.hexC130pfC230pf X1

36、CRYSTALR14k234567891RP1RESPACK-8D1LED-RED52%RV11kR210k Q1PNLS1SPEAKERC40.1ufRL15VRL1(C2)RL1(COM)L1207.实验总结及心得体会这次课程设计历时一周,在这一周的课程设计中,感受很多,收获很很多,主要在一下几个方面:(1)由于时间紧迫,因此指导老师布置课题后,我就开始制定整个课程设计的时间安排表。在计划表中,我确定了整个课程设计的步骤和时间安排,这也使我在接下来的设计过程中更有效率,忙而不乱。(2)在设计过程中,需要用到 keil和 protues这两款软件进行调试和仿真,通过这次课程设计,我从不了解这

37、两款软件到对他们的基本功能有了掌握,这对武汉工程大学课程设计报告24我以后对这两种软件的使用有很大帮助。(3)课程设计过程中,程序的调试和仿真并不是很顺利,但是经过多次调试和修改后,程序满足了设计要求,后来经过不断的改进,程序终于更加简洁明了。这个过程也让我明白,软件设计过程并不是一次就能成功的,需要不断调试、改进,使程序有条理,简洁易读。(4)当遇到自己不懂的问题时,我会查阅相关的资料。在现在信息高速发展的时代,各种信息资料充斥,我们不能全盘接受,需要我们仔细甄别和筛选,找到对自己有用的信息,而不是盲目接受。这个过程中也锻炼了我对信息的辨别和搜索能力,对我以后的自学至关重要。 (5)在设计过

38、程中,遇到了自己无法解决的问题,我就向指导老师请教或者和同学们互相讨论,在这个过程中不仅使问题得到解决,有时还会产生一些新的想法和灵感,更重要的是,在讨论的过程中,我学会了团队协作,知道了团队精神的重要性,这对我以后的工作有着重要的意义。(6)虽然这是个看似简单的课程设计,但是它包含了在设计过程中的完整步骤,我们也要对它重视,以严谨的态度来对待,熟悉产品的开发和生产过程。当进行多次尝试仍然没有得到预期的效果时,不能失去信心,更不能轻易放弃。总而言之,这次课程设计将理论知识和实际应用联系在一起,使我们不仅巩固了课堂上学的理论知识,而且熟悉了产品的开发和生产过程,更重要的是,它使我们各方面都得到了锻炼,对我们以后的生活和学习都有极其重要的作用。8.参考文献1单片机原理及应用(第二版) 张毅刚 彭喜元 彭宇 高等教育出版社2余发山.单片机原理及应用技术.中国矿业大学出版社,2003.21-45,98-118,185-1983刘和平. 单片机编程与入门.重庆大学出版社,2002.68-99,111-1224陈明荧. 89C51 单片机课程设计实训教材.清华大学出版社 ,2003.38-67,102-118武汉工程大学课程设计报告25

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报