单片机模拟带计时功能数字时钟

合集下载

单片机制作的6位数字钟

单片机制作的6位数字钟

单片机制作的6位数字钟常见的电子钟程序由显示部分,计算部分,时钟调整部分构成。

时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。

10秒位到5后,即59秒,分钟加1,10秒位回0。

依次类推,时钟最大的显示值为23小时59分59秒。

这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。

开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。

6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。

以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 中断入口程序;; (仅供参考);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口地址RETI ;串行中断程序返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH;clr P3.7 ;CLEARDISP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H(标志用)MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值SETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4,#14H ;1秒定时用初值(50MS×20)START1: LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1秒计时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0MOV A,#0B7H ;中断响应时间同步修正ADD A,TL0 ;低8位初值修正MOV TL0,A ;重装初值(低8位修正值)MOV A,#3CH ;高8位初值修正ADDC A,TH0 ;MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0 MOV R0,#79H ;指向小时计时单(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0 OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 闪动调时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护PUSH PSW ;MOV TL1, #0B0H ;装定时器T1定时初值MOV TH1, #3CH ;DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV 72H,76H ;02H位为0时正常显示MOV 73H,77H ;MOV 74H,78H ;MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场POP ACC ;RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据MOV 74H,78H ;MOV 75H,79H ;AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;MOV 75H,7AH ;AJMP INTT1OUT ;转中断退出;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 加1子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 清零程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.............;; 时钟调整程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1SET4: JB P3.7,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态MOV R0,#77H ;按下时间小于0.5秒加1分钟操作LCALL ADD1 ;调用加1子程序MOV A,R3 ;取调整单元数据CLR C ;清进位标志CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0CLR C ;清进位标志AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。

基于单片机的多功能数字时钟设计

基于单片机的多功能数字时钟设计

技术平台采用碱性电解液电沉积活性锌粉,选取电解液浓度1.25g/cm3,电流密度150mA/cm2,电解槽温度只需控制在室温,锌粉洗涤后真空干燥,所制得的锌粉比表面积大于0.8m2/g,具有较高的电化学活性,能满足锌银电池生产需要,生产效率也达到批量生产要求。

参考文献:[1]侯新刚,王胜,王玉棉.超细活性锌粉的制备与表征[J].粉末冶金工业,2004,14(1):10-13.[2]李永祥,黄孟阳,任锐.电解法制备树枝状锌粉工艺研究[J].四川有色金属,2011,(3):45-50.[3]胡会利,李宁,程瑾宁,等.电解法制备超细锌粉的工艺研究[J].粉末冶金工业,2007,17(1):24-29.基于单片机的多功能数字时钟设计刘晓萌(安徽职业技术学院铁道学院/合肥铁路工程学校,安徽 合肥 230011)摘 要:常见的数字钟有时间、闹钟等功能。

本文基于单片机、温度传感器、液晶显示屏、时钟芯片等硬件设计了多功能数字时钟,软件部分采用C语言编程实现。

该多功能数字时钟包含万年历、节日、节气、温度信息显示等功能,并且在断电的情况下也能正常工作。

关键词:单片机;多功能数字时钟;C语言编程0 引言人类对于时间的需求从古到今始终存在。

古代有浑天仪、日晷,近代出现了机械时钟。

如今,传统的计时工具,甚至是电子钟都已经满足不了人们多元化的时间需求。

数字时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的应用空间[1]。

使用数字时钟,用户可以获取精确到秒的时间信息,或是对时钟进行自定义的操作,为现代社会提供了极大的方便[2]。

然而,传统的数字时钟只包含时间显示、闹钟等功能,存在一定的局限性。

本文基于单片机、温度传感器、液晶显示屏、时钟芯片、键盘模块、闹铃模块和电力支持模块等硬件,设计了一款多功能的数字时钟。

1 系统硬件组成数字时钟的硬件由七个模块组成,包括:STC89C52单片机主控芯片、DS1302时钟芯片、DS18B20温度芯片、LCD1602液晶显示模块、闹铃模块、键盘模块和电源。

