MCU
文章平均质量分 76
crazyvoice
探险,分享,户外,摄影,阅读。行万里路,读万卷书。在有限的生命中,创造无限可能。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单只LED灯闪烁程序
八只LED灯一端通过排阻接到VCC上,另外一端接P1口,八只LED灯D1~D8对应接P1^0~P1^7;当单片机的P1口某一位为0时对应的LED灯点亮,如点亮D1灯只需将P1^0=0即可,熄灭时将P1^0=1;下面写一个让D1灯闪烁的程序。 #include//单片机用的是ATC89C52 #define uint unsigned intsbit led1=P1^0;void del原创 2010-01-31 21:54:00 · 4766 阅读 · 0 评论 -
飞思卡尔单片机DZ60---TPM1输出比较
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *///输出比较试验 //定时计数器寄存器(TPMxCNTH:TPMxCNTL)中的值与通道寄存器(TPMxCnVH:TPMxCnVH)相匹配时,会产生一个中断标志位//并且会在原创 2013-07-15 16:53:38 · 3665 阅读 · 0 评论 -
飞思卡尔单片机DZ60---输入捕捉
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *///TPM1通道0(与PTD2连接第三个LED灯? 产生周期为0.5s占空比为50%的PWM波//利用TPM2通道0(与PTD0连接第一个LED灯)对这个PWM波的上升沿原创 2013-07-16 10:45:39 · 3254 阅读 · 0 评论 -
飞思卡尔单片机DZ60---中央对齐PWM
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *///中央对齐 PWM实验,TPM1通道0和1对应的管脚为PTD3,PTD4分别接LED3,LED4//实验现象LED3,LED4闪烁的周期都为0.5秒,闪烁的时长不同。/原创 2013-07-16 10:00:34 · 3885 阅读 · 0 评论 -
飞思卡尔单片机DZ60---边沿对齐PWM
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *//*************************************************************//* 初始化总原创 2013-07-16 10:02:38 · 3246 阅读 · 0 评论 -
飞思卡尔单片机DZ60---TPM1\TPM2溢出中断
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *///TPM中断实验,LED1灯每一秒钟闪烁一次?//1:时钟来源选择 TPM1SC中的 CLKS[B:A]//2:可编程的时钟分频器,通过设置TPM1SC中的PS位。//原创 2013-07-15 15:03:00 · 5047 阅读 · 1 评论 -
飞思卡尔单片机DZ60---实时中断
//RTI实时中断实验//RTC模块包括一个状态和控制寄存器、一个8位计数寄存器和一个8位模数寄存器//实时中断功能用来产生周期性中断。RTI有三个可选时钟源:LPO 1KHZ内部振荡器,32KHZ内部时钟,以及ERCLK外部时钟//8位比较器实时比较计数器RTCCNT与TRCMOD值,相等则产生中断#include /* for EnableInterrupts m原创 2013-07-16 14:24:12 · 3890 阅读 · 0 评论 -
飞思卡尔单片机DZ60---时钟初始化
/* Derivative peripheral declarations */ #include "derivative.h" /* Definitions and function prototypes */ #include "DZ60_init.h" //FEI切换到PEE模式,外部晶振=4MHZ,总线频率=8MHZ( 中文手册,P144原创 2013-07-23 10:21:16 · 5135 阅读 · 2 评论 -
飞思卡尔单片机DZ60---EEPROM读写
//向EEPROM中写入数据,然后读出数据,赋值给PORTD,点亮相应的LED灯#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#define uint unsigned int#define uchar unsi原创 2013-07-24 16:40:11 · 5664 阅读 · 0 评论 -
时间触发系统调度器思想LED闪烁简例
时间触发系统调度器思想LED闪烁简例什么是调度器?可以从两种角度来看调度器:1、 调度器可以看成是一个简单的操作系统,允许以周期性或(更少见)单次方式来调用任务。2、 从底层角度来看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序。因此,只需要初始化一个定时器,而且改变定时的时候只需要改变一个函数。此外,无论需要运行1个、10个还试100个不同的任务,通常可以使用同一个原创 2013-11-08 15:11:20 · 1907 阅读 · 1 评论 -
飞思卡尔单片机DZ60---SCI(查询接收)
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations *///整个功能:PC-单片机-PC,PC串口发数据-单片机串口接收数据-单片机将接收到的数据发送回给PC#define LED_D1 PTDD_PTDD0#define原创 2013-07-11 14:42:10 · 3666 阅读 · 0 评论 -
献给初学单片机的话
1献给初学单片机的话 学习单片机---- 我们该做什么? 我们为什么要学单片机? 单片机是大专学校电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要。为什么要学习它呢?电类专业有很多专业课,这些专业课非常重要,是各个专业存在的必需课程,学完这些课程可以使学习者成为大学者的继承人,市场对学者继承人的需求太少,大量需要的是产品的研发者转载 2013-07-11 17:28:22 · 1740 阅读 · 0 评论 -
数码管动态显示字符
利用数码管动态显示字符。间隔之间需要有短暂延时。数码管为共阴极,所以位选送0即可选中。段选即可送1选中需要显示的段a/b/c/d/e/f/g/dp。程序如下:#include#define uchar unsigned char#define uint unsigned intuint i;sbit duan=P2^6;sbit wei=P2^7;void delay(uchar xms)原创 2010-02-03 23:36:00 · 2139 阅读 · 0 评论 -
独立按键数码管显示键值
独立按键接P3^4,当键按下时能够检测到P3^4电位为0,松开时为1.此程序需要注意消隐P0=0xff,以及段码后需要加延时子程序让段码保存一段时间,不会在按键过程中出现乱码。程序如下:/********************************************//**********独立按键,按键显示0到F************//**********************原创 2010-02-04 19:16:00 · 5763 阅读 · 0 评论 -
51单片机的定时器/计数器
以前写过单片机的计数器/定时器的相关程序。今天来系统总结下。借助网络和书本又把相关的知识复习了一遍。下面这个链接就计数器/定时器做了详细的介绍。http://hi.baidu.com/at_this_time/blog/item/6fb0fba169bd5e804610640c.html对于系统学习计数器/定时器很有帮助。如果要用单片机对外部信号进行计数或者利用单片机对外部设备进行定时控原创 2010-02-07 21:25:00 · 4238 阅读 · 0 评论 -
定时器数码管显示秒表
/**********************************用定时器0的方式1实现第一个发光二极管以200ms间隔闪烁,用定时器1的方式1实现数码 管的前两位59S循环计时 时间2月11**************************************/#include#define uchar unsigned char//#define uint unsigne原创 2010-02-12 00:15:00 · 9056 阅读 · 1 评论 -
矩阵键盘按键LED显示键值
这两天事情很忙,有时间的时候才来调试一下程序。想调出一个LED显示矩阵键盘按键程序,调试了很久。先调其中的一行按键键值很OK。接着就调试4行按键程序,这其中出现了问题。写的程序语法没有错误,逻辑上有错误很难找。最后参考了别人的程序,调出了满意的结果。写矩阵一行的程序时,主程序: main(){ init(); while(1)原创 2010-02-07 20:44:00 · 4084 阅读 · 1 评论 -
简易电子密码锁设计
简易电子密码锁的设置,用矩阵键盘数字0~9设置六位数的密码,另外设置一个OK键,当六位密码数按键正确后再按下确认键后则数码管出现字符提示,并且亮起发光二极管。利用定时器T0中断函数处理按键程序。利用TR0=0,TR0=1启停定时器。P3^0至P3^3做为矩阵键盘的行,P3^4至P3^7做为矩阵键盘的行。初始密码设为012345。 /****************原创 2010-02-16 17:02:00 · 6939 阅读 · 1 评论 -
飞思卡尔单片机DZ60---SCI(中断发送)
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#define LED_D1 PTDD_PTDD0#define LED_D1_DIR PTDDD_PTDDD0#define LED_ON 0原创 2013-07-11 11:31:40 · 2862 阅读 · 2 评论 -
飞思卡尔单片机DZ60---SCI(查询发送)
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#define LED_D1 PTDD_PTDD0#define LED_D1_DIR PTDDD_PTDDD0#define LED_ON 0原创 2013-07-11 09:55:23 · 1206 阅读 · 0 评论 -
飞思卡尔单片机DZ60---SCI(中断接收)
#include /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#define LED_D1 PTDD_PTDD0#define LED_D1_DIR PTDDD_PTDDD0#define LED_ON 0原创 2013-07-11 15:50:21 · 3496 阅读 · 0 评论
分享