云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机设计课程设计论文 - 图文

基于单片机设计课程设计论文 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/24 11:45:06

#endif

CHAR LCD.C #include #include #include \// 初始化程序

// 函数功能: LCD初始化 // 入口参数: 无 // 返回参数: 无 // 全局变量: 无

// 调用模块: lcd_wcmd(); delay(); void lcd_init() {

lcd_wcmd(0x38); delay(1);

lcd_wcmd(0x0c); delay(1);

lcd_wcmd(0x06); delay(1);

lcd_wcmd(0x01); }

//----------------------------------------------------------------- // 功能程序 // bit lcd_bz() //

// 函数功能: 检测LCD BF的状态 // 入口参数: 无 // 返回参数: 无 // 全局变量: 无

// 调用模块: 无

// 注意事项: 每次读写LCM操作之前,应首先检测忙标志BF,确认BF=0后,访问过程才能进行

//----------------------------------------------------------------- bit lcd_bz() {

bit busy; rs=0; rw=1; ep=1; _nop_(); _nop_(); _nop_(); _nop_();

busy=(bit)(P1&0x80); ep=0; return busy; }

25

//----------------------------------------------------------------- // void lcd_wcmd(unsigned char cmd)

//----------------------------------------------------------------- //

// 函数功能: 写LCM的指令代码 // 入口参数: LCM指令 // 返回参数: 无 // 全局变量:

// 调用模块: lcd_bz(); // 注意事项:

//----------------------------------------------------------------- void lcd_wcmd(unsigned char cmd) {

while(lcd_bz());//判断LCD是否忙碌 rs=0; rw=0; ep=0; _nop_(); _nop_(); P1=cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(); _nop_(); _nop_(); ep=0; }

//----------------------------------------------------------------- // void lcd_pos(unsigned char pos)

//----------------------------------------------------------------- //

// 函数功能: 写LCD的指令地址 // 入口参数:LCD指令地址 // 返回参数: 无 // 全局变量:

// 调用模块: lcd_wcmd(); // 注意事项:

//----------------------------------------------------------------- void lcd_pos(unsigned char pos) {

lcd_wcmd(pos|0x80); }

//----------------------------------------------------------------- // void WrCLcdD (uchar lcddata)

26

//----------------------------------------------------------------- //

// 函数功能: 写LCM要显示的数据 // 入口参数: 待写的数据 // 返回参数: 无 // 全局变量:

// 调用模块: lcd_bz(); // 注意事项:

//----------------------------------------------------------------- void lcd_wdat(unsigned char dat) {

while(lcd_bz());//判断LCD是否忙碌 rs=1; rw=0; ep=0; P1=dat; _nop_(); _nop_(); ep=1; _nop_(); _nop_(); ep=0;

_nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); }

//----------------------------------------------------------------- // 延时程序

//----------------------------------------------------------------- void delay(uchar ms) {

uchar i; while(ms--) {

for(i=0; i<250; i++) { _nop_(); _nop_(); _nop_(); _nop_(); } } }

CHAR LCD.H #ifndef __char_lcd_h__ #define __char_lcd_h__

//-----------------------------------------------------------------

27

// 数据类型宏定义

//----------------------------------------------------------------- #define uchar unsigned char #define uint unsigned int

//----------------------------------------------------------------- // I/O口定义:控制/数据线接口

//----------------------------------------------------------------- sbit rs=P2^2; //寄存器选择端口 sbit rw=P2^1; //读写选择端口 sbit ep=P2^0; //使能信号端口

//----------------------------------------------------------------- // 外部变量声明

//----------------------------------------------------------------- //----------------------------------------------------------------- // 外部函数声明

//----------------------------------------------------------------- extern void lcd_init(void); // LCD初始化

extern bit lcd_bz(void); // 检测LCD BF的状态 extern void lcd_wcmd(uchar cmd); // 写LCD的指令代码 extern void lcd_wdat(uchar dat); // 写LCD显示的数据

extern void lcd_pos(uchar pos); // 写LCD的指令代码地址//extern void CG_Write (void);

extern void delay(uchar ms); // 延时 #endif

4.1 时钟部分软件设计

Display.c

#include #include \//#include \#include \

uchar code dis4[] = {\

uchar code initdisp[] = {\//uchar code DT_place[] = {7,10,13,21,24,27};

uchar code DT_lcdplace[] = {0x07,0x0a,0x0d,0x45,0x48,0x4b}; uchar code DTdata_addr[] = {9,8,7,4,2,0}; uchar DTdata_tab[] = {0,0,0,0,0,0};

uchar code chars[8][6] = {{\ \ \{\ day \{%uchar data_h,data_l; void data_wr() {

uchar i;

for(i=5; i>=0; i--) {

*(ds_addr+(DTdata_addr[i]))=DTdata_tab[i];

28

搜索更多关于: 基于单片机设计课程设计论文 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#endif CHAR LCD.C #include #include #include \// 初始化程序 // 函数功能: LCD初始化 // 入口参数: 无 // 返回参数: 无 // 全局变量: 无 // 调用模块: lcd_wcmd(); delay(); void lcd_init() { lcd_wcmd(0x38); delay(1); lcd_wcmd(0x0c); delay(1); lcd_wcmd(0x06); delay(1); lcd_wcmd(0x01); } //-------------------------------------------------

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com