单片机小实验板系统设计说明
单片机开发最小系统实验板

板 序 正 验
3人机接 口模块
在 电路 中 设 计 了 8个 共 阴 极 发 光 二 拯 管 , 为 对 I O信 号 的指 示 , 检 验 作 用 作 / 与 在 每 个 发 光 二极 管 的 支路 上 , 串连 一 个 2 0 q 欧 限流 电阻。 另一 个 人机 交 换 接 口为 轻 触 开 关 , 设 计 了 两 个 开关 。 两 个开 关 在 按 下 时 产 不 同 的信 号 , 个 为 低 电平 , 一 另一 个 为 高 日 平 。 串 入 的 1 k电阻 用 来 防 止 灌 电 流过 ) O 而 对 单 片 机 造 成 的 损 害 。 此 两 个 开 关 的 号 可 作 为 单 片 机调 试 的 中断 , 输 入 信号 或
是 一 款 实 用 性 强 的 开 发 系统 。
关键词 :T 8 C C M X 3 R 2 2 S C 9 5 R A 22 2 S 3 中图分类号 : | …, 6 I 3 文献标 识 码 : A
本 文 介 绍 J单 j 开 发 最 小 的 实 验 , 机 , 其 本 身来 说 , 就 可以在 单 片 机 上 下载 程 , 过 I o r和 i 灯 来 验 证 程 序 是 否 通 / ] ¨) 确 。 例 如 简单 的 输 入 输 出 , 烁 彩 灯 实 闪 , 断 处理 程 序 等 等 。 中 本 文 采 用 芯 片 M AX2 2 为 R 2 2与 3, ¥ 3 T L电平的转 换 , 以使用 电脑 的 C M 口 , T 可 O 直 接对 单 片机 进 行 程 序 的 烧 录 。 在 单 片 机 的 引 脚 外 围 固定 引 j 如 VCc 4 ) GND , ( 0 , (0, 接固定 到电源 和地上 ; (8, (9 2)直 x11)X21) 为 接 晶振 的 引 脚 , 按 在 1 . 5 2 外 1 0 9 MHZ、 3 P电容上 ; S () 0 R T 9 为单 片机 复位 引脚 , 过 通 RC 回路 , 为单 片机 的 上电复 位 。 作 作为 P 3口的第 : 功能 端 口 , 3 0 1 ) 二 P .(0 , P3. ( ) 单 片 机 的 通 信 引 脚 , 其 和 1 11 为 将 MAX2 2 片 连 接 。 在 下 载 程 序 时 , 要 3 芯 只 上 电 复 位 即 可 完 成 载 。另 外 , 了 提 高 为 P 0口的驱 动 能 力 , P 侄 0口各 引脚 上 接入 上 拉 电阻 5. K 到 电源 Vc 5 1 c V。 电 路 共 分 为 四 个 模 块 : 源 模 块 、 通 电 迅 模 块 、 人 机 接 口模 作 为主 控 芯 片 单 片 机 S Tc8 C5 R 9 2 ( KR M , 1 KRA , 全兼 容于 5 系 8 O 52 M) 完 l 的单 片 机 。 由于 单 片机 的所 有 引 脚 都 已经 一 一 出 , 以 制 作 单 片 机 的 外 围 硬件 , 此单 J 可 以 机 最 小 开 发 板 为核 为 , 应 可 以 制 作 更 相 的设 备 装 置 。如 : 点阵 , 6 2 1 8 4的液 t 10 ,26 显示 , 能小车 等等 。 智
51单片机最小系统学习板的设计与制作

课程设计任务书(指导教师填写)课程设计名称电路板设计与制作学生姓名专业班级设计题目51单片机最小系统学习板的设计与制作一、课程设计的任务和目的任务:设计并制作51单片机最小系统电路板,包括电路原理图设计、版图规划与设计、系统单面电路板制作。
要求:1)电路原理图准确、版图结构清晰、布局合理。
2)使用插针型元件,成品PCB板面布局合理,密度适当;3)板上资源包括LED灯、数码管、蜂鸣器、按钮、串行通讯及USB接口;4)电路板面积适中便于携带,长度15cm,宽8.5cm。
目的:1)掌握并完成基本PCB板的设计与制作工艺;2)学习并掌握实现单片机应用系统的软硬件设计、调试、实现的技能;3)了解单片机最小系统的工作原理与系统开发方法,锻炼动手能力,为毕业设计做准备。
二、设计内容、技术条件和要求1.设计并制作具有实际功能的单片机最小系统:可选择实现的功能⑴.流水灯⑵.电子时钟⑶.数字温度计⑷.交通灯控制器;2.根据所选电路功能,画出电路框图和原理总图。
3.根据电路所需元件及周边设备规划和设计电路板版图,描画版图。
4.根据版图生成gerber工艺文件,进行电路板制作,包括刻板,钻孔,覆铜等。
5.撰写设计总结报告。
三、时间进度安排本课程设计共两周时间。
第一周:功能设计与理论学习周一上午:布置设计任务;提出课程设计的目的和要求;明确对撰写总结报告、手工绘制原理图和电路板版图的要求;安排答疑、实验室开放时间。
讲解印制电路板的制板流程,介绍PCB刻板机等制板设备的软硬件操作方法以及注意事项。
周一下午:讲解电路原理图与PCB版图设计方法。
周二至周五:学生查阅资料,确定设计题目;进行功能设计,在实验室完成电路原理图与PCB 版图的设计和绘制,导出电路总原理图及版图文件。
期间安排两次答疑,指导学生设计。
周五,交设计草图-原理图和版图供老师审阅。
第二周:电路板制作、撰写设计总结报告周一至周四:分组在电子系统加工及评测实验室(225)操作刻板工具和设备进行电路板成品的加工和制作,成品需通过老师验收。
TX-1C 单片机开发板实验

关于按键去抖动的解释,我们在手动按键的时候,由于机械抖动或是其它一些非人为 的因素很有可能会造成误识别,一般手动按下一次键然后接着释放,按键两片金属膜接触的 时间大约为 50ms 左右,在按下瞬间到稳定的时间为 5-10ms,在松开的瞬间到稳定的时间也 为 5-10ms,如果我们在首次检测到键被按下后延时 10ms 左右再去检测,这时如果是干扰 信号将不会被检测到,如果确实是有键被按下,则可确认,以上为按键识别去抖动的原理。
【硬件电路】
25
【程序代码】
#include<reg51.h>
#define uchar unsigned char
uchar j,k,i,a,A1,A2,second; sbit dula=P2^6;
//锁存器控制端定义
sbit wela=P2^7;
uchar code table[]= {
//数字编码
参考程序:
程序一:
ORG 0000H AJMP START
ORG 000BH AJMP TIME0
;定时器 0 的中断向量地址 ;跳转到真正的定时器程序处
ORG 0030H
START:
MOV P1,#0FFH ;关所有灯
MOV TMOD,#00000001B ;定时/计数器 0 工作于方式 1
MOV TH0,#15H
【实验说明】
本开发板上数码管为共阴极。静态数码管显示原理(视频中有详细介绍):这里就共阴极数 码管显示原理进行讲解,一位数码管内一共有 8 个发光二极管,对共阴极来说其 8 个发光二极 管的阴极在数码管内部全部接在一起,也就是“共阴”说法的来源,阳极是独立的,设计电路时 一般把阴极接地,当我们从外部给任一个阳极加一个高电平时这个发光二极管就亮了,如果想要 出一个 8 字,并且把右下角的小数点也点亮的话,那可以给 8 个阳极全送高电平,想让数码管 显示几就给相对应的发光二极管送高电平,因此我们在显示数字的时候首先做的就是给 0-9 十个 数字编好码,在要它亮什么数字的时候直接把这个编码送到它的阳极就行了。另外说一下,一般 的数码管每一段亮至少需要 10 个毫安的电流,而单片机的 IO 口送不出如此大的电流,所以我 们需要加数码管的驱动电路,可以用上拉电阻的方法,也可以使用专门的驱动芯片,本开发板使 用的 74HC573,其输出电流较大,足够点亮数码管。本开发板上的六位数码管中每个相同段号 (段指 a,b,c,d,e,f,g,h)全部是接在一起的,其中每一个位(阴极)是独立的,所以在做静态显 示的时候所有的数码管只能显示相同的数字,当然可以控制哪几位显示,如果让它们显示不同的 数字那就得给每一个数码管加一套驱动电路了。但这样做是没有必要的,后面我们会讲到关于数 码管动态显示原理。
《单片机系统设计技术》实验指导

《单片机系统设计技术》实验指导书适用专业: 电气、自动化、信息等编写单位: 电气信息学院编写人: 曹 林审核人:审批人:批准时间:年月日目 录实验1 IO控制LED流水灯实验 (3)实验2 IO控制数码管动态扫描实验 (5)实验3 外部中断实验 (8)实验4 定时器应用控制实验 (10)实验5 UART实验 (12)实验6 键盘扫描输入编程 (14)实验7 UART与PC对话实验 (17)实验8 ADC数据采集实验 (19)实验1 IO控制LED流水灯实验1.实验目的1)、熟悉KEIL编程环境和调试环境。
2)、掌握单片机汇编语言和指令的用法。
3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。
2.实验设备硬件: PC 机,单片机教学实验开发平台;软件: KEIL集成开发环境、STC ISP程序下载软件。
3.实验内容使用P0口控制8个LED 进行流水灯显示。
4.实验预习要求和实验准备要求预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。
预习汇编程序编写、MCS-51指令表。
带上教科书、U盘、具备二进制和十六进制转换的科学计算器。
5.实验原理和步骤1)实验原理(1)实验原理图图1 P0口连接的8盏LED灯从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。
因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。
图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、PORT0_1……PORT0_7。
2)实验步骤(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。
单片机实验报告 附含说明书

第一章 DICE-5208K开发型单片机综合实验仪概述一、系统简介DICE-5208K型单片机实验系统由DICE-5208K开发型单片机综合实验箱、DICE-3000型仿真器、扩展卡和DICE-51仿真开发系统软件等组成。
是《MCS-51单片机原理与接口》、《单片机控制技术》、《C8051Fxxx高速SOC单片机原理及应用》、《EDA》、《VHDL硬件描述语言》、《CPLD/FPGA应用基础》等课程教学的配套实验设备。
新增加了几乎所有最实用、新颖的接口电路(如1 WIRE /I2C/SPI总线等)和通讯类接口实验(如USB2.0通讯/TCP/IP网络通讯/CAN总线/红外线收发等)。
可进行MCS-51、C8051F嵌入式单片机、CPLD/FPGA等课程的开放式实验教学。
二、主要特点1.该实验系统配置DICE-3000型高性能MCS-51硬件仿真器,64K数据空间,64K程序空间全部开放,不占用CPU资源,采用双CPU模式,仿真CPU和用户CPU独立运行,上位仿真软件支持汇编、C语言、PL/M语言。
可运行于WIN98/2000/NT/XP操作系统平台。
2.实验系统带有ISP在线下载电路,学生在完成实验后可脱离仿真机和PC机独立运行学生自行设计的单片机系统。
(可在线编程AT89S51/52/53系列单片机)。
3.该实验系统可扩展C8051F020嵌入式实验开发模块, 并配有DICE-EC5型USB高速通讯仿真器,通过4脚的JTAG接口可以进行非侵入式、全速的在线系统调试、仿真;集成开发环境支持Silicon Labs IDE和KEIL C软件。
4.该实验系统可扩展CPLD/FPGA模块,并配有相应的并口下载电路,轻松变成一台EDA实验开发平台。
5.该实验系统可扩展“数控式电子演示装置”,该装置是本公司的专利产品,结合上位演示软件和USB接口,可为该实验系统扩展多达十五个生动、形象、复杂的实验,其中大部分是闭环实验,实验践性非常强。
proteus教学实验系统(单片机e型)实验指导

目录(版本 1.03)第1章PROTEUS教学实验系统(单片机E型)简介及使用说明 (1)1.1 系统简介 (1)1.2 实验系统的硬件布局 (4)1.3 实验系统原理图 (5)1.4 实验板硬件图 (16)1.5 USB下载方式说明 (23)第2章硬件实验目录 (27)实验一I /O口输出实验—LED流水灯实验 (27)实验二I/O口输入/输出实验—模拟开关灯 (29)实验三8255并行I/O扩展实验 (31)实验四无译码的七段数码管显示实验 (33)实验五BCD译码的多位数码管扫描显示实验 (36)实验六独立式键盘实验 (38)实验七计数器实验 (40)实验八定时器实验 (42)实验九单个外部中断实验 (44)实验十中断嵌套实验 (46)实验十一矩阵键盘扫描实验 (49)实验十二串行端口并行输出扩充实验 (51)实验十三串行端口并行输入扩充实验 (53)实验十四单片机与PC之间串行通信实验 (55)实验十五双单片机通信实验 (58)实验十六I2C总线——AT24CXX存储器读写 (60)实验十七温度传感器DS18B20实验 (64)实验十八实时时钟DS1302实验 (66)实验十九A/D转换实验 (68)实验二十D/A转换实验 (70)实验二十一1602液晶显示的控制(44780) (72)实验二十二12864液晶显示的控制(KS0108) (74)实验二十三直流电机控制实验 (76)实验二十四步进电机控制实验 (78)实验二十五16X16阵列LED显示 (81)实验二十六直流电机测速实验 (83)实验二十七串行AD—TLC549实验 (85)实验二十八串行DA—TLC5615实验 (87)实验二十九继电器控制实验 (89)实验三十LCD 1602 IO方式驱动 (92)第3章软件仿真实验目录 (96)实验一可控硅驱动 (96)实验二光耦应用实验 (98)实验三单片机播放音乐实验 (100)实验四SD卡读写实验 (104)第1章PROTEUS教学实验系统(单片机E型)简介及使用说明1.1 系统简介【硬件特点】PROTEUS教学实验系统(单片机E型)是我公司陆续推出的PROTEUS教学实验系统第三版。
SST单片机最小系统实验板使用说明书

SST单片机最小系统实验平台指导书张有光孙进平罗喜伶王俊北航电子信息工程学院目录第一章 SST单片机最小系统实验板简介 (2)1.1 单片机最小系统的含义 (2)1.2 本实验板的硬件说明 (3)1.3 本实验板的原理图 (4)1.4 本实验板的PCB图 (5)1.5 本实验板的实物图 (6)第二章 Keil μVision2开发环境说明 (7)第三章 SST单片机的SoftICE仿真器使用说明 (13)3.1SoftICE简介 (13)3.2 如何安装SoftICE (13)3.3 如何使用SoftICE (17)3.3.1 设置Keil μVision2 Debugger的参数环境 (17)3.3.2 进行DEBUG 仿真调试 (19)3.3.3 由SoftICE转回到BOOT LOADER (21)第四章单片机训练任务 (24)实验一 LED显示控制 (24)实验二键盘及LCD编程 (26)实验三键盘及LCD的扩展(高级,加分) (39)实验四串口通信(选做) (53)附录调试中的常见问题及解决方法 (65)第一章 SST单片机最小系统实验板简介1.1 单片机最小系统的含义单片机最小系统,也称为最小应用系统,是指用最少元件组成的使得单片机可以工作的系统。
对于51系列单片机来说,最小系统一般应该包括单片机、晶振电路和复位电路。
为了方便讲解,下面给出一个51单片机最小系统的电路图解说明(仅供理解,并非本实验板实际采用)。
单片机可以选用一片AT89S51/52或其他51系列兼容单片机(本实验板选用的是SST89E516RD单片机)。
典型的晶振可以取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合),或者12MHz(可产生精确的μS级时歇,方便定时操作)。
本实验板选用的是22.1184MHz的晶振,可准确得到38400波特率。
复位电路由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。
多模块单片机实验系统设计

