为什么说范例程序运行时led1闪烁周期的理论值是0.2秒

如题所述

第1个回答  2015-01-17
其用

摘要
本题给基于单片机数字设计设计由单片机作核控制器通频率计数实现计功能实间经由单片机输显示设备——数码管显示并通键盘实现启、停止、复位调整间功能
关键词: 单片机、数字钟、AT89S52、LED
1 引言
单片机技术趋熟今其灵硬件电路设计软件设计让单片机广泛应用几乎电产品工业控制单片机都起举足轻重作用单片机系统结构几乎所具编程硬件缩影谓麻雀虽五脏俱全
现知识爆炸新代新产品、新技术层穷电技术发展更新月异毫夸张说电技术应用处电技术断改变我改变着我世界快速发展代间说越越宝贵快节奏旦遇重要事情忘记间带损失我需要计系统提醒些忙碌 随着科技发展社进步钟要求越越高传统钟已能满足需求功能数字钟管性能式都发质变化电闹钟、数字闹钟等等 单片机功能数字钟应用已非普遍基于单片机数字钟给带极便
现今高精度计工具数都使用石英晶体振荡器由于电钟石英表石英钟都采用石英技术走精度高稳定性使用便需要经调校数字式电钟用集电路计译码代替机械式传用LED显示器代替指针显示进显示间减计误差种表具秒显示间功能进行校片选灵性本文利用单片机实现数字钟计功能主要内容其AT89S52核元件同采用数码管态显示秒现代计装置与传统机械表相比具走精确,显示直观等特点计周期24显满刻度235959秒另外具校功能断电记忆功能恢复供电实现计同步等特点
2 案论证
2.1 案
数字钟采用FPGA作主控制器由于FPGA具强资源使用便灵易于进行功能扩展特别结合EDA达高效率案逻辑虽简单点块FPGA价格高于做电钟说点浪费且FPGA比较难掌握本设计作研究采用案
2.2 案二
数字钟由几种逻辑功能同CMOS数字集电路构共使用10片数字集电路其原理图图2.1所示由秒信号发器(基电路)、钟计数器及译码驱显示电路3部组其基本工作程:基电路产精确周期脉冲信号经频器作用给面计数器输送1HZ秒信号由计数器及驱显示单元按位驱数码管间显示设计电路比较复杂使用灵且价格比较高故采用案

图2.1 案二原理示意图

2.3 案三
AT89S52种低功耗、高性能CMOS 8位微控制器使用Atmel公司高密度非易失性存储器技术制造与工业80C51产品指令引脚完全兼容片Flash允许程序存储器系统编程亦适于规编程器单芯片拥灵巧8位CPU系统编程Flash使AT89S52众嵌入式控制应用系统提供高灵、效解决案具串行口片内晶振及钟电路另外AT89S52降至0Hz 静态逻辑操作支持2种软件选择节电模式空闲模式CPU停止工作允许RAM、定器/计数器、串口、断继续工作掉电保护式RAM内容保存振荡器冻结单片机切工作停止直断或硬件复位止
基于AT89S52单片机实现系统控制,外围电路比较简单本比较低系统控制灵能满足本课题基本要求扩展要求选用该案其硬件框图图2.2所示原理图见附录图6.1

图2.2 数字钟硬件框图

2.4 电路组及工作原理
本文数字钟设计原理主要利用AT89S52单片机,由单片机P0口控制数码管位显示P2口控制数码管段显示P1口与按键相接用于间校设计引入220V交流电经整流、滤波产+5V电压用于给单片机及显示电路提供工作电压
整系统工作秒信号产器整系统基信号直接决定计系统精度标准秒信号送入秒计数器秒计数器采用60进制计数器每累计60秒发脉冲信号该信号作计数器钟脉冲计数器采用60进制计数器每累计60钟发脉冲信号该信号送计数器计数器采用24进制计器实现24累计显示电路、、秒计数器输通六七段LED显示器显示校电路直接加脉冲信号计数器或者计数器或者秒计数器、、秒显示数字进行校调整本设计24钟显示、秒表设计显示都依靠单片机定器完使用定器T0产1s断断程序完每秒数字变化并主程序态显示该字符其功能框图图2.3所示

图2.3 秒表外断功能示意图

数字钟电路设计主要功能提供单片机外部LED显示、273址锁存片选及外部存储器2764接口电路外需要设计相关LED驱电路
(1)电路原理器件选择
本实例相关关键部器件名称及其数字钟电路主要功能:
89S52:单片机控制LED数据显示
LED1--LED6:用于显示单片机数据其三采用7段显示用于显示、、秒十位另三采用8段显示用于显示、、秒位
74LS273:锁存器LED显示扩展电路段码位码使用两片74LS273升沿锁存
74LS02:与非门与单片机读写信号起使用选外部74LS273决定LED字段字位显示内容
7407:驱门电路提供数码管显示驱电流
74LS04:非门单片机片选信号取反并读写信号起使用决定74LS273片选
L1--L4:发光二极管通单片机P1.4--P1.7控制用显示秒表钟间变化
BUZZER:扬声器程序规定情况发声音提示计完毕
74LS373:址锁存器P0口址数据别输入2764数据址端口
2764:EPROM单片机提供外部程序存储区
关K0、K1、K2别调整秒、、
按键RESET:复位电路起程序复位作用
按键PULSE:提供单脉冲实现单片机外部脉冲计数功能利用单脉冲实现相应位加1
(2)址配连接
P2.7:写信号起组字位口片选信号字位口应址位8000H
P2.6:写信号起组字段口片选信号字段口应址位4000H
D0--D7:单片机数据总线LED显示内容通D0--D7数据线单片机传送LED
P2.0--P2.5:单片机P2口2764高端址线相连决定2764存储单元址
P1.4--P1.7:单片机P1口反光二极管L1--L4相连通单片机P1.4--P1.7控制用显示秒表钟间变化
(3)功能简介
LED显示模块与单片机连接LED显示模块读写字位、字段通道选择通单片机P2.6、P2.7口完其P2.6、P2.7口片选信号需要读写信号做定逻辑操作保证字位字段选择确性
外部存储器2764通74LS373单片机相连并且通P2口相关信号线进行址配址范围0000H--1FFFH
3 各电路设计论证
3.1电源电路设计
各种电设备直流稳压电源必少组部仅系统提供路电压源直接影响系统技术指标抗干扰性能要想我所要+5V输电压需交流220V电压经二极管全波整流、电容滤波、7805稳压输稳定5V直流电压整电路提供电源

图3.1 电源电路图
4IN4004组桥式整流电路电容(104uf)用于滤波LM7805经整流滤波电压稳定5V输
3.2 晶体振荡器
51系列单片机内部钟电路(其核反相放器)并没形钟振荡信号必须外接谐振器才能形振荡何用内部放器根据同场合做同选择应单片机钟产同式:若采用放器产振荡即内部式;若采用外部振荡输入即外部式
案、内部式
51单片机XTAL1XTAL2引脚间外接晶体谐振器便产自激振荡即内部产与外加晶体同频率振荡钟
见内部式振荡图图3.2所示

图3.2 晶体振荡电路

同单片机高工作频率AT89C51高工作频率24MHZAT89S51高工作频率达33MHZ由于制造工艺改进现单片机工作频率范围向两端延伸达40MHZ振荡频率越高表示单片机运行速度越快同存储器速度印刷电路板要求越高频率太高反导致程序编写(延程序)般说建议使用高频率晶体振荡器51系列单片机应用系统般都选用频率6~12MHZ晶振
电路C1、C2值没严格要求电容少影响振荡器稳定性、振荡器频率高低、起振快速性等般外接晶体C1、C2值通选20~100PF
晶体振荡器数字钟核振荡器稳定度频率精确度决定数字钟计准确程度通采用石英晶体构振荡器电路般说振荡器频率越高计精度越高设计信号源提供1HZ秒脉冲采用晶体频AT89S52单片机用于构内部振荡器反相放器XTAL1XTAL2别放器输入、输端石英晶体陶瓷谐振器都用起构自激振荡器外部钟源驱器件XTAL2接XTAL1接入由于外部钟信号经二频触发作外部钟电路输入所外部钟信号占空比没其要求低电平持续间少高电平持续间等要符合要求反相放器输入端XTAL1输端XTAL2两端连接石英晶体及两电容形稳定自激振荡器电容通取30PF左右振荡频率范围1.2~12MHz
晶体振荡器振荡信号XTAL2端输片内钟发器钟发器二频器向CPU提供两相钟信号P1P2每钟周期两节拍(相)P1P2CPU两相钟P1P2基本节拍指挥AT89S52单片机各部件协调工作本设计取石英晶体振荡频率11.0592MHz
另外设计电路板晶振、电容等均应尽量靠近单片机芯片减布电容进步保证振荡器稳定性
案二、外部式
较规模应用系统能用单片机保证各单片机间钟信号同步应引入唯公用外部脉冲信号作各单片机共同振荡脉冲要采用外部式外部振荡信号直接引入XTAL1XTAL2引脚
由于HMOS、CHMOS单片机内部钟进入引脚同外部振荡信号接入式所选用案
3.3 校电路
数字钟走现误差需要校间校控制电路实现秒、、校准其电路图图3.3所示:

