3.2流程图

51hei.png (3.52 KB, 下载次数: 0)

2020-11-19 17:36 上传

51hei.png (13.35 KB, 下载次数: 0)

2020-11-19 17:36 上传3.3设计思路

利用单片机16位定时/计数器方式,TMOD为0X01。每1ms计数一次,共计1000次即1s,此时秒单位进一;当秒数值达到60时,秒数值清零,分单位进一;分数值达到60时,时单位进一,分数值清零,以此达到时钟功能。k1控制中断总开关,用来控制计数器工作。按下k1键启动中断,按下k2键关闭,k3键则用来控制秒、分、时的数值清零。

4.总结

本次设计主题为基于单片机设计的时钟电路,体现了AT89C51的简易性、可控性等诸多优良特性。用单片机来设计时钟电路,其优点十分明显,即稳定性高、方便维护和操作简单。但它的缺点也较明显,即难以满足较为复杂的功能。

拿到课题后,我们小组每个成员先上网查阅资料以及翻阅单片机课本,复习本次设计内容,比如七段译码显示器、计数器、振荡器等等。然后根据设计要求画出整体设计框架。做完准备工作后就正式开始设计与绘图。

在软件设计过程中我们遇到了许多困难,其中最主要的困难是设计好按键程序后,进行实际开发板测试时按键无法工作,我们经过多次检查和测试后发现是由于P2口控制数码管位选时连续发送的数据对按键造成了干扰,最后我们更换了接口,解决了这个问题。

我们小组从这次的设计中收获颇多,不仅温习了一遍大二学过的单片机编程知识,而且还加深了对单片机的理解,感受到了设计的乐趣。

附录1.总电路

图 8总电路图2.程序代码

#include

#include

#define uint unsigned int

#define uchar unsigned char

void Delayms(uint x);

sbit L=P2^0;

sbit LA=P2^1;

sbit LB=P2^2;

void Display();

sbit key1=P1^5;

sbit key2=P1^6;

sbit key3=P1^7;

/*位码*/uchar tablew[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};

/*位选*/uchar shu[8]={0};

/*共阴极*/

uchar table6[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uint aa,bb,cc,dd;

void main()

{

TMOD=0x01;//设置工作方式

TH0=(65536-1000)/256;//设置定时器高八位

TL0=(65536-1000)%256;//设置定时器低八位

ET0=1;//打开定时器T0的中断开关

TR0=1;//启动定时器T0工作

EA=0;//打开总中断开关

while(1)

{

uchar mshi,mge,fshi,fge,sshi,sge;

if(key1==0)

{

EA=1;

}

else if(key2==0)

{

EA=0;

}

else if(key3==0)

{

bb=0;cc=0;dd=0;

}

else;

mshi=bb/10;

mge=bb%10;

if(bb>59)

{

bb=0;

cc++;

}

fshi=cc/10;

fge=cc%10;

if(cc>59)

{

cc=0;

dd++;

}

sshi=dd/10;

sge=dd%10;

if(dd>23)

{

dd=0;

}

shu[7]=table6[mge];

shu[6]=table6[mshi];

shu[5]=0x40;

shu[4]=table6[fge];

shu[3]=table6[fshi];

shu[2]=0x40;

shu[1]=table6[sge];

shu[0]=table6[sshi];

Display();

}

}

void int0_0() interrupt 1

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

aa++;//1ms加一次

if(aa>1000)

{

aa=0;

bb++;//1S加一次

}

}

void Display()

{

uint i;

for(i=0;i<8;i++)

{

P2=tablew[i];

P0=shu[i];

Delayms(1);

}

}

void Delayms(uint x)

{

uchar j;

while(x--)

{

for(j=0;j<125;j++);

}

}复制代码