基于单片机的多功能数字钟60秒LED旋转电子钟

基于单片机的多功能数字钟60秒LED旋转电子钟

第1节引言1.1 电子钟概述目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。

要知道当前的时间,必须先开灯,故较为不便。

现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。

此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。

针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。

另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

1.2 设计任务本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。

系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。

能实现时钟时、分、秒的显示。

也具有温度显示、时间设置、闹铃开和关设置、制式切换。

文章后附有电路图、程序清单。

1.3 系统主要功能电子钟的外观如图1所示。

周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。

其主要功能有:①整点报时;②四只LED数码管显示当前时分;③每隔一秒钟周边的60只LED发光管旋转一格;④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。

⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

图一第2节电子钟硬件设计2.1系统的硬件构成及功能电子钟的原理框图如图2所示。

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计1. 本文概述随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。

本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。

51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。

本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。

本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。

接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。

将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。

软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。

本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。

通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。

2. 51单片机概述51单片机,作为一种经典的微控制器,因其高性能、低功耗和易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。

它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。

51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。

51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。

其存储器分为程序存储器(ROM)和数据存储器(RAM)。

程序存储器通常用于存放程序代码,而数据存储器则用于存放运行中的数据和临时变量。

51单片机还包含特殊功能寄存器(SFR),用于控制IO端口、定时器计数器和串行通信等。

51单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。

单片机数字钟工作原理

单片机数字钟工作原理

单片机数字钟工作原理
单片机数字钟是一种通过单片机控制数字时钟的设备。

单片机是一种高度集成的电子芯片,具有非常强大的计算和控制能力。

在数字钟中,单片机负责控制时间数码管的显示和计时功能。

具体来说,单片机数字钟的工作原理如下:
1. 时钟电路:单片机数字钟中使用的时钟电路通常是晶体振荡器。

晶体振荡器会产生非常稳定的频率,用于单片机的计时和控制。

2. 计时功能:单片机通过时钟电路来计时。

当单片机启动时,它会从时钟电路中读取当前的时间,然后根据程序中设定的规则不停地更新时间。

单片机数字钟通常会具有秒、分、时等多个计时功能,可以显示当前的精确时间。

3. 显示功能:单片机数字钟通过数码管来显示时间。

数码管是一种常见的显示器件,可以显示数字、字母等信息。

单片机通过控制数码管的亮灭来显示当前时间。

4. 控制功能:单片机数字钟还具有控制功能。

例如,可以通过按钮来调整时间、闹钟等功能。

单片机还可以控制数码管的亮度、闪烁等效果,以及声光报警等功能。

综上所述,单片机数字钟是一种功能强大、精确可靠的电子设备,广泛应用于家庭、办公室、实验室等场合。

- 1 -。

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。

通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。

二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。

它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。

2、时钟计时原理数字时钟的核心是准确的计时功能。

通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。

3、数码管显示原理采用共阳或共阴数码管来显示时间数字。

通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。

4、按键控制原理设置按键用于调整时间。

通过检测按键的按下状态,进入相应的时间调整模式。

三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。

确保连接正确可靠,避免短路或断路。

2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。

(2)编写定时器中断服务程序,实现秒的计时。

(3)设计计时算法,将秒转换为分、时,并进行进位处理。

