摘要: 这两天在学着写多文件程序,开始的时候真的不会写,后来参照百度上得到,书写基本的还是会的,但是一到自己改的程序就不会了,后来找呀找呀,终于找到解决的方法,我觉得告我们这一行的千万千万不要着急,否则会丧失信心:这里我总结一些我写多文件的经验:第一,如何定义多文件的头文件:比如定义一个delay.h参照格式:#ifndef __DELAY_H__ #define_DELAY_H__ ................................. #endif这种方法可能大家都知道,但是这是书写多文件程序的基本操作,还有几个点大家要值得注意,1:就是全局变量extern的含义对于大一点的程... 阅读全文
posted @ 2013-10-12 10:55 跨七海的风 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 蜂鸣器的使用:蜂鸣器粗略设定频率,以20ms即50hz发声#include#define uint unsigned int#define uchar unsigned charsbit fen = P2^6;void delay(uint z);main(){ while(1) { delay(1);//延时10毫秒注意这里输出的是20毫秒的方波 //因为方波要有正负的跳变才能算一个周期,这里? //每隔10毫秒跳变一次,因此周期是200ms,频率是50Hz fen = ~fen; ... 阅读全文
posted @ 2013-10-11 09:02 跨七海的风 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 在单片机构成的系统中,由于单片机的工作有可能受到来自外来电磁场的干扰而出现程序跑飞的现象,从而陷入死循环,出于对单片机运行状态进行实时性的监控的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watch dog)看门狗的工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使他定时的往看门狗芯片的这个引脚送入高电平(或者是低电平)这一个程序语句是分散在单片机的其他控制语句中的,一旦单片机由于干扰造成程序跑飞而陷入死循环时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便对他送入一个复位信号,使单片机 阅读全文
posted @ 2013-10-10 19:34 跨七海的风 阅读(2099) 评论(0) 推荐(0) 编辑
摘要: 单片机的空闲和掉电模式的应用注意:电源管理寄存器PCON,它的最低两位IDL和PD分别用来设定是否单片机进入空闲模式和掉电模式因此,单片机进入掉电模式只需要PCON= 0x01;进入空闲模式只需要PCON = 0x02;空闲模式:单片机进入空闲模式的时候,除了cpu处于休眠状态外,其余的硬件全部处于活动状态,芯片中未涉及的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值单片机在空闲模式下可由任何一个中断或者是硬件复位唤醒,值得注意的是,使用中断唤醒单片机,程序将从原来的停止的地方继续运行,当使用硬件复位时,程序将从头开始执行掉电模式:当单片机进入掉电模式(也叫休眠模式)外部晶振停止 阅读全文
posted @ 2013-10-09 15:32 跨七海的风 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 双色点阵模块双色点阵是单片机另外一个显示设备,点阵在日常生活中随处可见,商家的大型的广告牌,等等都是用点阵做的;点阵也需要动态扫描,用动态扫描的方式来驱动点阵使用74hc595芯片,市场上大部分用该芯片来实现点阵的调频;输入信号是串行的,输出信号是串行和并行输出并存的,可以理解为是串行信号转换成并行信号的芯片串行输出的目的是用于级连,要显示32位数据,需要4个595芯片,正常使用只需要使用三根线,就可控制硬件端口的定义,因为有两组,所以要定义六个sbit,串行输入必须有一个时钟信号,时钟信号0到1之间数据是有效的,这是芯片的规定,我们必须遵守for(i=0;i //包含头文件,一般情况不... 阅读全文
posted @ 2013-10-09 10:05 跨七海的风 阅读(1530) 评论(0) 推荐(0) 编辑
摘要: 继电器:继电器的示意图:由继电器的示意图可知:继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,他实际上是一种用比较小的电流控制较大电流的一种自动开关,故在电路中起着自动调节,安全保护,转换电路的功能使用,用开发板上的红外拟控制步进电机(按下1,led0亮,步进电机转动,按下2,led0灭,步进电机停止转动)示例代码://本程序可以按键控制led灯的亮灭//按下1,可以控制开灯//按下0,可以熄灯#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit IR=P3^2; //红外接口标志unsigned char ir... 阅读全文
posted @ 2013-10-08 16:42 跨七海的风 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 今天是正式回位的第一天,国庆假期过去了,虽然搞技术的人很少有时间抽出来去旅行,但是这次旅行之后,我发现自己真的应该趁着年轻多去走走,毕竟大千世界,是要去好好体会体会的,天天对着电脑,人的情感会变得很平面,这次玩得很开心,希望这种机会多一些。好的,感慨就发到这里了,整理心情,好好静下心来,加油搞技术了~~ 阅读全文
posted @ 2013-10-08 11:24 跨七海的风 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 直流电机:其实直流电机也就是小的时候玩的四驱车的马达,但是在单片机驱动是,需要家驱动电路,我至今还没驱动起直流电机,就是因为目前不知道怎么来连接驱动电路;控制直流电机的转速的是用PWM波形来控制,就是控制高电平持续时间在一个周期中所占的比例,这个有个专用的名词叫占空比来着用单片机得到PWM波形有三种方式方式1:利用软件延时,当高电平延时时间到时的时候,对I/O口电平取反,然后咋延时,当低电平延时时间到后,在对I/O口进行取反,如此循环就得到PWM波形方式2:利用的是定时器延时,控制方法同上方式3:利用单片机自带的PWM控制器示例代码:得到PWM波形//利用软件延时:并且用键盘扫描得到不同的PW 阅读全文
posted @ 2013-10-03 21:45 跨七海的风 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 液晶显示的时钟(初级版,不包括年月日)#include#include#define uchar unsigned char#define uint unsigned intsbit lcden = P2^6;//这几个端口要和硬件电路先联系 sbit lcdrw = P2^5;sbit lcdrs = P2^4;sbit dula = P3^1;sbit wela = P3^2;sbit key1 = P3^5;sbit key2 = P3^6;sbit key3 = P3^7;uchar code table[]=" 2013-10-01";uchar code tab 阅读全文
posted @ 2013-10-02 15:14 跨七海的风 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 定时器0的应用提高方式0的使用:示例代码:使用方式0使得led灯一秒钟闪烁//这个程序比较简单,需要明白的是定时器0方式0是一个1//13位的计数器,所以最大的数为2的13次方,8192,并且TL0中的高三位没有用//因此除以的也不是256,而是32,定时器0方式00需要注意的是,最大数字因为是8192//因此定时5000为定时5ms,定时一秒要进入中断200次#include#define uint unsigned int#define uchar unsigned charuchar num;sbit led = P1^0;void main(){ TMOD = 0x0; T... 阅读全文
posted @ 2013-10-01 15:54 跨七海的风 阅读(561) 评论(0) 推荐(0) 编辑