全球旧事资料 分类
数值的十,个,由于数码管个数多,如采用静态显示方式,则占用单片机的IO口线太多,如果用定时器计数器的串行移位寄存器工作方式及外接串入并出移位寄存器74LS164的方式,则电路复杂。所以,在数码管个数较多时,常采用动态显示方式。2位数码管的相同段并联在一起,由一个6位IO(P1口)输出字形码控制显示某一字形,每个数码管的公共端由另外一个IO口(P0口输出的字位码控制,即数码管显示的字形是由单片机IO口输出的字形码确定,而哪个数码管点亮是由单片机IO口输出的字位码确定的。在本任务中,为了简便,字形码和字位码都没由加驱动电路,在实际应用中应加驱动电路。数码管有共阴极和共阳极两种。对于共阳数码管,字形驱动输出0有效,字位驱动输出1有效;而对于共阴数码管则相反,即:字形驱动输出1有效,字位驱动输出0有效。
f7
实验二流水灯实验
1实验目的用电子电路去设计流水灯,我们主要可以用装套控制器和状态译码器来实现灯光的流水效果,但是现在我们可以用单片机AT89C51来实现,因为其相对于电子电路有明显的优越性,控制硬件电路比较简单,软件方面程序也不复杂,因此制作的远离简单,但功能作用并不低于电子电路设计的,由于它的小巧方便、通俗易懂,所以我们往往采用单片机来做流水灯。2实验器材:
(1)具备keil软件和proteus软件的电脑一台
3实验电路
(1)硬件框图
复位电路
STC89C51
键盘
震荡电路
(2)总设计图
流水灯电路
f8
4实验说明如图所示,S1为复位开关,S2、S3、S4分别为切换不同流水效果的开关,P2口控制LED灯D1D7的显示,口作为LED的输出控制。当按下S2后能实现D1P0和D7同时亮其他不亮,然后D2和D6亮,依此类推。当按下复位S1,然后按下S2实现LED灯从D7到D1循环亮,按下S1然后按下S3实现LED从D1到D7的循环亮。5.实验框图:
f9
开始
检查是否有键按下
读取键值
根据键盘指令执行流水灯显示效果
执行结束
6程序清单:i
cludereg51hsbitk1P00sbitk2P01sbitk3P02
头文件定义按键k1定义按键k2定义按键k3
codeu
sig
edchar
um0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f左移0x7f0xbf0xdf0xef0xf70xfb0xfd0xfe右移0x7e0xbd0xdb0xe70xe70xdb0xbd0x7e两边到中间u
sig
edchark数组的移动指针voiddelay10msvoid延时10msu
sig
edcharijfori20i0iforj248j0jvoiddelay02svoid延时02su
sig
edcharifori20i0idelay10ms
f10
voidKEYvoid按键扫描程序ifk10delay10msifk10k0ifk2r
好听全球资料 返回顶部