10 2013 档案
摘要:今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法第一步,复制代码:#define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define del...
阅读全文
摘要:MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC,……,分别对应P1,P2P3……值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入输出寄存器,MSP430F5438海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标
阅读全文
摘要:今天只是想点亮一个led灯,因为没有视频,搞得很多的东西都是自己摸,下午本来讲和咨询店家,TMD说好给一点技术支持,结果一点也不给,我真想草泥马了,其实代码早就写出来了,只是哥哥不知道这款开发板还有接一下外部的电源,这个是我始料未及的,导致最后回到最初的起点,一点一点的看电路图,这里我把今天的程序小结一下!!!点亮一个led灯首先看电路图:这个电路图是关键,理解,首先必须要打开VCC,这个是我今天犯错的最主要的原因,因为我开始以为开发板上的电源是自动接上的,导致程序调试了一上午,没有成功之后看VCC,也就是标号1,搜索一下VCC的引脚也就是要控制P5.4口输出一个高电平代码:put_P5DIR
阅读全文
摘要:吐槽一下最近在搞什么~~~,星期三在等板子来,自己的板子,激动呀!!F5系列的板子,激动呀!结果板子到星期五才拿到!开始的时候,感觉自己没多大问题,结果一上手就问题百出,因为没仔细看用户手册,导致光盘上的资料,尤其是代码不会用,接着跟着老师的代码在写,结果发现自己还是水平不行,所以到处碰壁,到处不会用这块板子~~~,其实就是写一个蜂鸣器的程序,开始有现象,但是之后还是不会运行程序今天终于下定决定,看看这款板子到底是程序问题,还是由于操作不当造成板子芯片烧坏,我又在电脑旁弄了两个小时,之后又看板子弄了几个小时,还是不行,还是不行,结果,就像西游记上的一样,山重水复疑无路,柳暗花明又一村!!草泥马
阅读全文
摘要:也许吧,总感觉最近不合理,想来什么都感觉不太合理,既然不想搞飞思卡尔,那就去工科楼搞物联网吧,专心学自己的东西,做真正的自己,go!go!go!!!!
阅读全文
摘要:当翘课已经成为一种习惯的时候,我知道大学这一年可能我变了,每次当自己想驻足停留下来看看自己脚下的路,但潜意识却告诉我,这条路已经无法回头了,高考决定的不仅仅是社会上资源的分配,可能高考也决定的是一个人的性格,如果说高考之前的我,会对成绩看的很重的话,我觉得我现在已经忘记那个是当初的我了,我也不知道自己这样做,到底对不对得住自己曾经洒下的汗水在实验室的生活,习惯了熬夜,也习惯了单独一个人,每天有的是单调单调的生活,我在质疑,自己这样做,到底是为什么,为什么到了大学,人真的会变得很现实,我不敢奢望自己还有曾经的理想,好像曾经的理想都像是放了一个没得回音的屁,林林总总,目前最大的追求好像就是大学毕业
阅读全文
摘要:大概印象:430的flash好像有点像arm的flash,只不过是arm的flash要比430的大很多,而且430的flash不同于E2PROOM,这一点需要值得注意MSP430flash的基本特点:1,拥有内置的编程电压发生器2:可以进行位,字节,还有字的寻址3:可以进行段擦除,和整体的擦除注意:对flash进行操作的时候,flash的操作编程电压必须要大于2.7V,如果小于2.7v的话,将会出现不可预知的错误还是先来看看430的整体的基本框图:这张框图集合了430flash的所有的操作标号1,定时器发生器:注意这里的定时器的编程频率必须处于257KHz到476KHz之间,标号2:编程电压发
阅读全文
摘要:总的来说,430单片机一共有三个定时器,定时器A,定时器B,还有就是看门狗定时器,这里我们主要是讨论430单片机的定时器A的功能,定时器A的功能是我目前见过最厉害的定时器,视频上说用好定时器A的话,对于今后真正的掌握430具有很重要的意义同样是先介绍一下定时器A的特点:(英语六级科学类文章的常用写法,总分总)1:可作为异步的16位定时器,16位的计数器,其中计数器有四种工作方式2:可以调节的外部时钟源3:3个捕获比较源4:拥有可以输出PWM功能5:异步的输入与输出锁存6:拥有多个中断源其实,看datasheet现在真的掌握方法了,看完简介关键就是看懂下面这张图,在编程的时候熟悉相关寄存器的操作
阅读全文
摘要:其实430的看门狗,与51的大同小异,都是为了防止程序跑飞而出现不可预知的错误而专门设定的,所以说,看门狗的应用,是项目马上要进行实际应用中必须要进行的一环,也是电子工程师必须掌握的一环,下面介绍一下430的看门狗的用法1:430单片机的看门狗与51系列的看门狗最大的区别是430的看门狗是上电默认打开的,所以在初学者期间,书写程序必不可少的一件事就是把单片机的看门狗关闭,以便在调试阶段由于看门狗的溢出,造成不必要的麻烦2:430看门狗的特点:1:四种软件可以选择的定时时间2:看门狗模式选择和内置的定时器选择端3:看门狗的寄存器操作受密码保护4:非可屏蔽中断的标志其实讲这么多,也没什么意思,还是
阅读全文
摘要:今天把同学的datasheet复印版本拿过来跟着视频学的,突然间发现复印版本的datasheet好比电子档的要好很多,给我个人的感觉吧,要掌握一门芯片,真的要去仔仔细细的看一下datasheet,静下心来看,发现他和六级中科学类阅读是一样的,我在感到庆幸的同时,还在感谢我高中的班主任,感谢他在高中的时候,英语学习对我的帮助,好了吐槽到这,进入今天的正题~~~异步通信的特点:1:可以是7位和8为数据字节,能够进行奇偶校验2:独立的收发移位寄存器3:发送数据的有独立的接收和发送寄存器,注意是低位在前面4:内置空闲线路和地址通信协议5:拥有起始位探测,可以从低功耗模式中唤醒6: 可编程的波特率发生.
阅读全文
摘要:感言:看了这一集MSP430的讲解之后,我才知道msp430真的和arm7没什么区别了,可能在某些功能上要比arm7要优秀1:430的系统复位和初始化初始化430的系统复位有两个来源1:POR上电复位,他有3个来源可以是给器件上电,发现电压不稳定,给复位电路一个复位信号都可以导致产生一个复位信号2:PUC上电清除,他也有4个来源,可以是产生了一个POR的中断,可以是看门狗定时器的溢出,也可以是看门狗的密匙出现错误,还可以是flash读写错误在430单片机上电来一个复位信号,初始化内部寄存器,保证cpu的正常工作,同时pc指向oxffe,sp的话指向堆栈顶部,430有一个很独特的地方,就是看门狗
阅读全文
摘要:总结一下MSP430给我的印象吧,感觉他就是一个迷你型的arm1:MSP430采用的是精简指令,他只有27条核心的汇编指令,这一点和arm相同,arm同样是采用精简指令,而80c51采用的是冗余指令,执行起来要复杂很多寄存器编2:MSP430他有16个寄存器,这好像和arm也一样,但是略有不同的是,他的 r0 到 r3 是特殊功能寄存器,其中ro是程序指针(PC); r1是堆栈指针(SP),r2是状态指针(SR),R3是常数发生器3:堆栈指针(SP)会在中断处理中用到,还有MSP430的堆栈是向下伸展的,开始的时候SP是指向高地址,在执行过程中,MSP430的SP的值是不断减小的4:R2是他的
阅读全文
摘要:最近有点小烦躁,不知道怎么回事,总感觉时间不够用,不够用,现在想参加毕昇杯,但是目前自己还是刚刚学完51单片机,各个模块感觉还是用的很顺手,目前有两条路,一个是学习430单片机,但是430有不同的系列,1449的比较经典,f5xxx系列的做出来的东西有比较炫,很适合我要参加毕昇杯的目的,哎,讲来讲去还是money的问题,如果有money的话,我两个板子全部买了,哎,坑死哥哥了,烦躁,烦躁烦躁~~为什么一块液晶也那么贵,这不是抢钱吗?草草草草
阅读全文
摘要:这个程序真的花了我好长的时间调试,终于写好了,大家可以看看我的密码锁,有点花哨呕!!下面是密码锁简约版本:main.c#include#include"12864.h"#include"keyscan.h"#include"baojin.h"uchar mima[5]={1,2,3,4,5};main(){ uchar length,i,flag,inputtimes,flagkaimeng;//tempÊÇÃÜÂëµÄÁÙÊ
阅读全文
摘要:12864液晶的驱动和1602的类似,只不过是多了几个扩展的功能,不如画图功能:这里讲一下:不要简单的认为12864是y轴64,x为128,那是点阵的分布,不是读写的分布,如正图表示,y轴的32行,从0到31,x轴的16 从0到15,0到7为上半个屏幕,8到15在下半个屏幕,所以绘图的时候,有两个部分要进行书写在12864上载入任意一幅图:示例代码:#include#define uint unsigned int#define uchar unsigned charsbit lcdrs = P2^4;//数据还是指令的选择端口sbit lcdwr = P2^5;//读写操作端口sbit lc
阅读全文
摘要:这两天在学着写多文件程序,开始的时候真的不会写,后来参照百度上得到,书写基本的还是会的,但是一到自己改的程序就不会了,后来找呀找呀,终于找到解决的方法,我觉得告我们这一行的千万千万不要着急,否则会丧失信心:这里我总结一些我写多文件的经验:第一,如何定义多文件的头文件:比如定义一个delay.h参照格式:#ifndef __DELAY_H__ #define_DELAY_H__ ................................. #endif这种方法可能大家都知道,但是这是书写多文件程序的基本操作,还有几个点大家要值得注意,1:就是全局变量extern的含义对于大一点的程...
阅读全文
摘要:蜂鸣器的使用:蜂鸣器粗略设定频率,以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; ...
阅读全文
摘要:在单片机构成的系统中,由于单片机的工作有可能受到来自外来电磁场的干扰而出现程序跑飞的现象,从而陷入死循环,出于对单片机运行状态进行实时性的监控的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watch dog)看门狗的工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使他定时的往看门狗芯片的这个引脚送入高电平(或者是低电平)这一个程序语句是分散在单片机的其他控制语句中的,一旦单片机由于干扰造成程序跑飞而陷入死循环时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便对他送入一个复位信号,使单片机
阅读全文
摘要:单片机的空闲和掉电模式的应用注意:电源管理寄存器PCON,它的最低两位IDL和PD分别用来设定是否单片机进入空闲模式和掉电模式因此,单片机进入掉电模式只需要PCON= 0x01;进入空闲模式只需要PCON = 0x02;空闲模式:单片机进入空闲模式的时候,除了cpu处于休眠状态外,其余的硬件全部处于活动状态,芯片中未涉及的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值单片机在空闲模式下可由任何一个中断或者是硬件复位唤醒,值得注意的是,使用中断唤醒单片机,程序将从原来的停止的地方继续运行,当使用硬件复位时,程序将从头开始执行掉电模式:当单片机进入掉电模式(也叫休眠模式)外部晶振停止
阅读全文
摘要:双色点阵模块双色点阵是单片机另外一个显示设备,点阵在日常生活中随处可见,商家的大型的广告牌,等等都是用点阵做的;点阵也需要动态扫描,用动态扫描的方式来驱动点阵使用74hc595芯片,市场上大部分用该芯片来实现点阵的调频;输入信号是串行的,输出信号是串行和并行输出并存的,可以理解为是串行信号转换成并行信号的芯片串行输出的目的是用于级连,要显示32位数据,需要4个595芯片,正常使用只需要使用三根线,就可控制硬件端口的定义,因为有两组,所以要定义六个sbit,串行输入必须有一个时钟信号,时钟信号0到1之间数据是有效的,这是芯片的规定,我们必须遵守for(i=0;i //包含头文件,一般情况不...
阅读全文
摘要:继电器:继电器的示意图:由继电器的示意图可知:继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,他实际上是一种用比较小的电流控制较大电流的一种自动开关,故在电路中起着自动调节,安全保护,转换电路的功能使用,用开发板上的红外拟控制步进电机(按下1,led0亮,步进电机转动,按下2,led0灭,步进电机停止转动)示例代码://本程序可以按键控制led灯的亮灭//按下1,可以控制开灯//按下0,可以熄灯#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit IR=P3^2; //红外接口标志unsigned char ir...
阅读全文
摘要:今天是正式回位的第一天,国庆假期过去了,虽然搞技术的人很少有时间抽出来去旅行,但是这次旅行之后,我发现自己真的应该趁着年轻多去走走,毕竟大千世界,是要去好好体会体会的,天天对着电脑,人的情感会变得很平面,这次玩得很开心,希望这种机会多一些。好的,感慨就发到这里了,整理心情,好好静下心来,加油搞技术了~~
阅读全文
摘要:直流电机:其实直流电机也就是小的时候玩的四驱车的马达,但是在单片机驱动是,需要家驱动电路,我至今还没驱动起直流电机,就是因为目前不知道怎么来连接驱动电路;控制直流电机的转速的是用PWM波形来控制,就是控制高电平持续时间在一个周期中所占的比例,这个有个专用的名词叫占空比来着用单片机得到PWM波形有三种方式方式1:利用软件延时,当高电平延时时间到时的时候,对I/O口电平取反,然后咋延时,当低电平延时时间到后,在对I/O口进行取反,如此循环就得到PWM波形方式2:利用的是定时器延时,控制方法同上方式3:利用单片机自带的PWM控制器示例代码:得到PWM波形//利用软件延时:并且用键盘扫描得到不同的PW
阅读全文
摘要:液晶显示的时钟(初级版,不包括年月日)#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
阅读全文
摘要:定时器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...
阅读全文

浙公网安备 33010602011771号