单片机简易秒表正计时时间可设置倒计时时间可查询

上传人:仙*** 文档编号:142277189 上传时间:2022-08-24 格式:DOC 页数:29 大小:299.50KB
收藏 版权申诉 举报 下载
单片机简易秒表正计时时间可设置倒计时时间可查询_第1页
第1页 / 共29页
单片机简易秒表正计时时间可设置倒计时时间可查询_第2页
第2页 / 共29页
单片机简易秒表正计时时间可设置倒计时时间可查询_第3页
第3页 / 共29页
资源描述:

《单片机简易秒表正计时时间可设置倒计时时间可查询》由会员分享,可在线阅读,更多相关《单片机简易秒表正计时时间可设置倒计时时间可查询(29页珍藏版)》请在装配图网上搜索。

1、第一章 设计内容和要求1.1 设计任务用 AT89C52设计一个 4 位的 LED数码作为多功能“秒表” 。1.2 设计目的 1学习数码管显示的结构和工作流程,实现数码管分组显示数字组合。2学习有关单片机的内容,进一步了解 AT89C52芯片的相关功能。3复习 C 语言的相关知识。4培养自学能力和探索解决问题的能力。1.3 设计要求显示时间为 00分00秒-59分59秒,每 1秒自动加 1,另外设计一个“开始 /暂停” 键、一个“记录 / 查询”键、一个“清零”键、一个“模式切换”键、一个“时间设置” 键、一个“复位”键。秒表要求正计时时,可记录并且查询 10 组数据,倒计时时,时间 用户可设

2、置,并且时间到时蜂鸣器报警。1.4 设计创新 在基本设计基础上添加了正向查询 10 条记录后蜂鸣器同时报警。1.5 设计意义 简易秒表具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符 合电子仪器仪表的发展趋势,具有广阔的市场前景。本次设计将基于单片机的工作原理, 设计简易秒表的基本电路,深入的了解其工作原理,掌握其基本的工作特点。同时简易秒 表在生活中应用广泛,从实际出发,不断创新。第二章 方案设计与选择2.1 技术可行性20世纪以来,微电子, IC 集成电路行业发展迅速,其中单片机行业发展最引人注目。 单片机利用大规模集成电路技术把中央处理器和数据存储器(RAM),程序存储

3、器( ROM)及其他 I/O 通信口集成在一块芯片上,构成最小的计算机系统。如今的单片机发展集成了 更多的特殊功能单元,例如 A/D,D/A 转换器,通信控制, DMA,PWM控制输出单元等。因 此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统。单片机除了具备体积小,价格低,速度快,用途广,可靠性高等特点,在硬件结构和 指令设置上还有以下独特之处:1.存储器 ROM和 RAM是严格分工的。前者存放程序,常数和数据表格,后者存放临时 数据和变量。2. 采用面向控制的指令系统,构成的应用系统有较大的可靠性。大部分测控功能由软 件实现,故具有柔性特征,不须改变硬件系统就能适当的改

4、变系统功能。3 单片机的硬件功能具有广泛的通用性。4. 品种规格的系列化。2.2 单片机的选择方案一:采用 AT89C52单片机AT89C52是一种低功耗、 高性能 CMOS位8 微控制器, 具有 8K 在系统可编程 Flash 存储 器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全 兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有 灵巧的 8位CPU和在系统可编程 Flash ,使得 AT89C52为众多嵌入式控制应用系统提供高 灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时, 因

5、为顺序的过错修正或对步伐的心删功能需要烧进程序时,没有需要对芯片屡次插拔,所 以不会对芯片形成破坏。方案二:采用 FTC10F04单片机FTC10F04单片机还带有非易失性 Flash 程序存储器。 它是一种高性能、 低功耗的 8 位 CMOS微处理芯片,市场应用最多。其主要特点如下: 8KB Flash ROM,可以擦除 1000 次以 上,数据保存 10 年。方案三:采用 8051 单片机8051 单片机最早由 Intel 公司推出,内部具有 4KB ROM存储空间。其后多家公司购买 了 8051的内核,使得以 8051 为核心的 MCU系列单片机在世界上产量最大, 应用也最广泛。 有人推

