AT89C51介绍
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。
现在AT89S51/52已经取代了AT89C51/52。
在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓动态显示,就是一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。
AT89C51单片机串行口方式0,工作于移位寄存器I/O方式,数据从RXD端串行输出,TXD端输出移位脉冲信号,通过74LS164移位寄存器将串行输入数据转换为并行输出。对于汉字显示点阵一般均为16×16L ED点阵,本设计采用了14×15点阵,为了提高显示亮度将显示矩阵分为7×15上下两块进行扫描显示,由P1.0~1.7对行扫描。由74LS164将串行输入数据并行输出,驱动发光二极管必须增加驱动器74LS07,同理P1口也要驱动。当74LS164输出数据为高电平时,同时P1.0~1.7为低电平时,相对应某一行、某一列灯亮。
本次设计动态显示两个静止汉字“技师”。
程序
ORG 0000H
MOV R1 , # 07FH
CLR R6
CLR R5
MOV SCON , # 00H
MOV DPTR , # RTAB
ROT : MOV A , R1
RL A
MOV R1 ,A
MOV P1 ,A
LOOP : MOV A ,R6
ADD A , R5
MOVC A , @A + DPTR
MOV SBUF ,A
JNB TI , $
CLR TI
INC R6
CJNE R6 , # 08H ,LOOP
CLR R6
MOV A ,R5
ADD A , # 08H
MOV R5 ,A
CJNE R5 , # 64H ,ROT
CLR R5
ACALL DELA Y
AJMP ROT
DELA Y:MOV R3 , # 02H
DL :MOV R4 , # OFFH
DLO :DJNZ R4 ,DLO
DJNZ R3 ,DL
RET
RTAB : DB 44H , 44H , 10H , 04H , 92H , OAH ,
00H ,02H
DB 24H ,04H ,10H ,04H ,92H ,OAH ,FEH ,02H
DB 10H ,04H , 10H ,04H ,92H ,02H , 10H ,02H
DB 28H ,14H ,4EH ,FEH ,10H ,02H ,10H ,OAH
DB 44H ,1BH ,10H ,06H ,10H ,04H ,FEH ,OAH
DB 84H ,04H ,10H ,04H ,10H ,04H ,92H ,OAH
DB OOH ,OOH ,FEH ,14H ,OOH ,OOH ,92H
OAH
DB OOH ,OOH ,82H ,24H ,OOH ,OOH ,92H ,
OAH
END
硬件图