分享
分销 收藏 举报 申诉 / 40
播放页_导航下方通栏广告

类型基于单片机的单词记忆测试器的专业课程设计.doc

  • 上传人:二***
  • 文档编号:4479836
  • 上传时间:2024-09-24
  • 格式:DOC
  • 页数:40
  • 大小:1,016.04KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 单片机 单词 记忆 测试 专业课程 设计
    资源描述:
    目 录 第一章 单词记忆测试器设计 1 1.1 硬件模块设计 1 1.1.1中央处理模块 1 1.1.2 显示模块硬件部分介绍 2 1.1.3 矩阵键盘 5 1.2 电路原理图设计 6 1.3 软件程序设计 7 1.3.1 程序设计思绪 7 1.3.2矩阵键盘程序设计 8 1.3.3 LCD12864显示模块驱动程序 9 1.3.4 显示字模码提取 10 1.3 系统软件主程序结构及其函数 11 1.4 软件仿真 16 第二章 结语 18 附录 单片机单词记忆测试器C程序 摘要 本论文研究对象是基于单片机单词记忆测试器设计,此单词记忆测试器能够实现单词输入并判定输入单词是否正确,单词背完后给出正确率。该单片机单词记忆测试器为在现实生活中有着广泛应用,尤其是对学习英语方面有很大作用。 本设计以STC89C52单片机为处理器,以12854点阵液晶屏为显示器件,并使用5×6距阵键盘为输入设备,实现了功效全方面人机界面和高速数据处理功效,利用单片机片上FLASH ROM,可储存10-20个英文单词和汉字,作为记忆测试用。 关键词: 单片机 单词记忆测试器 AT89C52 12864液晶屏 第一章 单词记忆测试器设计 1.1 硬件模块设计 本单词记忆测试器系统硬件部分分为三个模块:中央处理模块、显示模块、键盘输入模块。系统模型图以下: 单片机中央处理模块 5×6矩阵键盘模块 LCD12864液晶显示模块 图1 系统硬件模块图 1.1.1中央处理模块 中央处理模块选择STC89C52单片机系统组成,电路包含:STC89C52单片机、复位电路、时钟振荡电路。 STC89C52单片机需在复位电路和时钟振荡电路组成最小系统下工作,单片机引脚图图2,外围电路图3和图4所表示,时钟电路采取频率采取为12MHZ晶振,C1、C2和晶振组成了外部振荡电路。复位电路采取电解电容和电阻串联,当系统上电时,因为电容充电,在RST端会产生一个高电平,高电平连续时间由电容和电阻值决定,当RESET信号为低电平时,系统为工作状态。 STC89C52含有ISP功效,能够经过串行口直接将程序下载到单片机内。在下载程序状态下,RESET信号被拉高,系统进行程序下载,待程序下载完成后,RESET重新拉低。用户能够经过切断电源进行手动复位,或经过重新下载新程序进行复位。 图2 STC89C52引脚排列图 图3 时钟电路图 图4复位电路图 1.1.2 显示模块硬件部分介绍 显示模块采取单色点阵液晶屏12864模块,该模块在点阵液晶屏基础上集成了控制器kS0108,用户只需设计好接口程序,就可让模块显示出多种字符和图像。 通常我们所见到 LCD 模块,分为几部分:LCM(玻璃)、背光、PCB 板;而背光和PCB板部分其实是可有可无,视具体LCD 模块而定。点阵LCD 模块根据驱动控制器集成方法,大可分为两种:COB 和COG;COG 其实就是将驱动控制IC 集成到了玻璃里面,这么以后面PCB 板上其实只是部分驱动控制IC 无法集成电容电阻而已;COB 也就是把驱动控制IC 焊接在LCD 模块后面PCB 板上。 12864 为一块128X64 点阵LCD 显示模块,模块上 LCM 采取COG 技术将控制 (包含显存)、驱动器集成在LCM 玻璃上,接口简单、操作方便;为方便用户使用, 在LCM 基础上设计了12864 模块,将模块所必需外围电容电阻集成到模块上, 并引出多个形式引线接口方便用户使用。12864 模块和多种MCU 均可进行方便简 单接口操作。 LCD 接口: 通常来说,LCD 模块(带有驱动控制器)接口多为总线接口,不是6800 就是8080,或是串行SPI(及类SPI 时序);除了这些总线端口外,有LCD 模块还引出了部分功效性端口,如偏压调整输入、负压输出等。 图5 12864 模块接口定义表 显示 RAM 区映射情况: 对于 LCD 模块,了解清楚驱动控制IC 当中显存和LCD 玻璃上点对应关系是很关键,这是编写LCD 驱动程序基础。12864 液晶显示模块显示器(玻璃)上显示点和驱动控制芯片中显示缓存RAM是一一对应;驱动控制芯片当中共有65(8 Page x 8 bit+1)X 132 个位显示RAM 区。而显示器显示点阵大小为64X128 点,所以实际上在液晶显示模块中有用显示RAM 区为64 X 128 个位;按byte 为单位划分,共分为8 个Page,每个Page 为8 行,而每一行为128 个位(即128 列)。 驱动控制芯片显示RAM区每个byte数据对应屏上点排列方法为:纵向排列,低位在上高位在下;图 5所表示 图5 驱动控制芯片显示RAM区 12864 液晶显示模块显示器上每一个点全部对应有控制器片内显示缓存RAM中 一个位,显示器上64X128 个点分别对应着显示RAM8 个Page,每一个Page有128 个byte空间对应。所以可知显示RAM区中一个Page空间对应8 行点,而该Page中一个byte数据则对应一列(8 个点)。图6为显示RAM区和显示器点映射图: 图6 显示RAM区和显示器点映射图 行、列地址: 用户如关键点亮 LCD 屏上某一个点时,实际上就是对该点所对应显示RAM 区中某一个位进行置1 操作;所以就要确定该点所处行地址、列地址。从上图中能够看出, MzL02-12864 液晶显示模组行地址实际上就是Page 信息,每一个Page 应有8 行;而列地址则表示该点横坐标,在屏上为从左到右排列,Page 中一个Byte 对应是一列(8行,即8 个点),达128 列。能够依据这么关系在程序中控制 LCD 显示器显示。注意:MzL02-12864 显示缓存RAM 区实际上比模块上显示器所对应RAM 区要大;而LCD 模块具体设置Page(有时也称页)时,屏上位置和驱动控制IC 当中哪里RAM区对应,还和驱动控制IC 和屏连接相关;所以,实际在使用时,请参考所提供范例设置(关键是设置COM 反向扫描、SEG 设置为正向扫描,以此设置方法,则每个Page 中前三列和最终一列是不对应在LCD 屏幕上)。 1.1.3 矩阵键盘 要测试记忆单词,就要有字母输入接口,本接口设计为5×6矩阵键盘输入,接入单片机P1口和P3口进行键盘扫描。最大程度地提升了单片机IO口利用率,设计共30个接键,包含了26个英文字母和四个功效键:“确定”、“不认识”、“上一个”、“下一个”。 矩阵键盘图10,由30个轻触按键根据6行5列排列,连接到P1、P3端口。其扫描原理是:先将行线所接单片机I/O口作为输出端,而列线所接I/O口则作为输入。这么,当按键没有按下时,全部输出端全部是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这么,经过读入输入线状态就可得悉是否有键按下了。然后再将行线所接单片机I/O口作为输入端,而列线所接I/O口则作为输出,以相同方法读一次端口,程序中就可识别是啊个坐标按键按下了。 图7 5×6矩阵键盘 1.2 电路原理图设计 电路原理图设计使用集原理图设计、PCB设计、电路仿真功效为一体PROTUES软件。以该软件设计电路原理图图8。 图8 单片机单词记忆测试器电路原理图 电路设计参数: (1) C1 C2 为20-30PF瓷片电容,和12M晶振组成时钟振荡电路; (2) 复位电路使用R1为10K电阻、C3为10uF电解电容; (3) 12864液晶模块和单片机P0口连接,因P0口为真正三态门结构,因些作数据总线使用时要外接上拉电阻,可使用10K排阻; (4) 按键图行相连,列相连矩阵接法连入单片机IO口; (5) 电路供电为5V直流电源; (6) D1为输入错误状态指示灯,加220欧限流电阻连到VCC,因为STC89C51单片机IO电流灌入能力要强于电流输出能力,所以通常使IO为低电平时点亮LED灯。 1.3 软件程序设计 1.3.1 程序设计思绪 因本系统为模块化设计,为方便软件编写和移植,程序设计采取C语言,程序步骤图以下: 1.3.2矩阵键盘程序设计 矩阵键盘采取5×6 列和行扫描法,P1口依次接键盘每一行,而P3口依次接键盘每一列,程序开始先令P1全为高电平,P3口全为低电平,这么一旦矩阵键盘中有一个键按下时,就会在某一行中出现低电平,而某一列中出现高电平,程序先读P1口,以检测到有低电平来确定行。再使P1全为低电平,P3口全为高电平,再读P3口,以检测到低电平来确定列。 这里还要考虑按键机械抖动问题,因为按键机械特征,可能在按下瞬间会有一组抖动脉冲,通常程序中采取延时方法来去抖动。 实现C程序函数以下: /************************************************* ** 键盘扫描程序 *************************************************/ unsigned char kbscan() //键盘扫描 { uchar hang,lie,key; //P1连行,P3连列 if(P1!=0xFF||P3!=0) //按键去抖动 delayms(5); //延时5ms if(P1!=0xFF||P3!=0) { switch(P1&0xFF) //P1 扫行 { case 0xFE:hang=5;break; //P1.0为第6行 case 0xFD:hang=4;break; //P1.1为第5行 case 0xFB:hang=3;break; //P1.2为第4行 case 0xF7:hang=2;break; //P1.3为第3行 case 0xEF:hang=1;break; //P1.4为第2行 case 0xDF:hang=0;break; //P1.5为第1行 } P1=0; //P1全低电平 P3=0xFF;//P3全高电平 switch(P3&0xFF) { case 0xFE:lie=4;break; //P1.0为第5列 case 0xFD:lie=3;break; //P0.5为第4列 case 0xFB:lie=2;break; //P0.6为第3列 case 0xF7:lie=1;break; //P0.7为第2列 case 0xEF:lie=0;break; //P0.7为第1列 } P1=0xFF; //P1全高电平 P3=0; //P3全低电平 while(P1!=0xFF||P3!=0); //按键松开后才返回值 key=tab1[hang][lie]; } else key='_'; //没键按下返回空 return (key); } 1.3.3 LCD12864显示模块驱动程序 LCD12864显示模块程序作为显示部分底层程序,用户可直接调用其函数来达成驱动和显示功效。 关键显示命令和显示函数说明以下: 清显示器:void ClearLCD() ,将LCD上显示字符清空 汉字显示函数:void hz_disp(unsigned char x,unsigned char y,unsigned char n,unsigned char code * hz,bit flag) ; 其中X Y为汉字起始坐标,n为字数,hz为存放汉字字模码(后述)地址,flag为显示为黑还是白。 英文显示函数为:void en_disp(unsigned char x,unsigned char y,unsigned char n,unsigned char code *asc,unsigned char *string,bit flag) ; 其中其中X Y为字母起始坐标,n为字数,asc为存放字形码(后述)地址,flag为显示为黑还是白。 LCD12864显示一个单词示例代码以下: en_disp(6,0,8,Asc,"correct:",1); //在第7行,第1列开始显示correct; LCD12864显示一个汉字示例代码以下: hz_disp(0,48,1,hz1+hz_Num*32,1); //在第1行,第49列开始显示测试汉字 开始 单片机初始化 键盘扫描输入 有按键命令? 实施按键命令 N Y 显示正确 输入正确 字 符比较 确 定 键 显 示 下 一 个 显示 上 一 个 Y LCD12864初始化 N 1.3.4 显示字模码提取 为了使LCD12864能够显示用户存放汉字汉字和英文单词,用户必需将要显示汉字字模及英文字母字模码存入单片机存放器中,因LCD12864只能显示点阵图形,所以存放入单片机字模码必需是经过点阵码转换而成,为了软换更方便,设计使用了字模转换软件实现汉字和英文码取模。 图9 中英文取字模软件界面 比如汉字“中国”,取得字模码为: /*-- 文字: 中 --*/ 0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00, 0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00, /*-- 文字: 国 --*/ 0x00,0xFE,0x02,0x0A,0x8A,0x8A,0x8A,0xFA,0x8A,0x8A,0x8A,0x0A,0x02,0xFE,0x00,0x00, 0x00,0xFF,0x40,0x48,0x48,0x48,0x48,0x4F,0x48,0x49,0x4E,0x48,0x40,0xFF,0x00,0x00, 将此码存入单片机程序存放器里,使用液晶显示函数就可方便地显示汉字或英文字形。 本单片机记忆测试系统程序中将英文字符字模码表以asc.h文件形式保留,为节省单片机RAM,生成二进制文件以只读形式储在单片机FLASH ROM中。 4.3 系统软件主程序结构及其函数 系统主程序完成主循环和对各模块函数调用,调用文件包含:reg52.h、asc.h、 12864.h,其中reg52.h是 8051内核单片机标准头文件,定义了单片机内部各寄存器地址,使用户编程更方便;asc.h存放了本单词记忆测试器单词和汉字汉字字模块,供显示函数调用,而12864.h为LCD12864显示器底层驱动程序,包含了屏显示指令函数和显示中英文函数。 在KEIL uV3环境下将 主程序文件和reg52.h、asc.h、12864.h放在同一工程工作组中,方便主程序调用,图13。 图10 keil下 程序工程文件 主程序函数: 主程序首优异行存放变量定义: bit ERROR; //输入字符错误标志位,输入错误为 1 bit result; //输入最终止果对错标志位,为0是正确 bit verify; //标志按过一次确定键 sbit ERR=P2^7; //P2.7 口接一个指示灯警告输入错误 uchar correctNUM; //统计测试正确单词数,即得分 uchar code SL[10]={4,4,5,3,2,4,4,3,4,3}; //存放各测试单词长度,假如输入单词长度和存放不一样,也为错误 为能动态地显示测试单词,先将要测试单词存在一个二维数组中,显示了该数组中字符时,12864.h中显示函数会调用 对应字符字模码(asc.h中); /***************************************** /** 存放要测试单词,放在ROM中 /****************************************/ uchar code S[10][5]={ "tree ", //树 "rain ", //雨 "water", //水 "fly ", //飞 "go ", //去 "fish ", //鱼 "snow ", //雪 "eat ", //吃 "rice ", //米 "ice ", //冰 } ; 该二维数组为行*列 10*5,即10行5列,10行表示有10个单词,实际依据存放ROM大小,能够增加单词数;列数表示单词在存放器中占字符数,以最长单词(5个字符)定义,不足5个字符单词后补空格表示。 前节介绍过键盘输入是经过矩阵扫描方法,经过矩阵扫描可使单片机找到按键所在某行某列,但要得到一个英文字母值,还得在单片机返回某行某列位置预先定义个字母值,所以5*6矩阵键盘整个返回字母表可定义一个二维数组存放: /***************************************** /** 存放键盘字母值 ,放在ROM中 /****************************************/ uchar code tab1[6][5]={{'a','b','c','d','e'}, {'f','g','h','i','j' }, {'k','l','m','n','o' }, {'p','q','r','s','t' }, {'u','v','w','x','y'}, {'z', 1, 2 , 3 , 4} }; 比如在按下键盘时,单片机返回键盘位置为 第二行第三列,就可从上表中查出是对应位置字母。 键盘扫描函数返回是键值。 key=tab1[hang][lie]; 进入主程序后,先对LCD12864屏进行初始化和清屏操作,然后在LCD12864屏上显示单片机单词记忆测试器静态图文,需要动态刷新字符则在主循环中进行。 LCD12864_init(); //LCD12864初始化 ClearLCD(); //清屏 en_disp(2,1,11,Asc,"INPUT WORD:",1); //在第3行 第21列 显示"INPUT WORD:" //最终“1”表示显示为白底黑字,如是0则为黑底白字,即反显 en_disp(4,1,1,Asc,">",1); //在第5行,第5列开始显示">" en_disp(6,0,8,Asc,"correct:",1); //在第7行,第1列开始显示"correct:" en_disp(6,80,5,Asc,"00/10",1); //在第7行 第81列显示"00/10" LCD12864显示效果以下,此时系统进入单词输入测试就绪状态。 在系统进入单词输入测试就绪状态后,主程序即进入while(1)主循环中,循环进行键盘扫描,并判定键盘输入值,再和待测试单词进行比较,假如输入字符和字符长度均和被测试单词一致,则显示correct加1,即为加1分,并进入下一个单词测试,测试完10个单词后,重新进入第1个单词测试。 主程序主循环部分代码及注释以下: while(1) { KeyNum[iword]=kbscan(); //进行矩阵按键扫描,得到扫描键盘输入值 hz_disp(0,48,1,hz1+hz_Num*32,1); //在第1行,第49列开始显示测试汉字 temp[0]=(hz_Num+1)/10+0x30; //将十进制数转换为ASCII字符 //temp数组用来存放测试序号 temp[1]=(hz_Num+1)%10+0x30; //算出测试汉字序号第一位和第二位 en_disp(0,20,1,Asc,":",1); //在第1行 第21列显示":" en_disp(0,4,2,Asc,temp,1); //在第1行 第5列 显示测试序号 if(KeyNum[iword]!='_') //键盘有按键按下,无按下返回是'_' { if(KeyNum[iword]==1) //假如按下了确定键 { if(SL[hz_Num]==iword&&verify) //输入长度等于测试单词长度,则正确 ,verify表示按下了确定后有效一次 { correctNUM+=1; if(correctNUM>10) { correctNUM=10; //最多10个正确 } verify=0; //标志位清零 hz_Num++; //测试下一个单词 if(hz_Num==10) hz_Num=0; //最多设10个单词 temp[0]=(correctNUM)/10+0x30; //将十进制数转换为ASCII字符 temp[1]=(correctNUM)%10+0x30; //算出测试汉字序号第一位和第二位 en_disp(6,80,2,Asc,temp,1); //在第7行 第81列 iword=0; Nword=0; en_disp(4,16,8,Asc," ",1); //在第5行,第17列开始显示 } } else if(KeyNum[iword]==2||KeyNum[iword]==4) //假如按下了“不认识”或“下一个”键 ,直接跳到下一个单词 { result=0; //跳下一个时错误灯灭 ERROR=0; hz_Num++; //测试下一个单词 if(hz_Num==10) hz_Num=0; //最多设10个单词 iword=0; Nword=0; en_disp(4,16,8,Asc," ",1); //在第5行,第17列开始显示 } else if(KeyNum[iword]==3) //假如按下了“上一个”键 ,直接跳到上一个单词 { result=0; //跳下一个时错误灯灭 ERROR=0; //测试下一个单词 if(hz_Num==0) hz_Num=10; //最多设10个单词 hz_Num--; iword=0; Nword=0; en_disp(4,16,8,Asc," ",1); //在第5行,第17列开始显示 } else if(S[hz_Num][iword]==KeyNum[iword])//输入字符和测试标准字符比较 { temp[0]=KeyNum[iword]; ERROR=0; //正确就标志位置0 en_disp(4,Nword+16,1,Asc,temp,1); //在第5行,第17列开始显示 iword++; if(iword==8) iword=0; Nword=iword*8; verify=1; } else { temp[0]=KeyNum[iword]; ERROR=1; //错误就置1 en_disp(4,Nword+16,1,Asc,temp,1); //在第5行,第17列开始显示 iword++; if(iword==8) iword=0; Nword=iword*8; } result=ERROR|result; //0表示结果正确 } ERR=!result; //错误指示灯 } } 4.4 软件仿真 软件仿真使用protues环境,在画好protues原理图后,将keil环境下生成目标文件HEX文件载入protues中,即可进行软件仿真。因仿真软件中没有STC89C52元件 ,故可使用完全兼容AT89C52单片机仿真。 晶振选择12M 此处加入HEX文件 仿真结果: 输入错误时黄色LED报警: 第二章 结语 因为本人对单片机认识有限,在设计过程中碰到不少困难。在设计程序方面出现不少问题,所以用了比较简单程序运算。即使花了多个月时间尽力把毕业做好,但因为本人能力原因,整个系统做并不理想,不过在整个设计过程中我积累了不少经验,学会部分系统应用。 我一直认为毕业设计重在过程。确实是这么。这个毕业设计过程,其实也就是我不停学习过程。在这个过程中我学到了很多新知识,能力也提升了不少。这些收获给我带来喜悦远远超出了完成毕业设计时给我带来喜悦。我相信,以后再做这些设计时候一定还能够做得愈加好。 参考文件 [1] 何立民主编. 单片机应用文集. 北京:北京航空航天大学出版社,1994 [2] 王福瑞主编. 单片微机测控系统设计大全. 北京:北京航空航天大学出版社, 1999 [3] 夏继强 沈德金主编. 单片机试验和实践教程. 北京:北京航空航天大学出版社, [4] 李朝青主编. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社, [5] 马忠梅主编. 单片机c语言应用程序设计.北京:北京航空航天大学出版社, [6] 沈美明、温冬婵主编.IBM-PC汇编语言程序设计.北京:清华大学出版社 [7] 何立民主编. MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社 [8] 刘庆江 张晓光. 一个实用集成芯片测试仪设计. 中国矿业大学信息和电气工程学院, 附录 /*-----------------------------------------------------------*/ #define LCD_OFF 0x3E #define LCD_ON 0x3F #define Add_X 0xB8 //the start address of the page 0 ;(0~7) #define Add_Y 0x40 //the start address of the Y counter ; (0~64) #define Add_Z 0xC0 //the start address of the DDRAM ; (0~64) /*-----------------------------------------------------------*/ #define LCD12864_DATA_PORT P0 sbit LCD12864_EN =P2^4; sbit LCD12864_RW =P2^3; //0:write ; 1:read sbit LCD12864_RS =P2^2; //0:the command .1:the data sbit LCD12864_CS_L =P2^1; //select the left of the lcd when 1 sbit LCD12864_CS_R =P2^0; sbit LCD12864_RST =P2^5; /*------------------------------------------------------------*/ void delayus(unsigned int us) { while(us--); } void delayms(unsigned ms) { unsigned int i,j; for (i=0;i<ms;i++) { for (j=0;j<1000;j++) ; } } /*--------------------------select the LCD--------------------*/ void LCDSel(unsigned char sel) { switch(sel) { case 0: LCD12864_CS_L=0;LCD12864_CS_R=0;break; case 1: LCD12864_CS_L=1;LCD12864_CS_R=0;break; //left case 2: LCD12864_CS_L=0;LCD12864_CS_R=1;break; //right default:; }; } /*------------------------------------------------------------*/ void WaitLCD() { unsigned char flag; LCD12864_DATA_PORT=0xFF; LCD12864_RW=1; LCD12864_RS=0; LCD12864_EN=1; LCD12864_EN=1; LCD12864_EN=0; LCD12864_DATA_PORT=0xFF; //读有效数据 LCD12864_RW=1; LCD12864_RS=0; ; LCD12864_EN=1; do { flag=LCD12864_DATA_PORT; LCD12864_DATA_PORT=0xFF; } while((flag&0x80)==1); //读BUSY信号//仅当第7位为0时才可操作 LCD12864_EN=0; } //*/ /*-------------------------------------------------------------*/ void WriteDatToLCD12864(unsigned char dat) { WaitLCD(); LCD12864_RS=1; //the data LCD12864_RW=0; //write LCD12864_DATA_PORT=dat; LCD12864_EN=1; ; LCD12864_EN=0; } /*-------------------------------------------------------------*/ void WriteCmdToLCD12864(unsigned char cmd) { WaitLCD(); LCD12864_RS=0; //the command LCD12864_RW=0; //write LCD12864_DATA_PORT=cmd; LCD12864_EN=1; ; LCD12864_EN=0; } /*-------------------------------------------------------------*/ unsigned char ReadDatFromLCD12864(void) { unsigned char dat; WaitLCD(); LCD12864_DATA_PORT=0xFF; //读空操作 LCD12864_RS=1; //the data LCD12864_RW=1; //read LCD12864_EN=1; LCD12864_EN=1 ; LCD12864_EN=0; LCD12864_DATA_PORT=0xFF; //来读有效数据 LCD12864_RS=1; //the data LCD12864_RW=1; //read LCD12864_EN=1; dat=LCD12864_DATA_PORT; LCD12864_EN=0; return dat; } /*--------------------------------------------------------------*/ //from the chip manual void LCD12864_init(void) { LCD12864_RST=0; del
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于单片机的单词记忆测试器的专业课程设计.doc
    链接地址:https://www.zixin.com.cn/doc/4479836.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork