最新郭天祥51单片机笔记Word格式.docx
- 文档编号:18061584
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:12
- 大小:35.02KB
最新郭天祥51单片机笔记Word格式.docx
《最新郭天祥51单片机笔记Word格式.docx》由会员分享,可在线阅读,更多相关《最新郭天祥51单片机笔记Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
intrins.h>
函数:
unsignedchar_crol_(unsignedcharc,
unsignedcharb);
描述:
The_crol_routinerotatesthebitpatternforthecharactercleftbbits.This
routineisimplementedasanintrinsicfunction.The_crol_routinereturnsthe
rotatedvalueofc.
5)蜂鸣器
名称:
b:
基极;
C:
集电极;
e:
发射集;
原理:
e极发射电子;
当b极接低电平时,ce导通,并且放大电流;
当b接高电平时,ce截止。
JPFMQ接P3.6管脚。
分类:
有源蜂鸣器;
无缘蜂鸣器。
(源:
震荡源)
Proteus:
buzzer-有源;
sounder、speaker-无源。
端口电压:
0.02v。
6)数码管
P0管脚:
没有上拉电阻,所有有三态。
P1、P2、P3管脚:
有上拉电阻,没有三态。
共阴极;
共阳极。
显示方法:
静态,动态。
段选:
P0.0-P0.7。
位选:
P2.0-P2.7。
7)继电器
接口:
P3.7。
D4:
引流二极管,防止断电烧坏电炉原件。
8)独立键盘
K1-K4:
P3.2-P3.5。
K5-K8:
P1.4-P1.7。
独立键盘检测程序:
#include<
reg52.h>
voidmain()
{
while
(1)
{
if(K1==0)
delay(20);
//大约延时10-20ms
//确独立按键K1按下
}
while(!
K1);
//确认为一次动作
}
9)4*4矩阵键盘
行线:
P1.0-P1.3。
竖线:
优点:
占用端口少,硬件电路简单。
缺点:
编程较复杂。
矩阵键盘的检测方法:
扫描法和线反转法。
程序实例:
1)扫描法
#defineucharunsignedchar
#defineuintunsignedint
uchari,j,temp_num,num=16;
ucharcodescan[]={0xfe,0xfd,0xfb,0xf7};
//11111110-11110111
ucharcodecoding[][4]={//扫描码
0xee,0xde,0xbe,0x7e,
0xed,0xdd,0xbd,0x7d,
0xeb,0xdb,0xbb,0x7b,
0xe7,0xd7,0xb7,0x77};
ucharcodenum_code[]={
0xc0,0xf9,0xa4,0xb0,//数码管0-16编码
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0xfe};
voiddelay(uintk)//延迟函数
{
uintdatai,j;
for(i=0;
i<
k;
i++)
{for(j=0;
j<
180;
j++)
{;
}}
P1=0xff;
P1=0xf0;
if(0xf0!
=P1)//第一次检测
//delay(20);
//消抖
//P1=0xf0;
//第二次检测
//if(0xf0!
=P1)//实践证明不必消抖也是可以的
//{
temp_num=num;
for(i=0;
4;
i++)
P1=scan[i];
for(j=0;
j++)
if(coding[i][j]==P1)
num=4*i+j;
break;
if(num!
=temp_num)
//}
while(0xf0!
=P1);
//防止多次检测
P0=num_code[num];
P2=0x7F;
2)线反转法
sbitP37=P3^7;
//继电器接口
ucharcodecoding[]={
0xed,0xdd,0xbd,0x7d,
0xe7,0xd7,0xb7,0x77};
ucharcodenum_code[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0xfe};
ucharKey=16;
//表示按键编号
voiddelay(uintm)
uintk;
while(--m)
for(k=0;
k<
k++);
uchardetection()//检测按键
ucharscan1,scan2,key_code,i;
scan1=P1;
=scan1)
//delay(30);
//scan1=P1;
P1=0x0f;
scan2=P1;
key_code=scan1|scan2;
//组合编码
16;
if(key_code==coding[i])
Key=i;
P37=!
P37;
returni;
//}
//P1=0xf0;
去掉上面的return就可以,两种区别是:
//while(0xf0!
1)按下就显示;
//2)按下放开之后才显示.
}
else
return16;
voiddispalyI(uchari)//数码管显示函数
P2=0x7f;
P0=num_code[i];
detection();
dispalyI(Key);
}
10)中断、计时、计数
1.中断源:
1)两个外部中断源:
INT0(P3.2),INT1(P3.3)。
(INT:
interrupt)
2)三个片内定时器:
T0(外部计数P3.4),T1(外部计数P3.5),T2。
(Timer)
3)一个串口中断请:
TI/RI。
2.定时器控制寄存器TCON
TF0/TF1(TimerFlag):
定时器0/定时器1溢出中断申请标志位,=0未溢出,=1溢出申请中断,进入中断后自动清零。
TR0/TR1(TimerRunning):
定时器运行启动控制位,=0定时器停止运行,=1定时器启动运行。
IT0/IT1(InterruptTrigger触发):
外部中断请求触发方式选择位,=0外部中断低电平触发,=1外部中断负跳变触发。
IE0/IE1:
外部中断申请标志位,=0没有外部中断,=1有外部中断。
3.定时器允许寄存器IE(InterruptEnabled)
EX0/EX1(EnabledeXternal):
分别是外部中断INT0/INT1中断允许控制位,=0禁止中断,=1允许中断。
ET0/ET1(EnabledTimer):
分别是片内计时器T0/T1中断允许控制位,=0,禁止中断,=1允许中断。
ET2:
T2中断允许控制位。
EA:
总中断控制位,=0禁止全部中断,=1允许中断。
4.中断优先级控制寄存器IP(InterruptPriority)
PX0/PX1(PriorityeXternal):
INT0/INT1优先级控制位,=0低优先级,=1高优先级。
PT0/PT1/PT2(PriorityTimer):
T0/T1/T2中断优先级控制。
PS1(Priorityserialport):
串口中断优先级控制位。
5.定时器方式寄存器TMOD
常用工作方式:
(M1,M0)=(0,1):
16位定时器。
(M1,M0)=(1,0):
8位自动重装定时器。
C/T:
计数器/定时器选择位,=0定时,片内计数;
=1片外计数(T0,T1)。
GATE门控制位:
=0由TRx启动计数器/定时器(TRx=1启动);
=1由TRx和INTx共同启动(TRx=1,INTx=1启动)计数器/定时器。
6.interruptm修饰符
m:
0—外部中断INT0
1—定时/计数中断T0
2—外部中断INT1
3—定时/计数中断T1
4—串口中断
5—定时/计数中断T2
外部中断过程:
1)开启中断总开关
EA=1;
//EnabledAll
2)开启外部中断INT0开关
EX0=1;
3)选择外部中断的中断触发方式
IT0=1;
//0低电平触发,1负跳变触发
4)设定优先级
PX0=1;
//0低优先级,1高优先级
5)声明外部中断函数
voidEexternInterrupt()interrupt0//0外部中断0
{…}
定时器/计数器发生过程:
1.定时器/计数器选择:
定时器和计数器都是片内16位计数内存工作,当作为计数器时,片内16位计数内存是对外部T0/T1引脚的矩形波进行计数;
当做为定时器时,片内16位计数内存是对晶振产生的方波进行12分频后所得的方波进行计数;
定时和计数是由定时器方式寄存器TMOD的C/T位进行选择的。
2.定时/计数溢出事件方法
当片内16位计数内存溢出时则触发溢出事件,溢出事件的发生可以有定时/计数中断产生,也可由软件检测溢出标志位TFx位的值产生。
定时/计数中断程序过程:
1)打开总中断开关
2)打开计时器中断开关
ET0=1;
3)选择启动方式、计数/定时、计数方式
TMOD=0x01;
//TR0启动,定时(片内计数),16计数方式
4)计数内存高低位置初值
TH0=0x01;
TL0=0x01;
5)启动计数/定时器
TR0=1;
6)声明中断函数
voidTimerInterrupt()interrupt1
//重装计数内存
…
定时/计数软件检测程序过程:
1)选择启动方式、计数/定时、计数方式
2)计数内存高低位置初值
3)启动计数/定时器
4)软件检测TFx标志位
While
(1)
if(TF0==1)
TF0=0;
//必须手动清零
加拿大beadworks公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果。
根据调查资料分析:
大学生的消费购买能力还是有限的,为此DIY手工艺品的消费不能高,这才有广阔的市场。
标题:
上海发出通知为大学生就业—鼓励自主创业,灵活就业2004年3月17日}
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□
上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。
我们认为:
创业是一个整合的过程,它需要合作、互助。
大学生创业“独木难支”。
在知识经济时代,事业的成功来自于合作,团队精神。
创业更能培养了我们的团队精神。
我们一个集体的智慧、力量一定能够展示我们当代大学生的耐心.勇气和坚强的毅力。
能够努力克服自身的弱点,取得创业的成功。
大学生究竟难在哪?
—创业要迈五道坎2004年3月23日
我们女生之所以会钟爱饰品,也许是因为它的新颖,可爱,实惠,时尚,简单等。
的确,手工艺品价格适中。
也许还有更多理由和意义。
那么大学生最喜欢哪种手工艺品呢?
此次调查统计如下图(1-3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 郭天祥 51 单片机 笔记