C8051F020单片机1602液晶显示程序示例
5星 · 超过95%的资源 需积分: 9 119 浏览量
更新于2024-12-01
收藏 2KB TXT 举报
"C0851f020+1602液晶显示程序"
该程序是针对C0851f020微控制器设计的,用于驱动1602液晶显示屏进行文本显示。C0851f020是一款基于8051内核的微控制器,常用于嵌入式系统中。1602液晶显示器是一种常见的字符型液晶屏,可以显示两行、每行16个字符的文本信息。
程序中包含了几个关键的定义和函数,用于初始化、写入命令和数据以及延迟操作。首先,`#include<c8051f020.h>`引入了针对C0851f020微控制器的头文件,包含了相关的特殊功能寄存器(SFR)定义。`SYSCLK22118400`定义了系统的时钟频率为22.1184MHz,这是计算延迟时间的重要参数。
接着,定义了几个类型别名,如`uchar`代表无符号字符,`uint`代表无符号整数。两个字符串`table[]`和`table1[]`分别存储了要显示在液晶屏上的文本。`lcden`和`lcdrs`是连接到液晶屏的数据/命令选择线和使能线,它们被映射到了P3口的相应位。
`delay()`函数用于实现简单的延时,通过两个嵌套的循环来消耗一定的时间。`write_com()`和`write_data()`函数分别用于向液晶屏写入命令和数据。这两个函数首先设置`lcden`和`lcdrs`引脚的电平,然后将数据写入P5口,并在适当的时候使能液晶屏,完成数据传输。
`init()`函数初始化液晶屏,设置其工作模式、显示方式、光标移动方向等。`SYSCLK_Init()`和`PORT_Init()`是未显示的函数,可能分别用于配置系统时钟和端口初始化,以便正确地驱动液晶屏。
`main()`函数是程序的主入口点。它首先关闭看门狗定时器,然后初始化系统时钟和端口,接着调用`init()`初始化液晶屏。之后,程序向液晶屏的第一行写入`table[]`中的字符串,然后跳转到第二行写入`table1[]`中的字符串。程序最后进入一个无限循环,确保文本持续显示。
这个程序展示了如何使用C0851f020微控制器控制1602液晶显示器进行文本显示,涉及了微控制器的I/O操作、时序控制和基本的显示初始化流程。
2010-04-29 上传
2013-06-20 上传
2009-12-11 上传
点击了解资源详情
点击了解资源详情
2009-11-02 上传
2011-09-12 上传
2023-05-26 上传
2018-06-03 上传
wujianhuawk1
- 粉丝: 0
- 资源: 20
最新资源
- flutter-slide-to-act:Flutter的一个简单的滑动解锁小部件
- 打造最强大、最专业的易语言模块~-易语言
- GIOVANNI:适用于Apple Watch的Gameboy模拟器
- 这个项目是用于个人参加浙江大学移动创新竞赛而使用。.zip
- netty-codec-4.1.68.Final.jar中文-英文对照文档.zip
- jQuery_jquery_
- 真的不吃番茄303-311-Artificial-Intelligence-Proje笔记
- Laravel 4.1参考手册 中文CHM版
- haskell-ghc-mod:haskell-ghc-mod原子包
- 行业文档-设计装置-助焊笔.zip
- 59cst112:编程简介(使用JavaProcessing)
- 中美创客大赛总决赛入围项目-脉象未来-APP版.zip
- CarmenPareras:网站Carmen Pareras
- spring-security-core-5.5.2.jar中文-英文对照文档.zip
- mHealthServer
- GUI设计电力设备识别软件