c51时钟数码管显示流程图_基于单片机的电子时钟程序流程图等资料相关推荐

  1. c51时钟数码管显示流程图_基于单片机89C51的数码管显示时钟设计.doc

    基于单片机89C51的数码管显示时钟设计 基于单片机的数字时钟 摘 要单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉.但是却很少知道它的内部结构以及工作原理.由单片 ...

  2. c51时钟数码管显示流程图_基于51单片机的8位数码管电子时钟仿真图及源代码详细资料概述...

    描述 利用8位数码管显示时间,原理与4位数码管显示的基本一样 仿真图: 程序源代码: 本程序已经通过在线软件仿真和硬件制作. org 0000h ;程序开始入口地址 sjmp main ;跳转至主程序 ...

  3. c51时钟数码管显示流程图_数码管显示的电子时钟C51程序

    /*************************************************************功能: 实现电子时钟显示(C)定义: P2口位选,P0口段选 时间: 201 ...

  4. c51时钟数码管显示流程图_电子元器件/数码管

    数码管 辉光数码管的发展历史 01辉光数码管的出身 在20世纪20年代末和30年代初,发明家们意识到可以将盖斯勒管的放电发光延伸到阴极,进而也就可以塑造阴极的形状来限定发光.例如,使用弯曲的导线作为阴 ...

  5. 数字电子计算机处理信号shi,余洪伟 基于单片机数字电子时钟设计(led显示).doc...

    余洪伟 基于单片机数字电子时钟设计(led显示) 沈阳航空航天大学 课 程 设 计 (论文) 题目 基于单片机的数字电子时钟设计 (LED显示) 班 级 学 号 2013040701060 学 生 姓 ...

  6. 基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)

    本学期单片机课程要求做课程设计,我选取的课题如下: 基于单片机的电子时钟设计,要求: (1)实时显示当前时间: (2)能够对时间进行设置: (3)包括年月日,小时,分钟,秒. (4)整点提醒功能. 经 ...

  7. 基于单片机的电子时钟

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87453487 源码获取 摘要 本次设 ...

  8. 微型计算机系统电子时钟程序设计,基于单片机的电子时钟设计 普通单片机电子时钟的设计的分析...

    摘要:随着电子科技的飞速发展,尤其是超大规模集成电路的出现,给我国的经济带来了实质性的改变.其中,对于单片机的使用已经在很多领域都有出现,比如说在工业自动化控制房间.在智能仪器仪表方面以及各种家用电器 ...

  9. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

最新文章

  1. 【数据结构学习】顺序栈 C语言
  2. python程序员招聘信息-为什么企业很难招聘到好的python程序员?
  3. Android studio | From Zero To One ——XML文件中的单行注释与多行注释
  4. NSUserDefaults的用法(轻量级本地数据存储)
  5. 将关闭窗口的按钮放在窗口右边
  6. 基于mycat高可用方案——数据库负载
  7. 制作网页版电子时钟特效
  8. yum安装Apache Web Server后各个文件存放位置
  9. ERP项目实施记录09
  10. python-excel-openpyxl读取数据---更新完善--1
  11. ArcGIS导出地图后部分图例不显示
  12. RDA EQ频响曲线
  13. X1000 Kernel 3.10 Linux V8.2编译
  14. js 区分中英文输入法(如中英文括号)
  15. 开始创建第一个npm的微信小程序项目
  16. Rails 用 RJS 简单有效的实现页面局部刷新
  17. 时间复杂度O(1),O(n),O(logn),O(nlogn)的意思
  18. word里画的流程图怎么全选_Word中绘制流程图的正确姿势,这招大多数人不知道!...
  19. 蚂蚁金服崔恒斌:金融智能——对话机器人新形态
  20. 自适应螺旋飞行麻雀搜索算法

热门文章

  1. [ExtJs] 控件初始化绑定事件 initialize 和 painted的区别
  2. 判断手机号码属于哪个地区 哪个运营商(移动、联通、电信、)
  3. python可变长参数
  4. windows UWP保持屏幕常亮或关闭
  5. 【数据结构】栈:Java实现顺序栈栈应用浅析
  6. windows10飞行模式怎么关
  7. “数实融合 元力觉醒”,苏州市元宇宙生态大会圆满召开!
  8. MySQL的数据备份和数据恢复
  9. 华硕新款灵耀14 2023款 怎么样
  10. proxmark3 easy gui 5.x 系列软件版本历程