(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。

(5)添加按键检测程序,实现时间的调整功能。

3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。

五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置秒表是一种用来测量时间流逝的仪器,广泛应用于体育比赛、科学实验和日常生活中。

在现代科技的推动下,秒表的功能和精准度都得到了极大提升。

本文将介绍一种单片机实现的简易秒表,能够进行正计时,并可设置计时时间。

用于实现秒表功能的单片机芯片有很多种,通常选择计时和定时功能强大的单片机,如STC89C52、AT89C51等。

这些单片机具有丰富的外设和强大的计时能力,非常适合实现秒表功能。

在开始设计之前,我们需要明确几个关键的功能要求。

首先是正计时功能,我们需要编写程序来实现从0开始的计时。

其次是计时时间可设置,即用户可以设置计时的起始时间和结束时间。

最后是计时的精确度,单片机通常使用定时中断来实现计时,我们需要考虑到时钟频率和定时器的精度,确保计时的准确性。

首先,我们需要连接单片机与显示器和按键开关。

单片机的引脚可以通过通用I/O口或专用的定时器引脚与显示器和按键开关相连接。

这里我们选择7段LED数码管作为显示器,用来显示计时结果。

按键开关用于设置计时时间。

接下来,我们需要编写程序来实现秒表的功能。

首先,初始化单片机的定时器和中断。

我们需要设置定时器的工作模式、时钟频率和计时的时间间隔。

然后,我们需要编写中断服务函数,该函数在定时器达到设定的时间时被调用。

在中断服务函数中,我们将对计时进行加法操作,并将结果显示在LED数码管上。

同时,我们还需要判断计时是否达到设置的结束时间,如果达到,则停止计时。

为了使用户可以设置计时时间,我们可以通过按键开关来实现。

当用户按下设定时间的键时,我们将进入设定模式,用户可以通过按键来设定起始时间和结束时间。

通过LED数码管来显示用户设置的时间。

最后,我们需要对秒表进行测试和调试,确保其功能的正常运行。

我们可以逐步测试每个功能点,如正计时功能、计时时间设置功能和计时精确度等。

通过串口输出调试信息,我们可以对程序进行调优和改进,提高秒表的性能和稳定性。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

单片机课程设计实验报告+基于单片机的数字时钟+含完整实验代码

单片机课程设计实验报告+基于单片机的数字时钟+含完整实验代码

单片机课程设计报告基于单片机的数字时钟姓名:班级:学号:一、前言利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。

功能要求:a)计时并显示(LED)。

由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。

b)时间调整功能。

利用4个独立按钮,实现时钟调整功能。

这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。

c)定闹功能。

利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。

d)秒表功能。

最小时间单位0.01秒。

二、硬件原理分析1.电源部分电源部份采用两种输入接口(如上图)。

a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。

b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。

注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。

S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。

电路采用两个滤波电容,给板子一个更加稳定的工作电源。

LED为电源的指示灯,通电后LED灯亮。

2.蜂鸣器蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。

有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。

如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。

低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。

电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。

数码管的阴级由P0口经过电阻限流连接。

例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。

(完整word版)51单片机数字钟

(完整word版)51单片机数字钟

目录1 设计任务与要求 (I)2 设计方案 (1)3 硬件设计 (2)3.1 AT89C51单片机简介 2 3.2单片机型号的选择 (6)3.3数码管显示工作原理 (6)4 软件设计 (7)4.1主程序模块介绍 (7)4.2主程序 (7)5 仿真调试 ......................................... 错误!未定义书签。

5.1K EIL仿真结果.................................. 错误!未定义书签。

5.2仿真结果分析 (13)6 小结 ............................................. 错误!未定义书签。

1 设计任务与要求1. 设计一个基于单片机的电子时钟,并且能够实现时分秒的现实和调节。

2. 设计出硬件电路。

3. 设计出软件编程方法,并写出源代码。

4. 用PROTEUS进行仿真。

5.用汇方式实现目的。

7.系统的各各功能模块要编语言编实现程序设计。

6.利用查表,中断等清楚,有序。

8.程序运行时有友好的用户界面。

2 设计方案本设计主要设计了一个基于AT89C51单片机的电子时钟。

并在数码管上显示相应的时间。

并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。

应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。

该方法仿真效果真实、准确,节省了硬件资源。

该设计的硬件部分主要包括89C51多功能接口芯片用于开发电子时钟芯片、LED七段数码显示器用于显示时间、8031集成定时器用于定时、0.125W、8欧姆的扬声器用于定时发声。

软件部分包括主程序、定时计数中断程序、时间调整程序、延时程序四大模块。

通过中断程序进行定时器计数,时间调整程序是当键按下时间小于1秒,关闭显示(省电)进入调节时间状态,延时程序用于时间的延迟。

