单片机课程设计
四、按键电路设计 部分电路图如下:
这里我们采用74LS08与门芯片来扩展接口,同时,我们在编程时用外部中断0来设计程序,以便更好的实现效果。在按键与单片机13和14引脚之间接上一10k的上拉电阻,电阻上接+5V电源。
第 9 页 共 19 页
单片机课程设计
第四部分 软件设计部分
一、 主程序单元部分。
MAIN 1、定义一个缓冲数据ReadValue 2、DS1302初始化 外部中断设置 YES key1==0? NO key2==0? DS1302停止运行writeset1302(0x80, dat|0x80) YES DS1302可以运行writeset1302(0x80, dat|0x7f) 从秒寄存器读取数据保存到缓冲数据ReadValue将读出的数据转化 调用时、分、秒显示程序
第 10 页 共 19 页
单片机课程设计
主程序流程图如上所示
在主程序中调用时分秒显示子程序,通过按键来判断DS1302时钟芯片运行还是停止。
二、外部中断部分
判断KEY1是否为stoptime(1)判断KEY2是否为stoptime(0);
用外部中断0来是秒停止或开始计数。 三、 显示程序单元部分。
此系统的显示部分采用的是多个LED数码管显示,主要显示时分秒,内的数据通过输出端口一次输出到显示器上。
时、分、秒显示流程图如下:
P2赋位码 P0赋段码 延时1ms
第 11 页 共 19 页
单片机课程设计
注释:该显示大概流程图是这样,但在该程序设计中是把时、分、秒的显示程序分别提出来单独做一个子程序。
四、DS1302时钟芯片判断时钟是否停止流程图
定义一个flag 数据 读寄存器dat=readset1302(0x81); 写入不保护命writeset1302(0x8e,0x00); 判断flag是否问为1? DS1302停止计writeset1302(0x80, dat|0x80); 数DS1302可以进行计数writeset1302(0x80, dat&0x7f); 令
第五部分 系统调试与仪器使用
一、 系统调试
调试工作分硬件调试和软件调试两部分,调试方法介绍如下: 首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检测,最后用程序进行功能调试,硬件调试比较费时,需要细心和耐心也需要熟练掌握电路原理。 然后,可以直接应用编辑或仿真软件进行调试,比如单片机C51编辑软件Keil.该软件提供了一个集成开发环境uVision,它包括C编辑、宏编辑、连接器、库管理和一个功能强大的仿真调试器。通过编译。运行,可以检查程序错误。但使用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。软件调试过程中要仔细耐心,即便是要多写一两个字符,都无法编译成功。而有时往往在Keil中编译。运行无错,但烧录到单片机中运行出错,很有可能是编程时管脚或时序编辑得不对。 还有一种方式,即应用仿真软件搭建电路的软件平台,再导入程序进行仿真调试,如果电路出错,可以在计算机上方便的修改电路,程序出错可以重新编辑程序,这种方法节时、省力、经济、方便。我们这里应用的是Protuse7.5.总之,调试过程是一个软硬件结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键。
第 12 页 共 19 页
相关推荐: