电子工程技师Word格式文档下载.docx
- 文档编号:6648431
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:31
- 大小:16.95KB
电子工程技师Word格式文档下载.docx
《电子工程技师Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子工程技师Word格式文档下载.docx(31页珍藏版)》请在冰点文库上搜索。
uinti,j;
led1=0;
for(i=1000;
i>
0;
i--)
for(j=110;
j>
j--);
led1=1;
让第一个发光二极管以间隔500ms亮灭闪动,(调用子函数)
voiddelay1s();
delay1s();
voiddelay1s()
for(i=500;
}
让第一个发光二极管以间隔200ms亮,以间隔800ms灭,闪动(即参数改变了)
voiddelayms(uint);
delayms(200);
delayms(800);
voiddelayms(uintxms)
for(i=xms;
数码管动态显示,第一个数码管显示1,时间为0.5s,然后关闭他,第二个数码管显示2,时间为0.5s,然后关闭他.。
。
#include<
reg52.h>
#defineucharunsignedchar
sbitdula=P2^6;
sbitwela=P2^7;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
dula=1;
P0=table[1];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(500);
P0=table[2];
P0=0xfd;
P0=table[3];
P0=0xfb;
P0=table[4];
P0=0xf7;
P0=table[5];
P0=0xef;
P0=table[6];
P0=0xdf;
左移程序:
#defineucharunsignedchar
uchara;
a=0xaa;
a=a<
<
1;
右移程序:
(略)
利用自带库函数_crol_(),以间隔500ms,实现流水灯城西(注:
编译后不对)
intrins.h>
ucharaa;
aa=0xfe;
P1=aa;
aa=_crol_(aa,1);
}
让第一个数码管显示数字8
sbitdula=P2^6;
sbitwela=P2^7;
voidmain()
{
wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=0x7;
dula=0;
while
(1);
六个数码管同时点亮,依次显示0到F,时间间隔为0.5s,循环下去
ucharnum;
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
{wela=1;
P0=0xc0;
{for(num=0;
num<
16;
num++)
{dula=1;
P0=table[num];
uinti,j;
for(i=xms;
利用定时器0工作方式1实现第一个发光管以1s亮灭闪烁(方法一)
ucharnunm;
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while
(1);
voidT0_time()interrupt1
num++;
if(num==20)
{num=0;
led1=~led1;
(方法二)在主程序中完成的功能就不在中断函数中写
用定时器0的方式1实现第一个发光管以200MS间隔闪烁,用定时器1的方式1实现数码管前两位59s循环计时。
voiddisplay(uchar,uchar);
ucharnum,num1,num2,shi,ge;
{
TMOD=0x11;
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
ET1=1;
TR1=1;
display(shi,ge);
voiddisplay(ucharshi,ucharge)
P0=table[shi];
delayms(5);
P0=table[ge];
voiddelayms(uintxms)
num1++;
if(num1==4)
num1=0;
voidT1_time()interrupt3
num2++;
if(num2==20)
num2=0;
if(num==60)
num=0;
shi=num/10;
ge=num%10;
sbitkey1=P3^4;
sbitkey2=P3^5;
sbitkey3=P3^6;
sbitkey4=P3^7;
ucharnumt0,num;
voiddisplay(ucharnumdis)
ucharshi,ge;
shi=numdis/10;
ge=numdis%10;
voidinit()
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
voidkeyscan()
if(key1==0)
delayms(10);
num++;
if(num==60)
num=0;
while(!
key1);
if(key2==0)
if(key2==0)
if(num==0)
num=60;
num--;
key2);
if(key3==0)
if(key3==0)
while(!
key3);
if(key4==0)
if(key4==0)
while(!
key4);
TR0=~TR0;
init();
keyscan();
display(num);
numt0++;
if(numt0==20)
numt0=0;
if(num==60)
num=0;
用数码管的前两位显示一个十进制数,变化范围为00~59,开设时显示00,每按下S2键一次,数值加1;
每按下S3键一次,数值减1;
每按下S4键一次,数值归零;
每按下S5键一次,利用定时器功能使数值开始自动每秒加1;
再次按下S5键一次,数值停止自动加1,保持显示的原数。
(编译不对)
以下是对的
sbitkey1=P3^0;
sbitkey2=P3^4;
sbitkey3=P3^5;
sbitkey4=P3^6;
sbitdula=P2^1;
sbitwela=P2^0;
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
P0=0x00;
P0=0x01
for(j=115;
设系统时钟频率为12MHz,用T0编程实现从P1.0输出周期为500us的方波
sbitP1_0=P1^0;
TMOD=0X02;
TH0=0X06;
TL0=0X06;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 工程 技师