📄 demo_6_8__.c
字号:
/*********************************************
File name : demo_6_8.c
Chip type : ATmega16
Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*********************************************/
#include <mega16.h>
#ifndef __SLEEP_DEFINED__
#define __SLEEP_DEFINED__
.EQU __se_bit=0x40
.EQU __sm_mask=0xB0
.EQU __sm_powerdown=0x20
.EQU __sm_powersave=0x30
.EQU __sm_standby=0xA0
.EQU __sm_ext_standby=0xB0
.EQU __sm_adc_noise_red=0x10
.SET power_ctrl_reg=mcucr
#endif
#include <delay.h>
#asm
.equ __lcd_port=0x1B ; PORTA数据寄存器地址 //lcd由A口控制
#endasm
/* [LCD]
1 GND- 9 GND
2 +5V- 10 VCC
3 VLC- LCD HEADER Vo
4 RS - 1 PA0 (M16)
5 RD - 2 PA1 (M16)
6 EN - 3 PA2 (M16)
11 D4 - 5 PA4 (M16)
12 D5 - 6 PA5 (M16)
13 D6 - 7 PA6 (M16)
14 D7 - 8 PA7 (M16) */
#include <lcd.h>
flash unsigned char dis_str[]= //字符串数组dis_str
"Hello WangHui! This is a LCD display demo.";
void main(void)
{
unsigned char flash *str;
str = dis_str; //指针str指向dis_str的第一个字母(H)
lcd_init(16); //初始化LCD为2×16的液晶屏
lcd_clear(); // 清空LCD
lcd_gotoxy(4,0); //光标定位到第一行第五列
lcd_putchar('a'); //在第一行第五列输出字符a
delay_ms(1000); //延时1秒
while(1)
{
lcd_clear(); //清空LCD
lcd_putsf("HoHai University"); //从第一行第一列开始输出字符串(HoHai University)
lcd_gotoxy(0,1); //光标定位到第二行第一列
lcd_putsf(str); // 显示字符串,并随while循环左移
if (*str++ == 0) str = dis_str; //判断字符串是否结束,结束则从头开始
delay_ms(1000); //延时1秒
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -