基于c语言单片机秒表课程设计内容摘要:

电路 电路 显示电路 键盘电路 3 89C52 芯片内部有一个高增益反相放大器,用于构成振荡器。 引线 XTAL1 和 XTAL2 分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。 这里,我们选用 52单片机 12MHZ 的内部振荡 方式,电容器 C1, C2起稳定振荡频率,并对振荡频率有微调作用 C1 和 C2 可在 20100PF 之间取值 ,这里取33P。 复位电路 图 2 复位电路 采用上电加按键复位电路,上电后,由于电容充电,使 RST 持续一段高电平时间。 当单片机已在运行之中时,按下复位键也能使 RST 持续一段时间的高电平,从而实现上电加按键复位的操作。 按键电路 图 3 按键电路 在按键电路中,我们可以在 I/O 口上直接接按键,或者通过 I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。 键盘扫描电路节省 I/O 口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的 I/O 口可以使用,为了使程序简化,我们采用按键电路,用部分 P1 口做开关, 开始 /暂停, 保存, 读数, 复位, 清零。 对于按键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。 当按键被按 下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同 的功能程序。 4 显示电路 图 4 显示电路 显示电路既可以选用液晶显示器,也可以选用数码管显示。 我们采用的是数码管显示电路。 用两个共阴极 LED 显示, LED 是七段式显示器,内部有 7 个条形发光二极管和 1 个小圆点发光二极管组成,根据各管的亮暗组合成字符。 在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的 I/O 口。 在设计中,我们采用 LED 动态显 示,用 P0 口驱动显示。 由于 P0 口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。 系统电路图 : 图五 系统电路 5 三、软件设计 设计特点 在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。 把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。 应用系统的程序由包含多个模块的主程序和各种子程序组成。 各程序 模块都 要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在具体需要时调用相应的模块即可。 秒表设计源程序 源程序如下: include define uchar unsigned char define uint unsigned int void diyi()。 // 函数声明 void xianshi()。 //函数声明 void panduan()。 //函数声明 void delay(uchar z)。 // 函数声明 uchar t=0,i,j,temp,b。 //定义相关变量 uchar code a。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。