先设计个秒钟程序,在秒钟程序中先不设计按钮,直接通电运行,使用40H 存放计数值,从00—59,一直循环,把40H中的数值拆分成个位和十位,分别存在30H与31H中,要求动态扫描时,使用21H当标志位,用指令JB控制显示个位与十位,程序中使用中间寄存器R0与R1用于存放拆分后的字型,再传到30H与31H中去,再设计时钟程序。

基于AT89S52单片机的智能数字电子时钟设计

基于AT89S52单片机的智能数字电子时钟设计

基于AT89S52单片机的智能数字电子时钟设计
(1)数字钟实现对年、月、日、时、分、秒、星期显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

(2)诸如定时自动报警、时间程序自动控制、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

利用AT89S52单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。

功能:(1)实现年、月、日、星期、时、分、秒的显示;
(2)实现调时功能;
(3)实现12/24小时制切换;
(4)实现整点报时功能。

设计方案:
器件选择(主要器件)(1)AT89S52单片机
(2)LCD1602液晶屏
AT89S521602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。

1602LCD主要技术参数:显示容量:162个字符,芯片工作电压:4.55.5V,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V,字符尺寸:2.954.35(WH)mm
LCD1602引脚图第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生鬼影,使用时可以通过一个10K的电位器调整对比度。

51单片机数字钟设计程序

51单片机数字钟设计程序

51单片机数字钟设计程序51单片机是一种常用的单片机芯片,它具有体积小、功耗低、性能稳定等特点,被广泛应用于各种电子设备中。

本文将以51单片机数字钟设计程序为主题,介绍如何使用51单片机设计并实现一个简单的数字钟。

我们需要了解一下数字钟的基本原理。

数字钟主要由时钟芯片、数码管、按键等组成。

时钟芯片负责计时和控制,数码管用于显示时间,按键则用于设置和调整时间。

在设计数字钟的程序时,我们需要考虑以下几个方面:1. 时钟设置:首先,我们需要设置时钟芯片的工作模式。

一般来说,时钟芯片有两种工作模式,分别是24小时制和12小时制。

我们可以通过按键来选择工作模式,并将选择结果保存到相应的寄存器中。

2. 时间显示:接下来,我们需要将时钟芯片中的时间数据通过数码管显示出来。

数码管通常由7段LED组成,每段LED对应一个数字或字符。

我们可以通过控制数码管的引脚状态来实现不同数字的显示。

同时,为了使时间显示更加清晰,我们可以在数码管之间加入冒号等分隔符。

3. 时间调整:为了保证时间的准确性,我们需要提供时间调整的功能。

可以通过按键来实现时间的增加和减少,从而调整时钟芯片中的时间数据。

当按键按下时,我们可以检测到相应的信号,并将其转换为时间调整的命令。

4. 闹钟功能:除了显示时间,数字钟还可以具备闹钟功能。

我们可以设置一个闹钟时间,并在达到闹钟时间时触发相应的报警信号。

一般来说,闹钟功能可以通过按键设置,并将设置结果保存在相应的寄存器中。

当时钟芯片中的时间与闹钟时间一致时,我们可以通过控制蜂鸣器等外设来发出报警信号。

通过以上的设计,我们可以实现一个简单的数字钟。

当然,如果我们希望数字钟具备更多的功能,比如温湿度显示、定时器等,我们还可以在程序中添加相应的代码来实现。

总结一下,本文以51单片机数字钟设计程序为主题,介绍了数字钟的基本原理以及设计过程。

通过对时钟芯片、数码管、按键等的控制,我们可以实现时间的显示、调整和闹钟功能。

利用单片机的定时器设计一个数字时钟

利用单片机的定时器设计一个数字时钟

利用单片机的定时器设计一个数字时钟数字时钟是我们日常生活中常见的计时工具,可以准确地显示当前的时间。

而单片机的定时器则可以提供精准的定时功能,因此可以利用单片机的定时器来设计一个数字时钟。

本文将介绍如何使用单片机的定时器来设计一个基于数字显示的时钟,并提供基本的代码实现。