其功能 比较单一, 与别的实验系统之间也毫无联系 , 能够完成 的实验 31基本模块 . 都是 单一 的单 片机实验 。当前实验 室中一般都有 多种 实验 设备, 如 L D显示 由 8个简单的发光二极管组成 ,直接由 P E 1口进行控 E A实验箱、 电实验箱、 0 模 数电实验箱、 信号处理实验箱等。如何使得 制,电路 简单这里就不给 出了。L D显 示除了要能够显示简单 的 C
单 片机 实验 系统 在 现有 的 实验 条 件下 , 够进 行 更 多 、 复杂 的 实验 , 能 更
图 4 串 口通 信
图 5 测温芯片
图 1 单片机实验系统 电源模块
步 进 电 机和 继 电器 的驱 动 需 要较 大 的 电流 ,直接 用 单 片机 的 引
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1、单片机小实验板设计目的2、单片机小实验板设计要求3、单片机小实验板设计需求分析4、AT89C51单片机概述5、单片机小实验板设计原理5.1电源模块5.2单片机最小电路5.3发光二极管(LED)模块5.4发光数码管静态显示模块5.5发光数码管动态显示模块5.6 16位矩阵键盘模块5.7音频放大模块5.8 DS18B20数字温度计模块6、实验数据及源代码6.1流水灯、交通灯控制等6.2 数码管静态显示程序如秒表、计数器等6.3键盘显示程序6.4数码管动态显示程序如数字钟等6.5音频程序6.6数字温度计7、程序仿真与硬件调试中出现的问题及其解决方法8、总结绪论通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。
综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。
学习电子设计的一般方法,掌握AT89C51芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。
单片机小实验板设计目的1、掌握C51单片机的各个引脚功能。
2、进一步熟悉KEIIL C51集成环境的使用方法。
3、熟悉数码管和DS18B20的原理及其使用方法。
4、熟练掌握电路焊接,并能够检查存在的问题。
5、熟练程序的基本设计及其调试。
设计方案一.单片机小实验板设计目的1.掌握单片机最小系统的设计。
2.掌握+5v稳压电源电路的设计。
3.发光二极管(LED)模块的设计,如各种流水灯,跑马灯,十字路口交通灯等。
4. 两位发光数码管静态显示的设计。
5. 六段发光数码管动态显示的设计。
6. 4×4矩阵键盘的设计。
7. 电子密码锁的设计。
8. 音频放大模块的设计。
9. DS18B20数字温度计模块的设计。
二、 单片机小实验板设计要求1、 电路板设计要注意元器件的封装和各个元器件之间的距离,布线尽量减少交错,增加电路板的稳定性。
2、 焊接不能出现虚焊,或者短路,同时注意防止高温烧坏部分元件和电路板。
3、 程序设计要减少每必要的枝节,尽力提高程序的稳定性,实用性。
三、 单片机小实验板设计需求分析该设计方案是以MC51单片机为核心,采用LED 显示系统,辅以闹钟模块,音频及其电子琴、温度采集模块、日期、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示,对温度调节模块进行了重点设计用DS18B20, 实现SB0、SB1、SB2、SB3四个键实现时钟正常显示,调时,及闹钟时间设置。
本系统设计大部分功能有软件来实现,使电路简单明了,系统稳定性也得大大提高。
四、 AT89C51单片机概述89S51各引脚功能介绍:VCC :89S51 电源正端输入,接+5V 。
VSS :电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET :89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H 处开始读入程序代码而执行程序。
EA/Vpp :"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM 中)来执行程序。
因此在8031及8032中,EA 引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM 时,可以利用此引脚来输入21V 的烧录高压(Vpp )。
ALE/PROG:端口3的管脚设置:P3.0:RXD,串行通信输入。
P3.1:TXD,串行通信输出。
P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。
P3.4:T0,计时计数器0输入。
P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。
P3.7:RD,外部数据存储器的读取信号。
五、单片机小实验板设计原理整个电子时钟系统电路可分为6大部分:中央处理单元(CPU)、复位电路部分、显示部分、键盘输入部分、温度采集部分。
按模块可分为8部分:电源模块、单片机最小电路、发光二极管(LED)模块、发光数码管静态显示模块、发光数码管动态显示模块、16位矩阵键盘模块、音频放大模块、DS18B20数字温度计模块。
1)电源模块电源部分运用了MC7805三端稳压器,可将电压稳压在5V,Vcc接单片机40脚,20脚为接地。
2)单片机最小电路1、复位电路MCS-51单片机的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
3、时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。
本文用的是内部时钟方式。
电路图如下:MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
3)发光二极管(LED)模块采用低电平有效,共阳接发,为防止二极管击穿,在每个二极管中串接了1K的限流电阻。
4)发光数码管静态显示模块采用共阳极八段数码管,因此单片机I/O口为低电平有效,分各位与十位两个,为防止数码管由于电流高二损坏,在数码管每段串接电阻。
5)发光数码管动态显示模块共阳极数码管6个,在片选端各有三极管放大驱动,74LS244为锁存器,数据口占用8个I/O口。
片选占用6个I/O口。
6)16位矩阵键盘模块按键的开关状态通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O 端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。
为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。
本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。
7)音频放大模块采用LM386放大,最大输出功率1W,失真度低,适合小实验板的音频放大。
8)DS18B20数字温度计模块数字温度传感器采用DS18B20,只需一根信号线与单片机连接,不需要其他外部元件,电压范围为3.3V~5V,测温范围为一55℃~+125℃,在-10℃~+85℃范围内,精度为±O.5℃,温度最高分辨率可达0.0625℃。
六、实验数据及源代码1)流水灯、交通灯控制等#include <AT89X51.h>//******流水灯左移--使用顺序程序实现******// void delay(unsigned int count) //延时程序{unsigned int i,j,k;for(i=0;i<count;i++)for(j=0;j<10;j++)for(k=0;k<120;k++);}void main() //主函数{P1=1; //P1口拉高电平while(1) //循环{P1_0=0; //P1_0置低电平,低电平有效,LED亮delay(100); //延时一秒P1_0=1; //P1_0置高电平,LED灭P1_1=0; //以此类推delay(100);P1_1=1;P1_2=0;delay(100);P1_2=1;P1_3=0;delay(100);P1_3=1;P1_4=0;delay(100);P1_4=1;P1_5=0;delay(100);P1_5=1;P1_6=0;delay(100);P1_6=1P1_7=0;delay(100);P1_7=1;}}2)数码管静态显示程序如秒表、计数器等#include <AT89X51.h>//*******************************************************// // 数码管------静态工作方式实现//********************************************************// void delay(unsigned int count)//延时程序{unsigned int i,j,k;for(i=0;i<count;i++)for(j=0;j<10;j++)for(k=0;k<120;k++);}void main(){unsigned char leddata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管显示表格unsigned int x,y;x=0;y=0; //赋初值while(1){P2=leddata[x]; //显示P1=leddata[y];delay(30);y++; //进位if(y>9){y=0;x++;if(x>9){x=0;}}}}3)键盘显示程序//************************************//// 按键计数程序////************************************//#include <AT89X51.H>unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, //0~9数组0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Count;void delay10ms(void) //延时{unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){Count=0;P1=table[Count/10]; //个位取整P2=table[Count%10]; //十位取余while(1) //循环和消抖{if(P3_7==0){delay10ms();if(P3_7==0){Count++;if(Count==100) //满百位后复位{Count=0;}P1=table[Count%10];P2=table[Count/10];while(P3_7==0);}}}}4)数码管动态显示程序如数字钟等//*********************************//// 数字钟计时////*********************************//#include <AT89X51.H>unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //数码管显示段数据unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//数码管位驱动,第一次驱动接在最低位的那一个数码管unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};//显示缓冲寄存器unsigned char dispbitcnt;unsigned char second;unsigned char minite;unsigned char hour;unsigned int tcnt;unsigned char mstcnt;unsigned char i,j;void main(void){TMOD=0x02;//设置定时器工作方式为2,8位定时状态,自动装入初值。