- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式技术及应用实训报告-基于开发板的完整人机接口设计精选
嵌入式技术及应用实训报告项 目 名 称: 完整人机接口系统设计(4×4键盘+4位数码LED)专 业: 计算机应用技术 班 级: 计应1xx/1xx 校内指导老师:学 号: 姓 名: 地 点: 崇实楼B区411 时 间: 201x.7.6~201x.7.115成绩评定二〇一五年七月xx日附件3-1:绵阳职业技术学院实验实训(设计)进度检查及成绩评定表日期内容执行情况指导教师签名LPC2132开发板流水灯设计完整人机接口系统设计(4×4键盘+4位数码LED)温度控制(基于LPC2132+18B20温度检测及控制)基于ARM9的S3C2410嵌入式实验平台的搭建Linux的基本命令使用嵌入式平台的C程序设计学生姓名专业班级学号成绩汇总评分项目评分比例(%)分数总分指导教师评分40评阅教师评分30答辩小组评分30指导教师过程评语评分签字: 年 月 日评阅教师报告评语评分签字: 年 月 日答辩小组答辩评语评分签字: 年 月 日附件3-2:项目二:完整人机接口系统设计(4×4键盘+4位数码LED)项目描述键盘子系统(4x4矩阵键盘)和显示子系统(多位LED数码管动态显示),硬件电路参考开发板电路。系统循环检测键盘动作,当某个键被按下,将该键对应的键值输出到最右边的led显示器上,原来显示的数据整体左移一位。硬件组成四位共阳极数码管组成动态LED输出接口电路模块从图可知:LPC2132的P1[23:16]控制数码管的字形段码(A、B、C、D、E、F、G、DP),且各位数码管笔画的同名端并联使用,段码的输出对各位数码管来说都是相同的;各位数码管的共阳极由LPC2132的P0[21:18]位控制Q4~Q1来实现4位数码管的位输出控制。因此,同一时刻如果各位数码管的位选都处于选通状态的话,4位数码管将显示相同的字符。如要各位数码管能够显示与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位(数码管)的位选处于导通状态,而其他各位的位选线处于关闭状态。同时,段线上输出相应要显示字符的字形码。这样同一时刻,只有选通的哪一位显示出字符,而其他位则是熄灭的,如此循环下去,就可使各位数码管显示出将要显示的字符。动态显示的特点:用一个并行接口把所有数码管的笔画段同名端连在一起,而每一个数码管的公共端COM各自独立的受一条I/O线控制。但究竟哪个数码管亮则取决于COM端,COM端与单片机的I/O口相连,由单片机输出位码到LED位码端,以控制何时点亮哪一位数码管。动态扫描用分时轮流控制各数码管的COM端,使个数码管轮流点亮。在此过程中,每位数码管的点亮时间极为短暂。由于人的视觉暂留现象及发光二极管的余辉,给人的印象就是一组稳定的显示数据 动态显示的特点:优点:当显示位数较多时,采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单。缺点:其稳定度不如静态显示方式。而且数据位数较多时,CPU要轮流扫描,占用CPU比较多的时间。4x4键盘电路模块矩阵键盘又称行列式键盘,它是用4条I/O口线作为行线,4条I/O口线作为列线组成的键盘。行线和列线的每个交叉点上设置一个按键。这样的键盘中的按键个数是44,这种行列式键盘结构能够有效的提高单片机系统中I/O口的利用率。软件系统任务概要(方案1)定义显示缓冲区、段码表和位码表。其中常量表格ledsegcode[]数组保存对应的0~9十个数字所对应的显示段码。常量表格kscancode[]数组保存4条行线输出所对应的键盘扫描码。定义键盘代码数组keytal[4][4],保存16个键对应的键码。定义延时函数delay()函数、显示函数Display()、按键检测函数Getkey()。定义变量。主程序流程。系统初始化(GPIO功能、方向设置IOxDIR及各变量初始换)。根据计数变量j的值,决定是否调用getkey()函数获取键值。若有键输入,则置于显示缓冲区最低位(缓冲区数组整体左移一位),否则do nothing。调用display()函数,动态显示缓冲区数据,持续250us转②,循环。关键函数设计显示子程序设计void display(void){ uint32 i; ledptr=0; while(ledptrsizeof(disbuff)) { IO1SET|=(0xff16); //p1.16~p1.23 初始值为1IO1CLR|=(segcode[disbuff[ledptr]]16); IO0SET|=(0x0f18); //p0.18~p0.21 位码输出1,三极管均截止IO0CLR|=(bitcode[ledptr]18); ledptr++;i=2500; while(
文档评论(0)