1、基于AT89C52、LCD1602的电子计时器proteus仿真设计

一、仿真原理图:

二、仿真效果:

三、相关代码:

1)、系统配置:

复制代码
void SystemInit(void)
{
	TMOD = 0x01;                
	TH0 = (65536 - 46083) / 256;    
	TL0 = (65536 - 46083) % 256;    
	EA = 1;                     
	ET0 = 1;                    
	TR0 = 1;
}

2)、LCD1602液晶相关驱动代码:

核查是否busy?

复制代码
unsigned char BusyCheck(void)
{
	bit result;
	
	RS = 0;       
	RW = 1;
	E = 1;  
	
	_nop_();   
	_nop_();
	_nop_(); 
	_nop_(); 
  	
	result = BF;  
	E = 0;         
	
	return result;
}

写入指令:

复制代码
void WriteInstruct(unsigned char instruct)
{   
	while(BusyCheck() == 1); 
	RS = 0;                  
	RW = 0;   
	E = 0;  
	
	_nop_();
	_nop_(); 				 
	_nop_();
	_nop_(); 
	
	P0 = instruct;    
	
	_nop_();
	_nop_();
	_nop_();
	_nop_();  
	
	E = 1;    
	
	_nop_();
	_nop_();
	_nop_();
	_nop_();   
	
	E = 0;                  
 }

写入数据:

复制代码
void WriteData(unsigned char datas)
{
	while(BusyCheck() == 1);  
	RS = 1;           
	RW = 0;
	E = 0;            
				   
	P0 = datas;           
	_nop_();
	_nop_();
	_nop_();
	_nop_();  
	
	E = 1;   
	 
	_nop_();
	_nop_();
	_nop_();
	_nop_(); 

	E = 0;            
}

LCD1602初始化:

显示时、分、秒:

复制代码
void DisplayHour()
{
	unsigned char i,j;
	
	i = hour / 10;                
	j = hour % 10;                
	WriteAddress(0x44);   
	WriteData(digit[i]);  
	WriteData(digit[j]);  
     
 }
void DisplayMinute()
{
	unsigned char i,j;

	i = minute / 10;                
	j = minute % 10;                
	WriteAddress(0x47);   
	WriteData(digit[i]);  
	WriteData(digit[j]);  
     
 }
void DisplaySecond()
{
	unsigned char i,j;
	
	i = second / 10;                
	j = second % 10;                
	WriteAddress(0x4a);   
	WriteData(digit[i]);  
	WriteData(digit[j]);  
 }

3)、main函数:

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘3 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd8451015004 天前
RS485 总线详解
单片机·嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘4 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展4 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司4 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑4 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
意法半导体STM324 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
雾削木4 天前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件
Hello-FPGA4 天前
Camera Link 与 CoaXPress 技术对比 如何选择你的相机接口
单片机·嵌入式硬件
项目題供诗4 天前
STM32-USART串口协议(二十二)
stm32·单片机·嵌入式硬件