1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机应用实训,电子工程系,舒望,实训任务及时间安排,一、实训任务,根据给定的电子钟电路图,完成电子钟的焊接与组装任务,运用软件、硬件完成电子钟的程序设计与调试任务。,二、时间安排,第一阶段:电子钟的焊接与组装,第二阶段:电子钟的程序设计,第三阶段:电子钟的程序下载及调试,电子钟结构框图,1,、显示电路,从该电路图中可以看出本数字钟的显示电路采用共阴型数码管作为显示器,显示电路采用动态扫描的方法,字形码接在单片机的,P0,口,位选端通过一个反相器接在单片机的,P2,口。由于数字钟要求具有显示时、分、秒的功
2、能,所以共有三个两位一体的数码管,每位数码管显示一个时间单元。,2,、按键设置电路,从该电路图可以看出本数字钟的设置电路采用三个自复位式按键,三个按键分别连接在单片机,P1.0,P1.2,从电路结构可以看出在设计按键设置与调整程序时应采用查询法。这三个按键的功能分别为:,“,set,”,、,“,+,”,、,“,-,”,。,3,、时钟模块,为了简化电路,本系统采用软件定时的方法实现时钟计时功能。,4,、振荡及复位电路,本单片机采用,24M,晶振,复位电路采用电阻、电容构成的上电自动加手动复位的方式。,电子钟电路图,电子钟的焊接与组装,焊接注意事项:,1,、元件的成形,电阻采用卧式安装法。,2,、
3、数码管注意方向、发光二极管注意正负极。,3,、所有集成电路先装,IC,座,严禁将,IC,直接焊接在电路板上。,4,、排阻注意第一脚的位置。,5,、按键注意方向。,程序设计,程序设计训练步骤:,1,、六位数码管的动态扫描显示程序设计与调试。,2,、定时器控制程序的设计与调试。,3,、定时器和数码管显示的综合程序设计与调试。,4,、按键扫描程序的设计与调试。,5,、电子钟的程序设计与调试。,数码管动态扫描显示程序的设计,数码管显示器的结构及工作原理,共阴型,共阳型,数码管动态扫描显示接口电路,数码管动态扫描的工作原理,数码管动态扫描的方法是:将待显示的数据在数码管上一位一位的输出并显示,只要控制好
4、每位数码管显示停留的时间,利用人眼的惰性,从视觉效果上来说看起就像是每位数码管同时显示的。,胶卷电影的启示,数码管动态扫描编程示例,数码管显示仿真电路,程序示例,返回,也可以将编写好的程序下载至焊接好的电路板上演示,定时器控制程序设计,1,、单片机定时器的工作方式,M1,、,M0,:定时器,/,计数器工作方式选择位,M1,M0,工作方式,方 式 说 明,0,0,0,13,位定时器,/,计数器,0,1,1,16,位定时器,/,计数器,1,0,2,具有自动重装初值的,8,位定时器,/,计数器,1,1,3,2,、单片机内部定时器的结构,方式,0,:,13,位的定时,/,计数器,方式,1,:,16,位
5、的自动重装定时,/,计数器,方式,2,:,8,位的自动重装定时,/,计数器,3,、三种工作方式定时时间的比较,晶振频率,fosc,=12MHz,方式,0(13,位,),:,8192us,方式,1(16,位,),:,65536us,方式,2(8,位,),:,256us,当晶振频率为,12M,时最长定时时间为,65.536ms,,怎样才能实现,1,秒定时。,4,、一秒定时的实现方法,(,fosc,=12MHz),利用单片机定时器,T0,或者,T1,工作在方式,1(16,位定时,/,计数器,),定时时间为,50ms,。在程序中设置一个计数器,该计数器为,20,进制计数器,当计数器计满,20,次溢出,
6、计数器溢出一次刚好为一秒的时间,因此这种方法能够实现一秒的定时。,程序示例,仿真电路,返回,任务,:,用定时器设计一个秒计数器,将秒计数器的值送入数码管中显示。,定时器和数码管显示的综合程序设计,仿真电路,参考程序,返回,也可以将编写好的程序下载至焊接好的电路板上演示,按键扫描程序的设计,1,、键盘接口,按键与单片机常见的接口方式有:中断式和查询式,电路如下:,查询式,中断式,按键的理想波形,按键的实际波形,T1,的时间一般为,510ms,T2,的时间一般为,1/4,几秒,2,、程序设计,设计一个程序实现以下功能:当按下某个按键后相应的发光二极管状态,(,亮、灭,),变化一次。,程序示例,仿真
7、电路,程序示例,仿真电路,中断式按键接口,查询式按键接口,思考:如何保证每按下一次键只被识别一次,如何消除按键抖动,返回,也可以将编写好的程序下载至焊接好的电路板上演示,电子钟的程序设计,电子钟程序包含以下模块:,1,、时钟模块,2,、显示程序模块,3,、按键扫描及控制模块,各程序模块之间的衔接及综合方法:,在时钟模块中设置三个寄存器分别为:时、分、秒。,在设计显示程序时,为六个数码管设置六个显示缓冲区,显示程序显示时只从六个显示缓冲区中调入数据显示。,时钟模块和显示程序模块衔接就依靠六个显示缓冲区,在显示之前只需将时钟模块中三个寄存器的值分离至显示缓冲区中。,按键控制的方法是设置一个,set,键的地址寄存器,用来指向设置的单元,(,时、分、秒,),,而,+,和,-,则需要根据,set,寄存器的值来确定具体设置的单元。,返回,