




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、点亮2、3、5、8四个发光二极管。(课后作业)#includesbit LED2=P10;sbit LED3=P13;sbit LED5=P15;sbit LED8=P16;main()LED2=0; /第二盏灯亮LED3=0; /第三盏灯亮LED5=0; /第五盏灯亮LED8=0; /第八盏灯亮while(1);2、设计走马灯和数码管逐一显示数字。(课后作业)#includevoid Delay() unsigned int j; j=30000;while(j-); /时间延时函数void main() int a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管显示段码int b10=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55; /点亮灯的段码unsigned char i;while(1) for(i=0;i10;i+) P1=bi; P2=ai; Delay(); 3、开关K1控制加,开关K2控制减,开关K3控制复位。当减到小于0的时候再从99开始减,当加到99的时候又从0开始加。(课后作业)#includesbit BIT1=P30;sbit BIT2=P31;sbit Button1=P37;sbit Button2=P36;sbit Button3=P35;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管显示段码void Delay(unsigned int t) unsigned int i,j; for(i=0;it;i+)for(j=0;j252;j+); /时间延迟函数的定义void main() char dat = 0; / 有符号数int b10=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55; /跑马灯显示的段码unsigned char z;while(1) for(z=0;z= 99) dat=0; while(Button1=0); /按键1是控制加的,当加到大于等于99时又从0开始加 if(Button2=0) dat-; if(dat = 0) dat=99; while(Button2=0); /按键2是控制减的,当减到小于等于0时再从99开始减 if(Button3=0) dat=0; while(Button3=0); /按键3是控制复位的,任何时候按下就归0 4、开始1、2、3、4闪烁,按一下K1,5、6、7、8闪烁,再按一下K1全部闪烁。(课堂作业)#includesbit K1=P30;unsigned char state=0;void Delay(unsigned int t) unsigned int i,j; for(i=0;it;i+) for(j=0;j=3) state=0; while(K1=0); 5、先是1、2、3、4灯闪8下,再5、6、7、8灯闪8下。循环闪烁。(实验一2)#includevoid Delay() unsigned int j; j=50000;while(j-);main()char i=0;while(1) for(i=0;i16;i+) if(i8) P2=0Xf0; Delay(); P2=0xff; Delay(); else if(i16) P2=0X0f; Delay(); P2=0xff; Delay(); 6、逐个点亮8个发光二极管(第一次亮一个。最后全亮,然后再重新开始)(实验一1)#includevoid Delay() unsigned int j; j=30000;while(j-); /时间按延时函数void main()int a8=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /点亮灯的段码unsigned char i;while(1)for(i=0;i8;i+) P2=ai; Delay(); 7、用中断函数控制加减用数码管显示数字。八盏发光二极管可以根据加减控制左右移。(课后作业)#include#includeunsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;unsigned char x=0xfe;ss=0;main()IT0=1;EX0=1;IT1=1;EX1=1;EA=1;while(1)P1=x;P2=ass;if(ss9) ss=0;if(ss0) ss=9;void dat1() interrupt 0ss+;x=_crol_(x,1);void dat2() interrupt 2ss-;x=_cror_(x,1);8、按开关K1点亮1、2、3、4,松手灭,开关K2点亮5、6、7、8,松手灭。(课堂作业)#includeSbit K1=P30;Sbit K2=P31;Void main() Whlie(1) If(K1=0) P1=0xf0; Else if(K2=0) P1=0x0f; Else P1=0xff;9、点亮一盏灯,并使其闪烁。(课堂作业)#includeSbit LED1=P10;Void Delay() Unsigned int j;j=50000;whlie(j-);Void main() Whlie(1) LED1=0;Delay();LED1=1;Delay();10、先点亮1、3、5、7灯,熄灭,再点亮2、4、6、8灯。(课堂作业)#includevoid Delay(unsigned int t) unsigned int i,j; for(i=0;it;i+) for(j=0;j252;j+) ;void main() int a2=0xaa,0x55; unsigned char i; while(1) for(i=0;i2;i+) P1=ai;Delay(100); 11、要求使用8个按键K1K8,当按下按键时,用数码管显示出相应按键值(K11,K22,。)放开时显示0。(实验二)#includesbit K1=P30;sbit K2=P31;sbit K3=P32;sbit K4=P33;sbit K5=P34;sbit K6=P35;sbit K7=P36;sbit K8=P37;void main()while(1)if(K1=0)P2=0xf9;else if(K2=0)P2=0xa4;else if(K3=0)P2=0xb0;else if(K4=0)P2=0x99;else if(K5=0)P2=0x92;else if(K6=0)P2=0x82;else if(K7=0)P2=0xf8;else if(K8=0)P2=0x80;elseP2=0xc0;12、用中断程序K3、K4分别控制加减及发光二极管左右移动。(实验三)实际操作#include#includesbit K3=P32;sbit K4=P33;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char x=0xfe;ss=0;void delay(unsigned int t)unsigned int i,j;for(i=0;it;i+)for(j=0;j9) ss=0;if(ss0) ss=9;void dat1() interrupt 0 delay(10); if(K3=0) ss+; x=_crol_(x,1); void dat2() interrupt 2 delay(10); if(K4=0)ss-;x=_cror_(x,1);13、8051单片机主振为12MHZ,在P15引脚上接一个发光二极管和蜂鸣器,如用T0定时,每1S控制该灯亮一次,一直循环下去。(实验四,用方式1,1s=103ms)#includesbit test=P15;unsigned char i=0;main()TMOD=0x01;TH0=15536/256;TL0=15536%256;TR0=1;ET0=1;EA=1;while(1);void sb() interrupt 1TH0=15536/256;TL0=15536%256;i+;if(i19)test=test; i=0;14、制作一个9秒钟倒计时装置,时间由一位数码管显示,并要求使用一个按键控制倒计时的开始,当时间到0时,停止计时,并驱动蜂鸣器发声。(实验五)#includesbit K=P31;sbit test=P15;unsigned char i=0;ss=9;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;main()TMOD=0x01;TH0=15536/256;TL0=15536%256;ET0=1;EA=1;while(1) P2=ass;if(K=0)TR0=1; void jk() interrupt 1TH0=15536/256;TL0=15536%256;i+;if(i19) ss-;i=0;if(ss=0) TR0=0;ss=0;test=test;15、用串口中断函数设计出显示自己姓名首写字母和学号,11.5200MZ、9200b/s,工作在方式1下。(课后作业)#includevoid Send(unsigned char dat)SBUF=dat;/发送while(!TI);/等待发送完毕 TI=1TI=0; /发送函数void Delay(unsigned int t)unsigned int i,j;for(i=0;it;i+)for(j=0;j256;j+); /时间延迟函数void UART_Init()SCON=0x50; / 0101 0000 串口工作在方式一TMOD=0X20; / 0010 0000 定时器工作在方式二TH1=0xfd; / 初始值设定TL1=0xfd; / 备用初始值TR1=1;ES=1; /串口中断允许 /程序初始函数main()UART_Init(); /调用程序初始函数while(1)Send(Y);Send(J);Send( );Send(2);/ Send(0x32);Send(0);/ Send(0x30);Send(0);/ Send(0x30);Send(8);/ Send(0x38);Send(0);/ Send(0x30);Send(3);/ Send(0x33);Send(5);/ Send(0x35);Send(4);/ Send(0x34);Send( );Delay(300); /主函数16、利用定时器T1,在方式1的工作条件下,定时40ms,P10口输出的周期是80ms,晶振频率为6MHz。(课堂作业)#includesbit test=P10;main() TMOD=0x10; TH1=0xb1; TL1=0xe0; TR1=1; ET1=1;EA=1; while(1)void sb() interrupt 3TH1=0xb1; TL1=0xe0; test=test;17、T0 方式一 定时30ms T=90ms 高电平30ms 低电平60ms 晶振频率为12MHz。(课堂作业)#includesbit Test=P10;unsigned char flag=1;main() TMOD=0x01; TH0=0xba; TL0=0xd0; TR0=1; ET0=1;EA=1; while(1)void dat() interrupt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防安全培训岗位要求课件
- 伦理与道德的讲解
- 伤口与造口的压疮护理
- 呛奶窒息预防护理
- 单位销售员述职报告
- B超医生个人年终总结
- 前台客服礼仪培训大纲
- 养老护理卧床洗头操作规范
- 呼叫中心主管工作总结
- 小儿热性惊厥急诊护理
- 中药药剂员职业考核试卷及答案
- 2025年脚手架租赁合同3篇
- 2025年下半年安徽省港航集团有限公司所属企业社会公开招聘22名考试参考试题及答案解析
- 2025年度企事业单位办公家具采购合同
- Britax宝得适百代适儿童汽车安全座椅推车婴童用品全线产品介绍
- 万科企业股份有限公司员工职务行为准则
- 焊材入库、发放与回收记录模板
- 生药学-绪论-第一章
- 一建市政记忆口诀
- PETS公共英语二级大纲词汇
- 蜗轮参数化设计(creo2.0)
评论
0/150
提交评论