单片机课程设计模板(2)

2019-02-16 01:30

如图3.2

3.3 按键电路设计

在做出时间调整的时候,共三个开关,分别控制着时分秒的调整,直至等到时间调整正确为止。在判断开关是否按下的同时,因为按下开关为跳帽开关,抖动产生因为机械固有的物理特性,在瞬间接触的时候会有力学的回弹,造成2-8毫秒内信号不稳定。因此我们的办法就是通过软件设定一个延时来去抖动,解决信号不稳定的因素,具体见图3.3

图3.3

3.4 数据显示电路设计

时分秒的控制需要六个数码管,每个数码管的七段分别接在一起,通过p2口输出,先要弄清楚数码管的各个接口,在实验前可以对数码管进行检测,看数码管各段是否可以正常工作。3,8接地,用3V左右电压去接数码管的各段,看数码管各段是否对亮。如图3.4是数码管的各引脚及led显示字形码表,图3.5是数码管仿真图引脚及片选设置。

4

图3.4

图3.5

4. 数字钟软件设计 4.1 初始化模块

初始化模块中,时分秒初始化状态显示00:00:00,将时分秒各个数据放在各自的寄存器中,通过查表将00分别送给各个寄存器 4.2 显示模块

显示模块一直贯穿在整个过程中,首先我们选择的数码管是共阴极的,因此当我们给p3口低电平(清零信号)时,数码管被选中,通过延时子程序延时后再选中另外一个,不断的扫频,通过时分秒寄存器中值的变化完成各个模块之间

5

的互连,最后通过查表显示。下面以秒作为例子说明显示模块是如何统一各个模块的。

初始化时,显示00,是通过51单片机的p3.4,p3.5口分别控制秒的个位和十位,时间推移,秒钟不断加1,加1自然要延时1S,所以就涉及中断计时的问题,故每次计时1S,寄存器中值自加1,查表过程中A片偏移自增1,00->01->02->03->04->05····->09->10······->59->00.,所以在累加的过程中又存在比较大小(CJNE指令),秒钟寄存器中回零,此时显示分钟,分钟寄存器中加1如此不断反复,之后分钟加一,到59S回0,小时寄存器中加1,和前面不一样的地方就是小时最后在比较时是与24比较。到了24:59:59之后回零,又回到初始化状态。 4.3 按键模块

按键模块的功能进行时间的简单调整,三个开关分别和P0.0 P0.1 P0.2,通过JNB判断语句来判断是否按键。通过跳转指令使按一下,数码管加1。 4.4定时和延时模块

因为需要延时1S,所以必须要通过定时器T0通过查询方式定时1S,查询方式就要判断TF0寄存器是否溢出。

因为需要对数码管进行扫频,所以有一个扫频时间,因此就需要一个延时子程序来延时一段时间来扫频,只是要确定扫频的时间长短,通过我们小组的多次实验,可以发现延时稍长为好,但是还是不能超过人眼的识别范围。 5. 仿真与调试 5.1 软件仿真

如下图所示的软件仿真的结果,在软件仿真中我们可以清楚的看到数码管上显示的数字,即所谓的时间,通过六个数码管我们可以看到时,分,秒各位的显示,这样达到了所要求的目的。

6

AABCDEFGBCDEFGh1ABCDEFGABCDEFGh3h4AABCDEFGBCDEFGh2h5R110kR210kh6R310kU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617ABCDEFG18GND9XTAL2RSTR410k293031PSENALEEAC310uF12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52DBG_TRACE=0GNDh6h5h4h3h2h1

7

(1)生成.hex文件的基本操作:

(2).点击isis仿真图的52单片机(双击),加载.hex文件,点击OK。

8


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

下一篇:阿狸写给桃子的999封情书 - 图文

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

马上注册会员

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