历史上的今天
今天是:2024年11月11日(星期一)
2019年11月11日 | Atmega32A驱动LCD1602显示屏
2019-11-11 来源:51hei
对于初学者来说,最烦躁的可能就是调试程序,往往小小一个问题,要找个一个小时,甚至几个小时才能解决,这个程序是刚调试完的,整整九个多小时啊,现在看着挺简单的,没调试好前根本不敢肯能调得好.高手别笑,初学者参考
编程环境Atmel Studio 7.0 和Proteus 8仿真,说明:仿真和真实电路是有点区别的,仿真Proteus 8只能用内部晶振,最大8MHz,我的DIY板是16M,所以实际电路总是比仿真的跑快好多
单片机源程序:
/*
* LCD1602_AVR.h
*
* Created: 2017/3/19 23:07:51
* Author: lyl
*LCD1602的基本操作时序
1,读状态,输入:RS=L RW=H E=H 输出:D0~D7=状态字
2,读数据,输入:RS=H RW=H E=H 输出:D0~D7=数据
2,写指令,输入:RS=L RW=L D0~D7=指令码 E=高脉冲 输出:无
3,写数据,输入:RS=H RW=L D0~D7=数据 E=高脉冲 输出:无
*/
#define F_CPU 8000000UL
#include #include #define uchar unsigned char #define uint unsigned int #ifndef LCD1602_AVR_H_ #define LCD1602_AVR_H_ #define DataPort PORTC #define DataPort_DDR DDRC #define DataPort_PIN PINC #define CtrPort PORTB #define CtrPort_DDR DDRB #define CtrPort_PIN PINB #define RS 0 #define RW 1 #define EN 2 #define LCD1602_SetRS() (CtrPort |= (1< void LCD1602_PortInit(void); //端口初始化 void LCD1602_CheckBusy(void); //LCD1602忙信号检测 void LCD1602_Init(void); //LCD1602初始化 void LCD1602_WriteData(uchar ucData);//在液晶上写数据或者命令,0为命令,1为数据 void LCD1602_WriteCmd(uchar cmd); void LCD1602_CursorPosition(uchar x,uchar y);//将液晶的坐标移动到指定的位置 void LCD1602_WriteChar(uchar x,uchar y,uchar ucData);//在指定的位置上显示一个字符串; void LCD1602_WriteString(uchar x,uchar y,uchar *Str);//在液晶上显示字符串 #endif
史海拾趣
|
大家好!我是单片机的初学者,现在遇到一个问题无法解决,希望能得到大家的帮忙,谢谢! 如题: 1、我做了一个边沿触发方式的外部中断0,当按键按下不放时按要求串口发送数据. 2、在P2.3口做了个独立式按键S1,当按下时向串口发送相关字符,松开按键时 ...… 查看全部问答> |
|
打算在wince 5.0上运行s3c2410的4.2版本的BSP包,大家觉得应该怎么做 有一套板子,以及相应的程序,在wince 4.2的系统上运行的好好的,现在老板让在5.0上运行,大家给点建议。 我在网上搜了一下,有专家说有两种方式:一是修改4.2的BSP包,使之能在5.0上运行;二是修改5.0系统自带的BSP 包,使之能配合S3C2410的CPU运 ...… 查看全部问答> |
|
我想让电池电量显示在桌面上,就和手机屏幕上显示的电池电量一样. 我知道用下面这个API函数,但是他返加的是BOOL, SYSTEM_POWER_STATUS_EX sysPowStatus; GetSystemPowerStatusEx(&sysPowStatus,true) 怎么才能做到让他显示在对话框上 ...… 查看全部问答> |
|
用xilinx EDK做关于OpenSPARC的项目,用到最新的XPS12和SDK12.在SDK中写好代码运行的时候有时候会出现莫名奇妙的问题。比如:串口输出到一半就死掉,程序在debug的时候会停在一个很无关痛痒的地方。… 查看全部问答> |
|
请教: STM32互联型USART1的默认复用引脚为PA8、PA9、PA10、PA11、PA12。当使用USART1功能时,若只用到TX(PA9)、RX(PA10)两脚,那么其余三脚只能浪费么?此时能否同时令PA11、PA12作为CAN1的功能脚使用呢? 谢谢各位高手指教!… 查看全部问答> |
|
没有对P0进行任何操作就变成了0xFDprotues中P0没有按我设定的变成0xC0 变成了0x03想问下 这是为什么 求助啊 这是交通灯的程序 有主干道和乡村通道两条代码在附件里 … 查看全部问答> |




