




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计 多功能电脑时钟设计 单元一点亮LED指示灯 LED显示原理 发光二极管通常是使用砷化镓 磷化镓等所制成 通以电流时将发出光来 单管工作电流一般在几毫安至几十毫安之间 因此只要在二极管的阳极和阴极间加上电源和限流电阻 就可以使其发光 用于指示 单片机控制下的LED指示灯 在板子的左上方有四个绿色的LED灯 分别是由P23 P24 P25 P26四个I O口控制 低电平点亮 高电平熄灭 单片机控制下的LED指示灯 include reg51 h sbitLED1 P2 3 用LED1符号表示单片机的控制引脚 用符号可以更清晰地表示引脚功能main while 1 单片机的主程序往往是一个死循环 LED1 0 缩进 程序书写的格式要求 注解 头文件为使用单片机的内部资源提供方便 大家照此方法使用即可 C51的一个主要特点就是支持位操作 include reg51 h sbitLED1 P2 3 LED1控制引脚sbitLED2 P2 4 LED2控制引脚sbitLED3 P2 5 LED3控制引脚sbitLED4 P2 6 LED4控制引脚voiddelay unsignedintj unsignedchari do for i 0 i 230 i while j main while 1 LED1 0 点亮LEDLED2 0 LED3 0 LED4 0 delay 1000 延时LED1 1 关闭LEDLED2 1 LED3 1 LED4 1 delay 1000 控制四个LED灯闪烁 变量i j为什么定义成unsigned类型 如何方便地书写程序 unsignedchar这样的字符偏长怎样确定延时时间的长短 如何更方便地修改延时时间 单片机的端口 MCS 51单片机有4个双向并行的8位I O口P0 P3 P0口为三态双向口 可驱动8个TTL电路 P1 P2 P3口为准双向口 作为输入时 口线被拉成高电平 故称为准双向口 其负载能力为4个TTL电路 单元一要求 完成一个流水灯程序位赋值法移位指令法 单元二定时器控制的LED 前面由延时程序控制的LED闪烁存在以下问题时间不够准确 太消耗CPU资源 延时程序相当于CPU在空转等待 采用定时器就可解决以上问题 单片机的定时器0 定时器的核心是一个加1计数器 当计数来源是一个稳定频率的脉冲时 就成为定时器 计数满时会通知CPU 中断 TF0置位 我们可以利用这一点进行准确定时 定时器的工作模式 例 设定时器T0选择工作模式1 定时周期为1ms的方波 单片机的振荡频率 6MHz 1 根据题意 TMOD 01H D7D6D5D4D3D2D1D0 TMOD 89H 定时时间的计算 计数值 模值 初始值模值表示计数器所能计的最大值加1 即16位计数器的模值为 16位计数器的模值为 计数范围为1 65536 定时时间为 T 模值 初值 机器周期 模值 计数器最大计数值 机器周期 2 计算T0计数初值 每个机器周期的时间长度为 计数值为 初始值 模值 计数值 转换为16进制数为 0FE0CHT0的低8位 0CHT0的高8位 0FEHTH0初值为0FEH TL0的初值为0CH 练习 如果产生一个5ms的定时 单片机的振荡频率是11 0592MHZ 请问定时初值时多少 TH0 0EEH TL0 00H include reg52 h defineTHCO0 xee defineTLCO0 x0sbitLED P2 4 voidmain TMOD 0 x11 设置定时器0工作模式TL0 TLCO 设置定时时间TH0 THCO TR0 1 开定时器0ET0 1 EA 1 while 1 主程序空闲等待 定时器中断服务子程序voidtimer0 interrupt1 staticunsignedcharcount 0 TH0 THCO 重装初值TL0 TLCO count if count 200 count 0 LED LED 中断服务程序与中断程序入口 单片机中断采用固定入口地址 中断服务程序由谁来调用 为什么采用satic来修饰变量count 单元二要求 用定时器完成一个1S闪烁LED的程序晶振频率为11 0592MHZ定时时间为0 5S定时器初始化 主程序为空循环中断服务程序中完成LED定时闪烁 单元三数码管的显示 一种应用很普遍的显示器件LED数码管是由七段发光二极管组成 分别称为a b c d e f g DP可以显示0 9和A F共16个字母数字及其他特殊字符 数码管外形共阳极共阴极 段码 位码 include reg52 h unsignedcharcodeDuan 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F sbitP10 P1 0 voidmain P10 0 共阴极数码管 位码送低电平P0 Duan 3 利用数组进行查表 查出对应数字的段码while 1 死循环 多位数码管的显示 如果每一个LED占用一个独立的I O端口 那么该系统将占较多的硬件资源 硬件上所有LED的同名段都连在一起 由同一个I O端口 段端口 控制每个LED的控制端分别连接到几个I O端口在软件上用扫描方法逐个点亮和熄灭LED 利用人的视觉暂留来实现多位LED显示 保证每个LED在一秒内显示25次以上 数码管的动态扫描 多位LED显示流程图 include reg52 h defineTHCO0 xee defineTLCO0 x0unsignedcharcodeDuan 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F unsignedcharData Buffer 4 1 2 3 4 sbitP10 P1 0 sbitP11 P1 1 sbitP12 P1 2 sbitP13 P1 3 voidmain TMOD 0 x11 TH0 THCO TL0 TLCO TR0 1 ET0 1 EA 1 while 1 voidtimer0 interrupt1 staticunsignedcharBit 0 TH0 THCO TL0 TLCO Bit if Bit 4 Bit 0 P1 0 x0f P0 Duan Data Buffer Bit switch B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭水处理系统安装与维护创新创业项目商业计划书
- 2025年无人机物流路径优化技术创新与可持续发展
- 北方顶层防水施工方案
- 施工方案汇报模板
- 水生植物运输物流创新创业项目商业计划书
- 2025年5G技术对远程会议的影响研究
- 2025年文化旅游主题酒店与生态旅游市场结合可行性分析报告
- 道路监理业务培训课件
- 工程响应性施工方案
- DB43∕T 1720.1-2019 多表集抄技术规范 第1部分:远程抄表系统建设规范
- 4s店装修合同范本正规范本(通用版)
- 危险化学品罐区日常安全检查表
- 《微循环与健康》课件
- 医院护理培训课件:《病区环境管理查房》
- 普瑞纳乳猪和仔猪饲养管理
- vMix用户指南说明
- GA 1809-2022城市供水系统反恐怖防范要求
- 内科护理学循环系统疾病患者护理
- 中国各省地图矢量图
- 立足一题,解决一类-解三角形中范围与最值问题教学设计
- 2023年广西投资集团招聘笔试题库及答案解析
评论
0/150
提交评论