第3章程序Word文件下载.docx
- 文档编号:1093374
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:7
- 大小:18.04KB
第3章程序Word文件下载.docx
《第3章程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《第3章程序Word文件下载.docx(7页珍藏版)》请在冰点文库上搜索。
#defineuintunsignedint
//宏定义
#defineucharunsignedchar
sbitP1_0=P1^0;
uchartt;
voidmain()
//主函数
{
TMOD=0x01;
//设置定时器0为工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
//开定时器0中断
TR0=1;
//启动定时器0
while
(1);
//等待中断产生
}
voidtimer0()interrupt1
tt++;
if(tt==20)
tt=0;
P1_0=~P1_0;
程序二
利用定时/计数器T1产生定时时钟,
由P1口控制8个发光二极管,
使8个指示灯依次一个一个闪动,
闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。
uchartt,a;
a=0xfe;
if(tt==2)
P1=a;
a=_crol_(a,1);
程序三
同时用两个定时器控制蜂鸣器发声,
定时器0控制频率,定时器1控制同个频率持续的时间,间隔2s依次输出1,10,50,100,200,400,800,1k(hz)的方波
sbitbeep=P2^3;
uintfre,flag;
fre=50000;
beep=0;
TMOD=0x11;
//设置定时器0,定时器1为工作方式1
TH0=(65536-fre)/256;
TL0=(65536-fre)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
TR1=1;
voidtimer0()interrupt1
//定时器0中断
TR0=0;
//进中断后先把定时器0中断关闭,防止内部程序过多而造成中断丢失
if(flag<
40)
//以下几个if分别用来选取不同的频率
if(tt==10)
beep=~beep;
if(flag>
=40&
&
flag<
80)
=80&
120)
fre=10000;
=120&
160)
fre=5000;
=160&
200)
fre=2500;
=200&
240)
fre=1250;
=240&
280)
fre=625;
=280&
320)
fre=312;
=320&
360)
fre=156;
voidtimer1()interrupt3
//定时器1中断用来产生2秒时间定时
flag++;
if(flag==360)
{
flag=0;
fre=50000;
}
程序四
用定时器以间隔500MS在6位数码管上依次显示
0、1、2、3....C、D、E、F,重复。
sbitdula=P2^6;
//数码管段选锁存端
sbitwela=P2^7;
////数码管位选锁存端
ucharnum,tt;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
voidmain()
num=0;
dula=1;
P0=0x3f;
//给段开始送显示0。
dula=0;
//关闭段选锁存端,防止开始时出现乱码。
wela=1;
//11101010
P0=0xc0;
//打开六个数码管位选
wela=0;
while
(1)
if(tt==10)
//每进入10次中断即为500ms,执行一次显示变化。
num++;
if(num==16)
P0=table[num];
voidexter0()interrupt1
//定时器0中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章程