图3.3 校电路
3.4 译码显示电路
译码电路功能秒、、 计数器每计数器输状态(8421码)翻译七段(或八段)数码管能显示十进制数所要求电信号再经数码管相应数字显示译码器采用74LS248译码/驱器显示器采用七段共阴极数码管显示部整电钟重要部共需要6位LED显示器采用态显示式所谓态显示式间数字LED逐显示通位选端控制哪LED显示数字由于些LED数字显示间间非短使眼看起显示间数字并且态显示式所用接口少节省CPU管脚由于端口问题及态显示式优越性设计连接式采用共阴级接显示器LED段选位选两端口首先说段选端由LED八端口构通八端口输入同二进制数据使间显示同我所要间显示温度于二十管脚AT89S52说LED八段选管脚太于我选用2764芯片扩展主芯片管脚74LS164数据移位寄存器选用74LS373作数据缓存器
选用器件应注意译码器显示器匹配包括两面:功率匹配即驱功率要足够数码管工作电流较应选用驱电流较译码器或OC输译码器二逻辑电平匹配例共阴极型LED数码管采用高电平效译码器推荐使用显示译码器74LS48、74LS49、CC4511
3.5 显示电路结构及原理
(1)单片机通用七段LED构 8 字型结构另外数点发光二极管显示数位种显示器共阴共阳两种发光二极管阳极连起(公共端)称共阳极显示器阴极连起称共阴极显示器
位显示器由8发光二极管组其7发光二极管构字型8各笔划,另发光二极管数点某段发光二极管施加定向电压该段笔画即亮;加电压则暗保护各段LED损坏需外加限流电阻
本设计、、秒十位采用七段显示位采用八段显示使更易于区、、秒
(2)LED显示器接口及显示式
LED显示器静态显示式态显示式两种静态显示显示器显示某字符相应段恒定导通或截止直显示另字符止LED显示器工作于静态显示式各位共阴极接;若共阳极则接+5V电源每位段选线别与8位锁存器输口相连显示器各位相互独立且各位显示字符经确定相应锁存输维持变
静态显示器亮度较高种显示式编程容易管理较简单占用I/O口线资源较显示位数较情况般都采用态显示式
由于所6位段皆由I/O口控制每瞬间6位LED显示相同字符要想每位显示同字符必须采用扫描流点亮各位LED即每瞬间使某位显示字符瞬间段选控制I/O口输相应字符段选码(字型码)位选则控制I/O口该显示位送入选通电平(LED共阴故应送低电平)保证该位显示相应字符轮流使每位显示该位应显示字符
位LED显示简化电路降低本所位段选线并联起由8位I/O口控制共阴(共阳)极公共端别由相应I/O口线控制实现各位选通
段选码位选码每送入延2MS视觉暂留效应给看每数码管总亮

图3.4 六位LED态显示电路
3.6 键盘部
整系统简单部根据功能要求本系统共需三按键:别、、秒进行控制并采用独立式按键
按键按照结构原理两类类触点式关按键机械式关、导电橡胶式关等;另类触点式关按键电气式按键磁应按键等前者造价低者寿命目前微机系统见触点式关按键
按键按照接口原理编码键盘与非编码键盘两类两类键盘主要区别识别键符及给相应键码编码键盘主要用硬件实现键识别非编码键盘主要由软件实现键盘定义与识别
全编码键盘能够由硬件逻辑自提供与键应编码外般具抖键、窜键保护电路种键盘使用便需要较硬件价格较贵般单片机应用系统较少采用非编码键盘简单提供行列矩阵其工作均由软件完由于其经济实用较应用于单片机系统本套设计由于需要几功能键采用独立式按键结构
独立式按键直接用I/O口线构单按键电路其特点每按键单独占用根I/O口线每按键工作影响其I/O口线状态独立式按键典型应用图3.5 所示
独立式按键电路配置灵软件结构简单每按键必须占用根I/O口线按键较I/O口线浪费较宜采用

