欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机学习课程设计.docx

    • 资源ID:15461862       资源大小:233.64KB        全文页数:21页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机学习课程设计.docx

    1、单片机学习课程设计( HD7279键盘显示的应用设计 )课程设计说明书系(部): 信息工程系电气类 班 级: 电气082 学生姓名: 学号 指导教师: 杨福广 时间: 2010 年 11月 14 日 到 2010 年 11月 26 日课 程 设 计 任 务 书题 目 HD7279键盘显示的应用设计 系 (部) 信息工程系 专 业 电气工程及其自动化 班 级 电气082 学生姓名 学 号 11 月 15 日至 11 月 26 日 共 2 周指导教师(签字) 系 主 任(签字) 2010 年 11 月 26 日一、设计内容及要求利用HD7279键盘显示芯片实现8位数字显示,通过2个按键实现显示内容

    2、的加减,并能通过4个按键实现任意位的设置。二、设计原始资料单片机原理及应用教程 范立南 2006年 1月单片机原理及应用教程 刘瑞新 2003年07月三、设计完成后提交的文件和图表1计算说明书部分1)方案论证报告打印版或手写版2)程序流程图3)具体程序 2图纸部分:具体电路原理图打印版四、进程安排教学内容 学时 地点资料查阅与学习讨论 1天 单片机实验室分散设计 5天 单片机实验室编写报告 3天 单片机实验室成果验收 1天 单片机实验室 五、主要参考资料电子设计自动化技术基础马建国、孟宪元编 清华大学出版 2004年4月 实用电子系统设计基础 姜威 2008年1月 单片机系统的PROTEUS设

    3、计与仿真 张靖武 2007年4月 指导老师成绩答辩小组成绩总成绩摘 要摘 要:编码键盘接口芯片74922与单片机 AT89C51 及相关译码器构成多键盘、多位数显示接口电路(以4 4 键盘 ,8位数显示接口) 。本电路克服了以往并行接口设计中占用较多 I/O口且键盘控制编程较繁的缺点 ,在构成多按键和多数字显示的较大规模单片机应用系统中有参考和实用价值。键盘、显示接口是单片机应用系统中最常用的基本接口电路。因单片机自身体积小 ,引脚少 ,在设计单片机系统时 ,如系统所需的按键较多 ,需显示的十进制位数较多 ,单片机自身的引脚不够用 ,并且此时串行口又要用作它用时 ,在以往的设计中 ,往往以总线

    4、方式外接8255或8155芯片 ,以便扩展并行口。这种方法因使用的芯片的体积大 ,引脚多 ,而使硬件系统较为庞大。另一种方法是将键盘和显示接口直接与单片机的 I/O引脚相接 ,但这种方法将占用较多有限的 I/O口。为了使有限的 I/O口用于实现更多的系统功能 ,同时系统的硬件设计和软件设计尽可能简洁 ,我们在单片机多键盘、多位数显示接口的应用系统设计电路中 ,选用了片内有 4KB Flash 存储器的 AT89C51 单片机 ,接口采用非总线结构。在显示部分通过译码器(7447集成电路译码器)控制段码和位线 ,尽量减少 I/O 口的使用。在键盘部分 ,键盘的扫描交给74922集成芯片来完成 ,

    5、使 CPU减轻用软件去扫描键盘的负担 ,提高 CPU 的利用率 ,较好地完成了设计任务。关键词: AT89C51单片机;编码键盘; 74922集成芯片, 7447集成电路译码器 目录第1章 概 述 9第2章 系统总体方案设计 92.1 74922 芯片内部结构、原理 92.2 74922芯片(16键 IC)的引脚排列 102.3 电路设计思想 102.4 BCD 七段译码器7447 112.5 747中LT、RBI、与BI/RBO之控制角 12第3章 硬件电路设计 143.1理论分析与计算 143.1.1设计思想 143.1.2程序设计流程 153.2电路与程序设计 153.2.3程序设计 1

    6、73.3结果分析 20第四章总结(经验教训) 22第1章 概 述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是MCS51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS51单片机已有数百个品种,还在

    7、不断推出功能更强的新产品。本设计是74922 芯片键盘显示设计方案,根据要求,给出了该单片机键盘显示的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。第2章 系统总体方案设计 采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的键盘显示功能,还能添加任意数加减、闪烁功能。其原理如图1所示图1设计模块图 2.1 74922 芯片内部结构、原理74922芯片是专用编码键盘接口芯片 ,当按下某一按键时 ,该芯片能自动给出相应的编码信息 ,并可自动消除

    8、抖动 ,从而可使设计者免除一部分软件编程。74922芯片有16键 IC和20键 IC,图2所示为4 4(16键)扫描式编码键盘原理图。图2扫描式编码键盘这种键盘的按键排成矩阵形式 ,以减少按键联线。如图中有16个键 ,排列成4行 4 列 ,仅需 8 根引线。时钟发生器的输出送给4位计数器进行计数 ,计数器的低 2 位经译码后作为行扫描 ,高2位经译码后作为列扫描。若没有检出有键闭合 ,则计数器周而复始反复计数 ,即反复进行扫描 ,一旦检出有键闭合 ,就发出一个脉冲使时钟振荡器停振 ,计数器随即停止计数。单片机通过读取计数器的计数值来获取闭合键所在的行列位置 ,然后从 ROM中查表得到按键读数。

    9、如果有两个键同时按下 ,则扫描到第一个闭合键时就停止扫描 ,把该键当作有效按键进行处理。2.2 74922芯片(16键 IC)的引脚排列如图2所示:X1X4:列线。Y1Y4:行线。OSC:接振荡电容0.1,以便扫描矩阵键盘KM:键盘消除抖动电路 ,并发出两 种信号(1)内部计数器停止计数。(2)若有键按下 ,使DA脚由未按键时的低电平变为高电平,若按键未放开则一直保持高电平,当按键放开时,才转为低电平。此引脚外接一个电容是OSC所接电容的10倍。图274922(16键)引脚排列图DA:数据有效信号。若无键按下 ,保持低电平。若有键按下 ,变为高电平 ,直到键放开 ,才转为低电平。/OE:输出使

    10、能。DA:按键值输出 ,按BCD码输出。2.3 电路设计思想在设计单片机系统时 ,为了实现系统所需的多按键 ,多位十进制数显示的和节约 I/O口资源 ,简化硬件电路要求 ,在串行口被用于其它用途的情况下 ,我们选用了一种新型的键盘、显示接口电路。其设计思想为:在显示部分:用 7 根 I/O 线通过七段译码器(7447)和at89c51外接了 8 个LED数码管即可完成动态显示。其中 ,段码采用硬件译码 ,单片机读到的键盘值送到 P0 口的低 4 位 ,经 7447 七段译码器译成段码送数码管。而位线由 P2 口的 P2.0P2.78位控制。在键盘部分:键盘扫描由74922芯片来完成。设计中用了

    11、5个 I/O线于74922芯片相接。其中4根 I/O线(P1.0P1.3)接 74922 的 A、B、C、D引脚 ,向单片机传送键值的BCD码。P1.4接74922的DA引脚 ,作为是否有键按下和按键是否放开的识别端。程序中只要检测 DA脚由低电平 高电平(有键按下) 、高电平 低电平 (键放开) ,就将 74922 的 D、C、B、A (键值的 BCD 码) 读入AT89C51。这个键值再由 P0 口的低 4 位送给七段译码器7447 ,硬件译码后的段码送给数码管显示。使得键盘控制程序相当简单 ,减轻了 CPU 用软件去扫描键盘 ,读取键值的负担 ,从而提高了 CPU的利用率。2.4 BCD

    12、 七段译码器74477447有4个 BCD码输入端 A、B、C和D,其中 D为最高有效位,A为最低有效位,它们分别与输出端口中的4位相连。7447的7个输出引脚 ag直接与 LED的相应引脚相连,每个段中都串接一个限流电阻,其阻值为100。当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。BI/RBO是线与逻辑,作灭灯输入(BI)或动态灭灯(RBO)之用,或者兼为二者之用。图3图3为7447集成电路译码器之引脚图与真值表如表1。在正常操作时,当输入DCBA=0010 则输出abcdefg=0010010。故使显示器显示2。当输入DCBA=0110 时

    13、,输出abcdeg=1100000,显示器显示6。2.5 747中LT、RBI、与BI/RBO之控制角在7447 中尚有LT、RBI 与BI/RBO 之控制脚,其功能分述如下:该电路是由与非门、输入缓冲器和7 个与或非门组成的BCD-7 段译码器/驱动器。通常是低电平有效,高的灌入电流的输出可直接驱动显示器。7 个与非门和一个驱动器成对连接,以产生可用的BCD 数据及其补码至7 个与或非译码门。剩下的与非门和3 个输入缓冲器作为试灯输入(LT)端、灭灯输入/动态灭灯输出(BI/RBO)端及动态灭灯输入(RBI )端。该电路接受4 位二进制编码十进制数(BCD)输入并借助于辅助输入端状态将输入数

    14、据译码后去驱动一个七段显示器。输出结构设计成能承受7 段显示所需要的相当高的电压。驱动显示器各段所需的高达24mA 的电流可以由其高性能的输出晶体管来直接提供。BCD 输入计数9 以上的显示图案是鉴定输入条件的唯一信号。该电路有自动前、后沿灭零控制(RBI和RBO)。试灯(LT)可在端处在高电平的任何时刻去进行,该电路还含有一个灭灯输入(BI),它用来控制灯的亮度或禁止输出。该电路在应用中可以驱动共阳极的发光二极管或直接驱动白炽灯指示器。7447 之输出系为驱动器设计,其逻辑0 之吸入电流高达40mA,故在使用必须加入330 左右电阻加以限流,以免过大电流流经LED而烧毁显示器,如图5所示。图

    15、4 DM7447A 引脚功能图 图5 表1 1.要求015时,灭灯输入(BI)必须开路或保持高电平,如果不要灭十进制数零,则动态灭灯输入(RBI)必须开路或为高电平。 2.将一低电平直接输入BI端,则不管其他输入为何电平,所有的输出端均输出为低电平。 3.当动态灭灯输入(RBI)和A,B,C,D输入为低电平而试灯输入为高电平时,所有各段输出都为0,并且动态灭灯输出(RBO)为低电平(响应条件)。 4.当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。表中1=高电平,0=低电平。BI/RBO是线与逻辑,作灭灯输入(BI)或动态灭灯(RBO)之用,或者兼

    16、为二者之用。 第3章 硬件电路设计3.1理论分析与计算3.1.1设计思想在设计单片机系统时 ,为了实现系统所需的多按键多位十进制数显示的和节约 I/O口资源 ,简化硬件电路要求 ,在串行口被用于其它用途的情况下 ,我们选用了一种新型的键盘、显示接口电路。其设计思想为:在显示部分:用 7 根 I/O 线通过七段译码器(7447)和3 - 8线译码器(74LS138)外接了 8 个LE数码管即可完成动态显示。其中 ,段码采用硬件译码 ,单片机读到的键盘值送到 P0 口的低 4 位 ,经 7447 七段译码器译成段码送数码管。而位线由 P0 口的 P0.4P0.6三位经4LS138译码器控制。在键盘

    17、部分:键盘扫描由74922芯片来完成。设计中用了5个 I/O线于74922芯片相接。其中根 I/O线(P1.0P1.3)接 74922 的 A、B、C、D引脚 ,向单片机传送键值的BCD码。P1.4接74922的DA引脚 ,作为是否有键按下和按键是否放开的识别端。程序中只要检测 D脚由低电平 高电平(有键按下) 、高电平 低电平 (键放开) ,就将 74922 的 D、C、B、A (键值的 BCD 码) 读入T89C51。这个键值再由 P0 口的低 4 位送给七段译码器7447 ,硬件译码后的段码送给数码管显示。使得键盘控制程序相当简单 ,减轻了 CPU 用软件去扫描键盘 ,读取键值的负担 ,

    18、从而提高了 CPU的利用率。3.1.2程序设计流程3.2电路与程序设计3.2.1.键盘、显示硬件电路如图6所示。图6键盘、显示接口电路本电路的特点是:不采用通常的总线接口方式 ,而是采用了非总线结构。其优点在于减少了扩展 I/O 口部分的芯片使用 ,用单片机的 I/O 线直接与外部芯片连接 ,使得硬件设计和软件编程相对简单。同时在外部芯片的选用中 ,采用硬件译码和硬件编码键盘控制芯片 ,实现了用尽可能少的 I/O线设计出尽可能大的键盘显示接口电路。电路中 ,在4 4键盘中每个按键的值是固定的 ,具体位置如图4所示 ,所以编程时只要建立一个 TABLE表 ,就可根据需要设计各种键盘。3.2.2程

    19、序设计应用设显示器缓冲区为 40H47H 单元 ,起始时均已清零。每次按键后读取的键值 ,放在 40H单元 ,而原 40H单元的内容(即前一次按键得值)移到 47H单元 ,以此类推。显示子程序对 47H40H单元的内容进行动态显示。由此得出针对该硬件电路的键盘显示程序。START:JB P1.4 , KEY ;检测74922 的DA脚=1 ?,DA=1 ,表示有键按下acall delay;调用显示子程序KEY:JB P1.4 , ;按键放开否?MOV A,P1 ;已放开,则读入74922 的按键值ANL A, # 0FH ;取低4 位(74922 的AD)MOV DPTR, # TABLE

    20、;到 TABLE表中取码MOVC A, A+DPTRxch a,47h ;现按键值存入(47H)3.2.3程序设计;*;主程序;*ORG 0000HAJMP MAINORG 0003HAJMP LOOP1ORG 0030HMAIN: MOV TCON,#00H MOV IE,#85H MOV P3,#0FFH JB P1.4,KEY AJMP MAINKEY: JB P1.4$ MOV P2,#00H MOV A,P1 ANL A,#0FH MOV DPTR,#TABLE MOVC A,A+DPTR;*;显示子程序;*A0: CJNE A,#00H,A1 SETB P2.0 MOV P0,A

    21、JB P1.4,KEY JNB P0.4,AA0 CLR P2.0 ACALL D_1S SETB P2.0 ACALL D_1SAA0:SJMP A0A1:CJNE A,#01H,A2 SETB P2.1 MOV P0,A JB P1.4,KEY SJMP A1A2:CJNE A,#02H,A3 SETB P2.2 MOV P0,A JB P1.4,KEY SJMP A2A3:CJNE A,#03H,A4 SETB P2.3 MOV P0,A JB P1.4,KEY SJMP A3 A4:CJNE A,#04H,A5 SETB P2.4 MOV P0,A JB P1.4,KEY SJMP A

    22、4 A5:CJNE A,#05H,A6 SETB P2.5 MOV P0,A JB P1.4,KEY SJMP A5 A6:CJNE A,#06H,A7 SETB P2.6 MOV P0,A JB P1.4,KEY SJMP A6 A7:CJNE A,#07H,A8 SETB P2.7 MOV P0,A JB P1.4,KEY SJMP A7TABLE: ;查表 DB 00H,01H,02H,03H DB 04H,05H,06H,07H DB 08H,09H;*;加法和减法中断子程序;*LOOP1: JNB P3.0,AAA JNB P3.1,BBB SJMP LOOP2BBB: DEC A

    23、MOV P0,A ACALL D_1SLOOP2: JB P1.4,NEG JNB P3.1,BBB SJMP LOOP1AAA:INC A A8:MOV P0,A ACALL D_1S JNB P3.0,AAA SJMP LOOP1 NEG:RETI;*;延时子程序;*D_1S:MOV R6,#100D10:CALL D10MS DJNZ R6,D10 RETD10MS:MOV R5,#10 D1MS:MOV R4,#249 DL:NOP NOP DJNZ R4,DL DJNZ R5,D1MS RETEND*闪烁子程序;*第一位数字闪烁jb p1.4 ,key jnb p0.4,aa0 cl

    24、r p2.0 acall D_1s setb p2.0 acall D_1s第二位数字闪烁jb p1.4, key jnb p0.4,aa1 clr p2.1 acall D_1s setb p2.1 acall D_1s第三位数字闪烁jb p1.4, key jnb p0.4,aa1 clr p2.2 acall D_1s setb p2.2 acall D_1s一直到第八位数字闪烁jb p1.4, key jnb p0.4,aa1 clr p2.7 acall D_1s setb p2.7 acall D_1s3.3结果分析4*4键盘控制数码管的显示,07可通过按键查表分别显示在数码管上,

    25、且数码管只能显示一位,即该系统只能实现1个按键按下时的显示。当有按键按下时,数码管上显示出来,此时若开启P3.2口的中断,通过P3.0口按键(加1)和P3.1口按键(减1)来实现显示数字的加减。没有中断时, P0.4口的按键按下,通过设置延时,可以实现显示数字的消隐与现实从而实现显示数字的闪烁八位显示一个数字。中断加1显示第四章总结(经验教训)单片机的功能真的很广泛,在拿到题目的一瞬间里我根本不知道从何下手,在通过到图书馆查阅资料,上网搜索材料,再加上在老师的耐心辅导和引导下我渐渐的摸清了思路,有了一个大概的系统思维,其实一个复杂的程序是由很多简单的子程序叠加而成的,通过查阅资料找到相关的芯片

    26、资料,特别是芯片的接口技术原理,慢慢的弄懂就可以连线画电路图,在写陈程序的过程中老师给了我很大的帮助,不懂的地反老师会提醒我,特别是在我的设计过程中遇到了很棘手的问题,我改换了芯片来做设计,在图书馆查了查,找到了功能相同的芯片74922和7499两芯片合起来实现hd7279的键盘显示功能。经过老师的允许和指导,我终于顺利的做完了我的课程设计而且功能全部实现了,并且额外实现了按键闪烁功能,在设计闪烁时我们遇到了一个问题,在设计后几位显示闪烁程序出现错误,后来我们上网搜索知道是jnb跳转不过去,我们又加了个LJMP实现了长跳转。课程设计虽然老师很严格,但正是老师的这种严格让我们的动手能力大大增强,我们都很理解老师的用心良苦,我很感谢有这次机会能够学到很多知识,也感谢老师的孜孜不倦,课程设计结束了,这次的经验和知识我是不会忘记的,感谢老师。参考文献:AT89系列单片机原理与接口技术王幸之、钟爱琴、王蕾、王闪编著北京航空航天大学出版 2004年5月第一版电子设计自动化技术基础马建国、孟宪元编 清华大学出版 2004年4月 实用电子系统设计基础 姜威 2008年1月 单片机系统的PROTEUS设计与仿真 张靖武 2007年4月


    注意事项

    本文(单片机学习课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开