建设网站的公司有哪些知乎,搬瓦工ss wordpress,3d绘图培训学校,银川市住房和城乡建设局网站点击链接获取Keil源码与Project Backups仿真图#xff1a; https://download.csdn.net/download/qq_64505944/87770826
源码获取 主要内容#xff1a; 设计一个电子计时器#xff0c;数码管初始显示值为“00”#xff0c;每隔1s电子秒表加1#xff1b;秒计数到60时清0 https://download.csdn.net/download/qq_64505944/87770826
源码获取 主要内容 设计一个电子计时器数码管初始显示值为“00”每隔1s电子秒表加1秒计数到60时清0并从00重新开始。 基本要求 1、电子定时器电路设计图 2、电子定时器设计源程序 3、keil运行源程序 4、protus中仿真 5、运行结果分析。 主要参考资料 [1]张志良单片机学习指导及习题解答机械工业出版社2008. [2]张伟单片机原理及应用机械工业出版社2009. [3]孙俊逸、盛秋林、张锋单片机原理及应用清华大学出版社2010. [4]张毅刚.单片机原理及应用北京高等教育出版社2010. [5]黄仁欣单片机原理及应用技术北京清华大学出版社2005. 完 成 期 限12 月 11 日 - 12 月 26 日 指导教师签名 课程负责人签名 摘 要 计数是一种最简单基本的运算计数器就是实现这种运算的逻辑电路。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能同时兼有分频功能计数器是由基本的计数单元和一些控制所组成计数单元则由一系列具有存储信息功能的各类触发器构成这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛如在电子计算机的控制器中对指令地址进行计数以便顺序取出下一指令在运算器中作乘法、除法运算时记下加法、减法次数又如在数字仪器中对脉冲的计数等等。 本设计为简易电子计数器以AT89C51为主控芯片其作用范围在0~59应用了示数码管来显示计数。
关 键 词简易电子计数器AT89C51
目录 摘 要 I 目录 II 1、 概述 1 1.1课程设计目的 1 1.2系统主要内容 1 2、总体设计 2 2.1 设计方案 2 2.2 系统功能设计 2 3、Protues仿真图及相应局部工作原理 3 3.1 总的仿真图 3 3.2 局部显示 3 3.3 按钮控制 4 4、源程序 4 5、结果分析 6 6、心得体会 9
1、概述
1.1课程设计目的
1.掌握以单片机为核心的控制系统的分析和设计的根本方法; 2.控制程序的设计及实现方法; 3.独立完成一个小的系统设计从硬件设计到软件设计增强分析问题、解决问题的能力为日后的毕业设计及科研工作奠定良好的基础
1.2系统主要内容
1.开始按钮按下开始计数并设置的有初始值 2.暂停按钮按下暂停按钮停顿计数再按下暂停按钮开始计数 3.结束按钮按下结束此次计数 4.每过一秒示数码管数字就加一数码管数字每到60就归零
2、总体设计 2.1 设计方案 本设计为累加计数的简易计数器应用AT89C51芯片作为核心, 8位的LED数管显示。这种实现方法的优点是电路简单性能可靠实时性强操作简单编程容易。 2.2 系统功能设计
图2.1系统功能图
3、Protues仿真图及相应局部工作原理 3.1 总的仿真图
图3.1总的仿真图 3.2 局部显示
图3.2数码管显示
3.3 按钮控制
4、源程序
#include reg51.h
#define uc unsigned char
#define ui unsigned int
uc code table[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数字字模表
uc led_mod[2];//存储每位上的数
#define ledSize 2
ui num;//显示的数字
uc led_point;//周期为1s1ms*1000 a65536-10000xfc18
//ui a 0xfc18; //a(256-100)%256156 0x9c
ui a 0x9c;
void init(){num00;//初始值//TH0a/256;//TL0a%256;TH00x9c;TL00x9c;TMOD0x02;//T0定时方式2 0000 0010TCON0x10;//TR01 启动T0IE0x82;//EA1;ET01; 开启中断 开T0中断}
void delayMs(ui ms){//延时函数ui i;while(ms--)for(i0;i124;i);
}P2~led_point;//数码 低电平有效 从个位数向千位数刷新P0led_mod[i];//字模 led_point1;delayMs(10);}}//}void timer0() interrupt 1{//T0中断函数static ui count;count;//TH0a/256;//TL0a%256;if(count10000){count0;num;num%60;}
}void main(void){ init();//初始化 while(1){show(num);}
}5、结果分析
5.1在keil软件中输入完整代码点击运行结果如下
图5.1 5.2 keil源程序运行成功后生成hex文件连接proteus进行仿真。 图5.2
图5.3
5.3 连接完成后点击开始按钮计数器开始计数
图5.4
5.5 点击暂停按钮计数器暂停计数 5.6 在暂停状态下长按点击按钮计数器正常运行松开暂停计数 5.7 计数每到60数码管数字就会归零
5.8点击结束按钮结束计数 6、心得体会
这次单片机课程设计让我学到了很多东西利用了一些本学期学到的东西收益良多感觉还是有点成就感的。同时也提高了我们查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平。而且通过对整体的掌控对局部的取舍以及对细节的斟酌处理都使我们的能力得到了锻炼经验得到了丰富。这是我们都希望看到的也正是我们学习电子技术课程设计的目的所在。本次设计让我深刻地认识到了书上单片机学习到的东西真的是非常的有限单片机所扩展到的元器件上课和实验用到的只能算是冰山一角。正是这一次锻炼让我们积累了无数实际经验使我们的头脑更好的被知识武装了起来也必然会让我们在未来的工作学习中表现出更高的应变能力更强的沟通和理解力。