当前位置:首页 > 技术 > 单片机 > 正文内容

mcu 8051 ide 使用测试

watrt2个月前 (09-19)单片机860

今天无意中发现在有一个叫mcu 8051 ide 的软件,试了一下。发现在功能强大,能进行很多硬件的防真。包括了,LED、数码管、矩阵、按钮、矩阵键盘、HD44780(与1602兼容),并且还支持中文,支持widnwos\linux\mac多平台,还是免费软件,这么强大的软件必须玩一下。

1、首先:下载mcu8051ide: 

下载地址:https://sourceforge.net/projects/mcu8051ide/files/

2、然后下载编译器:sdcc: 

下载地址:http://sdcc.sourceforge.net/

我试了一下windows 和LINUX 都可以正常使用,但是要注意的时,可能中文有些不兼容,在个别配置修改后,可能会启动报错,解决方法就是把当前帐号主目录中的.mcu8051ide文件夹下的config.conf删除就可以正常运行了。

3、下面我使用了这个IDE进行了简单的测试:

先上效果截图:

1.jpg

这个是HD44780的LCD显示测试的防真,看起来还挺不错。但是SDCC有些语法与klie不一样,不清楚可以查查docs或者度娘。下面是代码

#include <at89x52.h>
#include <stdint.h>
#define LCD_RS P1_0
#define LCD_RW P1_1
#define LCD_E P1_2

void wait(uint8_t j);
void lcd_cmd(int date);
void lcd_date(int date);

char str[]="hi watrt!";
char str1[]="   my world!";
int main(void){
	int i=0;
	lcd_cmd(0x38);
	lcd_cmd(0x01);
	lcd_cmd(0x02);
	lcd_cmd(0x06);
	lcd_cmd(0x0f);
	/* lcd_cmd(0x1c); */
	lcd_cmd(0x80);
	for(i=0;i<sizeof(str);i++){
		lcd_date(str[i]);
	}
	lcd_cmd(0xc2);
	i=0;
	for(i=0;i<sizeof(str1);i++){
		lcd_date(str1[i]);
	}
	while(1){
		lcd_cmd(0x1c); /* 移动显示 */
		wait(10);
	};
}
void wait(uint8_t j){
	while(j--){
	}
}
void lcd_cmd(int date){
	LCD_E=1;

	LCD_RS=0;
	LCD_RW=0;
	P0=date;
	LCD_E=0;
	LCD_E=1;
}
void lcd_date(int date){
	LCD_E=1;

	LCD_RS=1;
	LCD_RW=0;
	P0=date;
	LCD_E=0;

	LCD_E=1;
}

这个是指令表:

v2-79e3e11a7fe4d7ccaf65fc7229f8a069_720w.jpg

注意:我的代码把延时去掉了。因为防真的速度比较慢,延时太占用时间了,所以我就把HD44780延时关掉了,你可以自己加上,但是防真等的时间太久了。

2.jpg

学习51单片机的同学有福了。快点下载吧!

分享给朋友:

相关文章

关于锂电池电容的研究(更新)

关于锂电池电容的研究(更新)

首先锂电池一般标称电压是:3.7v锂电充满电,大概会是4.2V或者4.3V.锂电放完电,大概会是3.0V。锂电放电图,是呈抛物线的,4.3V降到3.7V和3.7V降到3.0V,都是变化很快的。惟有3.7V左右的放电时间是最长的,几乎占到了3/4的时间。所以才会标3.7V的。 容量百分比% 电池电压 V 100 4.2 90 4.08 80 4 70 3.93 60...

T12恒温铬铁参考

T12恒温铬铁参考

电路上采用标准的T12 控制:加热部分:PWM 信号控制MOS给烙铁头加热烙铁头热电偶信号放大:一个标准的运算放大电路,放大信号约200倍电源部分:40V以下均可以输入,转成5V,供屏幕和单片机使用 其中C12预留焊盘全部的原理图,请参见: https://lceda.cn/zhqsoft/shmictrl-28-t12实际PCB以及接法图中预留了ESP12s的位置,理论上可以做成物联网烙铁,但是没有什么实际用途,只是预留。核心控制算法有人觉得控制算法很神秘,其实很简单;的意思是每次获...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。