基于单片机的LED数码管静态显示系统的设计与实现

  • 格式:doc
  • 大小:3.56 MB
  • 文档页数:19

1课程设计题目及要求1.1课程设计题目基于单片机的LED数码管静态显示系统的设计与实现1.2课程设计目的○1单片机最小应用系统的硬件设计技能训练;○2ASM语言或C51语言软件编程与调试技能训练;○3“下载及烧录(固化)程序”开发技能训练;○4数码管显示;○5Protel软件应用技能训练;○6作品性能指标分析与改进;○7文档资料编制。

1.3 课程设计要求○1列出元器件清单;○2用Protel软件绘制电路原理图;○3绘制软件流程图、编写并调试程序、详细注释软件功能;○4对系统性能指标进行分析并提出改进方案;○5作品演示与讲解(硬件、软件、调试、改进、Protel等);○6按要求完成课程设计报告。

2 单片机2.1 单片机概念单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O 口等计算机所需要的基本功能部件的大规模集成电路,又称MCU ,单片机结构上的设计,在硬件、指令系统及I/O处理能力方面突出芯片的控制功能,单片机系统全力满足测控对象的测控功能,兼顾数据处理能力。

2.2 单片机的结构与组成图1 单片机结构图中央处理器(CPU):是单片机的核心单元,通常由算术逻辑运算部件ALU 和控制部件构成。

(Central Processing Unit)ROM存放程序;(ROM:read-only memory)RAM存放数据;(RAM:random access memory)I/O为输入设备和输出设备。

(Input / Output)单片机用片内总线(BUS)实现CPU、ROM、RAM、I/O各模块之间的信息传递。

系统时钟:是单片机运行节拍的基准单元。

系统时钟类似于PC微机中的主频。

是反映单片机运行速度的重要指标。

定时器/计数器(T/C):用于单片机内部精确定时或对外部事件(如输入的脉冲信号)进行计数,有的单片机内部有多个定时/计数器。

串口输入/输出口:用于单片机和串行设备或其他单片机的通信。

串行通信是单片机与其他设备进行信息交换最简单和廉价的方式。

2.3 单片机特点○1具有较高的性能价格比。

○2体积小,可靠性高。

由单片机组成的应用系统结构简单,易对系统进行电磁屏蔽等抗干扰措施。

另一方面,单片机不易受外界的干扰。

所以单片机应用系统的可靠性比一般微机系统高得多。

○3控制功能强。

单片机采用面向控制的指令系统,实时控制功能特别强。

CPU 可以直接对I/0口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力。

○4使用方便、容易产品化。

单片机的体积小、功能强。

能满足许多小型对象的嵌入式应用要求。

2.4 本次所用单片机本次所用单片机为STC89C52RC系列单片机, 指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

其特点为:○1增强型8051单片机;○2工作电压:5.5V~3.3V;○3工作频率:0~40MHz;○4程序空间:8K Flash memory;○5片上集成512字节RAM;○6具有EEPROM功能;○7具有ISP/IAP功能,无需专用编程器,可通过串行口下载程序。

S17RSTPR3单排插针3 实验所用原件及电路3.1 单片机最小系统最小系统是指在最小的外部电路条件下形成一个可独立工作的应用系统,事实上单片机内部资源已经很丰富,一个内部带程序存储器的单片机就构成了一个最小系统,cpu 总是通过地址总线、数据总线和控制总线来与外部交换信息的。

数据总线传送指令码和数据信息,各外围芯片都要并接在它上面和cpu 进行信息交流。

由于数据总线是信息的公工通道,个外围芯片必须分时使用才不至于产生使用总线的冲突。

由于Po 分时传送地址/数据信息,在接口电路中,通常配置地址锁存器,有ALE 信号锁存低8位地址Ao ~A7,以分离地址和数据信息。

P2口传送高8位地址A8~A15。

PSEN 为程序存储器的控制信号,是在取指令 码时或执行MOVC 指令时变为有效RD 、WR 为 数据存储器和I/O 口的读、写控制信号。

是执行MOVX 指令时变为有效。

图2 单片机最小系统3.2 动态扫描键盘键盘是计算机系统中不可缺少的输入设备,当按键少时可接成线性键盘,当按键较多时,这样的接法占用口线较多。

将按键接成矩阵的形式,可以节省口线,例如两个接口可按8*8的形式接64个按键。

每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

矩阵的行线和列线分别通过两并行接口和CPU通信。

每个按键的状态同样需变成数字量“0”和“1”,开关的一端通过电阻接Vcc(列)、而接地是通过程序输出数字“0”实现的。

键盘处理程序的任务是:○1确定有无键按下;○2判哪一个键按下,键的功能是什么;○3还要消除按键在闭合或断开时的抖动。

两个并行口中,一个输出扫描码,使按键逐行动态接地(称行扫描),另一个并行口输入按键状态(称回馈信号,键盘的列值),由行扫描值和回馈信号共同形成键编码而识别按键、通过软件查表,查出该键的功能。

也可由硬件编码器完成键的编码。

