单片机产品设计(简).ppt

单片机产品设计(简).ppt

ID:50766645

大小:345.50 KB

页数:47页

时间:2020-03-14

单片机产品设计(简).ppt_第1页
单片机产品设计(简).ppt_第2页
单片机产品设计(简).ppt_第3页
单片机产品设计(简).ppt_第4页
单片机产品设计(简).ppt_第5页
资源描述:

《单片机产品设计(简).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计要求总体方案硬件设计软件设计系统调试与运行第10章单片机的应用系统设计与开发本章内容SingleChipMicrocomputer一、设计要求设计并制作出具有如下功能的电脑钟:(1)自动计时,由6位LED显示器显示时、分、秒。(2)具备校准功能,可以直接由0~9数字键设置当前时间。(3)具备定时起闹功能。(4)一天时差不超过1秒钟。二、总体方案1.计时方案方案一:采用实时时钟芯片。方案二:软件控制。2.键盘/显示方案方案一:串口扩展,LED静态显示。方案二:8155扩展,LED动态显示。显示方式

2、框图(a)静态显示框图;(b)动态显示框图三、硬件设计1.电路原理图2.系统工作流程本电脑钟具备以下功能:(1)时钟显示:6位LED从左到右依次显示时、分、秒,采用24小时计时。(2)键盘功能:采用4×3键盘,包括:0~9数字键,键号为00H~09HC/R键时间设定/启动计时键,键号为0AHALM键闹钟设置/启闹/停闹键,键号为0BH(1)时间显示:上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间。(2)时间调整:按下C/R键,系统停止计时,进入时间设定状态,系统保持原

3、有显示,等待键入当前时间。按下0~9数字键可以顺序设置时、分、秒,并在相应LED管上显示设置值,直至6位设置完毕。系统将自动由设定后的时间开始计时显示。(3)闹钟设置/启闹/停闹:按下ALM键,系统继续计时,显示00:00:00,进入闹钟设置状态,等待键入启闹时间。按下0~9数字键可以顺序进行相应的时间设置,并在相应LED管上显示设置值,直至6位设置完毕。这将启动定时启闹功能,并恢复时间显示。定时时间到,蜂鸣器鸣叫,直至重新按下ALM键停闹,并取消闹钟设置。四、软件设计1.系统资源分配地址功能名称初

4、始化值30H~35H显示缓冲区,小时、分、秒(高位在前)DISP0~DISP500H3CH~3FH计时缓冲区,时、分、秒、100msHOUR,MIN,SEC,MSEC00H40H~42H闹钟值寄存区,时、分、秒AHOUR,AMIN,ASECFFH50H~7FH堆栈区PSW.5计时显示允许位(1:禁止,0:允许)F00PSW.1闹钟标志位(1:正在闹响,0:未闹响)F10电子钟控制软件片内RAM及标志位分配表2.软件流程图9.3主程序流程图图9.4计时程序流程图图9.5时间设置/闹钟定时流程图图9.6

5、键盘设置子程序流程图图9.7键盘扫描流程图(4)键盘扫描程序模块KEYSCAN:流程图如图9.7所示。图9.8显示流程图图9.9定时比较流程图ORG0000HAJMPMAINORG000BHAJMPCLOCKORG0030HPORTEQU8000HPORTAEQU8001HPORTBEQU8002H;*****************主程序MAIN******************PORTCEQU8003HDISP0EQU30HDISP1EQU31HDISP2EQU32HDISP3EQU33HDI

6、SP4EQU34HDISP5EQU35HHOUREQU3CHMINEQU3DHSECEQU3EHMSECEQU3FHAHOUREQU40HAMINEQU41HASECEQU42HF1BITPSW.1MAIN:MOVSP,#50H;设置堆栈区MOVXDPTR,#PORTMOVA,#03HMOVX@DPTR,A;8155初始化CLRF1;清零闹钟标志位CLRF0;允许计时显示MOVAHOUR,#0FFHMOVAMIN,#0FFHMOVASEC,#0FFHMOVR7,#10HMOVR0,#DISP0CLR

7、ALOOP:MOV@R0,AINCR0DJNZR7,LOOP;设置初值MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CH;定时器0初始化,定时时间100msSETBTR0;启动定时器SETBEASETBET0;开中断BEGIN:ACALLALARM;调用定时比较ACALLKEYSCAN;调用键盘扫描CJNEA,#0AH,NEXT1;是CLR/RST键否?CLRTR0;是则暂时停止计时MOVR1,#HOUR;地址指针指向计时缓冲区首地址AJMPMODNEXT1:CJNEA,#0BH

8、,BEGIN;是ALARM键否?JBF1,NEXT2;闹钟正在闹响否?MOVR1,#AHOUR;地址指针指向闹钟值寄存区首地址MOD:SETBF0;置位时间设置/闹钟定时标志,禁止显示计时时间ACALLMODIFY;调用时间设置/闹钟定时程序SETBTR0;重新开始计时CLRF0;清零时间设置/闹钟定时标志,恢复显示计时时间AJMPBEGINNEXT2:SETBP1.0;闹钟正在闹响,停闹CLRF1;清零闹钟标志AJMPBEGIN;**************时间设置

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。