51单片机时钟秒表课程设计

51 单片机时钟秒表课程设计

这个是我写的作业的方案,单片机课程结课作业,以下是我写的设计方案, 写的不咋滴 欢迎拍砖。。一、详细功能设计

1、基于 51 单片机倒计时秒表,最大值为 9999 秒,计时单位为 0.1 秒; 2、计时的初始值为组员学号后 4 位,键盘启动/停止计时;

3、设计多个按键,使用键盘选择不同成员的学号作为初始值。二、8031 最 小系统设计

1、最小系统设计原理图如图 1.0 所示: 2、8031 最小系统概述;

8031 最小系统包含晶振电路与复位电路。 晶振选择 12MHZ 晶振,晶振电 容使用 30pf 电容瓷片电容。复位电路选择上电复位。三、硬件设计 1、数码管电路

在本设计中,使用 7 段共阴极数码管,选择数码管的型号为 7SEG-MPX6- CC;

2、数码管片选电路;

由于本设计需要显示五位数字,同时为了驱动数码管,使用了 74HC154 芯 片。与此同时,使用 74HC154 芯片还可以扩展数码管显示数字的个数。三、软 件设计

1、程序流程图如图 3.0 所示: 图 3.0 程序流程图 2、程序流程说明

数码管显示和扫描键盘子函数放在 0.1 秒的定时器中断里,而主函数的 while(1)函数向数码管显示数据变量送数据。数码管显示函数接受键盘状态,根

据状态执行开始计时、暂停、选择学号等功能。四、调试说明 1、仿真调试如图 4.0 所示: 图 4.0 proteus 仿真效果

2、按下以组员的名字命名的按键时,可以选择相应同学的学号的后四位为 倒计时的初始值,如不设置初始值为 0336,若按下张洪荣按键,初始值为 0337;按下开始按键时开始倒计时;按下暂停按键时,计时停止;附录:源代 码下载:51hei/f/szgg.rar 1,程序源码; #include #include #include

int num =03; //我们学号的班别 03 int stu_num0 =36; //学号后两位 int stu_num1 =37; int stu_num2 =42; int stu_num3 =11; int stu_num4 =22

int num_count = 36; //将学号吼两位选择的值赋给 num_count,初始值为 36 sbit start = P1; //开始按键 sbit stop = P1 ; //停止按键 sbit key0 = P1 ; //选择同学 sbit key1 = P1 ; //选择同学 sbit key2 = P1 ; //选择同 sbit key3 = P1 ; //选择同学 sbit key4 = P1 ; //选择同学

sbit key5 = P1 ; unsigned int T1msc; unsigned char Ledc;

unsigned char Leds[]={8,6,0x13,5,1,2,3,4}; bit isStart;

int temp=9; //0.1 秒存储变量 初始值 9 code char LEDTAB[]= {

0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x00,

};tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4