单片机的c语言应用程序设计-基于at89s52单片机的篮球计时计分器内容摘要:
,它还具有一个看门狗( WDT)定时 /计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 AT89S52 有 40 个 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其芯片外观及引脚图如下: 引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2 个外中断口, 2 个 16 位可编程定时计数器 ,2 个全双工串行通信口。 图 21 AT89S52单片机 图 22 AT89S52引脚图 4 硬件电路实现 电源供电模块 图 23 电源模块电路图 51 单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳 定可靠的电源供电模块。 此最小系统中的电源供电模块的电源可以通过计算机的 USB 口供给,也可使用外部稳定的 5V 电源供电模块供给。 电源电路中接入了电源指示 LED,图中 R11 为 LED 的限流电阻。 S1 为电源开关。 时钟电路模块 图 24 振荡电路图 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全 称 叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 5 复位电路模块 图 25 复位电路图 单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。 按键控制键盘模块 为了减少对 I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。 矩阵式键盘接口 见图 26 所示,它由行线和列线组成,按键位于行、列的交叉点上。 当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图 26 为一个 4 x 4 的行列结构,可以构成 16 个键的键盘。 很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的 I/O 口线。 图 26 矩阵式键盘 液晶 模块 设计中采用 LCD12864 液晶显示。 它一般串口、并口两种方式显示,而我们一般采用并口显示。 12864 的 1 17 脚分别与单片机的 ~ 相连。 7~14 脚与单片机的 P0 口相连。 20 号脚接地, 2 号脚接电源, 19 号脚背光灯正端串一个电阻与电源相连,电阻起限流的作用,我们取 R=10K。 3 号脚是 对比度(亮度)调整 ,这里 6 要用一个滑动变阻器来调整亮度,这里我们取电位器大小为 10K。 LCD12864 显示电路如图 27 所示: 图 27 液晶显示电路 ( 1) 12864F 简介 带中文字库的 128X64 是一种具有 4 位 /8 位并行、 2 线或 3 线串行多种接口方式,内部 含有国标一级、二级简体中文字库的点阵图形液晶显示 模块 ;其显示分辨率为 12864, 内置8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集 .利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。 可以显示 84 行 1616 点阵的汉字 . 也可完成图形显示 .低电压低功耗是其又一显著特点。 由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 7 表 21 12864F 引脚说明 管脚号 管脚名称 电平 管脚功能描述 1 VSS 0V 电源地 2 VCC +5V 电源正 3 V0 对比度(亮度)调整 4 RS(CS) H/L RS=“H”,表示 DB7——DB0 为显示数据 RS=“L”,表示 DB7——DB0 为显示指令数据 5 R/W(SID) H/L R/W=“H”,E=“H”,数据被读到 DB7——DB0 R/W=“L”,E=“H→L”, DB7 ——DB0 的数据被写到IR 或 DR 6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态 数据线 8 DB1 H/L 三态数据线 9 DB2 H/L 三态数据线 10 DB3 H/L 三态数据线 11 DB4 H/L 三态数据线 12 DB5 H/L 三态数据线 13 DB6 H/L 三态数据线 14 DB7 H/L 三态数据线 15 PSB H/L H: 8 位或 4 位并口方式, L:串口方式 16 NC 空脚 17 /RESET H/L 复位端,低电平有效 18 VOUT LCD 驱动电压输出端 19 A VDD 背光源正端( +5V) 20 K VSS 背光源负端 8 报警模块 BuzzerVCCD1DiodeR7P3_7Q19012 图 28 报警电路 蜂 鸣器使用 PNP三极管进行驱动控制,板上使用的是直流蜂鸣器,当 平时,蜂鸣器鸣叫。 由于蜂鸣器为感性原件,可以在两端并接一个二极管来起到泄放作用。 9 第三章 系统软件实现 软件总体设计方案 本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程序、 T0中断程序、扫描显示子程序、计时加(减) 1秒的子程序、暂停子程序、延时子程序等组成 .其程序流程图如图 31图 32。 图 31 主程序流程图 图 32 扫描刷新显示子程序流程图 10 主要子功能程序 比赛倒计时 /24s 倒计时(同步) void counter_down(void) { if(time=20) //每 1s 倒计时做减一操作 { sec。 sec_24s。 write(0x87)。 //24s 倒计时显示 read(0x30+sec_24s/10)。 read(0x30+sec_24s%10)。 if(sec_24s==0) //24s 结束发出 3s 连续报警。单片机的c语言应用程序设计-基于at89s52单片机的篮球计时计分器
相关推荐
//初始化 ds1302 Write1302(0x8e,0x00)。 //写控制字,允许写 set_ds1302(0x80,now_time_date,8)。 //设置初始时间,日期,年月 //LCD 初始化 LCDInit()。 //LCM 初始化 //显示 初始化界面 DisplayListChar(0, 0, uctech)。 DisplayListChar(2, 1, )。
旦某个DS18B20 接触不好或断线,当程序读该DS18B20 时,将没有返回信号,程序进入死循环。 这一点在进行DS18B20 硬件连接和软件设计时也要给予一定的重视。 DS18B20 的性能特点(1) 独特的单线接口仅需要一个端口引脚进行通讯;(2) 在DS18B20中的每个器件上偶有独一无二的序列号,因此多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(3)
R液晶显示步进电机运行状态,其效果比用数码管显示要更加明了,也更容易读取相关状态和数据。 液晶上显示有电机运行的状态、当前 步数 、运行方向以及其运转速度。 其显示原理如下图 42: 图 42 液晶显示流程图 正反转流程图 步进电机的正反转用 K K2控制,初始化电机为顺时针转,即“》”, 每当按下 K4键,电机转向改变,具体流程图如下图 43: 启动与停止流程图 启动与停止是用 K1键来
由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为衡量步进电机最重要的参数之一。 比如,当人们说 的步进电机 ,在没有特殊说明的情况下是指保持转矩为 的步进电机。 步进电机的一些特点 3%5%,且不累积。 温度。 ,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点; 一般来讲,磁性材料的退磁点都在 130℃以上
图 23 晶体振荡电路 复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销单片机课程设计 9 复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 — 合过程中引起的抖动而影响复位。 RST:复位输入,当振荡器工作时, RST 引脚出现两个机器周期 以上高电平将使单片机复位。 图 24 复位电路 按键及响铃功能 本设计是基于
节 ...... 5. 片上集成 1280 字节 RAM。 6. 通用 I/O 口( 36/40/44 个),复位后为: 准双向口 / 弱上拉(普通 8051 传统 I/O 口)可设置成四种模式:准双向口 / 弱上拉,推挽 / 强上拉,仅为输入 / 高阻,开漏 , 每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不要超过 55mA。 7. I S P(在系统可编程) /IAP