电子时钟单片机课程设计.doc
《电子时钟单片机课程设计.doc》由会员分享,可在线阅读,更多相关《电子时钟单片机课程设计.doc(23页珍藏版)》请在沃文网上搜索。
1、目录摘要3一、单片机概述4二、多功能电子时钟62.1设计内容要求62.2实验电路组成62.3电路方案设计82.4系统资源分配92.5模块化程序92.6算法流程思路9小结10参考文献10附录程序10摘 要单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、
2、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。近年来随着微控技术的日益完善和飞速发展,单片机的应用正在不断深入,它的应用必将导致系统控制技术从根本上发生变革,同时带动传统控制检测技术日益更新。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化控制。在实际检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。而在繁华的都市之中,到处都是绚烂的霓
3、虹灯,此次课程设计即为设计一花样流水灯。一、单片机概述(芯片简介)单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。IAP15F2K60S2简介宏晶STC15F2K60S2系列主要性能:大
4、容量2048字节片内RAM数据存储器高速:1个时钟/机器周期,增强型8051内核(STC Y5),速度比传统8051快712倍速度也比STC早期的1T系列单片机(如STC12/11/10系列)的速度快20%宽电压:5.53.8V,2.43.6V(STC15L2K60S2系列)低功耗设计:低速模式,空闲模式,掉电模式(可由外部中断或内部掉电唤醒定时器唤醒)内部高精度R/C时钟,1% 温飘(-40+85),常温下温飘5,可彻底省掉外部昂贵的晶体时钟,内部时钟从5MHz35MHz可选内部高可靠复位,ISP编程时8级复位门槛电压可选,彻底省掉外部复位电路支持掉电唤醒的资源有:INT0/INT1(上升沿
5、/下降沿中断均可),-INT2/-INT3/-INT4(下降沿中断);CCP0/CCP1/CCP2/RxD/RxD2/T0/T1/T2 管脚;内部掉电唤醒专用定时器工作频率:535MHz,相当于普通8051:60420MHz8/16/24/32/40/48/56/60/61K字节片内Flash程序存储器,擦写次数10万次以上大容量片内EEPROM(FLASH)功能,擦写次数10万次以上ISP/IAP(在系统可编程/在应用可编程),无需编程器/仿真器高速ADC,8通道10位,速度可达30万次/秒。3路PWM还可当3路D/A使用3通道捕获/比较单元(CCP/PCA/PWM)-也可用来再实现3路D/
6、A 3个定时器或3个外部中断(支持上升沿/下降沿中断)6个定时器,2个16位可重装载定时器T0和T1兼容普通8051的定时器,新增了一个16位的定时器T2,并可实现时钟输出,3路CCP/PCA可再实现3个定时器可编程时钟输出功能(对内部系统时钟或外部管脚的时钟输入进行时钟分频输出): T0 在P3.5 输出时钟; T1 在P3.4 输出时钟; T2 在P3.0 输出时钟,以上3个定时器/计数器输出时钟均可165536级分频输出; 内部主时钟在P5.4/MCLKO 对外输出时钟(STC15系列8-pin单片机的主时钟在P3.4/MCLKO 对外输出时钟)硬件看门狗(WDT)SPI高速同步串行通信
7、接口双串口/UART,两个完全独立的高速异步串行通信端口,分时切换可当5组串口使用先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令通用I/O口(42/38/30/26个),复位后为:准双向口R弱上拉(8051传统I/O口)可设置四种模式:准双向口弱上拉、强推挽弱上拉、仅为输入/高阻和开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA如果I/O口不够用可以用3根普通I/O口线外接74HC595来扩展I/O口,并可多芯片级联扩展几十个I/O口,还可用A/D作按键扫描来节省I/O口二、多功能电子时钟2.1设计要求1、 实现时、分、秒、年、月、日的显示,而且还有闹
8、钟的功能。2、 能够调整时钟的各个时钟单元的值,并且按键灵敏。3、 在调整时钟单元值的时候要求有闪烁功能。2.2设计电路组成 本次课程设计采用宏晶公司最新STC系列IAP15F2K61S2芯片独立按键:设计采用的是独立式按键:当开关打到下面时由P0-P3构成了4个独立按键。数码管:设计采用的是8位共阴数码管显示数码管驱动电路:数码管驱动电路主要由2片74HC595组成,两片芯片之间级联。一片驱动位选,一片驱动段选。由单片机控制p0.3,p0.4,p0.5来控制两片芯片的输出。程序下载芯片:USB转串口芯片CH340G,可实现程序下载2.3电路方案设计1、电路主要由15F单片机、数码管、4个独立
9、按键、74HC595,USB转串口芯片CH340G,8个LED灯。2、单片机通过对按键的检测实现不同的功能,主要有以下几点:(1)单片机通过对p0.3,p0.4,p0.5对两片74HC595写入数据来使8个数码管显示。(2)当设置的闹钟时间匹配到当前时间时,单片机会点亮LED灯,检测合适的按键会使LED灯熄灭。2.4系统资源分配 定时器T0:用于时钟走时,对基本时间单位计数并对秒单元操作 定时器T1:在功能键调整时对时钟单元时实现闪烁的的半秒计数 30H38H是8个时钟数据单元,分别为秒、分、时、日、月、年、闹钟-秒、闹钟-分、闹钟-时单元 P0.3,P0.4,P0.5是74HC595控制单元
10、,实现对数码管的显示 P2:闹钟显示,闹钟匹配成功后点亮LED灯R0:功能键模式中指向修改单元的地址R1:时钟调整时所用的地址指针R2:写74HC595计数单元,写8位R3、R4:毫秒延时单元(用于数码管显示),R4还作为送数码管显示位选缓冲单元R5: 基本的时钟单元计数,满100秒单元加一 R6:半秒闪烁计数P1.0,P1.1,P1.2,P1.3为四个独立按键位20H.0,20H.1,20H.2为三个自定义按键标志位40H:对循环次数计数,满足条件时对指定单元加1(快速加数)41H,42H:对循环计数,满足条件时对指定单元清043H、44H、45H:显示模块缓冲单元(写8个数码管)47H:数
11、码管送显示缓冲单元48H:闪烁缓存单元,大小为0BBH,根据查表得到灯灭的段选码2.5软件功能组成和模块化程序整个程序主要有:主程序、各个按键功能子程序、两个定时器中断程序、写74HC595芯片子程序还有其他模块子程序等等主程序模块:在主程序中循环显示时钟与检测按键,若无按键则一直检测按键,则一直进行此循环,知道检测到按键为止。/*主程序*/START: ACALL DISPLAY1 ACALL CLOCK ;闹钟检查TEST_S1: JB S1,TEST_S2 ACALL K1 ;S1按下,调用年月日显示TEST_S2: JB P1.1,TEST_S3 ACALL K2 ;S2按下,调用K2
12、(功能模块)TEST_S3: JB S3,TEST_S4 ACALL CL_DISP ;显示闹钟TEST_S4: JB S4,TEST_EXT MOV P2,#0FFH ;对闹钟状态清除TEST_EXT:SJMP START闹钟检查模块:实现闹钟匹配,并执行相关的响应,在响应执行30秒后可自动清除闹钟响应,实现代码模块如下:/*闹钟检查*/CLOCK: MOV A,SECOND_CL CJNE A,SECOND,C_EXT ;匹配秒单元 MOV A,MINU_CL CJNE A,MINU,C_EXT ;匹配分单元 MOV A,HOUR_CL CJNE A,HOUR,C_EXT ;匹配时单元 M
13、OV A,SECOND_CLCLR CADDC A,#30HDA AMOV B,AMOV P2,#0FHC_EXT: MOV A,B CJNE A,SECOND,CLOCK_EXTMOV P2,#0FFHCLOCK_EXT:RET年月日显示模块:按下S1按键,可显示年月日的信息,实现代码模块如下:/*S1按键显示*/K1: ACALL DISPLAY2 ;年月日显示 ACALL CLOCK JB S1,K1_EXT SJMP K1K1_EXT: RET闹钟显示模块:按下S3按键,可显示所定的闹钟时刻,实现代码模块如下:/*闹钟显示*/CL_DISP: ACALL DISPLAY3 ACALL
14、CLOCK JNB S3,CL_DISP RET时钟修改功能键:在修改时钟时,会对显示时钟闪烁处理,然后根据按键的情况来进行相关的操作,如:S1长按会使指定单元数据增加的速度变快;S2按键会使指针指向下一个单元,准备对下一单元进行操作;S3按下时指针指向的单元(即闪烁单元)加1;S3长时间按下(如超过3秒),则对指定单元清0;S4按键按下后,退出S2功能模块,返回主程序显示模块。实现代码模块如下:/*S2按键功能子程序*/K2: MOV TL1,#0F0H ;S2按键调用 MOV TH1,#0D8H MOV R6,#50 CLR TR0 ;关闭走时定时器 SETB F2 ;S2已按键标志 CL
15、R F3 ;S3未按键标志 SETB TR1 ;开闪烁定时器 MOV SSDY,#0BBH ;数码管全灭代码(第11个段选码为00H,数码管灭) MOV R0,#SECOND ;从第一个开始闪烁 MOV 40H,#25/*S3长按清“0”*/K2_S3_2: JB S3,S2_2_EXT DJNZ 41H,K2_S1 DJNZ 42H,K2_S1;检测S3按下后循环210*2次,对闪烁单元清“0” CJNE R0,#0BBH,S2_2 MOV SSDY,R0S2_2: MOV R0,#00HS2_2_EXT:MOV 41H,#210 MOV 42H,#2 ;计数200*2次/*S1长按快速加数
16、*/K2_S1: JB S1,K2_SS DJNZ 40H,K2_SS MOV 40H,#25 ACALL CHANGE AJMP S3_1/*闪烁模块(定时器T1 0.5秒标志F1)*/ K2_SS: JNB F1,K2_S2;判断闪烁标志 MOV A,SSDY XCH A,R0 MOV SSDY,A;闪烁 CLR F1/*S2按键对下一个单元操作*/K2_S2: ACALL S2_IN ;指向下一个单位/*S3按键对指定单元加1*/K2_S3_1: JB S3,S3_1_EXT;S3是否按下 JB F3,DISP_CH ;S3按键已按下,查看上一个S3是否按下 SETB F3 ;没按下,说
17、明是第一次按下 ACALL CHANGE ;还原38H与闪烁单元的值 SJMP S3_1S3_1_EXT:CLR F3 ;S3未按下,清除S3按键标志 SJMP DISP_CHS3_1: ACALL CREASE;对闪烁的单元加1,十进制调整,上限设置 MOV R6,#50 CLR F1;按下键后可显示半秒 ACALL CHANGE/*对显示的单元进行选择*/DISP_CH: ACALL CH_IN;对显示的单元进行选择/*S4按键退出功能设置*/K2_S4: JNB S4,K2_EXT;S4按键按下则退出S2按键子程序,返回主程序CJNE R0,#39H,K2_S3_2K2_EXT: ACA
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 单片机 课程设计