一、时钟电路设计利用单片机设计一个数字时钟,首先需要设计一个合适的时钟电路。

时钟电路一般由电源电路、晶振电路、单片机复位电路和显示电路组成。

1. 电源电路:为电路提供工作所需的电源电压,一般使用稳压电源芯片进行稳定的供电。

2. 晶振电路:利用晶振来提供一个稳定的时钟信号,常用的晶振频率有11.0592MHz、12MHz等。

3. 单片机复位电路:用于保证单片机在上电或复位时能够正确地初始化,一般使用降低复位电平的电路。

4. 显示电路:用于将单片机输出的数字信号转换成七段数码管可以识别的信号,一般使用BCD码和译码器进行实现。

二、单片机定时器的应用单片机的定时器具有精准的定时功能,可以帮助实现时钟的计时功能。

单片机的定时器一般分为定时器0和定时器1,根据具体的应用需求选择使用。

在设计数字时钟时,可以将定时器0配置成定时器模式,设置一个适当的定时时间。

当定时器0计时达到设定时间时,会触发一个中断信号,通过中断处理程序可以实现时钟的计时功能。

以下是一个基于单片机的定时器的伪代码示例:```void Timer0_Init(){// 设置定时器0为工作在定时器模式下// 设置计时时间// 开启定时器0中断}// 定时器0中断处理程序void Timer0_Interrupt_Handler(){// 更新时钟显示}void main(){Timer0_Init();while(1){// 主循环}}```在上述伪代码中,Timer0_Init()函数用于初始化定时器0的相关设置,包括工作模式和计时时间等。

Timer0_Interrupt_Handler()函数是定时器0的中断处理程序,用于处理定时器0计时到达设定时间时的操作,例如更新时钟显示。

基于51单片机设计的多功能数字时钟毕业设计

基于51单片机设计的多功能数字时钟毕业设计

基于51单片机多功能数字时钟1系统设计1.1设计要求设计制作一个24小时制多功能数字钟。

1.1.1主要性能指标1、数字显示年、月、周、日、时、分、秒。

1.1.2创意部分要求准确的进行年、月、周、日、时、分、秒的转换,切换两种显示模式。

1.2总体设计方案1.2.1概述及设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天)。

1.2.2方案论证(1)时钟模块【方案一】采用单片机内置定时/计数器。

它的处理过程主要是先设定单片机内部定时/计数器的工作方式,对机器周期计数确定基准时间,然后用另外一个定时器软件计数的方法对基准时间形成秒,秒计60次形成分,分计60次形成小时。

依此类推,获取日期也是采用相同的方法。

该方案在具体实现过程中,计时存在较大的误差。

如果晶振受到其他外界信号干扰,或者基准时间计算不准确,都会导致时间显示错误。

【方案二】采用555多谐振荡器。

由555定时器组成一个多谐振荡器,产生周期为100HZ的脉冲,然后经过两个74LS160组成的分频器得到1HZ的秒脉冲。

多谐振荡器的稳定度及频率的准确度决定了数字钟计时的准确程度,通常选用成品晶振构成振荡器电路。

计时精度取决于振荡器的频率,振荡器频率越高计时精度越高。

【方案三】采用DS1302时钟芯片。

DS1302是一种高性能、超低功耗的实时时钟芯片,附加31字节静态RAM,可以通过串行接口与单片机进行通信。

实时时钟提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。

芯片内部集成备用电源,当外围电路电路有电源供应的时候,备用电源充电储能。

当外围电路掉电时,DS1302芯片工作在休眠状态,以备用电源供电。

当外围电路再次供电,即可唤醒休眠进入正常工作状态,显示时间无任何异常。

基于单片机的多功能数字钟设计报告毕业设计(论文)

基于单片机的多功能数字钟设计报告毕业设计(论文)

目录1..............设计整体思路2.............基本原理3.............单元电路设计及单元电路4..............安装调试步骤5..............故障分析与电路改进6..............总结与体会7..............参考文献8..............附录(元器件清单及总电路图)一.设计的整体思路:1.课程设计要求:要用时序逻辑电路设计出一个多功能可调的数字钟,这个数字钟要可调,能显示时分秒,并且要能准确的显示。