6、测 8051可能最终形成事实上的标准 MCU芯片。 LG公司生产的 GMS90系列单片机, 与 Intel MCS-51 系列、 Atmel 89C51/52,89C2051 等单片机兼容, CMOS技术,高达 40MHZ 的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各 种计费器,各种 IC 卡装置、 DVD、VCD、CD-RO。M由于本系统对 CPU运算速度要求很高,需要执行很复杂的运算,方案一,三成本比较 低,适合做设计,方案二运算速度高,性能好,所以三种方案都有可取之处。本次设计选 用方案一作为主方案,设计以 AT89C52为主控电路的方案电路。2.3 显

7、示模块的选择方案一:使用液晶显示屏显示时间数字。 液晶显示屏( LCD)具有轻薄短小、低耗电 量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好, 分辨率高,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控 制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时, 不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用传统的 LED 数码管显示。 数码管具有:低能耗、低损耗、低压、寿命 长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其 精度比较高,称重轻,精确可靠,操作简单。数码管采用

8、BCD编码显示数字,程序编译容 易,资源占用较少。根据以上的论述,采用方案二。在本系统中,我们采用了四位一体数码管串口的动态 显示,因选用四位一体共阳数码管,所以要加共阳的驱动,采用 pnp 的驱动。2.4 键盘模块的选择在对倒计时时间可设置,对正计时、倒计时的模式选择时,清零时都需要用按键。方案一:使用独立式键盘。独立式键盘是指直接用 I/O 口线构成的单个按键电路。独 立式按键电路配置灵活,软件结构简单。方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉 点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适 合按键数量较多的场合。根据以上的

9、论述,因本系统需要的按键不多,只需要开始/暂停”键 、“记录/ 查询”键、 “清零”键、 “模式切换”键、 “时间设置”键。所以采用方案一独立式键盘。2.5 时钟电路的选择时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片 机,所以采用内部时钟方式比较简单。第三章 系统总体结构存储图3.2 各框图实现功能按照系统设计功能的要求,初步确定系统由主控模块,存储模块,驱动模块,显示模 块和键盘接口模块组成, 如图 。这些模块中单片机占主控地位, 采用 AT98C52芯片。键盘电路模块主要是对输出显示进行控制调节作用,采用普通独立按钮元件,共5 个,“开始/ 暂停”键、“记录/查

10、询”键、 “清零”键、 “模式切换”键、 “时间设置”键。 本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控 制按钮。显示输出部分所用的数码管有共阴极和共阳极两类数码管之分,不管使用何种数码 管,P0口作为 I/O 使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4 个并行 I/O 口的输出电流一般是 1mA,短路电流为 4mA左右,而数码管的最少驱动电流也需要 10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流, 才能驱动数码管。本电路中采用的是共阴极数码管。驱动部分主要是数码管分组显示的选 择控制,本电路中通过 P1 口和

11、 P2口的配合进行数码管的选通。在显示模块中,它的连接方式为 8 位数码管的各段控制口 a,b,c,d,e,f,g,dp 分别需 接到 P0口。数码管的显示码是由 P0 口输入的,位选端是通过 P2 口控制的。数码管的显 示编码已经编好放在计算机的内存里,时间的显示可以通过软件的计算把显示码调出显 示。显示模块直接用数码管来显示时间。先将显示码存入数组中,指向最左边一位,然后 取出要显示的数据,指向换码表首地址,取出显示码,从P0 口输出显示码, P2口输入位选码,图 数码管笔段分布图驱动部分电路选择 芯片,通过与单片机的连接,将电平拉高才能使发光管正常发光。第四章 硬件设计由图 3-1 系统

12、结构框图可知硬件选择如下: AT89C52芯片,LED数码管组, 数码管驱动 三极管,电阻,按钮等外围应用电路构成。下面介绍各外围电路。4.1AT89C52 单片机基本引脚接线图AT89C52的基本连接电路如图,有复位电路,内部时钟电路, VCC, VSS的连接,其余控制电路根据程序设计分别连至个 I/O 口实现功能。图 为 AT89C52的引脚图,在设计中大部分采用引脚的双列直插式芯片。图 介绍的是 AT89C52作为基本连接电路中。P0口: P0口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P1口的 管脚第一次写 1 时,被定义为高阻输入。 P0能够用于外部程序

13、数据存储器,它可以被定义 为数据/地址的第八位。在 FIASH编程时, P0 口作为原码输入口,当 FIASH进行校验时, P0输出原码,此时 P0 外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时, P1 口作为第八位地 址接收。P2口: P2口为一个内部上拉电阻的 8 位双向 I/O 口, P2口缓冲器可接收,输出 4 个 TTL门电流,当 P2口被写“ 1”时,其管

