无论什么时候我们都要以实际应用的角度去考虑程序的编写。

(2) 无论什么时候都不要让 CPU 白白浪费等待,尤其是延时(超过 1mS)这样的地方。

(3) 设计相应驱动电路时候,应该仔细阅读芯片的数据手册,了解每个引脚的驱动能力,以及整个芯片的驱动能力

(4) 最重要的是,如何去释放 CPU(参考本章的例子),这是写出合格程序的基础。

#include

sbit LED_SEG = P1^4; //数码管段选

sbit LED_DIG = P1^5; //数码管位选

sbit LED_CS11 = P1^6; //led 控制位

sbit ir=P1^7;

#define LED P0 //定义 LED 接口

bit g_bSystemTime1Ms = 0 ; // 1MS 系统时标

unsigned int g_u16LedTimeCount = 0 ; //LED 计数器

unsigned char g_u8LedState = 0 ; //LED 状态标志, 0 表示亮,1 表示熄灭

#define LED_ON() LED = 0x00 //所有 LED 亮

#define LED_OFF() LED = 0xff //所有 LED 熄灭

void Timer0Init(void)

{ TMOD &= 0xf0 ; TMOD |= 0x01 ; //定时器 0 工作方式 1

TH0 = 0xfc ; //定时器初始值

TL0 = 0x66 ;

TR0 = 1 ;

ET0 = 1 ;

}

void LedProcess(void)

{

if(0 == g_u8LedState)//如果 LED 的状态为亮,则点亮 LED

{

LED_ON() ;

}

else //否则熄灭LED

{

LED_OFF() ;

}

}

void LedStateChange(void)

{

if(g_bSystemTime1Ms) //系统 1mS 时标到

{

g_bSystemTime1Ms = 0 ;

g_u16LedTimeCount++; //LED 计数器加一 if(g_u16LedTimeCount >= 500) //计数达到 500,即 500mS 到了,改变 LED 的状态。

{

g_u16LedTimeCount = 0 ;

g_u8LedState = ! g_u8LedState ;

}

}

}

void main(void)

{

Timer0Init() ;

EA = 1 ;

LED_CS11 = 1 ; //74HC595 输出允许

LED_SEG = 0 ; //数码管段选和位选禁止(因为它们和 LED 共用 P0 口)

LED_DIG = 0 ;

while(1)

{

LedProcess() ;

LedStateChange() ;

}

}

void Time0Isr(void)

interrupt 1

{

TH0 = 0xfc ; //定时器重新赋初值

TL0 = 0x66 ;

g_bSystemTime1Ms = 1 ; //1MS 时标标志位置位}

led计数电路实验报告_LED点亮程序相关推荐

  1. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  2. led计数电路实验报告_至简设计系列_状态机实现LED交通灯2

    --作者:肖肖肖 本文为明德扬原创及录用文章,转载请注明出处! 1.1 总体设计 1.1.1 概述 发光二极管简称为LED,是一种常用的发光器件,通过电子与空穴复合释放能量发光,可以高效的将电能转化为 ...

  3. arm嵌入式led灯闪烁实验报告_led闪烁实验报告.doc

    led闪烁实验报告 篇一:单片机实验--LED灯闪烁实验 实 验 报 告 课程名称 实验项目 2016年 3 月 13 日 实验目的 1. 掌握51单片机开发板的使用步骤: 2. 掌握51单片机开发板 ...

  4. Proteus仿真数字钟表电路实验报告(可下载工程文件)

    Proteus仿真数字钟表电路实验报告(可下载工程文件) 实验目的 实验器件 实验步骤 1. 选择合适的Proteus器件中的译码器和数值显示器件能够对4位二进制数进行正常的数值显示 2. 组成模值为 ...

  5. matlab三相半波整流实验报告,三相半波可控整流电路实验报告.docx

    三相半波可控整流电路实验报告 实验一三相半波可控整流电路实验 一.实验目的 1.了解三相半波可控整流电路的工作原理,观察和记录不同导通角下的负载电压波形和电流波形. 2.理解触发电路的定相原理,掌握调 ...

  6. LED计数电路,5输入按键编码器,7段数码管显示驱动集成为LED计数测试电路

    LED计数电路: 5输入按键编码器: 7段数码管显示驱动真值表: 集成:

  7. 大学计算机a实验实验报告数组,广州大学电路实验报告

    广州大学电路实验报告Tag内容描述: 1.广州大学学生实验报告 开课学院及实验室 计机楼 617A 室2016 年 3 月 29 日 学院 数学与信息科学 年级 专业 班 信安 131 姓名 张贺威 ...

  8. 计算机辅助测控电路设计报告,测控电路实验报告(20210407082438)

    <测控电路实验报告(20210407082438)>由会员分享,可在线阅读,更多相关<测控电路实验报告(20210407082438)(8页珍藏版)>请在人人文库网上搜索. 1 ...

  9. 一阶电路实验报告心得_《大学电路实验报告.doc

    <大学电路实验报告 目 录 实验的意义.要求及注意事项 ---------------2 实验一.直流网络定理 ------------------4 实验二.RC一阶电路的响应测试 ----- ...

最新文章

  1. 从零开始学习jQuery (三) 管理jQuery包装集
  2. python获取docx文档的内容(文本)
  3. Scanner类的简单用法介绍!
  4. java工程师_Java开发工程师需要掌握哪些技能?
  5. MAC电脑8款常用设计工具推荐
  6. eclipse 中警告信息汇总
  7. Java8 改进的匿名内部类:
  8. 企业ERP上云解决方案(金蝶/用友/OA等)
  9. 9月30日skype事件
  10. 苹果c语言怎么用windows。h_苹果12怎么用蓝牙传照片?iphone12无线传相片的详细步骤...
  11. 转:YY淘宝商品数据库设计
  12. 逆向学习第二天如何手动脱UPX、Aspack壳
  13. [转载]MATLAB内存管理
  14. 前端纯CSS导入otf字体包
  15. 【List】个人 常用学习工作软件清单
  16. 【挨踢人物传】英雄不问出路,从化工员到微软企业护航专家(第16期)
  17. uni-app 上传图片到阿里云oss
  18. 关于我转行嵌入式的那些事
  19. 微信云托管-填坑之旅
  20. call()的具体使用方法

热门文章

  1. VIM Emacs 临时获得权限(:w !sudo tee %)
  2. [算法]复杂链表的复制
  3. 第 10 章 数组和指针
  4. Jmeter新手频犯错误之一(登录)
  5. 删除Windows 文本右键选项
  6. xcode调试打印QString
  7. java基础语法(二)--单列模式
  8. AX2009 的EP开发要点
  9. Flash/Flex学习笔记(26):AS3自定义右键菜单
  10. 大数据_Flink_Java版_数据处理_时间语义(1)_时间语义概念---Flink工作笔记0049