版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机原理及应用课程设计指导书指导教师 宁立全 吕洪武 胡黄水 长春工业大学计算机科学与工程学院2014.12.22-2015.1.2目 录一、课程设计的目的与意义.2二、课程设计内容安排及教学要求.3三、单片机应用系统的设计开发过程.4四、课程设计选题原则.5五、课程设计题目6 (一)、设计实现类课题.6 (二)、设计应用类课题.7六、课程设计报告格式.8七、考核及成绩评定办法8八、课程设计的要求9附录:主要模块电路及代码10一、课程设计的目的与意义“单片机原理及应用”课程是电子信息专业的一门重要的工程技术理论基础课,是一门实践性和实用性都很强的课程, 课程设计是本课程不可缺少的重要教学环
2、节。学习的目的在于应用,本课程设计是配合单片机原理及应用课堂教学的一个重要的实践教学环节,它能起到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。最终应能达到每个学生都能自己动手独立设计完成一个典型的单片机应用系统。学习了单片机原理及应用课程之后,专门安排一段时间运用本课程所学到的知识,进行有实际意义的设计。通过完成一个课题的理论设计和实际调试工作,既能加深对所学知识的理解,又能培养综合的实践技能,从而提高分析问题和解决问题的能力。通过本课程设计可以达到以下几个目的:(1)、巩固和加强对汇编语言和c51程序设计的掌握,以及对接口芯片种类、使用方法的了解并适当拓宽学
3、生在工控领域的知识面。(2)初步掌握接口芯片在系统中的设计、使用方法。能根据系统的要求拟订设计方案;选用合适的接口器件并进行系统设计。(3)培养独立工作能力,独立设计、准备、调试,在实践中提高对单片机系统及接口技术的掌握,加强运用所学理论知识解决实际问题的能力。二、课程设计内容安排及教学要求(一)课程设计内容和进度安排:内容:两部分组成,自选设计题目+上机实验题目。进度:第1天:设计动员,教师讲述设计内容、要求和注意事项,学生根据自己的情况来选择设计题目和上机实验题目;确定总体设计方案。第2-4天:查资料,初步完成设计题目的资料收集整理;完成上机题目程序的编写、调试,同时上机进行实际测试验收工
4、作;第5-7天:完成电路设计,程序编写,同时上机进行汇编、通讯、调试并修改程序的操作;实现上机题目的调试工作。第8-9天:整理设计说明书,并交给指导教师,教师安排好答辩时间及顺序;第10天:答辩。(二)教学要求1巩固和加深对MCS51基本知识的理解,培养学生根据设计课题的需要,选用参考文献资料、查阅有关工程手册的技术数据图表、上网查阅相关文章、从网上下载相应的软硬件资料等的能力,提高学生综合运用所学知识和独立解决工程问题的能力。2掌握伟福仿真器的正确使用,学会简单系统的实验调试和测试方法,提高学生的动手能力;并能在教师的指导下,完成设计任务。3通过课程设计实践,帮助学生逐步建立正确的科研观点、
5、经济观点、全局观点。4初步掌握有关工程设计的方法、步骤,逐步熟悉开展技术设计的基本程序,为以后参与设计及研制新产品打下初步基础。 三、单片机应用系统的设计开发过程设计一个单片机应用系统,可以分为硬件设计和软件设计两个部分,从设计草图开始到样机调试成功,常常要将硬件,软件结合起来考虑,才能取得较好的效果.随着系统的用途不同,它们的硬,软件结构各有不同,但系统研制的方法和步骤是基本相同的,其研制过程可以归纳为以下所述的四个步骤.(一) 确定任务 如同任何一个新产品设计一样, 单片机应用系统的研制过程也是以确定应用系统的任务开始的。确定应用系统的功能指标和技术参数,这是系统设计的起点和依据,它将贯穿
6、于系统设计的全过程,必须认真做好这个工作,在确定任务的阶段中必须明确:1) 本应用系统需要达到的主要目标是什么,有多少个回路,有几个参数需要进行检测和控制 检测和控制的精度为多少; 2) 本应用系统有多少输入信号和输出信号, 输入信号的形式和电压等级及变化频率情况,输出信号的形式,电压等级和驱动功率有何要求; 3) 本应用系统需要提供哪些人一机对话功能,如:小键盘要多少个按钮,显示器应有几位等;4) 本应用系统的工作环境情况,如:温度、湿度、供电质量、电磁干扰等,是否需要采用特殊的安全保护和抗干扰措施; 5) 本应用系统的经济指标,特别是对新产品的开发,应当综合考虑成本,可靠性,可维护性以及经
7、济效益和社会效益,参考国内外同类产品的资料,提出比较合理的技术指标,使所开发的产品具有最佳的性能价格比。(二) 总体设计本阶段的任务便是通过调查研究,查阅资料来初定系统结构的总体方案,其中主要涉及到硬件和软件的功能划分。应用系统中硬件和软件具有一定的互换性,即某些功能既可以用硬件实现也可以用软件来完成。一般说来,用硬件实现的优点是可以提高工作速度,但使电路复杂,增加了硬件成本,而用软件代替某些硬件的功能可以使电路简化,硬件成本降低,但软件工作量增大。总体设计时,必须在硬件和软件之间权衡,分工明确,然后分头开始设计。(三) 硬件设计过程1、 将整个硬件系统划分为若干功能单元电路,绘出整个系统逻辑
8、电路图,注明各单元电路间接口信号,并画出一些重要控制信号的时序图。2、 完成各单元电路设计:包括选择合适的各类元器件和电路板设计(元器件布局和走线等)。3、各单元电路板装配,分调。4、整个硬件联机调试,完成后准备与软件联调。(四) 软件设计过程1、采用模块化程序结构设计软件,首先将整个软件分成若干功能模块;2、对各模块设计写一个详细的程序流程图;3、根据流程图,编写源程序;4、上机调试各模块程序;5、各程序模块联调;6、与硬件一起联调,最后完成全部调试工作。四、课程设计选题原则 课程设计是对理论教学进行消化、吸收并发展的一个教学环节,它可以帮助学生进一步理解理论知识,并能与实践结合起来,达到学
9、以致用的效果。所以,课程设计的选题显得尤为重要。 课程设计的选题一般应遵循以下几个原则:1、课题内容综合教学要求 课题内容应与单片机原理及应用课程理论教学内容相符,可适当深化与拓宽知识面。2、课题内容的难度应适当 课题内容的难易程度应保证大多数学生在规定时间内通过努力能完成设计。同时,课题内容也应多样化,以便不同层次、不同水平、不同兴趣的学生有选择的余地。3、课题内容应具有较强的实践性让学生有较多的机会进行调整、测试,从而锻炼动手能力。同时,也应有一定的实用性,以利于调动学生对课程设计的积极性。4、课题内容应适当反映该课程在工程技术领域中的应用。五、课程设计题目 本课程设计题目分两大类:(一)
10、、设计实现类:进行软、硬件设计,并上机编程、联线、调试、实现;(二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。(一)、设计实现类(上机实验课题) 该类题目既要进行硬件设计,又要进行软件设计。硬件设计不用自己整理电路板,而是使用单片机综合实验箱。该系统中,CPU与各种接口芯片均已连接好,我们在使用时,只需选择实验系统提供的模块选择开关,切换到89s52端即可。 上机实验的设计题目如下:至少完成三个实验。课题一:液晶显示系统设计要求:显示课程设计名称和本人名字。课题二:电子时钟设计要求:(1)在LED上显示分秒数,每隔一秒秒数加1;(2)定时时间为1秒;(3)用中断完成时间的处理;课
11、题三:点阵显示设计要求:显示本人名字,两个汉字。课题四:键盘液晶显示系统设计要求:按下键并在液晶上显示出键值。课题五:A/D,D/A控制系统设计要求:能简单实现模数,数模的采集输出。课题六:18b20温度采集显示课题七:电子音乐发声(自己选曲)课题八:电机调速(二)、设计应用类课题 选题采用教师指定和自选题目两种方式。题目不须上机实现,要求能正确完成硬件电路和软件程序设计。参考题目如下:测量类:相关传感器,信号调理,单片机数据接收和处理,显示,测量精度1.工频检测工频频率的测量工频电压、电流相位差及功率因数的测量工频电压、电流瞬时值测量及有功P和无功Q的测量有、无功电量的测量2热敏电阻式温度检
12、测热敏电阻温度转换原理,基本电路,程序设计3电感电容电阻参数检测4. 超声波测距仪5. IC卡智能水表6. 酒精测试仪7. 电子罗盘系统8. 无线多路数据(温度)采集系统9. 数字频率计10. 出租车计价器系统控制类:1恒温箱控制2. 大棚温湿度控制3自动浇灌机的设计4交通信号灯模拟控制定时交通信号灯控制有时间显示定时交通信号灯控制主支线路口的交通信号灯控制有急救车优先的交通信号灯控制5智能小车控制器设计、智能循迹小车6LED彩灯控制器设计 7作息时间控制系统8. 汽车防撞报警系统9. 阀门定位控制系统10. 智能煤气监控报警系统11. 红外防盗报警器12. 自动停车收费系统13. 全自动洗衣
13、机设计14. 水塔水位控制系统15. 照明系统节能控制其他:1函数发生器单片函数发生器的原理和线路真、有效值转换电路,AD转换器的接口电路利用软件来提高仪器的准确度,单片机的最小系统2波形发生硬件电路及原理,系统软件3. 数控直流电源以上题目仅供参考。可以自己查资料选题目。六、课程设计报告格式(一)封面范例:【就是填写课程设计任务书】单片机原理及应用课程设计报告题目:姓名:班级: 学号:完成日期:2015年1月2日(二)报告内容1. 设计题目、任务与要求2. 硬件框图与电路图 3. 软件及流程图 (1)主要模块流程图 (2)源程序清单与注释4. 总结5. 参考资料6.附录 实验上机调试内容七、
14、考核及成绩评定办法课程设计的成绩采用平时考勤、检查进度完成情况和答辩考核相结合;(一)考核方法:1每天指定时间考勤、检查进度、根据情况给分;2不按规定时间考勤者,当天成绩以0分计;3考勤累计2天不来者,视为不及格处理;(二)成绩评定方法:报告质量占30,答辩占50,平时表现占20。 设计成绩采用比例方式,即按班级人数划分,优秀30%,良好50%,中等、及格和不及格适当分配。八、课程设计的要求、不允许迟到及早退。迟到或早退累计达四次时按旷课一次处理。、不允许旷课。如果旷课学时达到三分之一,不允许参加答辩,成绩按“未考试”计。、一旦进入实验室,就不允许打游戏、看电影等违反纪律的活动。违反一次,成绩
15、降一档。、课程设计报告(包括代码在内)一律手写,代码必须上机编译通过!、封面用“课程设计任务书”,封底用“考核表”。答辩前必须填好。、报告一律使用纸。一、封面课程设计任务书的填写课程设计时间: 2014年12月22日 2015年1月2日题目:自选题题目,课程名称:单片机原理及应用课程设计任务书的填写时间:2014年12月22日姓名后面写上学号。地点: 老图书馆四楼3(每天上午8:3011:30及下午1:004:00)设计任务:概括的填写自选题的内容。时间安排:第1天:查阅资料,确定题目。第2-4天:进实验室做实验,连接硬件并编写程序作相关的模块实验。第5-7天:编写程序,并调试通过。观察及总结
16、硬件实验现象和结果。第8-9天:整理资料,撰写课程设计报告,准备答辩。第10天:上交课程设计报告,开始答辩。二、封底课程设计考核表的填写:题目:自选题题目,课程名称:单片机原理及应用课程设计考核表的填写时间:2015年1月2日三 报告的写法课程设计的题目 课程设计报告里写两个内容,自选题目内容+附录(实验内容)。而实验内容为“电子钟的设计”或“交通灯的设计”或者“温度计的设计”等自己做过的任选一题。四具体上机实验调试的安排: 每班一天上机,顺次循环。上午8:30-11:30 下午 13:00-16:00最后一天 交报告、答辩,时间由各班指导教师安排。附录:主要模块电路及代码实验一 循环彩灯一、
17、 实验目的1. 熟悉单片机实验板、Keil C51软件使用2. 学习简单程序的调试方法3学习延时子程序的编写和使用4学习P0口的使用方法二、 实验内容P0口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。三、 实验原理八个发光二极管D0D7 分别接在单片机的P0.0P0.7接口上,输出“0”时,发光二极管亮,按P0.0P0.1P0.2P0.3P0.7P0.6P0.0 逐一点亮,重复循环。硬件电路如图1-1所示。 图1-1 我们可以运用输出端口指令MOV P0,A或MOV P0,DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。每次送出的数据是不同,具体的
18、数据如下表1-1 所示。表1-1:P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0说明D7D6D5D4D3D2D1D011111110D0亮11111101D1亮11111011D2亮11110111D3亮11101111D4亮11011111D5亮10111111D6亮01111111D7亮四、 实验步骤1.将三档开关K29拨到最下(指向89S51),其它开关都拨到中间,插上USB下载线,打开电源。2打开KEIL软件,在所建的项目文件中输入源程序,进行编译,编译无误后,将生成的.HEX文件用Proisp下载到单片机中。3.观察实验板上小灯的现象,看是否符合实验要求。如果未到达
19、实验要求,修改程序,重复2操作,直至达到实验要求。五、 程序代码1 汇编程序代码: ORG 0000H AJMP START ORG 0030HSTART: MOV SP,#60H MOV R2,#8 MOV A,#0FEH SETB CLOOP: MOV P0,A ;左移 LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,#8 RRC ALOOP1: MOV P0,A ;右移 LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP STARTDELAY: MOV R5,#20 ;延时D1: MOV R6,#20D2: MOV R7,#200 DJN
20、Z R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END2 C编程序代码:#includevoid delay10ms(unsigned int count);zy_a1();yy_a1();/-主函数- main() while(1) zy_a1(); yy_a1(); /-左移模块 逐渐点亮- zy_a1() unsigned char i,temp,a; /声明无符号型变量i,temp,a temp=0xfe; /左移初始值 for(i=0;i8;i+) /设置移动位数 a=tempi; /灯左移i位 P0=a; /输出 delay10ms(50); /延时 /-右移模块
21、 逐渐点亮- yy_a1() unsigned char i,temp,a; /声明无符号型变量i,temp,a temp=0xff; /左移初始值 for(i=0;ii; /灯左移i位 P0=a; /输出 delay10ms(50); /延时 /-延时-void delay10ms(unsigned int count) /延时函数 int i,j,k; for(i=0;icount;i+) for(j=0;j10;j+) for(k=0;k120;k+); 实验二 动态数码显示一、 本实验仪提供了8 位8段码LED显示电路,学生只要按位置输出相应数据,就可以实现对显示器的控制。电路原理图如
22、图2-1所示。系统板上硬件连线说明如下:(1)单片机的P0.0-P0.7连接到8位数码管的a-h段上。显示内容与单片机P0口输出数据对应关系如表2-1所示。(2)单片机的P2.0-P2.2连接到74LS138译码器的A-C上。74LS138译码的输出端Y0-Y7连接到数码管的COM0-COM7上。单片机P2.0-P2.1输出数据与数码管选通位的对应关系如表2-2所示。图2-1表2-1:P0口输出数据与数码管显示对应关系对应数据线P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0对应显示段Dpgfedcba0C0110000001F9111110012A4101001003B010
23、1100004991001100159210010010682100000107F8111110008801000000099010010000-BF10111111表2-2:P2.0-P2.2输出与数码管位选通对应关系P2.2P2.1P2.0数码管位0通000数码管位1通001数码管位2通010数码管位3通011数码管位4通100数码管位5通101数码管位6通110数码管位7通111二、 实验步骤1将三档开关LED拨到最下(指向89S51),其它开关都拨到中间,插上USB下载线,打开电源。2打开KEIL软件,在所建的项目文件中输入源程序,进行编译,编译无误后,将生成的.HEX文件用Prois
24、p下载到单片机中。3观察实验板上数码管显示的现象,看是否符合实验要求。如果未到达实验要求,修改程序,重复2操作,直至达到实验要求。三、 程序代码1汇编程序代码 ORG 0000H AJMP START ORG 0030HSTART: MOV SP,#60HMAIN: MOV R2,#8 ;主程序 LOOP: MOV DPTR,#TAB1 MOV A,R2 MOVP2,A MOVCA,A+DPTR MOV DPTR,#TAB0 MOVC A,A+DPTR MOV P0,A LCALL DELAY DEC R2 CJNE R2,#0FFH,LOOP AJMP MAINDELAY: MOV R6,#
25、20 ;延时NEXT: MOV R7,#50 DJNZ R7,$ DJNZ R6,NEXT RETTAB0: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,0BFH ;共阳码 0,1,2,3,4,5,6,7,8,9,-TAB1: DB 01H,00H,0AH,00H,01H,0AH,09H,00H ;09-10-01 3 C编程序代码#include#define uchar unsigned charuchar code table0=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0
26、xbf;uchar code table1=0x01,0x00,0x0a,0x00,0x01,0x0a,0x09,0x00;void delay();main() /主函数 uchar i,j,d; for(i=0;i9;i+) j=table1i; d=table0j; P2=i; P0=d; delay(); void delay() /延时函数 uchar m,n; for(m=0;m5;m+) for(n=0;n5;n+); 实验三 44矩阵键盘1.实验箱上有一个16键的矩阵键盘,分为4行4列。4行作为输入线分别连接到单片机的P1.0P1.3,4列输出线分别连接到单片机的P1.4P1.
27、7。行列式键盘结构如图3-1所示。图3-1图中键盘的行线X0X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0X3均呈高电平。当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1为
28、低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。这种逐行逐列地检查键盘状态的过程称为对键盘的扫描。CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。CPU对键盘上闭合键号的确定,可以根据行线的状态计算求得,也可以查表求得。键盘布置及键值如表3-1所示。 表3-1:第4列第3列第2列第1列行输入P1.300H01H02H03H第4行行P
29、1.204H05H06H07H第3行P1.108H09H0AH0BH第2行P1.00CH0DH0EH0FH第1行P1.7P1.6P1.5P1.4列输出表3-1 键盘布置及键值2.键盘接口及程序设计键输入程序的功能有以下4个方面:1)判别键盘上有无键闭合:其方法为扫描口P1口的低四位输出全“0”,读P1口高四位的状态,若P1口高四位全为“1”(键盘上行线全为高电平)则键盘上没有闭合键,若P1口的高四位不为全“1”,则有键处于闭合状态;2)去除键的机械抖动:其方法是判别到键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则认为是键的抖动;3)判别
30、闭合键的键号:方法为对键盘的列线进行扫描,由扫描口P1口的低四位依次输出:相应地顺次读出P1口的高四位的状态,若P1口高四位为全“1”,则列线输出为“0“的这一列上没有键闭合,否则这一列上有键闭合。闭合键的键号等于为低电平的列号加上为低电平的行的首键号。例P1口低四位的输出为1101时,读出P1口的高四位为1101,则1行1列相交的键处于闭合状态,第一行的首键号为8,列号为1,闭合键的键号为:N=行首键号+列号=8+1=94)CPU对键的一次闭合仅作一次处理:采用的方法为等待闭合键释放以后再作处理。5) 将得到的键值,用数码管显示出。一、 实验步骤1将三档开关LED拨到最下(指向89S51),
31、其它开关都拨到中间(注意此时不能将三档开关4*4拨到最下,否则将不能正常下载程序),插上USB下载线,打开电源。2打开KEIL软件,在所建的项目文件中输入源程序,进行编译,编译无误后,将生成的.HEX文件用Proisp下载到单片机中。3然后将三档开关4*4拨到最下(指向89S51)。4按下按键,观察实验板上数码管显示的现象,看是否符合实验要求。如果未到达实验要求,修改程序,重复2操作,直至达到实验要求。二、 程序代码1 汇编程序代码KEY_N EQU 40H ;键值暂存位置 ORG 0000H AJMP START ORG 0030HSTART: MOV SP,#60H;-;主程序MAIN:
32、LCALL KEYI ;键盘扫描 LCALL DISPLAY ;显示 AJMP MAIN;-;键盘扫描子程序KEYI: ACALL KS1 ;判断有无键闭合 JNZ LK1 ;有,跳到LK1,软件去抖NI: AJMP EXIT ;无,返回LK1: ACALL DELAY ;延时去抖 ACALL KS1 JNZ LK2 AJMP EXITLK2: MOV R2,#0FEH ;列选码 MOV R4,#00H ;列号LK4: MOV A,R2 MOV P1,A MOV A,P1 SWAP A JB ACC.0,LONE ;第0行为1,无键闭合,跳到第1行 MOV A,#00H ;第0行有键闭合,A=
33、0 AJMP LKP ;跳到LKP,计算键号LONE: JB ACC.1,LTW0 MOV A,#04H AJMP LKPLTW0: JB ACC.2,LTHR MOV A,#08H AJMP LKPLTHR: JB ACC.3,NEXT MOV A,#0CHLKP: ADD A,R4 ;计算键值 MOV KEY_N,A ;将键值存储在KEY_N AJMP EXITNEXT: INC R4 MOV A,R2 JNB ACC.4,EXIT ;第4列为0时,跳到KND RL A MOV R2,A AJMP LK4EXIT: RET ;都比较结束,退出KS1: MOV A,#0F0H ;判断有无键闭
34、合 MOV P1,A MOV A,P1 CPL A ANL A,#0F0H RET;-;显示子程序DISPLAY:MOV A,KEY_N MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,A CLR P2.0 LCALL DELAY RET;-;延时子程序DELAY: MOV R6,#50LOOP: MOV R7,#50 DJNZ R7,$ DJNZ R6,LOOP RETTAB1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H DB 83H,0C6H,0A1H,86H,8EH ;共阳码 0,1,2,3,4,
35、5,6,7,8,9,A,B,C,D,E,F END2 C编程序代码#include #define uint unsigned int#define uchar unsigned charuchar keyword;uchar code table0=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;uchar code table1=0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0
36、x88;/-void delay(uint c) /延时消抖uchar m,n; for(m=0;mc;m+) for(n=0;n5;n+); /-uchar scankb()uchar sccode,recode; P1=0xf0; if(P1&0xf0)!=0xf0)/判断是否有键按下 delay(2); if(P1&0xf0)!=0xf0)/仍然有键按下 sccode=0xfe; while(sccode&0x10)!=0)/移位没完 P1=sccode;/行扫描开始 if(P1&0xf0)!=0xf0)/若在该行 recode=(P1&0xf0)|0x0f; /中间结果 P1=0xff
37、; return(sccode)+(recode); /返回Keyword else sccode=(sccode1)|0x01; /不在该行则扫下一行 return(keyword);/-main()uchar dat,i;while(1) keyword=scankb(); for(i=0;keyword!=table1i;i+); dat=table0i; P0=dat; P2=0; 实验四 液晶显示一、 实验目的1 了解液晶工作原理2 熟悉12232F液晶的引脚功能、工作时序及工作方式3 掌握如何根据时序图编写程序的方法。二、 实验内容用实验箱上提供的12232F液晶模块,编写程序,静
38、态显示“长春工业大学-电子信息工程”字样。三、 实验原理112232F是一种图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及12232全点阵液晶显示器组成.可完成图形显示,也可以显示72个(1616点阵)汉字.与外部CPU接口可采用串行或并行方式控制。2外部接口信号如下表4-1所示:表4-1:管脚号管脚名称LEVER管脚功能描述1GND0V电源地2VCC5.0V电源电压3VEE-液晶显示器驱动电压4RSH/LD/I=“H”,表示DB7DB0为显示数据D/I=“L”,表示DB7DB0为显示指令数据5R/WH/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, D
39、B7DB0的数据被写到IR或DR6EH/L使能信号7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15LED+5V背光源电压16LED-0V背光源电源地312232F提供两套控制命令,基本指令和扩充指令如下:指令表4-2:(RE=1:基本指令)指令 指 令 码功 能RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的位置计数器(AC)到00H位置归位000000001X设定DDRAM的位置计数器(AC)到00H,
40、并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置ON进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 功能 设定00001DLX0REXXDL=1(必须设为1)RE=1: 扩充指令操作RE=0: 基本指令操作 设定CGRAM 位置0001AC5AC4AC3AC2AC1AC0设定DDRAM 位置到位置计数器 设定DDRAM 位置001AC6AC5AC4AC3AC2AC1AC0设定CGRAM 位置到位置计数器读取忙标志和位置01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出位置计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公环境创新与提高工作效率的案例
- 商业建筑中的绿色植物设计与养护
- 2024年电竞馆租赁合同3篇
- 2025中国重汽集团春季招聘100人高频重点提升(共500题)附带答案详解
- 2025中国武夷实业股份限公司校园招聘68人高频重点提升(共500题)附带答案详解
- 2025中国地质科学院地质研究所公开招聘社会在职人员10人高频重点提升(共500题)附带答案详解
- 2025中国兵器工业集团盘锦北方沥青股份限公司招聘50人高频重点提升(共500题)附带答案详解
- 2025中化集团中化产业基金招聘高频重点提升(共500题)附带答案详解
- 2025下半年黑龙江哈尔滨理工大学招聘专职辅导员心理健康教师26人历年高频重点提升(共500题)附带答案详解
- 2025下半年浙江温州市鹿城区事业单位招聘(选调)拟聘(1)高频重点提升(共500题)附带答案详解
- 《村镇建筑抗震技术规程》
- MOOC 摄影艺术创作-中国传媒大学 中国大学慕课答案
- 门窗施工安全事故应急预案
- 劳务外包服务 投标方案(技术方案)
- 广东省深圳市南山区2023-2024学年六年级上学期期末语文试卷
- 安徽省蚌埠市禹会区2023-2024学年四年级上学期期末数学试卷
- 外贸公司的商业计划书
- 九年级上学期数学老师教学工作总结
- 预防幼儿骨折的措施
- 特殊教育家长会课件:支持特殊孩子的成长与发展
- 农业植保机初级课程考试题库(含答案)
评论
0/150
提交评论