基于51单片机的自动打铃系统课程设计内容摘要:

间的上午下午进行调整, 2 键为时间的分钟设置。 当时钟时间与设置时间一致时,驱动电路动作进行打铃,每次打铃 5秒。 电源 显示电路 STC89C52 CPU 键盘电路 驱动电路 电铃 3 元件的参数及控制器 STC89C52 STC89C52 是一种高性能,低功耗的 8 位 CMOS 微处理芯片,市场应用最多,主要性特点有: 128B 内部 RAM 数据存储器, 21 个专用寄存器; 4KB 内部掩膜 ROM 程序存储器; 2 个 16 位可编程定时器 / 计数器; 32 个双向可独立寻址的 I/O 口; 5 个中断源、两级中断优先级的中断控制器;外部程序存器寻址空间为 64KB,外部的数据存储空间也为 64KB; 1个全双工的 UART。 2. 可编程并行口 8255A 芯片 8255A 芯片的引脚功能如下: D1D7 为双向三态数据总线,通常与 CPU 数据总线相连; PA,PB,PC 为 3个 8 为 I/O 口; A0,A1 端口地址输入线,通过地址组合选择 8255A 内部寄存器。 3.显示电路设计 显示部分采用普通的共阴 数码管显示 ,由于只要求设置时和分,就可以直 接调整时间,以减少硬件电路,数码管分别为十时、时,十分、分 显示, 用 6 个 9015驱动数码管。 用 8255 的 PA,PB 口分别对数码管的位选和段选进行控制。 由于开发板上刚好有两个,采用独立式按钮,分别与 89C52 的相连,用普通的按钮 10k 上拉电阻,用查询法完成读键功能。 4 第三 章 程序设计 程序流程图 开始 初始化参数设置 调用键盘子程序 调用显示子程序 调用控制子程序 5 中断程序流程图 开始 保护现场 寄存器达到 5。 重新赋值 秒单元加 1 秒单 元 =60。 秒单元清零,分单元 加 1 分单元 =60。 分单元清零,时单元 加 1 时单元 =12。 时单元清零 退出 N N N N N 寄存器 1达到 100。 amp。 寄存器。 6 源程序清单 include include //头文件用于定义 8255 地址 define a8255A XBYTE[0xd1ff] //扩展芯片 8255 的 16位地址 define a8255B XBYTE[0xd2ff] define a8255C XBYTE[0xd4ff] define a8255CON XBYTE[0xd6ff] typedef unsigned char uchar。 //定义 code unsigned char tab[]={0xA0,0xBB,0x62,0x2A,0x39,0x2C, 0x24,0xBA,0x20,0x28,0x30,0x70 }。 //共阳数码管 09 code unsigned char tab1[]={0x30,0x70}。 //上午和下午代码 uchar keypos,PC。 uchar hour,mine,a=0,second。 sbit SPK=P3^3。 void keyscan()。 //扫描键盘程序说明 unsigned char Dis_qianwei=0xa0。 //定义数码管显示小时的十位 unsigned char Dis_baiwei。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。