图3 键盘接线图表1 键盘键编码表1为键盘所对应的编码,通过逐行逐列扫描其值给P3。

123456789101112com1com2com3com4a b c d e f g d pLED1123456789101112com1com2com3com4a b c d e f g d pLED2Q18550R12KR22KR32KR42KR52KR62KR72KR82KR930R1630R1030R1530R1430R1130R1330R1230共阳极数码管P 20P 21P 22P 23P 24P 25P 26P 27P00P01P02P03P04P05P06P07Q28550Q38550Q48550Q58550Q68550Q78550Q885503.3 实验所用数码管LED 数码管的g ~a 七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码(段码), 如显示“1”,字形码为06h 。

图4 LED 显示器动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性 ,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完 成各数码管的轮流点亮(数位选择)。

图5 动态扫描数码管显示电路3.4 下载电路PL2303 用于实现USB 和标准RS-232 串行端口之间的转换,两个独立的大型缓冲用于两种总线的连接.大型数据缓冲器用于USB 的批量数据传输.自动握手模式可用于串行通讯,因而可以达到远大于标准UART 控制器的波特率。

PL2303 支持USB 电源管理和远程唤醒协议.当主机挂起时消耗极小的电能.所有功能集成在SOIC-28 封装内.芯片亦可以安装在电缆线中,用户只要简单地把联在电脑主机或USB_HUB 上,就可以实现与RS-232 器件的通信。

PL2303功能特点○1完全遵从USB 1.1 协议;○2支持到RS-232 接口的转换;○3支持自动握手模式;○4支持远程唤醒和电源管理;○5发送和接收拥有独立的256 Bytes 缓冲;○6支持内部ROM 和外部EEPROM 配置器件;○7内建USB 收发器。

图6 下载电路4 实验操作过程4.1 装软件及驱动由于实验都是在寝室做,因此需要在自己电脑上装一下软件及驱动,首先装的是keil软件,打开单片机\keil750AHK文件夹,双击Setup进入安装界面,然后选择“Install Support for Additional Microcontroller Architectures”进行安装,接着弹出一个“InstallShield Wizard”窗口,点击“Eval Version”,弹出一“Serup uVision2”窗口,点击“Next”进入“License Agreement”界面,选择“Yes”进入“Restrictions of Evaluation Versions”界面,选择“Next”,接着进入“Choose Destination Location”界面,选择好安装文件夹后点击“Next”进入“Customer Information”界面,填好信息后点“Next”进入“Keep Configuration”界面,点“Next”自动安装,安装完成后弹出“Maintenance Complete”界面,点“Finish”便完成了。

接着便开始装下载驱动了,首先将单片机面板和电脑联通,打开计算机设备管理器,在“其他设备”里面有一个打感叹号的“Usb-Serial Controller”,右键选择“更新驱动程序”,选择“浏览计算机以查找驱动程序软件”,然后选择“浏览”,依次打开H:\Users\yuc\Desktop\TYD-51-1光盘\软件包\STC 51系列芯片程序下载软件\主板集成usb-232芯片 PL2303 驱动程序\HL-2303,双击“HL-2303”进行安装,安装完成后,再次进入设备管理器,会有一个“端口(COM 和LPT)”,双击会出现“Prolific USB-to-Serial Bridge(COM4)”便说明下载驱动以安装完成。

由于本次实验所用单片机面板是我们组买的整块面板,卖家提供的光盘里有相应的下载程序并不需要安装,故而本次没有安装下载程序4.2 hex文件生成打开“keil uVision2”,点击“项目”选择“新项目”,弹出“产生新项目”窗口,输入新建项目名,点击“保存”。

然后弹出一个“为‘目标1’选择设备”窗口,点击“Almel”选卡,选择“AT89C52”,然后点“确定”,弹出“µVision3”窗口,点“否”。

然后点左上角“文件”栏,选择“新建”,然后弹出一Text1文本编辑框,点击“保存”,弹出一“另存为”窗口,选择保存位置后,输入一文件名,后缀为.c或.asm(.c是用C语言编写,.asm是用汇编编写),接着点保存。

然后双击“目标1”,右键“源代码组1”,点击“添加文件到组‘源代码组1’”选卡,弹出一“添加文件到组‘源代码组1’”窗口,选择刚开始保存的.c 文件名,然后添加。

接着右键“目标1”选择“为‘目标1’设置选项”选卡,在输出选卡里,将“产生HEX文件(X:HEX文件格 HEX-80)”选中,然后确定。

接着编程,程序编完后按开始转换,若程序无误则产生hex文件,若有语法问题则不能产生hex文件,需要进行检查和调试程序。

4.3 程序烧录hex文件产生后便可以进行烧录了,首先打开下载程序“STC-ISP-V479”,将单片机面板与计算机相连,查看设备管理器,双击“端口(COM和LPT)”选卡,看端口是多少,我的是COM4,于是便在“STC-ISP”里COM里选择COM4端口,接着点击“OpenFile/打开文件”选卡,选择要烧录程序的hex文件,然后关闭单片机点击“Download/下载”,接着打开单片机,停留几秒钟便如下图所示,则说明下载成功。