
51单片机
浪在冰城
原谅我一生放荡不羁爱自由 个人微信公众号:KeepYourAims
展开
-
51单片机点亮数码管
点亮数码管,例如使第一个数码管显示1。首先,我们需要点亮第一个数码管,则电位为1111,1110,转换为十六进制为0xfe。然后,让第一个数码管显示1,1对应的十六进制为0x06.代码如下:#include sbit dula=P2^6; //段选sbit wela=P2^7; //位选void main(){ wela=1; P0=0xfe;//第一个数码管亮 w原创 2016-09-09 21:06:20 · 4959 阅读 · 0 评论 -
单片机定时功能的实现
单片机定时功能先上代码,然后再解释://定時器功能void timer_0(void){ TMOD=0x01; //採用定時器T0,工作方式為1(16位定时器) IE=0x82; //二進制1000|0010,七位為1表示全局中斷打開,即EA=1,一位為1表示定时器0中斷打開 TH0=0xD8; //定時器高八位賦值65536 TL0=0xEF; /原创 2016-09-23 13:30:17 · 2850 阅读 · 0 评论 -
51单片机操作小灯
51单片机操作小灯1.电亮第一个小灯两种方式:位操作方法:#include sbit p0=P1^0; void main(){ P0=0;}注:sbit为特殊功能位声明。P0=0;给P1^0口提供低电平,使其点亮。总线操作方法;#include void main(){ P1=0xfe;}注:要将第一个灯泡点亮,则P1各原创 2016-09-07 21:09:17 · 3413 阅读 · 0 评论 -
51单片机定时控制灯
让第一个小灯亮0.5秒,再熄灭0.5秒。我们先随便写一个小灯闪烁的程序,以第一个小灯为例:#include sbit L1=P1^0;void main(){ int a; while(1) { a=66666; L1=0; while(a--); a=66666; L1=1; while(a--); }}那么怎么知道这个小灯亮了多长原创 2016-09-08 19:01:26 · 3133 阅读 · 0 评论 -
51单片机蜂鸣器操作
让蜂鸣器响很简单,给蜂鸣器加一个低电平,这样电流通过,蜂鸣器就会响。#include sbit beep=P2^3;void main(){ int a; while(1) { a=66666; beep=0; while(a--); a=66666; beep=1; while(a--); }}代码很简单,应该很容易懂的原创 2016-09-08 19:38:49 · 6856 阅读 · 1 评论 -
正在检测目标单片机...
打算学学单片机知识,大概学到了数码管那段的时候,单片机不知道怎么了,然后就一直检测不到。郁闷了好久,问了些学长,学长说单片机烧了。学长借给我一个单片机,然后就能检测到了,于是我果断认为是单片机烧了。但是不能总是用学长的吧,还是自己买一个吧。于是,我就问问了买开发板的客服,想问问他们卖不卖单片机。客服说:单片机一般是不会烧坏的。单片机坏的情况很少见啊! 于是客服姐姐就让我用杜邦线把P...原创 2016-09-27 21:25:02 · 22254 阅读 · 20 评论 -
51单片机独立键盘
我们以S2键为例子。按一次按钮,数码管数字增加1.首先,定义键盘上S2键和数码管的段选和位选。sbit s2=P3^4;sbit dula=P2^6;sbit wela=P2^7;但是按键的过程中需要防抖动,因此需要一个延时函数。大约10ms。void delay10ms() //延時10ms程序{ unsigned char i,j; for(i=20;i>0;i--原创 2016-09-28 20:47:33 · 1368 阅读 · 0 评论 -
数码管动态显示123456
先上代码:#include #define uchar unsigned char #define uint unsigned intsbit SegSel=P2^6; //段选sbit BitSel=P2^7; //位选unsigned char code table[]={ 0x3f,0x06,0x5b,0x原创 2016-10-02 14:41:28 · 15512 阅读 · 1 评论