基于单片机10Hz-50MHz频率计系统设计

本文档介绍了使用8051单片机的嵌入式编程实践,重点讲解了如何通过定时器实现40us级别的延时,并结合LCD1602液晶屏,展示了字符的显示控制技术。包括LCD初始化、指令和数据写入、字符定位显示等功能的详细实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度网盘下载地址(960):点击下载

//10HZ-50MHZ

#include <reg52.h>
unsigned long int fre; 
unsigned char time;
unsigned int count;
unsigned int count1;
sbit   LCD_RS=P1^0;	  //片选信号 
sbit   LCD_RW=P1^1;	  //读写信号 
sbit   LCD_E=P1^2; 	  //使能信号 
#define LCD_DB  P0	//数据信号 
unsigned char character[10]={0};//在屏幕上显示的字符串 
unsigned char characterA[]={"Acquisition Done"};//在屏幕上显示的字符串 
unsigned char characterB[]={"Wait a Minute....."};//在屏幕上显示的字符串 
unsigned char character_1[]={"FRE= Hz"};
unsigned char FLAG = 0;  //是否分频选择标志
void LCD_init(void);//初始化函数   
void LCD_write_command(unsigned char command);//写指令函数	 
void LCD_write_data(unsigned char dat);//写数据函数	   
void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat);//在某个屏幕位置上显示一个字符,X(0-15),y(1-2)
void delay_n40us(unsigned int n);//延时函数
void timer_init();            //中断初始化函数  

//-----------------------------延时函数---------------------------
void delay_n40us(unsigned int n)		  //延时函数 
{
	unsigned int i;
	unsigned char j;            
	for(i=n;i>0;i--)
	for(j=0;j<2;j++);          
} 
void delay_1s()
{
	unsigned int i,j;
	for(i = 0;i<100;i++)
		for(j = 0;j<1000;j++);

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值