ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:1.37MB ,
资源ID:16489925      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16489925.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(发光二极管流水灯实验Word文档下载推荐.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

发光二极管流水灯实验Word文档下载推荐.docx

1、 tmp = P0; P0 = (tmp1)+ 0x80; 实验二 开关控制LED数码管实验1.通过AT89C51读入4位开关K1、K2、K3、K4的输入状态,并按照二进制编码关系0-F输出到数码管显示。(如K4K3K2K1全部按下,则显示F;若只有K2按下,则显示2。)2.掌握LED数码管的静态显示。3.掌握I/O口的控制方法。unsigned char table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82, 0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,;unsigned char KEY; while(1) KEY

2、= P2; switch(KEY) case 0xff:P0 = table0;break; case 0xfe:P0 = table1; case 0xfd:P0 = table2; case 0xfc:P0 = table3; case 0xfb:P0 = table4; case 0xfa:P0 = table5; case 0xf9:P0 = table6; case 0xf8:P0 = table7; case 0xf7:P0 = table8; case 0xf6:P0 = table9; case 0xf5:P0 = table10; case 0xf4:P0 = table11

3、; case 0xf3:P0 = table12; case 0xf2:P0 = table13; case 0xf1:P0 = table14; case 0xf0:P0 = table15; default : 实验三 外中断优先级实验1.理解单片机中断优先级和优先权。2.用PROTEUS 设计,仿真基于AT89C51单片机的中断优先级实验。3.掌握中断编程方法。单片机主程序控制P0口数码管循环显示08;外中断0、外中断1发生时分别在P2口、P1口依次显示08。通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。unsigned char code table=0x

4、C0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80;/ 共阳数码管的段码void delay(int z) /延时子程序,大约1ms for(x=110; for(y=z;int i0=0,i1=0; / 用于中断0,1显示数码管的变量 int i; EX0 = 1; /开外部中断0 EX1 = 1; /开外部中断1 IT0 = 1; IT1 = 1; PX0 = 1; PX1 = 0; EA = 1; /开总中断 for(i=0;9;i+) /P0 循环显示08 P0 = tablei; delay(200); void int0()interrupt 0

5、/ 外部中断0优先级高于外部中断1 ,中断号为 0 for(i0=0;i0i0+) /显示08 P2 = tablei0; delay(200); void int1()interrupt 2 /外部中断1,中断号为2 for(i1=0;i1 sbit GE = P21; sbit SHI = P20; int count = 0,number = 60; unsigned char code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E; void delay(in

6、t z); void display(); void main() EA = 1; ET0 = 1; TMOD = 0X01; TH0 = (65536-50000)/256; TL0 = (65536-50000)%256; TR0 = 1; while(1) display(); void delay(int z) int x,y; for(x=110; for(y=z; void display() SHI = 0; GE = 1; P1 = tablenumber%10; delay(10); GE = 0; SHI = 1; P1 = tablenumber/10; void tim

7、e_count() interrupt 1 TH0 = (65536-50000)/256; count+; if(count = 20) count = 0; number-; if(number j-) for(k=110;kk-);void display(unsigned char num) P0=tablenum; show_4 = 0;void key_scan() P2=0xef; temp=P2; temp=temp&0x0f; if(temp!=0x0f) if(temp! switch(temp) case 0xe7: key=0; break; case 0xeb: ke

8、y=1; case 0xed: key=2; break; case 0xee: key=3; while(temp! display(key); P2=0xdf; case 0xd7: key=4; case 0xdb: key=5; case 0xdd: key=6; case 0xde: key=7; P2=0xbf; case 0xb7: key=8; case 0xbb: key=9; case 0xbd: key=10; case 0xbe: key=11; temp=P2; display(key); P2=0x7f; case 0x77: key=12; case 0x7b:

9、key=13; case 0x7d: key=14; case 0x7e: key=15;实验六 AD转换程序设计1.掌握转换器ADC0809的使用。2.用PROTEUS 设计,仿真基于AT89C51单片机的A/D转换实验。3.通过改变电位器的值改变模拟量的输入,经转换为数字量在LED上显示,比对模拟量和数字量的关系。sbit OE = P31;sbit START = P33;sbit NUM_1 = P34;sbit NUM_2 = P35;sbit NUM_3 = P36;sbit NUM_4 = P37;sbit dp = P17;unsigned char code table=0x

10、3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned int date;void show(); START = 0; START = 1; while(1);void over() interrupt 0 OE = 1; date = P0; OE = 0; show();void show() NUM_3 = 1; NUM_2 = 1; P1=tabledate/51; dp = 1; NUM_1 = 0; delay(5); NUM_1 = 1; P1=tableda

11、te%51*100/51/10; NUM_2 = 0; P1=tabledate%51*100/51%10; NUM_3 = 0;实验七 双机通信实验1.掌握单片机串口通信程序的设计。2.了接RS232接口通信的特点。3.双机通信:分别把接收到的对方通过逻辑开关输入的信息在本地数码管上显示,如下图甲机的逻辑开关数据为81H,乙机通过串口接收该数据并数码关管显示,而甲机显示乙机发送的数据88H。void init() TMOD = 0X20;/定时器1方式2 TH1 = 0XFD; TL1 = 0XFD; /装入初值 TR1 = 1; /启动定时器 SM0 = 0; SM1 = 1; /设置方式1 TI = 0; RI = 0; ES = 1; /打开串口中断 /打开总中断 REN = 1; /接收使能 SBUF = P1; init();void serial() interrupt 4 if(RI) RI = 0; P0 = SBUF; / 从缓冲区中把接收的字符放入c中 if(TI) TI = 0; SBUF = P1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1