单片机课程设计报告
专 业:
班 级:
学 号:
姓 名:
2014年6月22日
1
目 录
? 数码管消隐……………………………………………………………………….3
1.1项目简介……………………………………………………………………..3 1.2电路原理图………………………………………………………………….4 1.3参考程序……………………………………………………………………..6
? 按键从右至左输入………………………………………………..8
2.1项目简介……………………………………………………………………..8 2.2电路原理图………………………………………………………………10 2.3参考程序………………………………………………………………….10
? 步进电机转速数码管显示………………………………….16
3.1项目简介………………………………………………………………….16 3.2电路原理图………………………………………………………………18 3.3参考程序…………………………………………………………………..19
? PCF8591 DA输出模拟………………………………………….24
4.1项目简介……………………………………………………………………24 4.2电路原理图………………………………………………………………..25 4.3参考程序…………………………………………………………………….26
? 自动调光测试……………………………………………………..30
5.1项目简介……………………………………………………………………30 5.2电路原理图………………………………………………………………..31 5.3参考程序……………………………………………………………………32
2
数码管消隐
1.1项目简介
LED显示器有共阳极和共阴极两种,共阴极LED显示器是发光二极管的阴极连在一起,通常此公共阴极接地;共阳极LED显示器是发光二极管的阳极连在一起,公共阳极接正电压。通过LED显示器中二极管的亮灭,则显示不同的字符或数字。
数码管外形图如下, 共阴极显示如“HELLO”的数据代码如下。 D7 D6 D5 D4 D3 D2 D1 D0 显数值h g f e d c b a 示 代码 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 H E L L O - 76H 79H 38H 38H 3FH 40H
共阴极发光二极管内部结构图
多位数码管的动态显示
在多位8段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。 多位8段LED动态显示器电路,其中段选线占用一个8位I/O口,位选线占用一个8位I/O口,由于各位的段选线并联,段线码的输出对各位来说都是相同的。因此,同一时刻,如果各位位选线都处于选通状态的话,8位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一位的位选线处于选通状态时,其它各位的位选线处于关闭状态,这样,8位LED中只有选通的那一位显示出字符,而其它位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他的位选线处于关闭状态。如此循环下去,就可以使各位“同时”显示出将要显示的字符。由于人眼有视觉暂留现象,只要每位显示间隔足够短,则可造成多位同时亮的假象,达到显示的目的。
3
多位数码管分别显示不同数字,这种扫描显示方式成为动态扫描,并不停变化赋值当高位值为0是不显示该位,即消隐。如数字 0010,实际显示为10,前2位0不显示。
如果不消隐 ,一位显示完后,显示下一位时,下一位的字形码也会加到这位,造成乱码。原因:CPU的执行速度很快,当送入位选和段选数据后,接着又送入位选数据,但该位的段选数据还没有送入,所以该位还保持着上次的段选数据,接着该位的段选数据送入,由于视觉残留,两个段选数据的显示效果重合,形成了混乱。
1.2电路原理图
4
5