基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)(3)

2019-06-11 00:20

3 软件设计

在设计程序之前,我们首先要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。 3.1 软件总体设计方案

本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成.其程序流程图如图9图10。

图9 主程序流程图

10

图10扫描刷新显示子程序流程图

3.2 软件设计具体过程

软件设计部分采用模块化程序设计,用C语言编写。Keil是美国Keil

Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51

11

生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成。 3.2.1延时模块设计

void delay(int t) 调用该子程序能实现延时功能 { 通过参数t,可以调成延时时间 while(t--) {

unsigned int i; 设置变量i的变化范围,能调整延时的单位时间 for(i=0;i<200;i++); 长度,i越小,延时的单位时间越短,精度越高 } }

3.2.2 数码管动态刷新显示程序

void display(int i,int j,int x,int y) 变量i,j,x,y分别为分,秒,A分数,B分数 {

if(jie==1&&bujin!=2) 当中间变量jie==1时,为上半场,此时对P1赋值

P1=0xbf; 使P1=0xbf, 即P1=1011 1111B,上半场指示灯对应点亮

P2=0xfe;

数码管动态刷新显示程序 P2=1111 1110, i为分钟

P0=seg[i0/10]; P2=0xfe,所以刷新显示时间的分钟十位,调用延时程序, delay(1); 延时数码管的点亮 P2=0xff; P0=0;

P2=0xfd; 同理,动态刷新时分钟个位并延时点亮 P0=seg[i]; delay(1); P2=0xff; P0=0;

12

P2=0xfb; 同理,动态刷新时秒钟十位并延时点亮 P0=seg[j0/10]; delay(1); P0=0; P2=0xff;

P2=0xf7; P0=seg[j]; delay(1); P0=0; P2=0xff;

P2=0xef;

P0=seg[x0/10]; delay(1); P2=0xff; P0=0;

P2=0xdf; P0=seg[x]; delay(1); P2=0xff; P0=0;

P2=0xbf;

P0=seg[y0/10];

delay(1); P0=0; P2=0xff;

同理,动态刷新时秒钟个位并延时点亮 同理,动态刷新A分数十位并延时点亮

同理,动态刷新A分数个位并延时点亮 同理,动态刷新B分数十位并延时点亮 13

P2=0x7f; 同理,动态刷新B分数十位并延时点亮

P0=seg[y]; delay(1); P0=0; P2=0xff; }

本设计中各个数码管采用动态驱动,使各位数码管逐个轮流受控显示,由于扫描速度极快(本实验中大约每20毫秒刷新一次),所以显示效果与静态驱动相同。

3.2.3 T0中断程序

void t0(void) interrupt 1 {

TH0=0xb1; 对定时器T0送入计数初值,由于TH0=0xb; TL0=0x10; TL0=0x10 故定时器定时为20毫秒,即每 if(n==0)

20毫秒调用一次void t0(void) interrupt 1

本设计调用定时器T0,计时单位为一秒

{ n=60;

m--; } i++; if(i==50)

{ 令i值为50 50*20毫秒=1秒,来实现计时 n--; 单位为一秒 i=0; }

display(m,n-1,x,y); 调用动态刷新显示程序,即每20毫秒刷新一 } 次数码管

14


基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:钦州市养鸡专业合作社名录140家

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: