单片机的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 连续报警。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。