2.设计的目的:1 掌握集成电路的引脚安排2 掌握各芯片的逻辑功能及使用方法3 理解数字钟的组成和工作原理4 熟悉数字钟的设计与制作要求:时间以24小时为一个计时周期显示时分秒有校时功能,可以分别对时分进行校时计数器有整点报时功能须有晶体振荡器提供表针时间基准信号画出电路原理图元器件及参数选择电路仿真及调试自行装配和调试,并能发现问题和解决问题编写设计报告二.基本原理及其框图1.主电路是由一个4060芯片,六个74161四位同步二进制计数器和六个CD4511七段显示译码器构成。

其中4060是用来产生始终脉冲信号,74161是用来计数的工作时,每秒一次的方波作为“秒”脉冲信号,因每分钟有60秒,所以“秒”计数器为六十进制计数器,“分”的计数器亦同,而“时”采用二十四进制计数器。

当“秒”计数器满60时,输出秒进位脉冲,送“分”计数器;当“分”计数器满60时,输出“分”进位脉冲,送“时”计数器计数;当“时”计数器满24小时候,“时”“分”“秒”计数器同时自动复零。

每个计数器输出均要经过译码器,显示器显示时钟的“时”“分”“秒”。

三.单元电路设计及单元电路1.如图所示:多谐振荡器该电路由一个4060,一个晶振和一个10M电阻两个22pf电容组成.如图所示2.译码显示电路如图所示:该电路由一个4511BD芯片与共阴极数码管构成图3——1该电路时有两个74LS161和一个74LS04与门,两个数码管和两个的CD4511译码器构成,他们构成一个六十进制计数器,是用来显示秒。

基于C51单片机的数字时钟课程设计(C语言,带闹钟).

基于C51单片机的数字时钟课程设计(C语言,带闹钟).

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录一、数字电子钟设计任务、功能要求说明及方案介绍 (4)1.1 设计课题设计任务 (4)1.2 设计课题的功能要求说明 (4)1.3 设计课的设计总体方案介绍及工作原理说明 (4)二、设计课题的硬件系统的设计 (5)2.1硬件系统各模块功能简要介绍 (5)2.1.1 AT89C52简介 (5)2.1.2 按键电路 (6)三、设计课题的软件系统的设计 (6)3.1 使用单片机资源的情况 (6)3.2 软件系统个模块功能简要介绍 (7)3.3 软件系统程序流程框图 (7)3.4 软件系统程序清单 (7)四、设计课题的设计结论、仿真结果、误差分析 (9)4.1 设计结论及使用说明 (9)4.2 仿真结果 (10)结束语 (12)参考文献 (12)附录 (13)附录A:程序清单 (13)一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

单片机课程设计数字钟实验报告

单片机课程设计数字钟实验报告

单片机课程设计:电子钟一、实现功能1、能够实现准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位,能够调节时钟时间。

3、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。

4、能够实现按键启动与停止功能。

5、能够实现整点报时功能。

6、能够实现秒表功能。

二、设计思路1、芯片介绍VCC:电源。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能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口同时为闪烁编程和编程校验接收一些控制信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

苏州市职业大学实习(实训)报告名称单片机控制项目实训——模拟带计时功能的数字时钟2013年1 月7 日至2013 年1 月11 日共1 周院系计算机工程系班级姓名系主任教研室主任指导教师目录目录 (1)一、课程设计的目的与要求 (2)1.课程设计的目的 (2)2.课程设计的要求 (2)二、题目说明 (2)开发背景 (2)开发工具介绍 (3)小组成员分工 (3)三、硬件方案 (3)主控MCU (3)键盘 (4)LCD液晶 (4)定时器 (6)四、软件设计 (7)模块划分 (7)模块结构图 (7)键盘中断模块 (7)五、运行结果分析与系统改进 (9)六、遇到的问题和解决方法 (9)七、课程设计总结 (10)八、参考文献 (10)一、课程设计的目的与要求1.课程设计的目的《单片机原理与应用》是一门应用性很强的专业课,其理论与实践技能是从事嵌入式专业技术工作的人员所不可少的。

