基于89C51单片机的秒表课程设计(2)

2019-03-03 13:20

始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。方框图图3.4所示 :

图3.4 数字秒表设计导向图

3.2.2.课程设计仪器

集成电路芯片8051,七段数码管,MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2),protues仿真软件。 3.3 程序流程及实验效果 3.3.1 程序流程图

开始

初始化 判断是否开启中断计时 N 等待中断发生 Y 调用显示子程序

调用开关子程序 图3.5 主程序流程图

选择按键 按键1 复位00.0 按键2 按键3 按键4 按一下,复位99.9 按一下,正计时开倒计时开始;再按始,再按一下,停下,停止。 止。 图3.6 按键流程图

计时数值入口 计时数值除以送显示到第一个数码管 100 显示秒十位 计时数值减去秒十位乘以100在送显示到第二个数除以10 码管 显示秒个位 计时数值减去秒十位、秒个位 送显示到第三个数码显示微秒 管

图3.7 显示流程图

计时开始

时1.0s计是否到

3.3.2 源程序及说明

#include #define uchar unsigned char #define uint unsigned int

sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; sbit key4=P3^7;

uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7c,0x07, 0x7f,0x67};

N Y 秒位加 1 N 计时是否到 10s Y 十秒位加 1

图3.8 计时流程图

//52 系列单片机头文件 //宏定义 //申明四个按键的锁存端 //含有 0~9 的数字数组 uchar code table2[]={ //含有 0~9 的数字数组(带小数点) 0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfc,0x87, 0xff,0xe7};

void delayms(uint); //声明延时函数 void display(uchar,uchar,uchar); //声明显示函数 void keyscan(); //声明按键函数 uchar num1,num2,bai,shi,ge; //变量声明 uint num;

void main() //主函数入口 {

TMOD=0x11; //设置 TO,T1 定时器

TH0=(65536-45872)/256; //装初值11.05992M晶振50ms数为45872 TL0=(65536-45872)%6; TH1=(65536-45872)/256; TL1=(65536-45872)%6;

EA=1; //开总中断

ET0=1; //开启定时器 T0 中断 ET1=1; //开启定时器 T1 中断

while(1) //程序停在这里等待中断的发生,这个大循环也是实现数据显示的主体 {

keyscan(); //三个数码管要选送的数据 bai=num/100; //百位 shi=(num-100*bai)/10; //十位 ge=num-100*bai-shi*10; //个位

display(bai,shi,ge); //数码管显示 } }

void display(uchar bai, uchar shi,uchar ge) {

P1=0xfe; //位选选中第一个数码管 P2=table[bai]; //送段选数据 delayms(10); //延时 P1=0xff; //关闭位选

P1=0xfd; //位选选中第二个数码管

P2=table2[shi]; //送段选数据 delayms(10); //延时

P1=0xff; //关闭位选

P1=0xfb; //位选选中第二个数码管 P2=table[ge]; //送段选数据 delayms(10); //延时

P1=0xff; //关闭位选

}

void delayms(uint xms) //延时子函数 {

uint i,j; for(i=xms;i>0;i--) //i=xms 即延时约 xms 毫秒 for(j=110;j>0;j--); }

void keyscan() {

if(key1==0) //清零 {

delayms(10); //延时去抖 if(key1==0)

{ while(!key1) //等待按下 {

TR0=0; //定时器 TR0 关闭


基于89C51单片机的秒表课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广告公司全新管理模式-积分制管理详细版

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

马上注册会员

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