14、脚被内部上拉电阻拉高,且作为输入。并因此作 为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口当用 于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在 给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校验时接收高八位地址信号和控制 信号。P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL门电流。 当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平, P3口

15、将输出电流( ILL )这是由于上拉的缘故。P3 口也可作为 AT89C52的一些特殊功能口, P口管脚备选功能P3.0 RXD(串行输入口)P3.2 /INT0 (外部中断 0)P3.1 TXD (串行输出口)P3.3 /INT1 (外部中断 1)P3.4 T0 (记时器 0 外部输入)P3.5 T1 (记时器 1 外部输入)P3.6 /WR 外部数据存储器写选通RST:复位输入P3.7 /RD 外部数据存储器读选通ALE/PRO:G当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正 脉

16、冲信号, 此频率为振荡器频率的 1/6 。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输 出可在 SFR8EH地址上置 0。此时, ALE 只有在执行 MOV,X MOVC指令是 ALE才起作用。另 外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期 两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器( 0000H-

17、FFFFH),不管是 否有内部程序存储器。注意加密方式 1时,/EA 将内部锁定为 RESE;T 当/EA 端保持高电平 时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图 -1 AT89C52 引脚图图 AT89C52基本电路接线图4.2 时钟电路图 4-3 时钟电路 时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。如图 中的 XTAL1和 XTAL2引脚间的部分, 晶振频率根据设计需要设为 11.0592MHz,根据谐 振性质,电路中的电容 C1、 C2 选择为 30pF。该电容的的大少会影响振荡器

18、频率的高低、 振荡器的稳定性和起振的快速性。4.3 按钮电路 本设计采用独立按钮,按键未按下时,端口为电阻上拉高电平,按键被按下时,端口 为低电平并送到相应控制端口。如图 所示,一共设置为五个按钮。 本次设计采用独立按键,同时应用行列式键盘中的11、21、41、 81. 一行实现独立式键盘,可方便焊接,再接一个按钮即可实现五个按钮的控制。4.4 复位电路 本电路中采用上电复位电路,上电瞬间,电容充电电流最大,电容相当于短路, RST 端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当 于开路, RST端为低电平,程序正常运行。如图 中 RST引脚的接线。4.5 显示