本次课程设计选择AW60实验板进行模拟应用设计与开发,要求学生掌握使用 C 语言进行单片机程序设计和调试的方法,提高综合运用所学的理论知识独立分析和解决问题的能力。

2.课程设计的要求在本课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。

认真编写课程设计报告。

二、题目说明我们选择的题目是:模拟带计时功能的数字时钟题目描述:用AW60实验板模拟带计时功能的数字时钟,可设置时钟初始值,可调整时钟时间,可实现秒表计时功能。

通过AW60的内部的定时器模块实现计时功能。

1)输入:自定义键盘,模拟时钟的按键。

2)输出:用液晶显示器显示时钟时间。

3)时间:用定时器模块实现计时功能。

(可加整点报时,或闹钟功能)开发背景近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的要求。

多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

数字钟已成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便。

电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。

随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。

在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。

开发工具介绍我们所使用的开发工具有:CodeWarrior编程软件、写入器和MC9S08AW60实验板。

小组成员分工本小组共由施燕、盛钰明和俞季笑三人组成,课程设计课题共涉及键盘中断模块、LCD液晶显示器模块、定时器中断模块。

其中,施燕负责键盘中断模块,盛钰明负责定时器中断模块,俞季笑负责LCD液晶显示器模块。

三、硬件方案主控MCUHCS08系列MCU是Freescale 8位微处理器的主流产品,应用非常广泛。

MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装。

MC9S08AW60微控制器的主要特点概述如下:①2K片内RAM;60K片内Flash程序存储器,具有在线编程能力和保密功能。

②时钟发生器模块,具有PLL电路,可产生各种工作频率;内部总线频率最高可达20MHz。

③增强的HCS08 CPU结构;最高支持26个中断源。

④54根通用I/O脚,部分I/O口有可选择的内部上拉电阻,并且可以选择引脚的驱动能力。

⑤两个增强型串行通讯口SCI;一个串行外围接口SPI;一个集成电路内部通信接口IIC;两个16位双通道定时器接口模块(TIM1和TIM2),每个通道可选择为输入捕捉、输出比较和PWM;一个模拟信号比较器ACMP;16路10位AD转换模块;8位键盘唤醒口;一个实时时钟计数器模块;一个计算机工作正常(COP)复位模块。

⑥优化用于控制应用;优化支持C语言。

键盘键盘是常用的输入设备,评估板以9个小按键模拟一个3*3 键盘,以掌握矩阵键盘的工作原理,如图3-1所示。

AW60 内部集成了键盘输入中断模块,但是数量有限,为了给用户提供更大的灵活性,评估版中使用插孔的方式,用户可以将任意I/O口接到插孔上来,这样即提高了用户编程的灵活性,又提高了I/O口的使用灵活性。

LCD液晶LCD 即液晶,是常用的嵌入式输出设备。

评估板上配置两种LCD,一种使用1602点阵字符型LCD,LCD管脚定义如表1所示,实物及原理图如图3-2所示。

图3-1 键盘原理图3表3-1 LCD1602管脚定义管脚号符号电平方向引脚含义说明1 Vss 电源地2 Vdd 电源(+5V)3 V0 液晶驱动电源4 RS H/L 输入寄存器选择;1-数据寄存器 0-数据寄存器5 R/W H/L 输入读写操作选择:1-读操作 0-写操作6 EH/LH→L输入使能信号:R/W=0,E下降沿有效R/W=1,E=1有效7~14 DB0~DB7 三态8位数据总线15 NC 空脚,未定义16 GND 地此型号液晶采用并口通信方式,评估板中使用PTB口作为数据口,另外控制引脚采用PTA0~PTA3四个引脚控制,如图9右侧所示。

