LED点阵广告牌系统设计_毕业设计.doc_第1页
LED点阵广告牌系统设计_毕业设计.doc_第2页
LED点阵广告牌系统设计_毕业设计.doc_第3页
LED点阵广告牌系统设计_毕业设计.doc_第4页
LED点阵广告牌系统设计_毕业设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i led 点阵广告牌系统设计点阵广告牌系统设计 摘 要 随着 led 技术日趋成熟,在汽车、广告、日常生活等诸多领域都可以看见 led 点 阵显示屏的身影,目前高亮度 led 已可以产生红、绿、蓝三原色的光,可以组成大型 单色、双色和彩色 led 显示屏,常见的应用是文字显示及气象预报图像,另外,也盛 行使用 led 显示屏作为广告招牌。因此,led 在各个领域有广泛的应用。 本文介绍了一种基于单片机的 led 点阵广告牌系统,系统是以 at89s51 单片机为 核心实现 led 点阵汉字的显示。本文分别从硬件设计和软件实现给予详尽的描述。硬 件部分由行驱动模块、列驱动模块以及 led 点阵显示模块组成;软件部分采用简单流 通性强的 c 语言编程,实现不同的显示方式、显示不同的点阵汉字、调速。此 led 点 阵显示系统是基于 at89s51 单片机的控制,采用这种方法设计的 led 点阵显示系统成 本低、易于实现。 【关键词】at89s51 单片机;led 点阵汉字; 【论文类型】应用型 title: led dot billboards system design major: electronic and information engineering name: liya signature: supervisor: zhang xiao li signature: ii abstract with the led technology matures, many fields of automotive, advertising, and daily life can be seen the figure of the led dot matrix display. at present, high-brightness leds can produce red, green and blue light and can form a large monochromethe two-color and color led display. the common application is the image of text display and weather forecasts. in addition the prevalence of the use of led display advertising signs. therefore, the led has a wide application in various fields. this article describes a microcontroller-based led dot matrix billboard system and the at89s51 microcontroller is the core of chinese characters of led dot matrix display system the article give a detailed description separately from the hardware design and software. the hardware part is made of the line driver module, the column driver module and led dot matrix display module and software part simple liquidity of the c programming language. so can present a different display mode , a variety of dot matrix characters display and different space system is controlled by at89s51 microcontroller. the led dot matrix display system using this method designed is low-cost and easy to implement. 【key words】at89s51 single-chip microcomputer(scm); led dot matrix characters 【type of thesis】applied type 目 录 1 绪论 1 1.1 led 点阵汉字显示系统背景 1 1.2 led 点阵汉字显示系统概述 2 2 led 点阵汉字显示系统总体方案设计3 2.1 移位寄存器 74hc595 控制列(方案一)3 2.2 译码器 74hc154 控制列(方案二) .4 3 系统硬件电路设计 5 iii 3.1 芯片选择5 1)mcs-51 单片机5 2)1664led 点阵显示.8 3.2 led 点阵汉字 protues 仿真原理 10 3.2.1 88led 点阵构成 1616led 点阵 10 3.2.2 led 点阵显示系统的 protues 仿真 .11 3.2.3led 点阵系统显示仿真结果 12 3.3 led 点阵显示系统硬件电路设计 .14 3.3.1 单片机最小系统设计 14 3.3.2 33 矩阵键盘 15 4 软件程序设计 .18 4.1 led 点阵系统主程序流程图 .18 4.2 led 点阵系统主程序关键代码 .18 4.3 33 的矩阵键盘扫描流程图 19 4.4 33 的矩阵键盘扫描程序 20 5 总结 .22 致谢 .23 附录. led 点阵显示系统电路图24 附录. led 点阵显示系统 pcb 图25 附录. led 点阵显示系统实物图26 附录. led 点阵显示系统主要程序28 参考文献 .34 1 1 绪论 1.1 led 点阵汉字显示系统背景 由于单片机技术的不断发展和高亮度led 发光管的出现,使得大屏幕高亮度电子广 告屏成为可能。与传统的显示设备相比,led显示设备具有明显的优势:led 屏色彩 丰富,显示方式变化多样、亮度高;led 屏可以随意修改显示内容;led 显示屏可用 来与计算机屏幕同步。另外,它以其超大画面、超宽视觉、灵活多变的显示方式等独居 一格的优势,广泛应用于金融证券、银行利率、商业广告、文化娱乐等方面。 led电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示 屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。由干 采用单元模块化结构,屏体大小可按用户要求灵活拼制,它的超高亮度,使它在户内外 显示中具有不可替代的作用。 我国在1997年针对该行业发布了电子行业标准sj/t111411997led显示屏通过 规范 ,此标准规定了led显示屏的定义、分类、技术要求、检验方法、检验规则以及 标志、包装、运输、储存要求。它适用于所有led显示屏产品,已成为led显示屏生产 厂家设计、制造、测试、安装、验收、使用、质量检验和制定各种技术标注、技术文件 的主要依据。多年时间表明,它对led显示屏产品质量的提高以及行业的健康发展起到 了不可估量的作用。由于科技的发展,led显示屏的性能不断增加,功能不断完善,质 量不断提高,该标准在2003年修订为sj/t111412003led显示屏通用规范 ,由信息 产业部发布实施至今。 本文提供了一种成本低廉的汉字点阵 led 显示方案,该方案采用常用的 5l 系列单 片机和可以级联扩展的显示电路,可适用于许多需要汉字和图形显示的场合。本设计的 led 点阵显示系统采用字模提取软件,其显示和动态效果的实现主要依靠硬件扫描驱动, 该方法方便,且易于实现。本文对点阵显示原理进行了深入的研究,对单片杌控制系统 及显示驱动屯路进行了分析。介绍了单片机控制程序的设计方法。设计和制作了基于 5 1 系列单片机控制系统的 641 6led 点阵显示屏。该系统对 led 显示屏的驱动采用动 态扫描驱动方式,可以实现不同的动态显示效果。 2 1.2 led 点阵汉字显示系统概述 该系统采用 at89c52 单片机做控制器,整个电路主要由单片机控制及其接口电路、 驱动显示电路、电源电路、33 矩阵键盘、1664led 点阵等部分组成。为了简化显 示屏电路,降低成本,该系统在单片机部分不加字库存储器,而采用字模提取软件提取 汉字字型码,利用单片机读取显示字型码。通过驱动电路对 1664 共阳极 led 点阵进 行动态列扫描,以实现点阵汉字的的显示,33 矩阵键盘控制实现不同的显示方式、显 示不同的点阵汉字、调速。显示电路由 74hc154 作为列驱动、74ls273 控制 1664led 点阵的行。 3 2 led 点阵汉字显示系统总体方案设计 2.1 移位寄存器 74hc595 控制列(方案一) 控制电路主要由单片机at89c51、33矩阵键盘和片外ram构成。结构框图如图2.1 所示。80c51的pl口负责将显示数据发送给显示电路。p0口与p2口负责于片外ram及内 存通讯,即作数据线也作地址线。33矩阵键盘控制实现不同的显示方式、显示不同的 点阵汉字、调速。结构框图如图2.1所示 图2.1 控制电路结构框图 显示电路主要由两片译码器74ls138、8片行驱动4953(每片控制两行)、8片列驱动 74hc595(每片控制八列)和16片1588共阳极二极管点阵模块(88)构成。这就决定了本 led显示屏是1664点阵。本屏通过33矩阵键盘左移、右移显示“通信学院电子信息 工程” ,控制点阵汉字的暂停、开始。结构框图如图2.2 输入 图2.2 显示电路控制结构框图 单片机 at89c51 33 矩阵键盘 片外 ram 数据缓冲输出 行扫描 控制电路 行驱动 1664led 点阵 列驱动 列显示数据 4 2.2 译码器 74hc154 控制列(方案二) 该系统由at89c52最小系统、1664led点阵显示屏、列驱动电路、行驱动电路、 33矩阵键盘构成。at89c52为主控芯片,显示屏由16块88led共阳极连接组成,其 列驱动电路由4块4-16线译码器74hc154构成,输出列选信号,行驱动电路由2片 74ls273构成。本屏通过33矩阵键盘左移、右移显示“通信学院电子信息工程” ,控制 点阵汉字的暂停、开始。 ,控制显示系统框图如图2.3 图 2.3 led 点阵系统框图 方案一、方案二均可实现 led 点阵汉字的显示,均采用基于 keil c51 的编程,故 都具有较好的移植功能,程序可读性强。模块化的设计使程序看起来更加简洁,可非常 方便地任意修改所要显示的汉字。方案一用移位寄存器 74hc595 控制列,易于扩展 led 点阵,但行驱动、列驱动所用芯片过多,pcb 版成本过高;方案二用 4-16 线译码 器控制列,不易扩展 led 点阵,但使用芯片较少,制作简单、方便,pcb 版成本较低。 通过比较,方案二成本低、制作方便,故选择方案二实现 led 点阵显示系统。 at89c51 电源电路 复位电路 时钟电路 行驱动 列驱动 33 矩阵控制键盘 1664 led 点阵 显示屏 5 3 系统硬件电路设计 3.1 芯片选择 1)mcs-51 单片机 1.mcs-51 系列单片机 mcs-51 是指 intel 公司于 1980 年推出的新一代 8 位单片机系列产品(8051) 。从 严格意义上讲,其他所有具有 8051 指令系统的单片机都不应直接称为 mcs-51 系列单 片机,mcs 只是 intel 公司专用的单片机系列符号。 mcs-51 系列单片机及其兼容产品通常分为以下几类: 基本型:典型产品有 8031/8051/8751。基本型采用 hmos 工艺,片内集成有 8 位 cpu,片内驻留 4k8 位的 rom(8031 片内无),128b 的数据存储器(ram)以及 21 个特殊功能寄存器,32 条 i/o 接口线,1 个全双工的串行 i/o 口(uart),2 个 16 位 的定时/计数器,5 个中断源和 2 级中断。数据存储器和程序存储器的寻址能力为 128kb,指令系统除加、减、乘、除运算外,还提供了查表和位操作指令,主时钟频率 为 12mhz,运算速度增强。 增强型:典型产品有 8032/8052/8752。与基本型的差异在于内部 ram 增到 256b,8052、8752 的内部程序存储器扩展到 8kb,16 位定时/计数器增至 3 个。 低功耗型:典型产品有 80c31/87c51/80c51。其基本结构和功能与基本型相同。 由于采用 cmos 工艺,因此适于电池供电或其他低功耗的场合。 专用型:典型产品有 8044/8744。在基本型的基础上用一个 hslc/sdlc 通信控 制器取代了基本型的 uart,适用于总线分布式多机测控系统。 超 8 位型:典型产品有 philips 公司的 80c552/87c552/83c552 系列单片机。其 基本结构和功能与 mcs-51 系列完全相同,但又将 msc-96 系列(16 位单片机)i/o 部 件如高速输入/输出(his/hso) 、a/d 转换器、脉冲宽度调制(pwm) 、看门狗定时器 (wdt)等移植进来构成新一代 mcs-51 产品。这类产品的功能介于 mcs-51 和 msc- 96 之间,目前已得到了较广泛的适用。 片内闪烁存储器:典型产品有 atmel 公司的 at89c52 单片机。其内部含有 flash 存储器,使得存储和程序改写更加方便,从而受到了应用设计者的欢迎。 mcs-51 系列以及 80c51 系列单片机有多种类型,它们是具有 mcs-51 内核的各 种型号单片机的基础,也是各种增强型、扩展型等衍生品种的核心。 6 2. mcs-51 单片机内部结构 mcs-51 单片机的内部总体结构如图 3.1 所示 p0口驱动器p2口驱动器 p1口驱动器p3口驱动器 ram地址 寄存器 ram p0口 锁存器 p2口 锁存器 rom 堆栈 指针 地址锁存器 缓冲器 pc增量器 程序计数器 数据指针 寄存器btmp2tmp1 acc psw alu 定时 和控制 指令 寄存器 osc p1口 寄存器 p3口 寄存器 p1.0-p1.7p3.0-p3.7 p0.0-p0.7p2.0-p2.7 vcc gnd psen ale/prog ea/vpp rst scon tmodtmodpcon th0tl0th1tl1 sbuf (tx) sbuf (rx) ipie 中断、串行口 和定时器模块 图 3.1 mcs-51 单片机的内部总体结构 总体结构图主要包含下列的硬件资源: 8 位 cpu,片内振荡器 4kb/8kb 字节程序存储器 rom 128b/256b 字节数据存储器 ram 2/3 个 16 位定时器/计数器 32 个可编程的 i/o 线(四个 8 位并行 i/o 端口) 一个可编程全双工串行口 5/6 个中断源,两个中断优先级 可寻址 64kb 外部数据存储器空间及控制电路 可寻址 64kb 外部程序存储器空间及控制电路 有位寻址功能,适于布尔处理机的位处理机 备注:51 子系列:5 个中断源,2 个定时器,8051 掩模 rom、ram128b、4kbrom 7 8031 / 8051 / 8751 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 p10 p1.1 p12 p1.3 p1.4 p1.5 p1.6 p1.7 rst/vpd rxd/p3.0 txd/p3.1 int0/p3.2 int1/p3.3 t0/p3.4 t1/p3.5 wr/p3.6 rd/p3.7 xtal2 xtal1 vss vcc p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 ea/vpp ale/prog psen p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0 52 子系列:6 个中断源,3 个定时器,8052 掩模 rom,ram256b,2kbrom 3. at89c51 单片机引脚及其功能 mcs-51 单片机引脚图如图 3.3,其引脚按功能分为三部分:i/o 端口、控制引脚、 电源与晶振引脚: 输入/输出引脚 p0 口(39 脚32 脚):p0.0p0.7 统称为 p0 口; p1 口(1 脚8 脚): p1.0p1.7 统称为 p1 口; p2 口(21 脚28 脚):p2.0p2.7 统称为 p2 口; p3 口(10 脚17 脚):p3.0p3.7 统称为 p3 口; 控制引脚 ale/prog (30 脚):ale 地址锁存使能信号 输出端。存取片外存储 器时,用于锁存低 8 位地址。prog 是对于 eprom 型单片机,在 eprom 编程期间,此引 脚用于输入编程脉冲。 mcs-51 单片机引脚图如 图 3.2 mcs-51 单片机引脚图 图 3.2 所示 psen(29 脚): 程序存储器输出使能输出端。它是外部程序存储器的读选通信号 低电平有效 ea/vpp(31 脚):片内程序存储器屏蔽控制端,低电平有效。 rst/vpd(9 脚): 复位信号输入端,高电平有效。备用电源 vpd 功能。 电源和晶振引脚 vcc(40 脚):主电源正端,接+5v。 vss(20 脚):主电源负端,接地。 xtal1(19 脚):它是片内高增益反向放大器的输入端。接外部石英晶体和电容的 一端。若使用外部输入时钟,该脚必须接地。 xtal2(18 脚):它是片内高增益反向放大器的输出端。接外部石英晶体和电容的 另一端。若使用外部输入时钟,该脚作为外部输入时钟的输入端。 8 2) 1664led 点阵显示 1. 列驱动芯片 74hc154 74hc154是一种高速的cmos器件,引脚兼容低功耗肖特基ttl(lsttl)系列, 74hc154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。 74hc154 4线-16 线译码器/解调器 将4个二进制编码输入译成16个彼独立的输出之一 将数据从一个输入线分配到16个输出的任意一个而实现解调功能 输入箝位二极管简化了系统设计 与大部分ttl和dtl电路完全兼容 74hc154这种416译码器非常适合用于高性能存储器的译码器。当两个选通输入g1 和g2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。真值 表如表3.1所示 inputs 输入输入 g1g2dcba selected output 选定输出选定输出(l) lllllly0 lllllhy1 llllhly2 llllhhy3 lllhlly4 lllhlhy5 lllhhly6 lllhhhy7 llhllly8 llhllhy9 llhlhly10 llhlhhy11 llhhlly12 llhhlhy13 llhhhly14 llhhhhy15 xhxxxxnone 9 hxxxxxnone 表 3.1 74hc154 真值表 2. 行驱动芯片 74ls273 74ls273 是一种带清除功能的 8d 触发器, 1d8d 为数据输入端,1q8q 为数 据输出端,正脉冲触发,低电平清除,常用作 8 位地址锁存器。只有在清除端保持高电 平时,才具有锁存功能,锁存控制端为 11 脚 clk,采用上升沿锁存。 cpu 的 ale 信号必 须经过反相器反相之后才能与 74ls273 的控制 端 clk 端相连,真值表如表 3.2 表 3.2 74ls273 真值表 74ls273 引脚功能:1d8d 为数据输入端,1q8q 为数据输出端,正脉冲触发, 低电平清除,常用作 8 位地址锁存器。引脚图如图 3.4,其逻辑图如图 3.5 图 3.3 74ls273 引脚图 图 3.4 74ls273 逻辑图 mr (1 脚):复位 lcr,低电平有效,低电平时输出引脚 2(q0) 、5(q2) 、6(q3) 、 9(q4) 、12(q5) 、15(q6) 、16(q7)全部输出 0,即全部复位。当 1 脚为 高电平时,11(clk)脚是锁存控制端,并且是上升沿触发锁存,当 11 脚有一个 上升沿,立即锁存输入脚 3、4、7、8、13、14、17、18 的电平状态,并且 立即呈现在在输出脚 2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16(q6)、 19(q7)上。 10 cp(11 脚):时钟输入,高电平有效,边沿触发 d0-d7:数据输入 q0-q7:寄存器输出 3.2 led 点阵汉字 protues 仿真原理 3.2.1 88led 点阵构成 1616led 点阵 从 protues 元器件库中找出“matrix-8x8-red”元器件,将 4 块该元器件放在文 本文档区编辑窗口中。 然后行线连、列线分别相连,排列 led 如图 3.5 所示 图 3.5 排列 led 进一步组合靠拢, 1616led 点阵如图 3.6 所示 11 图 3.6 1616led 点阵 3.2.2 led 点阵显示系统的 protues 仿真 整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路、33 矩阵键 盘、1664led 点阵等部分组成。protues 仿真原理图如图 3.7 所示 图 3.7 protues 仿真原理图 点阵的阴极驱动是由单片机的 p0 口经过 2 片输出缓存器 74ls237 向 1664led 点 阵输出字型码作为行驱动信号。点阵的阳极驱动由单片机 p0 口经过 1 片输出缓存器 74ls237,再经过 4-16 线译码器 74hc154 译码后输出列选信号,对 1664led 点阵进 行列扫描,1 片 74hc154 控制 4 个 88led,因此需要 4 片 74hc154,在进行汉字分 批显示输出时采用逐列扫描方式。 led 点阵显示系统由 led 单片机 p1 口连接 33 矩阵键盘,通过键盘扫描控制 led 点阵显示屏汉字的左右移动方向、移动速度、不同汉字间的切换、暂停等。 1664led 显示屏通过键盘控制左移显示汉字字符“通信学院电子信息工程” 、 “祝 天下有情人终成眷属” 、 “浮名本是身外物” ,右移显示“通信学院电子信息工程” 、 “不 着分寸也风流” 、 “祝天下有情人终成眷属” 、 “世事如棋,乾坤莫测,笑尽英雄” 。这些 汉字可通过建立数据表格的形式进行,通过 1616 点阵汉字字模提取软件,可提取各 显示汉字的字模数据。通过列扫描方式把字符码传给 led 点阵显示屏。某一时刻,只 12 有 l 行或 l 列发光二极管被对应的字模数据驱动点亮,但只要扫描间隔时间合适(一般 为数毫秒),利用人眼的视觉暂留特性,看上去整批字符就显示在 led 点阵显示器上。 3.2.3led 点阵系统显示仿真结果 右移显示“通信学院电子信息工程”仿真结果如图 3.8 图 3.8 右移显示通信学院电子信息工程 左移显示“通信学院电子信息工程”仿真结果如图 3.9 13 图 3.9 左移显示通信学院电子信息工程 右移显示“祝天下有情人终成眷属” ,仿真结果如图 3.10 所示 图 3.10 右移显现“祝天下有情人终成眷属” 左移显示“世事如棋,乾坤莫测,笑尽英雄!” ,仿真结果如图 3.11 所示 14 图 3.11 左移显示“世事如棋,乾坤莫测,笑尽英雄!” 3.3 led 点阵显示系统硬件电路设计 3.3.1 单片机最小系统设计 单片机 at89c51 最小系统应该有电源,复位电路,时钟振荡电路。下面是单片机 最小系统时钟、复位电路简介: (1)时钟源电路 单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚 xtall 和 xtal2 跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择 6mhz、12mhz 或 24mhz 等频率的石英晶体,补偿电容通常选择 30pf 左右的瓷片电容。 (2)复位电路 单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。 上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在 单 片机运行期间,用按钮开关操作使单片机复位。本次采用手动按键复位。 15 单片机最小系统原理图,如图 3.12 所示 图 3.12 单片机最小系统原理图 3.3.2 33 矩阵键盘 把所有按键排列成行列矩阵形式的键盘,选用 p1 端口中的 p1.4p1.6 为四根 行线,p1.0p1.2 为四根列线,行线和列线的交叉处放置一按键,当健按下时行列 线接通,构成一个 33 的矩阵键盘,可定义 9 个按键。80c51 的 i/o 口具有输出锁 存和输入缓冲的功能,因而用它们组成键盘电路时,可以省掉输出锁存器和输入缓 冲器。 该 led 点阵显示系统的键盘由 mcs-51 单片机本身的 p1 口来构成 33 矩阵式 键盘。led 点阵屏的 33 矩阵式控制键盘如图 3.13 所示 16 图 3.13 led 点阵屏的 33 矩阵式控制键盘 s1、s4、s7:控制右移字体显示速度,s1 最快,s7 最慢; s3、s6、s9:控制左移字体显示速度,s3 最快,s9 最慢; s2:切换不同的左移显示汉字; s8:切换不同的右移显示汉字; s5:暂停。 键盘扫描过程 1).判断是否有键按下 2).键盘消抖 3).再次判断是否有键按下 4).识别键码 3.3.3 led 点阵显示模块 1664led 点阵显示驱动 点阵的阴极驱动是由单片机的 p0 口经过 2 片输出缓存器 74ls237 向 1664led 点阵输出字型码作为行驱动信号。点阵的阳极驱动由单片机 p0 口经过 1 片输出缓存器 74ls237,再经过 4-16 线译码器 74hc154 译码后输出列选信号。 驱动电路如图 3.14 所示 18 19 图 3.14 led 点阵驱动电路 1664led 点阵显示屏 由于 1664 led 点阵显示屏的行线列线较多,故选择大点阵设计 pcb 板原理 图,其原理图如图 3.15 所示 20 图 3.15 led 点阵显示屏 4 软件程序设计 4.1 led 点阵系统主程序流程图 led 点阵系统主程序流程图如图 4.1 所示 y n 开始 系统初始化 键盘扫描 有键按下吗? 点阵显示 21 图 4.1 主程序流程图 4.2 led 点阵系统主程序关键代码 void main() while(1) uchar s=1; while(s) p1=0x70; if(p1!=0x70) s=0; key=key_scan(); while(!s) p1=0x70; if(p1=0x70) s=1; switch(key) case 1: case 2: case 3: youyi(); break; case 9: case 8: case 7: zuoyi(); break; case 4: r+; if(r=3)r=0; 22 break; case 5: zanting(); break; case 6: l+; if(l=4)l=0; break; 4.3 33 的矩阵键盘扫描流程图 矩阵键盘扫描程序如图 4.2 所示 y n y n 开始 有键按下=1? 全行输出 1,全列读入 列状态均为 0? 置位有键按下 散转程序段 逐行处理程序 段 软件延时,跳出 23 | 图 4.2 矩阵键盘扫描程序 4.4 33 的矩阵键盘扫描程序 /键盘扫描 unsigned char key_scan() unsigned char i,j,key; p1=0x70; while(p1!=0x70) delay(10); p1=0x70; while(p1!=0x70) for(i=0;i #include #define uchar unsigned char #define uint unsigned int #define hang0 xbyte0x7fff #define hang1 xbyte0xbfff #define lie xbyte0xdfff uchar key=0,l=0,r=0; unsigned char key_code=0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; uchar ksp03=0x76,0x75,0x73; uchar ksp13=0x37,0x57,0x67; void delay(uchar); uchar key_scan(); void youyi(); void zanting(); void kaishi(); void zuoyi(); char code *tabler; char code *tablel; /*字符码略*/ /*mian funcation*/ void main() while(1) uchar s=1; while(s) p1=0x70; if(p1!=0x70) s=0; key=key_scan(); 31 while(!s) p1=0x70; if(p1=0x70) s=1; switch(key) case 1: case 2: case 3: youyi(); break; case 9: case 8: case 7: zuoyi(); break; case 4: r+; if(r=3)r=0; break; case 5: zanting(); break; case 6: l+; if(l=4)l=0; break; /键盘扫描 unsigned char key_scan() unsigned char i,j,key; 32 p1=0x70; while(p1!=0x70) delay(10); p1=0x70; while(p1!=0x70) for(i=0;i=2;i+) p1=ksp0i; if(p1!=ksp0i) break; for(j=0;j=2;j+) p1=ksp1j; if(p1!=ksp1j) break; key=i*3+j+1; return(key); return(0); return(0); /*delay time funcation*/ void delay(uchar c) uchar i; for(i=0;ic;i+); void zuoyi() uint b=0; /显示偏移控制,char 类型最多只能显示 14 个汉字+一个空白位字符 uchar a=0; /控制移动间隔时间 uchar i,j,k; /i:每个字的显示循环;j 每个字的显示码除以 2;k 每列刷新次数 uchar m,n; m=key; if(m=7)n=2; else if(m=8)n=4; else if (m=9)n=5; else n=5; 33 if(l=0)tablel=tablel1; else if(l=1)tablel=tablel2; else if(l=2)tablel=tablel3; else if(l=3)tablel=tablel4; while(1) j=0; if(a=6) /移动间隔时间;取值 0-255 a=n; b+=2; key=0; key=key_sc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论