

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面单片机课程设计论文作者:PanHon gliang仅供个人学习设计课题8X8 LED点阵显示地设计第 1 章 系统概述1.计任务及目地. 2第 2 章 系统硬件设计与分析2.1 电源电路. 32.2 复位电路. 32.3 主体电路. 42.4 硬件电路连线. 42.5 显示部分. 4第 3 章 单片机地配置及简介3.1 单片机介绍. 63.2 单片机系统设计.83.3 单片机地发展趋势.9第 4 章 系统软件设计4.1 数字地编码. 104.2 字母地编码. 114.3 程序流程图. 134.4 完整程序. 14第 5 章 有关软件地介绍5.1PROTEfe路设计及 PCB 图制作. 17
2、5.2Keil C51 介绍及使用. 185.3 烧录器地使用. 19第 6 章结束语.20参考文献.20附图一原理图.21附图二 PCB 图.22第 1 章 系统概述LED点阵显示系统中各模块地显示方式有静态和动态显示两种.静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描地方式工作,由峰值较大地窄脉冲驱动,从上到下逐次不断地对显示屏地各行进行选通,同时又向各列送出表示图形或文字信息地脉冲信号,反复循环以上操作,就可显示各种图形或文字信息.本文 将介绍一种采用单片机AT89S51进行控制地8*8LED点阵.该点阵可实现动态显示数字09及字符AZ地功
3、能.1.1 设计任务及目地利用 8*8LED 点阵显示数字 09 和 26 个英文字符地字样.采用 AT89S51 单片 机作为整个控制搭电路地核心 , 并编制软件程序 , 实现动态轮流显示 . 通过此设计 来巩固单片机硬件系统地设计及软件系统地编程 , 通过设计将平时所学知识付诸 实践 , 提高动手能力 .第 2 章 系统硬件设计与分析本系统从经济性 ,电路结构 ,系统性能等多方面考虑 ,选用如下主要元器件:单 片机 AT89S51、电阻 10K 和 100 欧、三极管 8550、按钮开关、共阳 8*8LED 点 阵显示块、稳压块 7805.2.1 电源电路本设计实验所需电源为直流五伏电压源
4、 ,采用地是固定式三端稳压器 7805 还 实现 .其线路接线图如图 1 所示:图 1 电源电路2.2 复位电路单片机在启动运行时需要复位 ,使 CPU 以及其他功能部件处于一个确定地初 始状态 ,并从这个状态开始工作 ,另外 ,在单片机工作过程中 ,如果出现死机时 ,也必 须对单片机进行复位 ,使其重新开始工作 .本设计中采用按键复位电路 ,复位电路 如图 2 所示:图 2 复位电路2.3 主体电路通过单片机 AT89S51 地 P0 口和 P1 口去驱动点阵 LED 芯片块.电路如图 3 所 示:图 3 主体电路2.4 硬件电路连线1.把“单片机系统”区域中地 P0.0P0.7 端口分别通
5、过八个 100 欧电阻连接 到“点阵模块”区域中地“ L1- L8”端口上;2.把“单片机系统”区域中地 P1.0P1.7 端口通过三极管 8550 和 10K 电阻 连接到“点阵模块”区域中地“ S1-S8”端口上.2.5 显示部分1.8X8 点阵 LED 工作原理说明图 4 为 8X8点阵 LED 外观及引脚图,其等效电路如图(2)所示,只要其对应地 X、丫轴顺向偏压,即可使 LED 发亮.例如如果想使左上角 LED 点亮,则丫0=1,X0=0 即可.应用时限流电阻可以放在 X 轴或丫轴.图 48X8点阵 LED 外观及引脚图其等效电路图如下:图 58X8点阵 LED 等效电路2.点阵 L
6、ED 扫描法介绍点阵 LED般米用扫描式显示,实际运用分为三种方式:(1)点扫描;(2)行扫描;(3)列扫描.若使用第一种方式,其扫描频率必须大于 16X64=1024Hz 周期小于 1ms 即卩 可若使用第二和第三种方式,则频率必须大于 16X8=128Hz 周期小于 7.8ms 即 可符合视觉暂留要求.此外一次驱动一列或一行(8 颗 LED 时需外加驱动电路 提高电流,否则LED 亮度会不足.第 3 章单片机地配置及简介3.1 单片机介绍所谓单片机 ,就是将 CPU,RAM,ROM, 定时/计数器和多种 I/O 接口电路都集 成在一块集成芯片上地微型计算机 .MCS-51 系列单片机是美国
7、 In tel 公司在 1980 年推出地 8 位单片微型计算机 包含 51 和 52 两个子系列 .51 子系列地典型产品有 8031,8051 和 8751 三种机型 52子系列包括 8032,8052 二种主要机型 .51 子系列地配置如下:(1) 8 位 CPU;(2) 振荡频率 1.212MHZ ;(3)128 个字节地片内数据存储器(片内 RAM );( 4)21 个专用寄存器;( 5)4KB 地片内程序存储器( 8031 无);( 6)8 位并行 I/O 口 P0,P1,P2,P3;(7)一个全双工串行 I/O 口;(8)2 个 16 位定时器 /计数器;(9)5 个中断源 ,分
8、为 2 个优先级;本系统选用 ATMEL89S51 系列单片机 ,由于它地模块化设计为适应具体地应 用提供了极大地灵活性 ,便于扩展功能 ,有效地提高了系统地经济性 .AT89S51 是 一种低工耗、高性能地片内含有 4KB 快闪可编程 / 擦除只读存储器地八位 CMOS 微控制器,使用高密度、非易失存储编程器对程序存储器重复编程 .AT89S51 具有以下特点:( 1 )与 MCS-51 微控制器产品系列兼容 .( 2)片内有 4KB 可在线重复编程地快闪擦写存储器 .(3)32 条可编程 I/O 线.( 4)程序存储器具有三级加密保护 .(5)可编程全全双工串行通道.(6) 空闲状态维持低
9、功耗和掉电状态保存存储内容.(7)而且与 87C51 系列地引脚也完全兼容89S51 单片机结构如图 3-1 所示:图 3-1 89S51 单片机结构框图51 系列单片机地引脚功能:主电源引脚 Vss、VccVss:接地,Vcc :接+5V 电源外接晶振引脚 XTAL1、XTAL2XTAL1 :片内反向放大器输入端,XTAL2 :片内反向放大器输出端 输入/输出引脚 PO、P1、P2、P3P0.0P0.7: P0 口地 8 个引脚,P0 口是 8 位漏极开路型双向 I/O 端口,在接有 片外存储器或 I/0 扩展接口时,P0.0P0.7 分时复用,作低 8 位地址总线与双向 8 位数据总线P1
10、.0P1.7: P1 口地 8 个引脚,P1 口是一个带内部上拉电阻地 8 位双向 I/O 口对于 52 子系列,P1.0 还可用于定时器/计数器 2 地计数脉冲输入端T2,P1.1 还 可作定时器/计数器 2 地外部控制端 T2EX.P2.0P2.7: P2 口地 8 个引脚,P2 口也是一个带内部上拉电阻地双向I/O 口,在访问片外存储器或扩展 I/O 接口时,还用于提供高 8 位地址.P3.0P3.7: P3 口地 8 个引脚,P3 口也是一个带上拉电阻地 I/O 口除可以作 双向地输入输出口外,还具有第 2 功能.见表 3-1表 3-1 P3 口第二功能表引脚第二功能P3.0RXD (
11、串行口输入)P3.1TXD (串行口输出)P3.2INT0 (外部中断 0 输入)P3.3INT1 (外部中断 1 输入)P3.4T0 (定时器 0 地外部中断)P3.5T1 (定时器 1 地外部中断)P3.6WR (片外数据存储器写控制信号)P3.7RD (片外数据存储器读控制信号)控制线(4 条):ALE/PROG :双功能引脚.由于 P0 口地 8 个引脚是低 8 位地址总线与数据总 线分时复用,因此必须将 P0 口输出地低 8 位地址进行锁存.在访问片外存储器时每机器周期该信号出现 2 次.其下降沿用于控制锁存 P0 口输出地低 8 位地址.即 使不访问片外存储器,该引脚上仍出现上述频
12、率地周期性信号,因此也可作为对外 输出地时钟脉冲,频率为振荡器频率地 1/6,必须注意地是:在访问片内外存储器 时,ALE 脉冲会跳空 1 个.对片内含有 EPROM 地机型,此引脚在编程时可作为编 程脉冲 PROG 地输入端.PSEN:片外程序存储器读选通信号输出端,在 CPU 从片外程序存储器取指期间,此信号每个机器周期两次有效,以通过 P0 口读入指令,在访问片外数据存 储器时,该信号不出现EA/Vpp : 双功能引脚,为片外程序存储器选用端当该引脚信号有效时,选 择片外程序存储器,即 EA/Vpp=1 时,访问片内程序存储器.对片内含有 EPROM 地机型,此引脚在编程期间用于施加+2
13、1v 地编程电压.RST/VPO:双功能引脚,在单片机工作期间,当此引脚上出现连接 2 个机器 周期地高电平时可实现复位操作在 Vcc 掉电期间,若该引脚接备用电源(+5v) 可向片内RAM 供电,以保存片内 RAM 中地信息.3.2 单片机系统设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最 小功耗系统和典型应用系统等.(1)最小应用系统:能维持单片机运行地最简单配置地系统.这种系统成本低廉、结构简单,常常构成一些简单地控制系统,如开关状态地输入/输出控制等.对于片内有 ROM/EPROM/FLASH RAM 地单片机,构成最小应用系统时,只 要将单片机接上时钟电路、复
14、位电路和电源即可,如图 3-2(a)所示.时钟电路、复位电路和电源外,还应在片外扩展 EPROM、EEPROM 作为程序存 储器用,如图 3 (b)所示应接地.(2)最小功耗应用系统最小功耗应用系统是指为了保证正常运行,系统地功率消耗最小.这是单片机 应用系统中地一个引人入目地构成方式.在单片机芯片结构设计时,一般为构成最 小功耗应用系统提供了必要条件,例如,各种系列地单片机都有 CMOS 工艺类型, 而且在这类单片XTAL1P0P0 -、,I-r-XTALPffl3-2+89S51 单片机最小应用系统 仝种最小应用系统只能用作1- 1T由于集成 特点是: X有可供 由于没有外部2内部存3应用
15、系统开发具有特殊性.由于这类应用系统应用程序量不大,外电路简单, 因而采用模拟开发手段较好.对于片内无 ROM/EPROM/FLASH RAM 地单片机,其最小系统除了外部配置度地限制P3用户使用地大量 I/O 口线 P0、P1、P展,应接高电平.储器容量有限(只有 4KB 地址空间丄89S51存储器扩1P2.72.0一些小型地控制单元89S51RSTP3 都可丿ALEP0.70.0地址锁存.其应用处EPROM用作用户 I/O 口用.机中都设置了低功耗运行地 WAIT 和 STOP 方式.设计最小功耗应用系统时,必须使系统内地所有器件、外设都有最小地功耗,而且能充分运用 WAIT 和 STOP
16、 方式运行.最小功耗应用系统常用在一些袖珍式 智能仪表、野外工作仪表以及在无源网络、接口中地单片机工作子站.3.3 单片机地发展趋势今后单片机地发展趋势,将是进一步向着多功能、高性能、高速度、低功耗、低价格、存储容量扩大和增强 I/O 功能及结构兼容等方面发展.其发展趋势 主 要 有以 下 几 个 方 面:1.多功能在单片机中尽可能多地把应用所需地存储器、各种功能地I/O 口都集成在一块芯片内,使单片机地功能更加强大.如把 LED、LCD 或 VFD 显示驱动器也开始 集成在 8 位单片机中.2.高性能进一步改进 CPU 地性能,加快指令运算地速度和提高系统控制地可靠性,采用精简指令系统计算机
17、 RISC( Reduced Instruction Set Computer)结构和流水线技 术,大幅度提高运行速度.现指令速度最高者已达 100MIPS(Million Instruction Per Seconds 即卩兆指令每秒),并加强了位处理功能、中断和定时控制功能,使单片机地 性能明显地优于同类型地微处理器.单片机集成度进一步提高,有地单片机地寻址 能力已突破 64 KB 地限制,8 位、 16 位地单片机有地寻址能力已达到 1 MB 和 16 MB.片内 ROM地容量可达 64 KB,RAM 地容量可达 2 KB.3.低电压、低功耗允许使用地电压范围越来越宽,一般在 3 6V
18、范围内工作,有地已能在 1.2V 或0.9V 电压下工作.几乎所有地单片机都具有省电运行方式.单片机地功耗已从mA 级降到卩 A 级,甚至 1 卩 A 以下,在一粒钮扣电池下就可长期工作.低功耗化地 效应不仅是功耗低,而且带来了产品地高可靠性、高抗干扰能力以及产品地便携 化 .4.低价格单片机应用地另一显著特点是量大面广.促使世界各国公司在提高单片机性能地同时,也十分注意降低价格.如 Z-8 系列地 Z8600、80C51 系列地 80C31 每片仅 售1-1.5 美元.提高性能价格比是各公司竞争地主要策略和不懈追求地目标.第 4 章系统软件设计利用数组将各数字字符地编码存放在寄存器中,在执行
19、显示过程中从寄存器 中将对应数字或字符编码地数组轮流调出即可实现动态4.1 数字地编码各个数字对应地编码如下:0 x0C,0 x12,0 x12,0 x12,0 x12,0 x12,0 x0C,0 x00,/*0,0*/ /0 x04,0 x06,0 x04,0 x04,0 x04,0 x04,0 x0E,0 x00,/*1,1*/ /0 x0C,0 x12,0 x10,0 x08,0 x04,0 x02,0 x1E,0 x00,/*2,2*/ /0 x0C,0 x12,0 x10,0 x0C,0 x10,0 x12,0 x0C,0 x00,/*3,3*/ /0 x08,0 x0C,0 x0C
20、,0 x0A,0 x0A,0 x1E,0 x08,0 x00,/*4,4*/ /0 x1E,0 x02,0 x02,0 x0E,0 x10,0 x10,0 x0E,0 x00,/*5,5*/ /0 x0C,0 x12,0 x02,0 x0E,0 x12,0 x12,0 x0C,0 x00,/*6,6*/ /0 x1E,0 x12,0 x10,0 x08,0 x04,0 x04,0 x04,0 x00,/*7,7*/ /0 x0C,0 x12,0 x12,0 x0C,0 x12,0 x12,0 x0C,0 x00,/*8,8*/ /0 x0C,0 x12,0 x12,0 x1C,0 x10,0
21、x12,0 x0C,0 x00,/*9,9*/ /4.2 字母地编码各个字母所对应地编码如下:0 x0C,0 x12,0 x12,0 x12,0 x1E,0 x12,0 x12,0 x00,/*A,0*/ /0 x0E,0 x12,0 x12,0 x0E,0 x12,0 x12,0 x0E,0 x00,/*B,1*/ /0 x0C,0 x12,0 x02,0 x02,0 x02,0 x12,0 x0C,0 x00,/*C,2*/ /0 x0E,0 x12,0 x12,0 x12,0 x12,0 x12,0 x0E,0 x00,/*D,3*/ /0 x1E,0 x02,0 x02,0 x0E,0
22、 x02,0 x02,0 x1E,0 x00,/*E,4*/ /0 x1E,0 x02,0 x02,0 x0E,0 x02,0 x02,0 x02,0 x00,/*F,5*/ /0 x0C,0 x12,0 x02,0 x1A,0 x12,0 x12,0 x0C,0 x00,/*G,6*/ /0 x12,0 x12,0 x12,0 x1E,0 x12,0 x12,0 x12,0 x00,/*H,7*/ /0 x0E,0 x04,0 x04,0 x04,0 x04,0 x04,0 x0E,0 x00,/*l,8*/ /0 x10,0 x10,0 x10,0 x10,0 x12,0 x12,0 x0
23、C,0 x00,/*J,9*/ /0 x12,0 x12,0 x0A,0 x06,0 x0A,0 x12,0 x12,0 x00,/*K,10*/ /0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x1E,0 x00,/*L,11*/ /0 x12,0 x1E,0 x1E,0 x12,0 x12,0 x12,0 x12,0 x00,/*M,12*/ /0 x12,0 x16,0 x16,0 x1A,0 x1A,0 x12,0 x12,0 x00,/*N,13*/ /0 x1E,0 x12,0 x12,0 x12,0 x12,0 x12,0 x1E,0 x00,/*O
24、,14*/ /0 x0E,0 x12,0 x12,0 x0E,0 x02,0 x02,0 x02,0 x00,/*P,15*/ /0 x0C,0 x12,0 x12,0 x12,0 x16,0 x1A,0 x1C,0 x00,/*Q,16*/ /0 x0E,0 x12,0 x12,0 x0E,0 x06,0 x0A,0 x12,0 x00,/*R,17*/ /0 x0C,0 x12,0 x02,0 x0C,0 x10,0 x12,0 x0C,0 x00,/*S,18*/ /0 x1E,0 x04,0 x04,0 x04,0 x04,0 x04,0 x04,0 x00,/*T,19*/ /0 x
25、12,0 x12,0 x12,0 x12,0 x12,0 x12,0 x0C,0 x00,/*U,20*/ /0 x12,0 x12,0 x12,0 x12,0 x0C,0 x0C,0 x0C,0 x00,/*V,21*/ /0 x12,0 x12,0 x12,0 x12,0 x1E,0 x1E,0 x12,0 x00,/*W,22*/ /0 x12,0 x12,0 x0C,0 x0C,0 x0C,0 x12,0 x12,0 x00,/*X,23*/ /0 x11,0 x11,0 x0A,0 x04,0 x04,0 x04,0 x04,0 x00,/*Y,24*/ /0 x1E,0 x10,0
26、 x08,0 x0C,0 x04,0 x02,0 x1E,0 x00,/*Z,25*/ /4.3 程序流程图显示数字0/显示数字1/显示数字2/显示数字3/显示数字4/显 示 数 字5/显 示 数 字6/显 示 数 字7/显 示 数 字8/显 示 数 字9/显示字母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/TMOD初始化un sig n
27、ed char code tab=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f un sig ned char code digittab8=0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/* ”,0*/0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/* ,0*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 xFF,/*_,0*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0
28、xFF,0 xFF,/*_,0*/0 x00,0 x00,0 x00,0 x00,0 x00,0 xFF,0 xFF,0 xFF,/*_,0*/0 x00,0 x00,0 x00,0 x00,0 xFF,0 xFF,0 xFF,0 xFF,/*_,0*/0 x00,0 x00,0 x00,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/*_,0*/0 x00,0 x00,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/*_,0*/0 x00,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/*_,0*/0 xFF,0
29、xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/*_,0*/0 x01,0 x01,0 x01,0 x01,0 x01,0 x01,0 x01,0 x01,/*|,0*/0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,/*|,0*/0 x04,0 x04,0 x04,0 x04,0 x04,0 x04,0 x04,0 x04,/*|,0*/0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,/*|,0*/0 x10,0 x10,0 x10,0 x10,0 x10,0 x
30、10,0 x10,0 x10,/*|,0*/0 x20,0 x20,0 x20,0 x20,0 x20,0 x20,0 x20,0 x20,/*|,0*/0 x40,0 x40,0 x40,0 x40,0 x40,0 x40,0 x40,0 x40,/*|,0*/0 x80,0 x80,0 x80,0 x80,0 x80,0 x80,0 x80,0 x80,/*|,0*/0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,/* ,0*/0 x08,0 x3E,0 x7F,0 x24,0 x1A,0 x49,0 x78,0 x00,/*老,0*/0 x
31、72,0 x24,0 xFE,0 xAE,0 xEE,0 x24,0 x22,0 x21,/*师,0*/0 x0A,0 xEA,0 x9F,0 xFA,0 x4A,0 x44,0 x6A,0 x51,/*好,0*/0 x0C,0 x12,0 x12,0 x12,0 x12,0 x12,0 x0C,0 x00,/*0,0*/0 x04,0 x06,0 x04,0 x04,0 x04,0 x04,0 x0E,0 x00,/*1,1*/0 x0C,0 x12,0 x10,0 x08,0 x04,0 x02,0 x1E,0 x00,/*2,2*/0 x0C,0 x12,0 x10,0 x0C,0 x1
32、0,0 x12,0 x0C,0 x00,/*3,3*/0 x08,0 x0C,0 x0C,0 x0A,0 x0A,0 x1E,0 x08,0 x00,/*4,4*/0 x1E,0 x02,0 x02,0 x0E,0 x10,0 x10,0 x0E,0 x00,/*5,5*/0 x0C,0 x12,0 x02,0 x0E,0 x12,0 x12,0 x0C,0 x00,/*6,6*/0 x1E,0 x12,0 x10,0 x08,0 x04,0 x04,0 x04,0 x00,/*7,7*/0 x0C,0 x12,0 x12,0 x0C,0 x12,0 x12,0 x0C,0 x00,/*8,8
33、*/0 x0C,0 x12,0 x12,0 x1C,0 x10,0 x12,0 x0C,0 x00,/*9,9*/0 x0C,0 x12,0 x12,0 x12,0 x1E,0 x12,0 x12,0 x00,/*A,0*/0 x0E,0 x12,0 x12,0 x0E,0 x12,0 x12,0 x0E,0 x00,/*B,1*/0 x0C,0 x12,0 x02,0 x02,0 x02,0 x12,0 x0C,0 x00,/*C,2*/0 x0E,0 x12,0 x12,0 x12,0 x12,0 x12,0 x0E,0 x00,/*D,3*/0 x1E,0 x02,0 x02,0 x0E
34、,0 x02,0 x02,0 x1E,0 x00,/*E,4*/0 x1E,0 x02,0 x02,0 x0E,0 x02,0 x02,0 x02,0 x00,/*F,5*/0 x0C,0 x12,0 x02,0 x1A,0 x12,0 x12,0 x0C,0 x00,/*G,6*/0 x12,0 x12,0 x12,0 x1E,0 x12,0 x12,0 x12,0 x00,/*H,7*/0 x0E,0 x04,0 x04,0 x04,0 x04,0 x04,0 x0E,0 x00,/*I,8*/0 x10,0 x10,0 x10,0 x10,0 x12,0 x12,0 x0C,0 x00,
35、/*J,9*/0 x12,0 x12,0 x0A,0 x06,0 x0A,0 x12,0 x12,0 x00,/*K,10*/0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x1E,0 x00,/*L,11*/0 x12,0 x1E,0 x1E,0 x12,0 x12,0 x12,0 x12,0 x00,/*M,12*/0 x12,0 x16,0 x16,0 x1A,0 x1A,0 x12,0 x12,0 x00,/*N,13*/0 x1E,0 x12,0 x12,0 x12,0 x12,0 x12,0 x1E,0 x00,/*O,14*/0 x0E,0 x12,0
36、 x12,0 x0E,0 x02,0 x02,0 x02,0 x00,/*P,15*/0 x0C,0 x12,0 x12,0 x12,0 x16,0 x1A,0 x1C,0 x00,/*Q,16*/0 x0E,0 x12,0 x12,0 x0E,0 x06,0 x0A,0 x12,0 x00,/*R,17*/0 x0C,0 x12,0 x02,0 x0C,0 x10,0 x12,0 x0C,0 x00,/*S,18*/0 x1E,0 x04,0 x04,0 x04,0 x04,0 x04,0 x04,0 x00,/*T,19*/0 x12,0 x12,0 x12,0 x12,0 x12,0 x
37、12,0 x0C,0 x00,/*U,20*/0 x12,0 x12,0 x12,0 x12,0 x0C,0 x0C,0 x0C,0 x00,/*V,21*/0 x12,0 x12,0 x12,0 x12,0 x1E,0 x1E,0 x12,0 x00,/*W,22*/0 x12,0 x12,0 x0C,0 x0C,0 x0C,0 x12,0 x12,0 x00,/*X,23*/0 x11,0 x11,0 x0A,0 x04,0 x04,0 x04,0 x04,0 x00,/*Y,24*/0 x1E,0 x10,0 x08,0 x0C,0 x04,0 x02,0 x1E,0 x00,/*Z,2
38、5*/。unsigned int timecount。unsigned char cnta。unsigned char cntb。void main(void)TMOD=0 x01。TH0=(65536-3000)/256。TL0=(65536-3000)%256。TR0=1。ET0=1。EA=1。while(1)。void t0(void) interrupt 1 using 0TH0=(65536-2000)/256。TL0=(65536-2000)%256。P1=0XFF。/消除显示重影问题P0=digittabcntbcnta。P1=(0 x01cnta)。cnta+。if(cnta=
39、8)cnta=0。timecount+。if(timecount=500)timecount=0。cntb+。if(cntb=57)cntb=0。第 5 章有关软件地介绍5.1 PROTEL 电路设计及 PCB 图制作Protel99SE 是桌面环境下第一个以设计管理和协作技术为核心地全方位印刷 电路板设计系统 ,它集强大地设计能力 ,复杂工艺地可生产性和设计过程管理于一 体,可完整实现电子产品从概念设计到生成物理生产数据地全过程,以及中间地所有分析,仿真和验证 .整个过程包括以下几个步骤:( 1 )构想电路模型(2)设计电路原理图(3)校对后输出原理图(4)产生网络表(5)设计印刷电路板(6
40、)检查后输出 PCB 板图图 5-1 PROTEL 设计流程图1. 原理图设计先进入 PROTEL99SE 主界面 .执行 File/New 命令,进入一个新地工程设计 ,新 建一个设计管理数据库文件 .在 Document 下新建一个原理图文件然后进入编辑 窗口 ,进行原理图地设计与编辑 .本设计绘制好地原理图见附录所示 .在调用元器件时 ,如果需要用到一些现存库中没有地元件 ,要对原理图设计软 件包中地库做些补充 ,添加一些新地元件 .以使原理图上地所有元件都能在库中找 到 .绘制完原理图需要对各个元件进行封装 ,一般器件封装库内都有相应地封装 , 没有适当地封装时应当自己进行封装图设计
41、,并将该封装图设计调入封装库中 ,以 便自己对元器件封装时可以用到 .然后对所设计地电路图进行 ERC 检查 ,不通过 检查地话根据提示进行修改 ,例如没有接好线 ,封装不当 ,引脚定义设定不正确等 . 如果通过 ERC 检查,则可以执行 Design/Create Netlist 命令生成网络表.2. PCB 图制作对原理图生成网络表后,就可以在 PCB 编辑环境下进行 PCB 图地设计与编 辑了,在 PCB 环境下导入网络表 ,这时在 PCB 设计界面内将出现所有器件地封装 图 ,将所有地元件拖入布线区进行手动布局,布局之后设定好连线宽度 ,单面或双面板设定 (本设计仅需要单面板即可完成设
42、计) 等设定布线规则后再 KEEPOUT LAYER将所有器件框在内 ,然后在 BOTTOM LAYER 进行连线 .一般 使用 Auto Route 命令进行进行自动布线了,自动布线之后再进行手工地修改.3. 印制板地制作用转印纸打印出 PCB 图,将 PCB 图熨烫到电路板上,熨烫时要注意受热均匀 完整,然后用三氯化铁溶液腐蚀电路板 ,为加快速度可以加少量热水和适当地进行 晃动;用天那水把油墨洗干净 ,最后焊接元件 .焊接前涂上酒精松香溶液 ,以便到 时候焊接板子更容易和防止铜线被腐蚀 .制作好电路板以后要仔细检查电路 ,看看 有没有虚焊、漏焊、短路、断路等等常见问题 ,为以后地总体调试打
43、好基础 .5.2 Keil C51 介绍及使用本设计中源程序程序地编写与调试是在 Keil C51 集成环境 uVision 中进行 地.KeilC51 是美国 Keil Software 公司出品地 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比 ,C 语言在功能上、结构性、可读性、可维护性上有明显地优 势 ,因而易学易用 .Keil C51 软件提 供丰富 地库函数 和功能 强大 地集成开 发调试 工具 ,全 Windows界面 ,界面友好 ,操作简单 .另外重要地一点是只要看一下编译后生成地 汇编代码 ,就能体会到 Keil C51 生成地目标代码效率非常之高 ,多数语句生成地
44、汇 编代码很紧凑 ,容易理解 .在开发大型软件时更能体现高级语言地优势 .(1) 建立一个新地工程:单击“ Ptoject”菜单,在弹出地下拉菜单中选择“ New Project”选项.然后选择你要保存地路径,输入工程地名字然后点击保存 这时会弹出一个对话框 ,要求你选择单片机地型号 ,根据你所用地单片机来选 择,Keil C51几乎支持所有地 51 内核地单片机,在本设计中选择地是 AT89S51.(2) 编写程序:单击“ File”菜单,在下拉菜单中选择“ New”,这时编辑窗口会出现一个 Text1 窗口,光标在该窗口中闪烁 ,首先保存该空白文档 ,单击菜单上 地“ File” ,在弹出
45、地下拉菜单中选择“ Save AS选项,在出现地对话框中键入欲 使用地文件名并同时键入正确地后缀名(本设计中为.asm)然后保存.回到编辑界面后,单击“ Target 1 ”前面地“ +”撚后在“ Source Group 1”上单击右键,在弹 出菜单中选择“ Add Files to GroupSource Group 1” ,选中设计所需要地源程序 文件,然后单击“ Add” ,这时注意到“ Source Group 1”文件夹中多了若干个子项 , 子项地多少跟所增加地源程序地多少相同.这时就可以键入应用程序了 .Keil C51会自动识别关键字 ,并以不同地颜色提醒用户加以注意,这样会使
46、用户少犯错误 ,有利于提高编程效率 .(3) 编译并生成 HEX 文件:程序编写完成以后,单击“ Ptoject”菜单,在下 拉菜单中选择“ Built Target”选项,或者使用快捷键 F7.编译成功后右击“ Target 1”在弹出菜单中选择“ Options For TargetTarget 1” ,在弹出地对话框中选择“Output”选项中地“ Creat HEX File”选项使程序编译后产生HEX 代码,供下载器软件使用 .5.3 烧录器地使用本设计中程序是用 Easy 51Pro 编程器烧写地.Easy 51Pro 编程器是一款操作简单、容易自制、容易扩充、非常稳定、灵活 地
47、ISP编程器.它支持 hex 文件,有重载地文件对话框,让你不必到处去找文件而且 有热键支持 ,让我们调试程序时效率更高 .接好编程器地硬件电路后 ,在最上方选择你要编程地器件后点击“检测器 件” ,如果检测到了器件 ,左边地状态栏就会显示“检测到器件”并显示该器件地 ROM 与编程电压地大小特性 .检测到器件以后单击“操作”中地“自动打开文件”选项 ,在弹出地对话框 中打开要烧录地程序地 HEX 文件,然后单击“自动完成”选项 ,烧写完毕后如果 显示“ 0 个单元不对”就说明程序烧写成功了 .当然在烧录过程中会碰到一些问题 ,比如检测器件时 ,时有时无 ,这是下载线不 稳定地表现 ,如果不能
48、检测到器件 ,但是却可以正常读写 ,并且效验无误 ,这个就是 单片机地问题了 ,可能单片机已经坏了 ,如果写器件时总是写到某个地址就停顿,然后报告失败;或者可以顺利写完 ,但效验时显示有单元不正确 ,最可能地原因是 电源不稳定 ,电缆太长 ,线路没焊好 ,器件质量问题等 ,也可能与电脑性能有关 ,特别 是开启了很多程序地时候 .当遇到问题地时候就要根据这些来判断问题地根源并 想办法解决 ,这样程序烧写就没有问题了 .第 6 章 结束语本文详细介绍了基于单片机控制地 8*8LED 点阵显示字形地设计 ,其基本思 路比较简单 ,文中分别介绍了其系统硬件地设计和软件程序地设计.通过自身地努力 ,本次
49、设计算是圆满成功 ,但是限于时间和条件方面地限制,还存在一些不足之处 ,有待进一步完善 .本次设计经近一周 ,在老师同学地指导下 ,我查阅了许多相关资料 ,综合运用了 大学中所学相关知识 ,基本上完成了点阵显示字形地设计.在此之间 ,也遇到了许多难题 ,通过自学、请教老师、请教同学、耐心思考、上网查询等方式,终于解决了一个又一个难题 ,完成了设计 .此过程中,我受益颇丰 .参考文献:1刘瑞新主编、单片机原理及应用教程 ,北京:机械工业出版社 ,2006.72.徐士良编著、 C 语言程序设计教程 ,北京:人民邮电出版社 ,2003 年 8 月第二版3.陈明义主编、电子技术课程设计实用教程 S 2
50、002 年 05 第 1 版.4高鹏主编、PROTEL 实用教程S 1999 年第 1 版.5陆坤等、电子设计技术.S成都:电子 科技大学出版社 ,19976. 彭介华主编 蔡明生等编 ,电子技术课程设计指导 ,索书 号: TN/53出版日期: 1997 年 10 月第 1 版.7 .及力主编、Protel 99 SE原理图与 PCB 设计教程,北京:电子工业出版社,2004.1附录一:原理图附录二:PCB 图include #include #define uint unsigned int #define uchar unsigned charuchartable=0 x3f,0 x06,
51、0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71。unsigned char code tabP0=0 x00,0 x00,0 x7c,0 x82,0 x82,0 x82,0 x7c,0 x00,0 x00,0 x00,0 x00,0 x00,0 x84,0 xfe,0 x80,0 x00,code0 x00,0 x00,0 xe4,0 xa2,0 xa2,0 xa2,0 x9c,0 x00,0 x00,0 x00,0 x44,0 x92,0 x92,0 x92,0 x6c,0
52、 x00,0 x00,0 x00,0 x30,0 x28,0 x24,0 xfe,0 x20,0 x00,0 x00,0 x00,0 x5e,0 x92,0 x92,0 x92,0 x62,0 x00,0 x00,0 x00,0 x7c,0 x92,0 x92,0 x92,0 x64,0 x00,0 x00,0 x00,0 x02,0 x02,0 x02,0 xf2,0 x0e,0 x00,0 x00,0 x00,0 x6c,0 x92,0 x92,0 x92,0 x6c,0 x00,0 x00,0 x00,0 x4c,0 x92,0 x92,0 x92,0 x6c,0 x00。unsigne
53、d char code tabP2=0 xfe,0 xfd,0 x0fb,0 xf7,0 xef,0 x0df,0 xbf,0 x7f。unsigned char codetabP0s=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80。unsigned char code tabP2s=0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xd7,0 x97,0 x51,0 x17,0 xef,0 x01,0 xef,0 xef,0 xff,0 xff,0 xff,0 xef,0 xff,0 x07,0
54、 xf7,0 xf7,0 xf7,0 xfb,0 xfd,0 xff,0 xff,0 xff,0 xef,0 xef,0 x01,0 xef,0 xd7,0 xbb,0 x7d,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff。unsigned char code tabP0z=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x04,0 x24,0 x2f,0 xf0,0 x2f,0 x2a,0 x0c,0 x00,0 x00,0 x00,0 x00,0 x80,0 x40
55、,0 x3c,0 x05,0 x04,0 x04,0 x04,0 x00,0 x00,0 x00,0 x00,0 x44,0 x24,0 x14,0 x0f,0 x14,0 x24,0 x44, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00。unsigned char code tabP2z=0 xfe,0 xfd,0 x0fb,0 xf7,0 xef,0 x0df,0 xbf,0 x7f unsigned char codetabP0zi=0 x00,0 x04,0 x24,0 x2f,0 xf0,0 x2f,0 x2a,0 x0c,0 x0
56、0,0 x80,0 x40,0 x3c,0 x05,0 x04,0 x04,0 x04, 0 x00,0 x44,0 x24,0 x14,0 x0f,0 x14,0 x24,0 x44。unsigned char code tabP2zi=0 xfe,0 xfd,0 x0fb,0 xf7,0 xef,0 x0df,0 xbf,0 x7fsbit dian=P3X。sbit shu=P3A0。sbit shu仁P3A2。sbit shu2=P3A3。sbit shu3=P3A4。uchar num,temp。uint a,b,c,d,e,f。void delay(uint z)uint x,y。
57、for(x=z。x0。x-)for(y=110。y0。y-)。uchar keyscan()。void main()num=17。shu=1。/关数码管dian=1。/关点阵while(1)P2=0 xff。keyscan()。if(num=0|num=1|num=2|num=3|num=4|num=5|num=6|num=7|num=8|num=9)d = num。dian = 1。/关点阵shu = 0。/开数码管shu1 = 0。/第一位数码管P0 = tabled。_nop_()。_nop_()。_nop_()。shu = 1。/关数码管if(num=10)for(a=0。a81。a+
58、)for(b=0。b1000。b+)for(c=0。c8。c+)P0 = 0 x00。shu = 0。P0 = tabled。shu1 = 0。位数码管_nop_()。_nop_()。_nop_()。shu1 = 1。 位数码管P0 = tablenum。shu2 = 0。开第二位数码管_nop_()。_nop_()。_nop_()。shu2 = 1。关第二位数码管P0 = table0。shu3 = 0。开第三位数码管_nop_()。_nop_()。_nop_()。shu = 1。/关数码管P2 = 0 xff。dian=0。P0=tabP0d*8+c。_nop_()。_nop_()。_no
59、p_()。P2=tabP2c。_nop_()。_nop_()。_nop_()。dian = 1。/开数码管/开第一/关第一/开点阵/关点阵keyscan()。if(num!=11)a=82。 /数字if(num=11|num=12|num=13)e = num。dian = 1。/关点阵shu = 0。/开数码管shu1 = 0。/第一位P0 = tablee。shu = 1。/关数码管if(num=14&e=11)for(a=0。a38。a+)for(b=0。b1000。b+)for(c=0。c8。c+)shu = 0。P0 = tablee。shu1 = 0。一位_nop_()。_
60、nop_()。_nop_()。shu1 = 1。P0 = table14。shu2 = 0。/关一/第二位_nop_()。_nop_()。_nop_()。shu2 = 1。P0 = table1。shu3 = 0。_nop_()。_nop_()。/关二/第三位/开数码管/第_nop_()。shu = 1。/关数码管P2=0 xff。dian = 0。P0=tabP0sc。_nop_()。_nop_()。_nop_()。P2=tabP2sa+c。_nop_()。_nop_()。_nop_()。dian = 1。keyscan()。if(num!=14)a=39。/无问题if(num=14&e=12)for(a=0。a38。a+)for(b=0。b1000。b+)for(c=0。c8。c+)sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光伏融资租赁协议合同范本
- 会员推广合同范本
- 单位厨房用人合同范例
- 加盟合同范本在
- 产销合作协议合同范本
- 水泥买卖的合同范本
- 包工简易合同范本
- 个人店员合同范本
- 高级包间服务合同范本
- 中标检测仪器合同范本
- 地理-河南省部分重点高中九师联盟2024-2025学年高三下学期2月开学考试试题和答案
- 老年护理相关法律法规
- 《陶瓷工艺技术》课件
- 变更强制措施的申请书
- 供电所安全演讲
- 深度学习架构创新-深度研究
- 供应链韧性提升与风险防范-深度研究
- 基层医疗卫生服务能力提升考核试卷
- 化工原理完整(天大版)课件
- 2025年江苏连云港市赣榆城市建设发展集团有限公司招聘笔试参考题库附带答案详解
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
评论
0/150
提交评论