图3.5 独立式按键结构图
3.7 复位电路
复位使CPU系统其功能部件都处于确定初始状态复位计算机状态始工作复位期间CPU并没始执行程序做准备工作
论计算机刚电、断电、系统现故障都需要复位
51单片机复位条件靠外部电路实现钟电路工作要单片机RESET引脚持续现2TP高电平使单片机复位间短往往使复位部靠确保复位RESET引脚高电平般要维持约10ms
见复位电路电复位按键复位电路我选用按键复位电路
(1)电复位电路
电复位电路利用电容充电实现接通电源瞬间RESET端电位与VCC相同都+5V随着RC电路充电RESET电位逐渐降要保证RESET高电平间于10ms能复位图3.6(1)所示

图3.6(1)电复位电路
(2)按键复位电路
单片机已经通电情况需要按图3.6(2)K键复位VCC经电阻Rs、Rk压RESET端产复位高电平
图3.6(2)电路干扰容易窜入复位端虽数情况造单片机错误复位能引起内部某些寄存器错误复位RESET端接耦电容
另外些单片机应用系统外围芯片需要复位些复位端复位电平要求单片机复位要求致则直接与相连RC电路接施密特电路再接入单片机复位端系统复位端便保证外部芯片单片机靠同步复位

图3.6(2) 按键复位电路
4 软件设计
4.1 程序流程
程序整体设计:定模块显示模块间调整模块状态调整模块
(1)总体介绍:部主要介绍定模块显示模块定部采用经典定器定实现数字钟主要部秒表主要部及进行定设置显示模块实现数字钟重要部其模块独立程度直接影响数字钟视化程度部设计设置专用显示数据缓冲区与、及其数据缓冲区数据区别其存放显示段码其缓冲区存放间数据显示首先间十进制数据转化显示段码送往数码管显示显示段码采用态扫描式要求改变显示数据类别须改变指向数据缓冲区指针所指向十进制数据缓冲区即
(2)间调整:间调整种式、直接进入相关状态进行关操作二、调整两步先进入状态执行操作两步别由两键控制式比较直接设计思想比较简单种式存操作间控制键数目矛盾用比较少键能进入状态处于数据调整等待状态影响显示扫描速度(显示部采用8279芯片控制解决问题) 种式使用状态键每状态键完应数据调整采用二式现种情况状态调整与状态操作别由两键控制其状态调整数达256(理论)操作完键控制状态调整键控制数据调整两种式实现都采用查询断式两种式必须注意问题两者进行相关操作程能太否则影响显示扫描利用查询式传统作讨论采用断式实现数字钟些讨论关问题作些处理基于讨论设计:调整状态调整数据调整两部每进入断执行操作返必让断处于调整等待状态使断耗定器断优先级设置高级断式查询式影响钟记数
(3)断式应注意问题:
采用断式定器断优先级设置高级关于程序数据稳定性应注意两问题:、低优先级断响应应入栈保护数据禁止高优先级断响应二、入栈保护关数据断程序执行影响状态位寄存器必须恢复复位状态值例用十进制调整断进入需PSWACCY位清零否则十进制调整错
(4)定准确性讨论:
程序定器直处于运行状态说定器理想运作其断程序每隔0.1秒执行理想状态定器定没系统误差由于定器断溢定器0始计数直重新置数才始确定断溢断响应定器重新置数其间消耗间造定器定误差前述定器关情况断程序始给定器置数误差误差约:每0.1秒误差7—12机器周期定器定刚0.1秒情况由析数字钟设计查询式或断式定器断设置高级我定值设置适扣除9机器周期间值断情况没定器断设置高级要视断程序定值设置扣除相应间值
(5)软件消抖:
消抖采用硬件(施密特触发器)式图4.4所示采用软件式讨论软件式软件消抖定器定利用延程序式定器定消抖影响显示模块扫描速度其实现:设置标志位定器断其置位程序查询其断优先级设置低于钟定断完全影响钟定二采用延程序显示模块扫描速度本快能影响显示效般情况每秒扫描数应于50否则数码显示现闪烁情况延程序延间应该于20毫秒采用定器定式延间影响钟
设计采用断式完关操作同采用软件式消抖其处理思想:断能连续执行两间定间间隔
4.1.1 系统主程序流程图

图4.1 主程序流程图
4.1.2 各程序流程图

图4.2 钟调整程序流程图本回答被提问者和网友采纳
相似回答