19、电路发光二极管( LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用, 也可以组装成分段式或点阵式 LED显示器件(半导体显示器)。分段式显示器 (LED数码管) 由 7 条线段围成 8 字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出 清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED 数码管有共阳、共阴之分。图 4-2 是共阳式、共阴式 LED数码管的原理图和符号。图 4-4 共阳式、共阴式 LED 数码管的原理图和数码管的符号图 本设计电路为时,分,秒的显示,显示采用了四位一体的共极数码管。其中这个数码 管组都由 P0口控制输出显示,片选信

20、号由 P2口实现,由于为共阳极数码管,片选 =1 时, 该位所对应的数码管进行位驱动,其余为 0。电路开始时,两个四位一体数码管组显示时 间。LED 显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对 于多位 LED显示器,通常都是采用动态扫描的方法进行显示。图 多位数码管的段驱动和位驱动的连接4.6 驱动电路电路中为共阳极数码管,所以选择 9013NPN三极管进行电路驱动。如图 。图 利用三极管对数码管进行位驱动4.7 电源电源由小变压器通过 220V降压至 5V由导线引至电路两端获得。由于设计芯片的工作 电压为,所以若想直接从住宅供电获取,则可采用小型变压器,高压侧由导

21、线接至插 头,低压侧可用导线连接杜邦线,直接接在芯片上获得所需工作电压。或者采用干电池直接提供 电压,可根据自身条件选择。第五章 软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完 成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方 面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的 总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便 于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(

22、4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。5.1 软件系统框图图 5-15.2 主程序流程图图 5-25.3 系统主程序#include #define uc unsigned char#define ui unsigned intvoid display();char code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff; / 数字对应显示码表char code tab1=0x40,0x79,0x24,0x30,0x19,0

23、x12,0x02,0x78,0x00,0x10;/ 小数点char code index=0x10,0x20,0x40,0x80;/0xef,0xdf,0xbf,0x7f; / 每位数字对应数码管显示位置uc num8; / 每位数字存放数组uc val104;/ 存储的记录 10为记录序列, 8 为每组记录中的数字 char val_index;/ 记录序列标志位uc set_index,ok_flag,timing;bit mode=1;/ 运行模式, 1 为正向计数, 0 为反向计数。bit fin_flag=0;/ 完成标志位,当反向计数结束时,此位为高电平,触发蜂鸣器 bit set

24、_shan;sbit beep=P32;sbit key1=P33;sbit key2=P34;sbit key3=P35;sbit key4=P36;sbit key5=P37;void delay(ui z)ui i,j;for(i=0;iz;i+) for(j=0;j121;j+);void init()TMOD=0x11;TH0=0x4b;TL0=0xff;TH1=0x4b;TL1=0xff;ET1=1;TR1=1;ET0=1;TR0=0;EA=1;val_index=0;void clr()uc i;for(i=0;i8;i+) numi=0;void setup()ok_flag=

25、0xff;set_index=0;while (ok_flag)display();if(key1=0) / 按动 KEY1设置值加 1delay(5);if(key1=0)if (set_index=0)|(set_index=2)|(set_index=4)|(set_index=6)numset_index+;if(numset_index=10)numset_index=0;else if(set_index=1)|(set_index=3)|(set_index=5)|(set_index=7)numset_index+;if(numset_index=6)while(!key1)

26、display();if(key2=0)/ 按动 KEY2设置位置加 1delay(5);if(key2=0)set_index+;if(set_index=8)set_index=0;while(!key2) display();if(key5=0)/ 按动 KEY5设置结束delay(5);if(key5=0)ok_flag=0x00;mode=0;while(!key5) display();void display()uc i;if(ok_flag!=0xff)if(timing=0)for(i=0;i4;i+)P0=0xff;P2=indexi;if(i=2)P0=tab1numi;

27、elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率elseif(set_shan=0)for(i=0;i4;i+)P0=0xff;P2=indexi;P0=tab10;delay(2); / 修改此参数可修改刷新频率 else if(set_shan=1)for(i=0;i4;i+)P0=0xff;P2=indexi;if(i=2)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率elseif(set_shan=0)if(set_index=0)for(i=0;i4;i+)if(i=0)P2=index0;P0=t

28、ab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi;if(i=2)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if(set_index=1)for (i=0;i4;i+)if(i=1)P2=index1;P0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi;P0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;for (i=0;i4;i+)if(i=2)P2=index2;P

29、0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi;if(i=2)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if(set_index=3)for (i=0;i4;i+)if(i=3)P2=index3;P0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi;if(i=2)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if

30、(set_index=4)for (i=4;i8;i+)if(i=4)P2=index0;P0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;if(i=6)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if(set_index=5)for (i=4;i8;i+)if(i=5)P2=index1;P0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;if(i=6)P0=tab1numi;else

31、P0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if(set_index=6)for (i=4;i8;i+)if(i=6)P2=index2;P0=tab10;delay(2); / 修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;if(i=6)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;else if(set_index=7)for (i=4;i8;i+)if(i=7)P2=index3;P0=tab10;delay(2); / 修改此参数可修改刷

32、新频率P0=0xff;elseP2=indexi-4;if(i=6)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;elsefor (i=0;i4;i+)P2=indexi;if(i=2)P0=tab1numi;elseP0=tabnumi;delay(2); / 修改此参数可修改刷新频率P0=0xff;void alarm()if(num4=0)&(num5=0)&(num6=0)&(num7=0)timing=0;elseif(num4=num0)&(num6=num2)&(num5=num1)&(num7=num3)

33、timing=1;void main()uc h,g,k;init();clr();while(1)display(); / 刷屏显示数码管alarm();if(key1=0)/ 开始 / 暂停按钮delay(5);if(key1=0)TR0=TR0;while(!key1) display();if(key2=0) / 记录按钮delay(5);if(key2=0)if(TR0=1)/ 当在运行中按下记录键则存储记录for(g=1;g10;g+)for(k=0;k4;k+)valg-1k=valgk;for(h=0;h4;h+)val9h=numh;/ 将当前时间存储记录else/ 在停止状

34、态下按下记录键查看记录 ,按动一次序列递减一次,即查看上一次for(h=0;h4;h+)numh=valval_indexh;/ 将当前时间存储 val_index-;if(val_index9)num0=9;num1-;if(num15)num1=5;num2-;if(num29)num2=9;num3-;if(num39)num3=0;TR0=0;fin_flag=1;clr();void T1_time() interrupt 3 uc shan,beep_stop; TH1=0x4b;TL1=0xff; shan+; beep=0;if(shan=10)shan=0;set_shan=

35、set_shan;if(fin_flag)|(timing=1) / 当反向计数完成时 或计时时间到时 beep_stop+; beep=1;if(beep_stop=10) fin_flag=0; timing=0;beep_stop=0; beep=0;般的方法第六章 系统调试单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开 是排除明显的硬件故障,再进行综合调试,排除可能的软 / 硬件故障。6.1 硬件调试 拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路, 尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相 同;完成焊接

36、后,应先空载上电(芯片座上不插芯片) ,并检查各引脚的电位是否正确。 若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将 万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。1.数码管组各段的确定:将万用表调到标有二极管的档位,由于已知数码管为共阳极 电路,则先将两表笔放到任意两端测量,若此时二极管均不发光,则二者为两位一体的数 码管组的位驱动端。确认好后将黑表笔放于位驱动的一端,红表笔依次触碰其他管脚,观 察对应发光段,即可确定各管脚的标号,操作以来十分方便。2. 当元件焊接好时,我接通电源,首先发现数码管不亮,完全没有显示,所以我用万 用表测量 p0

37、口的电压,发现端口都有电压,但是偏小,只有 0.8v 左右,然后考虑到共阳 的驱动,重新加了驱动电路,数码管有显示,但是也存在蜂鸣器不报警的问题,所以又单 独对蜂鸣器的电路进行了分析,最后发现时由于粗心焊接了错误的电源线导致的,改正之 后板子正常工作了。6.2 软件调试软件调试是通过对程序的连接、 执行来发现程序中存在的语法错误与逻辑错误并加以 排除纠正的过程,也可以通过 keil 软件进行仿真,能大大的减少设计过程中的错误。第七章 设计小结这次在科研实践的过程中,我受益匪浅。首先,我意识到平时扎实的基础是关键, 只有平时学得牢,在面对时思路才会敏捷,在面对问题时才会快速找到症结所在并找到解

38、决之道。其次,程序设计是个很复杂的过程,在大的构思实现之后我们往往还要在很多的 细节上对程序加以改进。在过去的大学学习中,我们大多数接触的是专业课,我们在课堂上学习的也都是专 业课的理论知识,为了锻炼我们的实践能力把所学的专业理论知识运用到实践中去,这次 科研实践为我们搭建了这样一个练习的平台。在这次科研实践中,我们培养了在实践中研究问题、分析问题和解决问题的能力, 并意识到程序设计不仅要注重整体,更要注重细节;当程序运行过程中遇到问题时,我们 要打开思路,发挥创新精神,力求用最有效简洁的方法解决;遇到难以解决的困难时,我们要多多请教书本、老师、同学,坚持不懈,就算程序运行失败了也不要气馁。这

39、一次的科研实践,让我体会到知识的应用所带来的成就感。与此同时,科研实践也 使我们体会到了团结的力量,再复杂的程序在我们的讨论中也可以得到答案。科研实践所 带来的经验可以让我更好的学习。参考文献(1)51 系列单片机高级实例开发指南 李军着 北京航空航天大学出版社(2)单片机原理与实用技术 付晓光着 清华大学出版社(3)AT89系列单片机原理与接口技术 王幸之着 北京航空航天大学出版社(4)单片机应用系统设计技术 张齐 朱西宁 着 电子工业出版社附录 1:元器件清单序号名称型号、参数备注价格/元数量1CPUSTC89C52DIP40 封装4.412管座DIP-400.313晶振11.0592MH

40、Z49S型0.614整流桥2W102A圆桥0.815稳压 ICLM7805TO-2200.516元片电容30pF0.127电解电容1000uf/16V0.318电解电容470uf/16V0.219电解电容10uf/16V0.1110独石电容0.47uf0.2211按钮6*6 按钮 -4p6mm*6mm0.1512自锁开关8*8 自锁按钮 -6P8mm*8mm0.3113跳线5114电阻10K/0.25W金属膜 1/4W0.1115排阻A10-103 或 A09-103直插0.1116单排排针直针 1*402.54mm0.3117变压器220/9V118电源线119数码管四位一体共阳2.0120三极管90130.1621电阻2.2K0.06622蜂鸣器0.5123总价16.6附录 2:仿真图附录 3:原理图附录 4:实物图

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!