历史上的今天
今天是:2024年11月19日(星期二)
2019年11月19日 | 51+PIC单片机兼容程序 1602液晶显示欢迎界面
2019-11-19 来源:51hei

//犯的错:在51里RW(L命令、H数据)是直接焊成接地的
//∴ 少了lcd_enable(); 这一函数{lcdrs = 0; lcdrw = 0; lcden = 0; delay(5); lcden = 1;}
//少了这一函数设置就无法显示了
#define PIC //说明,如果是51,你把这句删掉即可
#define ww //说明,如果是PIC16F877A,你把这句删掉即可
#ifdef ww
#include sbit lcden=P3^4; sbit lcdrs=P3^5; sbit lcdrw=P3^0; //这是个无用的定义,因为51板直接接地,而PIC则不是 sbit dula=P2^6; sbit wela=P2^7; #endif #ifdef PIC #include __CONFIG(0X3B31); #define lcden RA3 #define lcdrs RA5 #define lcdrw RA4 #define P0 PORTD #endif #define uchar unsigned char #define uint unsigned int #ifdef ww uchar code table[]=" hello! jasper"; //写字符串时用“”而不是{ }了 uchar code table1[]=" xm.dabiao "; #endif #ifdef PIC //奇怪了,移动下面2行会提示,逗号错误 const uchar table[]=" hello! jasper"; //写字符串时用“”而不是{ }了 const uchar table1[]=" xm.dabiao "; //PIC的数组写法与51的是不同的 #endif uchar num; void delay(uint z) //延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_data(uchar date) { lcdrs=1; P0=date; // delay(5); lcdrs=1; lcdrw=0; lcden=0; delay(5); lcden=1; } void lcd_enable(void) { lcdrs = 0; lcdrw = 0; lcden = 0; delay(5); lcden = 1; } void init() { #ifdef ww dula=0; wela=0; lcden=0; #endif #ifdef PIC TRISA=0x00;PORTA=0XF0; TRISD=0x00;PORTD=0XFF; ADCON1=0X07; RA1=1; #endif lcd_enable(); write_com(0x38); lcd_enable(); write_com(0x0c); lcd_enable(); write_com(0x06); lcd_enable(); write_com(0x01); lcd_enable(); // write_com(0x80); write_com(0x80+0x10); } void main() { init(); for(num=0;num<16;num++) { write_data(table[num]); delay(20); } write_com(0x80+0x51); for(num=0;num<16;num++) { write_data(table1[num]); delay(20); } for(num=0;num<16;num++) { write_com(0x18); delay(160); } while(1); }
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 第二届(1995年)全国大学生电子设计竞赛题目 题目一 实用低频功率放大器一、任务 设计并制作具有弱信号放大能力的低频功率放大器。其原理示意图如下: 二、要求 1.基本要求 (1)在 ...… 查看全部问答> |
|
Clean Technology Fuels MTC Transformers' Growth MTC transformers 美国致力于本土市场的一家变压器厂家----低碳产业 MTC Transformers, a world-class provider of high-quality, precision-engineered transformers and rewind services, was recently honored with the Vanguar ...… 查看全部问答> |
|
(*紧急*)关于mc9s12dg128b芯片和定时计数器中断的问题 我是参加第二届“飞思卡尔”杯全国大学生智能车大赛的学生,在制作开发智能车的时候遇到了一些问题,想请教一下各位。 mc9s12dg128b芯片定时计数器中的TCNT、 TSCR是什么意思,用什么给它赋初值,怎样赋初值? 还有 ...… 查看全部问答> |
|
/usr/local/arm/2.95.3/bin/arm-linux-gcc -D__KERNEL__ -DMOULE -I/home/linux2-24/linux-2.4.27/include -O -w -g -c addrv.c In file included from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:13 编辑 很多人说类似于雷达的东西今年必须弄一个.我弄了个.超声波模块效果不大好.总体效果就没出来.源码上了.明天新的超声波模块到.说实话.国赛弄成这个样子真没多大意思了.我现在只求速度比完... ...… 查看全部问答> |
|
滑动窗口滤波是一种很好滤波方法。这种方法不影响数据的实效性,每个数据都与前面一段数据相关联,这样瞬间峰值或毛刺对下一个数据影响较小。 在FPGA数据处理中,如果大量数据需要进行滑动滤波,如果定义寄存器来设计上面的算 ...… 查看全部问答> |
|
翻了以前的程序看了下,这个程序是不用实时时钟芯片来完成时钟功能的。和秒表对了一下时间,发现竟然在1分钟内慢了4秒钟,顿时纠结了=。= 于是我决定思考、调试一下视图解决这个问题。这个程序是利用单片机的定时器中断来完成简单的时钟功能的。 ...… 查看全部问答> |
|
关于ST Visual Develop环境编译出现bad addressing mode是怎么回事 最近在IAR上做的一个关于STM8S208MB的一个功能模块,移植到ST Visual Develop环境编译出现bad addressing mode是怎么回事。具体错误信息如下: #error castm8 C:\\DOCUME~1\\Owner\\LOCALS~1\\Temp\\s570.cx1:1531 bad addressing mode ..\\..\\s ...… 查看全部问答> |




