摘 要<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
目前单片机渗透到我们生活的各个领域,如导弹的导航装置、飞机上各种仪表的控制、计算机网络通讯与数据传输、工业自动化过程中的实时控制和数据处理、各种智能IC卡、录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,可以说单片机的运用极大地方便了我们的生活。
本设计以电子手表功能为蓝底,利用STC89c51单片机依靠C语言编程进行设计开发,设计中充分地利用了单片机的定时器和中断功能,并中和了动态数码显示与键盘扫描模块的设计方法。本数显时钟具有如下功能:
1. 显示时间(时—分—秒)。
2. 显示日期(年--月—日)。
3. 设置闹铃(时—分)。
4. 调整时间和日期。
5. 关闹铃。
关键字:STC89c51 定时器 中断 动态数码显示 键盘扫描
总体设计
设计任务:
1. 开机显示“00-00-00”。
2. P3.3控制设置功能,按一次进入设置状态。
3. P3.2控制显示转换,每按一次显示“年-月-日”。
4. P1.3控制蜂鸣器的关断。
5. P1.2控制退出设置功能,每按一次显示“时-分-秒”。
6. P1.1控制时间和日期的调整,每按一次加一。
7. P1.0控制设置时间、日期和闹铃的切换,每按一次切换一位。
设计原理:
利用STC89c51单片机的定时器和中断功能,并结合了动态数码显示、独立式按键识别、“分-时-秒”和“年-月-日”数据送出显示处理的设计方法,运用C语言进行程序设计开发。
总体设计框图:
单元电路设计
主控制器:
宏晶科技生产的STC89C51系列单片机的优点:
1. 超强抗干扰,轻松过 4KV 快速脉冲干扰(EFT);
2. 高抗静电(ESD),6KV静电可直接打在芯片管脚上;
3. 超低功耗,Power Down < 0.1uA, 可外部中断唤醒;
4. 中断优先级可设置成4级(IP,IPH);
5. 增加2个外部中断,Int2/P4.3,Int3/P4.2。
引脚图:
显示电路:
电路采用两块4位共阴数码管显示,段码端接P0.0~P0.7,位选端接P2.0~P2.7。由于P0口输出是漏极开路输出,故需要外加上拉电阻。
采用动态扫描的方法显示,多位数码管采用“并联”动态接口,通过对各数码管轮流循环点亮,实现多位数码显示;在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可;对于显示的字形码数据采用查表方法来完成,用于查表的专用指令有两条:
1. MOVC A,@A+DPTR 。
2. MOVC A,@A+PC。
闹铃电路:
该电路由P3.7接PNP型三极管基极,驱动蜂鸣器构成。当到闹铃时间时,P3.7输出矩形脉冲,蜂鸣器发出嘀嗒声。
复位电路:
单片机复位方法:
1. 上电复位,打开电源后利用RC充电来实现上电复位。
2. 手动复位,利用按键闭合使单片机复位端上保持接通高电平状态两个机器周期以上。
3. 利用看门狗技术实现自动复位。
本设计采用上电复位方法来实现。
时钟振荡:
STC89c51单片机有两个引脚(XTAL1、XTAL2)用于外接石英晶体和微调电容构成振荡器。
电容C1、C2对振荡频率有稳定作用,其容量的选择通常为30pF左右,振荡频率选用12MHz。
键盘扫描电路:
该电路采用独立式按键结构,独立式按键是直接用I/O口线构成的单个按键电路,其特点每个按键的工作不会影响其它I/O口线的状态。按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。
机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动。在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖,其方法为:在判断有键按下后,用软件延时的方法延时10ms后,再判断键盘状态,如果仍为有键按下状态,则认为有一个按键按下,否则当作按键抖动来处理。
独立式按键软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后再转向该键的功能处理程序。
硬件电路:
程序框图:
仿真:
设计拓展
以上电路对于时间和日期调整模块的处理,只实现了“加”处理,为改进电路实现对于“减”的处理,可以采用如下设计思想:
1. 增加独立式按键,接P1.4口,具体程序(略)。
2. 利用一键多功能设计方法。
3. 采用矩阵式按键设计方法。
总结
本设计是将单片机运用于生活的最佳体现,设计中从分地凸显单片机独特功能,对于单片机初学者能更好的加深单片机常用模块的设计方法,且易于单片机业余爱好者仿制。
参考文献
1. 李叶紫.MCS-51单片机应用教程.清华大学出版社.2004
2. 谭浩强.C语言程序设计. 清华大学出版社.2004
文章评论(0条评论)
登录后参与讨论