图3-2 LCD实物及原理图4LCD部分的第二种型号是128×64型LCD,具体见其实用手册,原理图如图3-3所示:图3-3 LCD2此LCD采用串行通信方式,大大减少了I/O口资源的使用,仅仅使用PTA0~PTA3四个I/0即可完成通信,其中PTA3是用来控制背光的,如果保持LCD背光常亮,则仅需要3个I/O口接口控制LCD。

定时器定时器-一个2通道和一个6通道,16位定时器/脉宽调制法器。

(TPM)模块:每个通道上都具有可选的input;采集,;output比较及边缘对齐PWM功能针对所有通道的缓存,居中PWM(CPWM),可对各定时器模块进行定位。

四、软件设计模块划分课程设计课题共涉及键盘中断模块、LCD液晶显示器模块和定时器中断模块。

模块结构图本实验共使用了键盘中断模块、LCD液晶显示器模块、定时器中断模块、主控模块。

如图4-1所示。

图4-1 模块结构图键盘中断模块在函数中,通过KB_Init(); EnableKBInt();开放键盘中断;键盘模块使用“PTG0~PTG2、PTC0~PTC2”6个引脚,通过定义键值码表来表示“0~8”字符,其中0和3用来表示时的加减,1和4表示分的加减,2和5表示秒的加减;在函数中来调用LCD模块。

键盘中断模块流程图如图4-2所示:键盘中断模块在这次课程设计中占据枢纽地位。

程序通过键盘中断模块调用LCD液晶显示器模块,完成电子钟时间的显示。

6图4-2 键盘中断流程图7五、运行结果分析与系统改进1、运行程序后,时间开始在LCD液晶上显示2、当我们在3*3的键盘上按下0时,时间的时会加1;按下3时,时间的时会减13、当我们按下1时,可看到时间的分会加1;按下4时,分就减14、当我们按键按下2时,我们会看到时间的秒加1;按下5时,秒就减1(因为秒一直都在不停的动,所以当我们做加减的时候不怎么明显)5、当时间显示到23:59:59时,下一秒就会变成00:00:00重新开始六、遇到的问题和解决方法1、无法在串口工具窗口中看到运行情况:在我们刚开始运行程序的时候,打开串口调试工具窗口却看不到运行的结果,但是LCD显示器上却能显示。

于是我们就知道不是时间显示的问题,而是串口程序。

但我们反复查看串口程序没有任何错误。

后来,在查看硬件的时候发现原来是串口线没有连接。

我们连接好串口线后,再打开窗口可看到结果。

2、如何利用按键控制时分秒的加减:在这个问题上,我们停留了很久。

后来我们通过用switch(data1)语句来判断,data1是取得的键值,通过对键值的判断来执行时间时分秒的加减。

3、实现对时分秒取值的范围:在运行程序后,在我们一直对时分秒加的情况下,发现时分秒数值是可以一直往上加的。

发现这个问题后,我们就通过用if语句来设定对时分秒的取值范围。

4、如何实现整点报时功能:在想这个问题的时候,我们的程序都已做完才发现少做了这个功能。

我们设定当分和秒都为0时,我们就令蜂鸣器响,然后再用些延时,然后蜂鸣器不响。

我们随便设定一个端口给它设为高电平使得蜂鸣器响,设为低电平则不响。

百度文库- 好好学习,天天向上七、课程设计总结这次的课程设计结合了以前所学的知识,巩固了这学期对单片机的学习。

这次的课程设计,我们做的是时钟。

在这个程序里,有很多都是我们以前在课堂上做过的,所以相对而言是简单些,但我们在真正做的时候还是花了不少的功夫。

在确定题目的时候,我们就对这个程序有了一定的思路,但做的过程中还是遇到了不少的问题。

但是在大家一起讨论和寻问老师的情况下,最后还是完成了。

但对于题目要求来说,我们做的程序还有不足的地方。

总的来说,这次的实验设计是一次综合练习。

让我对AW60有了更加全面的了解。

不但回顾了以前所学的内容,而且使我了解了现在还拥有的不足,弥补了一些知识漏洞。

八、参考文献[1]徐丽华.郑洪静.嵌入式应用于实践基础(讲义).苏州.2010年12月9-10。

相关文档
最新文档