




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*实验题目要求:P23- P26口做输出口,接发光二极管,编写并调试程序,使其闪烁。时间:2012年12月21日程序撰写者:邹康*/#include<reg52.h>void delay(unsigned int t) /软延时大致时间为1msunsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void main()while(1)P2=P2;delay(1000); /延时1s /* 实验题目要求:P23- P26口做输出口,接发光二极管,编写并调试跑马灯程序。时间:2012年12月21日程序撰写者:邹康 */#inc
2、lude<reg52.h>void delay(unsigned int t)/延时1ms左右unsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void main()unsigned char i=0,m=0;while(1)for(i=0;i<4;i+)/向左移动P2=(0x08<<i);delay(1000);m=P2;for(i=0;i<4;i+)/向右移动P2=(m>>i);delay(1000); /*实验题目要求:设计一个二进制减1计数器,按一次键,减1,并用4个LED显示
3、计数结果,减至0时,重新从15开始计数。时间:2012年12月21日程序撰写者:邹康*/#include<reg52.h>sbit key1=P20;sbit LED0=P26;/单片机板子最右边的led灯sbit LED1=P25;/右边数第二个灯sbit LED2=P24;/右边数第三个灯sbit LED3=P23;/右边数第四个灯char number=15;unsigned char num4;void key()/通过按键对NUMBER的数值进行减计数static unsigned char m=0;if(key1=0)m+;if(m>=30)number-;if(
4、number<0)number=15;m=0;void number_change()/将十进制转换为二进制 unsigned int n=0;unsigned char j=0;n=number;for(j=0;j<4;j+)numj=n%2;n=n/2;void show()/通过LED将二进制显示出来LED0=!num0;LED1=!num1;LED2=!num2;LED3=!num3;void main()while(1)key();number_change();show();/*实验题目要求:用1个按键控制LED的显示,要求显示3种以上的不同模式。时间:2012年12月
5、22日程序撰写者:邹康*/#include<reg52.h>sbit led0=P23;sbit led1=P24;sbit led2=P25;sbit led3=P26;sbit mode_key=P20;char mode=0;void delay(unsigned int t)/延时时间大约1msunsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void key()/通过按键进行模式选择static unsigned char m;if(mode_key=0)m+;if(m>=30)mode+;if(mode
6、>=3)mode=0;m=0;void mode_1() /模式一 根据开发板,LED循环右移,时间间隔1s左右unsigned char i=0,c=0;for(i=0;i<4;i+)P2|=0xf8;c=(0x08<<i);P2&=c;delay(1000);void mode_2()/模式二根据开发板,LED一闪一灭,时间间隔1s左右led0=0;led1=0;led2=0;led3=0;delay(1000);led0=1;led1=1;led2=1;led3=1;delay(1000);void mode_3()/模式三 , 先循环右移,再循环左移,时
7、间间隔1s左右unsigned char i=0,n=0,c=0;for(i=0;i<4;i+)P2|=0xf8;P2&=(0x08<<i);delay(1000);for(i=0;i<4;i+)P2|=0xf8;P2&=(0x40>>i);delay(1000);void main()while(1)key();switch(mode)case 0 : mode_1();break;case 1 : mode_2();break;case 2 : mode_3();break;/*实验题目要求:用1个按键控制LED的显示,要求显示3种以上的
8、不同模式。时间:2012年12月22日程序撰写者:邹康*/#include<reg52.h>sbit led0=P23;sbit led1=P24;sbit led2=P25;sbit led3=P26;sbit mode_key=P20;char mode=0;void delay(unsigned int t)/延时时间大约1msunsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void key()/通过按键进行模式选择static unsigned char m;if(mode_key=0)m+;if(m>=
9、30)mode+;if(mode>=3)mode=0;m=0;void mode_1() /模式一 根据开发板,LED循环右移,时间间隔1s左右unsigned char i=0,c=0;for(i=0;i<4;i+)P2|=0xf8;c=(0x08<<i);P2&=c;delay(1000);void mode_2()/模式二根据开发板,LED一闪一灭,时间间隔1s左右led0=0;led1=0;led2=0;led3=0;delay(1000);led0=1;led1=1;led2=1;led3=1;delay(1000);void mode_3()/模式三
10、 , 先循环右移,再循环左移,时间间隔1s左右unsigned char i=0,n=0,c=0;for(i=0;i<4;i+)P2|=0xf8;P2&=(0x08<<i);delay(1000);for(i=0;i<4;i+)P2|=0xf8;P2&=(0x40>>i);delay(1000);void main()while(1)key();switch(mode)case 0 : mode_1();break;case 1 : mode_2();break;case 2 : mode_3();break;/*实验题目要求:采用外部中断的
11、方式实现用1个按键控制LED的显示,要求显示3种以上的不同模式。时间:2012年12月22日程序撰写者:邹康*/#include<reg52.h>sbitled0=P23;sbit led1=P24;sbit led2=P25;sbit led3=P26;unsigned char mode=0;void delay(unsigned int t)/延时时间大约1msunsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void mode_1() /模式一 根据开发板,LED循环右移,时间间隔1s左右unsigned cha
12、r i=0,c=0;for(i=0;i<4;i+)P2|=0xf8;c=(0x08<<i);P2&=c;delay(1000);void mode_2()/模式二根据开发板,LED一闪一灭,时间间隔1s左右led0=0;led1=0;led2=0;led3=0;delay(1000);led0=1;led1=1;led2=1;led3=1;delay(1000);void mode_3()/模式三 , 先循环右移,再循环左移,时间间隔1s左右unsigned char i=0,n=0,c=0;for(i=0;i<4;i+)P2|=0xf8;P2&=(0x
13、08<<i);delay(1000);for(i=0;i<4;i+)P2|=0xf8;P2&=(0x40>>i);delay(1000);void init()EA=1;IT0=1;EX0=1;void main()init();while(1)switch(mode)case 0:mode_1();break;case 1:mode_2();break;case 2:mode_3();break;void come0() interrupt 0mode+;if(mode>2)mode=0;/*实验题目要求:采用外部中断的方式实现一个二进制减1计数器
14、,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。时间:2012年12月22日程序撰写者:邹康*/#include<reg52.h>sbit led0=P26;sbit led1=P25;sbit led2=P24;sbit led3=P23;unsigned char num4;char number=15;void init()EA=1;IT0=1;EX0=1;void num_change()char i=0,n=0;n=number;for(i=0;i<4;i+)numi=n%2;n=n/2;led0=!num0;led1=!num1;led
15、2=!num2;led3=!num3;void main()init();while(1)num_change();void come0() interrupt 0number-;if(number<0)number=15;/*实验题目要求:采用外部中断的方式实现用1个按键控制LED的显示,要求显示3种以上的不同模式。时间:2012年12月22日程序撰写者:邹康*/#include<reg52.h>sbitled0=P23;sbit led1=P24;sbit led2=P25;sbit led3=P26;unsigned char mode=0;void delay(uns
16、igned int t)/延时时间大约1msunsigned int a,b;for(a=0;a<t;a+)for(b=0;b<120;b+);void mode_1() /模式一 根据开发板,LED循环右移,时间间隔1s左右unsigned char i=0,c=0;for(i=0;i<4;i+)P2|=0xf8;c=(0x08<<i);P2&=c;delay(1000);void mode_2()/模式二根据开发板,LED一闪一灭,时间间隔1s左右led0=0;led1=0;led2=0;led3=0;delay(1000);led0=1;led1=1
17、;led2=1;led3=1;delay(1000);void mode_3()/模式三 , 先循环右移,再循环左移,时间间隔1s左右unsigned char i=0,n=0,c=0;for(i=0;i<4;i+)P2|=0xf8;P2&=(0x08<<i);delay(1000);for(i=0;i<4;i+)P2|=0xf8;P2&=(0x40>>i);delay(1000);void init()EA=1;IT0=1;EX0=1;void main()init();while(1)switch(mode)case 0:mode_1()
18、;break;case 1:mode_2();break;case 2:mode_3();break;void come0() interrupt 0mode+;if(mode>2)mode=0;/*实验题目要求:设计1个秒计数器,每秒计1次数,在LED上显示出来,计至16清零后重新计数时间:2012年12月22日程序撰写者:邹康*/#include<reg52.h>unsigned int k=0;char number=0;unsigned char num4;sbit led0=P23;sbit led1=P24;sbit led2=P25;sbit led3=P26;
19、void init()EA=1;ET0=1;TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;void num_change()unsigned char i=0,n=0;n=number;for(i=0;i<4;i+)numi=n%2;n=n/2;led0=!num0;led1=!num1;led2=!num2;led3=!num3;void main()init();while(1)num_change();void time0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;k+;if(k>=20)k=0;number+;if(number>15)number=0;/*实验题目要求:在上题基础上用按键控制秒计数器的启停,按一次键开始计数,按2次停
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度儿童游乐场设施安装与儿童成长环境优化合同
- 关于教师节促销活动策划方案
- 混凝土浇筑方案
- 外出考察活动方案
- 宠物店顾客需求管理方案
- 银行国债知识培训课件
- 银杏儿童画课件
- 中国酒类奢侈品行业市场发展监测及投资战略规划报告
- 2025年中国鞋托架行业市场发展前景及发展趋势与投资战略研究报告
- 中国鲳鱼养殖市场竞争策略及行业投资潜力预测报告
- 新《医用X射线诊断与介入放射学》考试复习题库(含答案)
- 云仓课件教学课件
- Python快速编程入门(第3版) 课件 第8章 面向对象
- ISO9001-2015质量管理体系内审培训课件
- 统编版语文二年级下册-25黄帝的传说-教学课件多篇
- 盾构始发正式安全交底
- DL∕T 1901-2018 水电站大坝运行安全应急预案编制导则
- 起重机行业市场分析报告2024年
- 北京联合大学微观经济学期末试卷
- 培训师破冰小游戏含内容
- 智研咨询发布:锦纶纤维行业市场动态分析、发展方向及投资前景分析报告
评论
0/150
提交评论