AVR128的程序——1602液晶显示

发布者:asa1670最新更新时间:2016-03-04 来源: eefocus关键字:AVR128  液晶显示 手机看文章 扫描二维码
随时随地手机看文章
#include
 
#define uchar unsigned char
#define uint  unsigned int
 
unsigned char table[]="I love mcu!";
unsigned char table1[]="very much!";
 
#define rsout  DDRB |= (1<<5)
#define rsset  PORTB |=(1<<5)
#define rsclr  PORTB &=~(1<<5)
 
#define rwout  DDRB |= (1<<6)
#define rwset  PORTB |= (1<<6)
#define rwclr  PORTB &= ~(1<<6)
 
#define enout  DDRB |= (1<<7)
#define enset  PORTB |= (1<<7)
#define enclr  PORTB &= ~(1<<7)
 
void mcu_init(void);
 
void Delayms(uint MS)  
{
     uint i,j;
     for( i=0;i
     for(j=0;j<1141;j++);
}
 
void write_com(uchar com)
{
rsclr;
rwclr;
enclr;
PORTA=com;
Delayms(5);
enset;
Delayms(5);
enclr;
}
 
void write_data(uchar date)
{
rsset;
rwclr;
PORTA=date;
Delayms(5);
enset;
Delayms(5);
enclr;
}
 
void initlcd(void)
{
write_com(0x38);
Delayms(5);
    write_com(0x01);
Delayms(5);
write_com(0x06);
Delayms(5);
    write_com(0x0c);
Delayms(5);
}
 
void main(void)
{
    uint num=0;
mcu_init();
Delayms(30);
initlcd();
write_com(0x80);
for(num=0;num<11;num++)
{
write_data(table[num]);
Delayms(20);
}
write_com(0x80+0x40);
for(num=0;num<10;num++)
{
write_data(table1[num]);
Delayms(20);
}
while(1);
}
 
void mcu_init(void)
{
   DDRA = 0XFF;            
   PORTA = 0XFF;
 
   DDRC = 0XFF;                   
   PORTC = 0XFF;
   
   DDRF |= 0X0E;
   PORTF |= 0X0E;
   PORTF &= 0xF0;      
   
   DDRB |= 0X10;
   PORTB |= 0X10;
   
   rsout;
   rwout;
   enout;
}

关键字:AVR128  液晶显示 引用地址:AVR128的程序——1602液晶显示

上一篇:AVR128的程序——24C02记录复位次数
下一篇:AVR128的程序——12864时钟

推荐阅读最新更新时间:2024-03-16 14:46

MSP430 AD转换12864液晶显示代码
#include msp430g2553.h #include 12864.h unsigned int i,Vo; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC10CTL0 = SREF_0 + ADC10SHT_2 + REFON + ADC10ON + ADC10IE + REF2_5V; //__enable_interrupt(); // Enable interrupts. //TACCR0 = 30; // Delay to allow Ref to settle //TACCTL0 |=
[单片机]
MSP430与液晶显示器的串行接口方案
摘要:针对利用微控制器(MCU)控制液晶显示驱动器(LCD)的应用开发实例,提出一种采用串行方式来设计微控制器和液晶显示驱动器之间接口的方案。该方案是在现有点阵式液晶显示屏上附加一个MCU,通过程序设计利用MCU的I/O端口去模拟I2C串行总线,从而实现利用MCU去控制LCD的目的;同时介绍一种在图符液晶显示系统中显示动态曲线的技术和实现方法。 关键词:液晶显示驱动器 I2C串行总线 MSP430 1 概述 点阵式液晶与外部的硬件接口简单,能以点阵或图形方式显示出各种信息,因此在电子设计中得到广泛应用。但是,对它的接口设计必须遵循一定的硬件和时序规范,不同的液晶显示驱动器,可能需要采用不同的接口方式和控制指令才能够实现所需
[应用]
msp430g2553+pcf8574+dht11+lcd1602
先放硬件连接图 DHT11驱动子程序 模块功能:检测温湿度信息 DHT11.h #ifndef DHT11_H_ #define DHT11_H_ #include msp430g2553.h #define delay_us(x) __delay_cycles((long)(((double)8000000)*((double)x)/1000000.0)) #define delay_ms(x) __delay_cycles((long)(((double)8000000)*((double)x)/1000.0)) //输出数据P1.5 #define SET_DATA P1OUT |= BIT5 //拉高数据线
[单片机]
msp430g2553+pcf8574+dht11+lcd<font color='red'>1602</font>
12232c液晶显示和8051单片机的接口c语言程序
以下为彭总编写的c语言程序,我用过了!赫赫!!在atmega128中写通讯协议的头四位数字时好像不能分开一位一位的送,而是要把它当作一个16进制的整体移位写入!程序中的comm为写0表示写12232c的指令,dat为1表示写数据。cs,sclk,std分别为片选、时钟、及数据io口,可用sbit指令定义。 /************lcd初始化程序**************/ void init_lcd (void) { wr_lcd (comm,0x30); /*30---基本指令集动作,8位控制接口*/ wr_lcd (comm,0x01); /*清
[单片机]
土壤温湿度测试仪的特点
土壤温湿度测试仪的功能特点说明【霍尔德仪器HED-SW】土壤水分检测仪好吗?有哪些用处?作物在生长的过程中对于水、肥、阳光、土壤的松散度都是有一定的要求的,土壤中的养分对于农作物的影响比较大,同样土壤中的水分也是至关重要的,很多作物对于土壤中的水分都有一定的要求。有的喜欢涝有的喜欢旱一点。土壤水分检测仪可以测试土壤中水分含量,给作物一个适宜的生长环境。 农作物在生长的过程中,将根系扎在土壤中,作物通过网状根系来吸收土壤中的水分和养分,而土壤中水分的多少会影响作物根系的发达状况,我们利用土壤水分检测仪测试土壤中的水分,可以快速的测量出土壤中的水分含量是否适用于当前作物的发展,进一步的控制水分来控制作物的根系生长状况以及长势,从而
[测试测量]
红外遥控解码+LCD1602显示
#include reg52.h #define uint unsigned int #define uchar unsigned char sbit ir=P3^3;//红外端口 sbit dm=P1^4;//数码管段码控制位 sbit wm=P1^5;//数码管位码控制位 sbit led_cs=P1^6;//LED控制位 sbit rs=P3^5;//1602数据命令选择端 sbit en=P3^4;//1602使能信号 uchar num; uchar key_code=0;//遥控键值 uchar new_code=0;//有无新按键 uint buf_key_code=0;//键值暂存 uchar key_bit
[单片机]
lcd1602显示的单片机子程序 模块化可多次调用
给大家分享一个lcd1602显示的子程序模块化可多次调用,非常方便移植,不改或改一点就可以用到自己的程序中 单片机源程序如下: #include lcd1602.h /*LCD1602忙碌等待*/ void LCD1602Wait() { unsigned char sta;//读取LCD1602状态字 /*读取液晶状态字之前必须将P2口全部拉高*/ LCD1602_DB = 0xFF; LCD1602_RS = 0; LCD1602_RW = 1; LCD1602_EN = 0; do { LCD1602_EN = 1; sta = LCD1602_DB;//读状态字 L
[单片机]
AT89S52与LCD1602(asm/c51)
LCD1602 DDRAM地址映射表: 第一行地址80H 第二行地址C0H 单片机与LCD1602接口 ;/////////////////////////////////////////////// 项目名称:AT89S52与LCD1602接口实验 功能:在LCD1602的第一行显示WWW.LZY.EDU.CN : 在LCD1602的第二行显示0830--3150897 ;/////////////////////////////////////////////// RS EQUP2.4 ;P2.4接LCD的RS RW EQUP2.5 ;P2.5接L
[单片机]
AT89S52与LCD<font color='red'>1602</font>(asm/c51)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved