77范文网 - 专业文章范例文档资料分享平台

电子设计竞赛设计报告 - 图文(5)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

合肥学院第八届电子设计竞赛

sbit EN = P2^6; #define RS_CLR RS=0 #define RS_SET RS=1 #define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0 #define EN_SET EN=1 #define DataPort P0 判忙函数 bit LCD_Check_Busy(void) {

#ifdef CHECK_BUSY DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET;

return (bit)(DataPort & 0x80); #else return 0; #endif }

写入命令函数

void LCD_Write_Com(unsigned char com) {

while(LCD_Check_Busy()); //忙则等待 RS_CLR; RW_CLR; EN_SET;

21

合肥学院第八届电子设计竞赛

DataPort= com; _nop_(); EN_CLR; }

写入数据函数

void LCD_Write_Data(unsigned char Data) {

while(LCD_Check_Busy()); //忙则等待 RS_SET; RW_CLR; EN_SET;

DataPort= Data; _nop_(); EN_CLR; }

清屏函数 void LCD_Clear(void) {

LCD_Write_Com(0x01); DelayMs(5); }

写入字符串函数

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { while (*s) {

LCD_Write_Char(x,y,*s); s ++; x++; } }

22

合肥学院第八届电子设计竞赛

写入字符函数

void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) {

LCD_Write_Com(0x80 + x); } else { LCD

}

_Write_Com(0xC0 + x); LCD_Write_Data( Data); }

初始化函数void LCD_Init(void) {

LCD_Write_Com(0x38); /* DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38);

LCD_Write_Com(0x08); /* LCD_Write_Com(0x01); /* LCD_Write_Com(0x06); /* DelayMs(5);

LCD_Write_Com(0x0C); /* }

#include \

显示模式设置*/ 显示关闭*/ 显示清屏*/

显示光标移动设置*/ 显示开及光标设置*/ 23

合肥学院第八届电子设计竞赛

void DelayUs2x(unsigned char t) {

while(--t); }

void DelayMs(unsigned char t) {

while(t--) {

//大致延时1mS DelayUs2x(245); } }

DelayUs2x(245);

8.3 矩阵键盘程序

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include\#include\#define KeyPort P3

unsigned char KeyScan(void) //键盘扫描函数,使用行列反转扫描法 {

unsigned char cord_h,cord_l;//行列值中间变量 KeyPort=0x0f; //行线输出全为0 cord_h=KeyPort&0x0f; //读入列线值 if(cord_h!=0x0f) //先检测有无按键按下 {

DelayMs(10); //去抖 if((KeyPort&0x0f)!=0x0f) {

24

合肥学院第八届电子设计竞赛

cord_h=KeyPort&0x0f; //读入列线值 KeyPort=cord_h|0xf0; //输出当前列线值 cord_l=KeyPort&0xf0; //读入行线值

while((KeyPort&0xf0)!=0xf0);//等待松开并输出 return(cord_h+cord_l);//键盘最后组合码值 }

}return(0xff); //返回该值 }

unsigned char KeyPro(void) {

switch(KeyScan()) {

case 0x7e:return '1';break;//0 按下相应的键显示相对应的码值 case 0x7d:return '2';break;//1 case 0x7b:return '3';break;//2 case 0x77:return '+';break;//3 case 0xbe:return '4';break;//4 case 0xbd:return '5';break;//5 case 0xbb:return '6';break;//6 case 0xb7:return '-';break;//7 case 0xde:return '7';break;//8 case 0xdd:return '8';break;//9 case 0xdb:return '9';break;//a case 0xd7:return 'x';break;//b case 0xee:return '0';break;//c case 0xed:return '.';break;//d case 0xeb:return '=';break;//e case 0xe7:return '/';break;//f default:return 0xff;break;

25

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电子设计竞赛设计报告 - 图文(5)在线全文阅读。

电子设计竞赛设计报告 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/590385.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: