C51单片机工程
设计报告 :南昌大学
班级:机制094
:5802109009
:何祥波
目录
一.设计任务及要求
二.总体
方案设计与方案可行性说明
三.总框图及总体
软件设计说明
四.元件清单
五.硬件电路图设计
六.软件设计(
程序清单)
七.设计心得与体会
八.参考文献
一. 设计任务及要求
1. 分别用两个八段数码管显示小时,分钟,秒钟
2. 能够通过按键对时间进行调整
3. 具有闹铃功能
4. 对时间间隔快慢可以以1s/24h为间隔进行调整
5. 串口程序下载
二.总体方案设计与方案可行性说明
总体方案可分为以下四个功能模块:
模块一:计时功能模块,以微机开发
系统中51单片机的定时功能为主,本次设计采用的计时方式为方式2,并且采用中断方式进行一秒计时,由于51单片机的功能特性的限制,计时的方案由采用50ms计时并且在这个基础上连续循环20次进行秒钟计时,在秒的基础上再分别进行其他时间单位的转化,如此逐渐递进实现总体时间计时的实现。时进制采用24小时进制。
模块二:显示功能模块,主要以微机开发系统中的七段数码管实现,显示的主要格式为"时-分-秒"。
模块三:闹钟功能模块:以蜂鸣器的蜂鸣为标志,蜂鸣器
工作则表示预定时间到达。闹钟的设定由按键开关实现,闹钟的开关有拨键开关控制。
模块四:控制功能模块:主要以微机开发系统 中的按键和拨键开关实现,按键开关主要用作时间设置和闹钟设置以及对时间和日期的显示的转换。拨键开关主要用来实现闹钟的开关设置。在按键开关的防抖动处理上,以在程序中进行10ms的延时来进行处理。
三、 总框图及总体软件设计说明
总程序
四. 元件清单
1. STC89C52 1
2. 共阳极八段数码管 6
3. 74HC164 6
4. 74HC08与门 1
5. MAX232 1
6. 12MHZ晶振 1
7. 自锁开关 1
8. 弹片开关 4
9. 104p电容 5
10. 30p电容 2
11. 九针孔座 1
12. Usb母座 1
13. 导线若干
14. 330欧姆电阻 6
15. 10k欧姆的电阻 2
16. 9013三极管 1
17. 蜂鸣器 1
五. 硬件电路图设计
89C51单片机
数据发送模块(74hc164)
数码管显示模块
键盘模块(独立式键盘)
蜂鸣器模块
程序下载模块(max232电路)
六. 软件设计(程序清单)
1.程序清单:
#include
#define ulong unsigned long
#define uchar unsigned char
#define uint unsigned int
sbit P10= 0x90;
sbit P11= 0x91;
void delay(int ms);
void show(uchar* time1);
uchar keycode,numcode;
uchar time[6]={2,3,5,9,4,5};
uchar tset=20;
void func() //键盘功能子程序
{
uchar x=0;
if(keycode==1)
{
numcode++;
if(numcode==4)
numcode=0;
}
if(keycode==3)
{
if(numcode==1)
time[5]++;
if(numcode==2)
time[3]++;
if(numcode==3)
time[1]++;
show(time);
}
if(keycode==4)
{
if(numcode==1)
{
time[5]--;
if(time[5]==0xff)
{
time[5]=9;
time[4]--;
if(time[4]==0xff)
{
time[4]=5;
time[5]=9;
}
}
}
if(numcode==2)
{
time[3]--;
if(time[3]==0xff)
{
time[3]=9;
time[2]--;
if(time[2]==0xff)
{
time[2]=5;
time[3]=9;
}
}
}
if(numcode==3)
{
time[1]--;