欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验Word文件下载.docx

    • 资源ID:16655532       资源大小:1.15MB        全文页数:40页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验Word文件下载.docx

    1、for(i=0;i0;j-) for(k=248;kk-) ;/*主函数部分*/void main(void) while(1) P1_0=1; / P1口输出高电平,让LED点暗delay_ms(200) ; / 延迟200MSP1_0=0; /P1口输出低电平,让LED点亮 /延迟200MS /*中断函数部分*/实验项目二 定时/计算器的基本应用1实验目的 掌握MCS-51定时/计数器的基本工作原理与使用方法; 了解MCS-51单片机的中断服务程序的基本设计方法。 用定时器T0实现与P1.0端口相连的发光二极管以1Hz的频率闪烁用定时器T1实现与P1.1端口相连的发光二极管以2Hz的频率闪

    2、烁。 3. 实验电路框图4. 实验任务分析设置系统的时钟频率为12MHZ,利用定时/器计数器T0编程实现。将两个LED分别接在P1.0,P1.1上。从P1.0输出周期为1s的方波,只需P1.0每隔0.5s取反一次,从P1.1输出周期为2s的方波,只需P1.0每隔1s取反一次。当系统时钟为12MHZ,定时器/计数器T0工作于方式一,最大的定时时间为65536us,TH0=(65536-50000)/256; TL0=(65536-50000)%256; P1.0每循环10次取反一次,P1.1每循环20次取反一次。5. 实验流程框图6. 实验过程记录实验过程问题及解决方法系统只能循环一次,不能反复

    3、循环。将num1,num2赋予原值7. 实验总结学会了用查询方式来定时。当计数溢出时,TF0为1; 学会用TH0=(65536-50000)/256; 来确定初值的第四位,高四位。(3)学会了定时器/计数器的初始化。确定工作方式,对TMOD赋值。计算定时或计数的初值,将初值写入TH0,TL0或TH1,TL1。根据需要开启定时器/计数器中断,对IE寄存器赋值。启动定时器/计数器工作,将TR0或TR1置“1”。8. 成绩评定/*预处理部分*/#include #define uint unsigned int/*变量定义部分*/sbit led1=P10; sbit led2=P11; /*子函数

    4、部分*/void timer0_init() TMOD=0x01; TH0=(65536-50000)/256; TR0=1;/*主函数部分*/ uchar num1=0,num2=0; timer0_init(); dowhile(!TF0); num1+; num2+; TH0=(65536-50000)/256; TF0=0; if(num1=10) led1=!led1; num1=0; if(num2=20) led2=!led2; num2=0;/*中断函数部分*/ 实验项目三 中断系统的基本应用 掌握MCS-51中断系统的基本工作原理与使用方法; 掌握MCS-51单片机的中断服务

    5、程序的基本设计方法。 基本部分:在P2端口接8个LED灯,用定时器T0,采用中断方式,每隔1s使点亮的LED增加1个;当8个LED全部点亮后,重新开始下一个循环。 提高部分:在P3.2端口接一个按键开关,由它来控制以上LED的循环点亮,要求也采用中断控制方式。 3. 实验电路框图在P2端口接8个LED灯,用定时器T0,采用中断方式,系统的震荡周期为12MHz,它的机器周期为1us.软件设计说明每隔1s使点亮的LED增加1个;当系统时钟为12MHZ,定时器/计数器T0工作于方式一,最大的定时时间为65536us, TL0=(65536-50000)%256;TH0=(65536-10000)/2

    6、56; 一经过100次中断,P2向左移动个0;系统一开始只有一个循环,一个循环结束后不能回到起点。if(P2=0x00) P2=0x7f; 使得系统重新从第一个灯开始循环点亮。学会用中断函数来计时。(2)学会用依次向左移0来循环点亮小灯 8. 成绩评定/*预处理部分*/uchar num1;void _init_timer0() ET0=1; EA=1; init_timer0(); P2=0xff; if(P2=0x00) P2=0x7f; if(num1=100) P2=P21; void int_timer0(void) interrupt 1 num1+; TH0=(65536-100

    7、00)/256; TL0=(65536-10000)%256;实验项目四 LED数码管的基本应用 了解LED数码管的基本工作原理与使用范围; 掌握LED数码管静态显示程序的基本设计方法; 掌握LED数码管动态显示程序的基本设计方法; 基本部分:用LED数码管设计一个099秒的计数器,LED的显示方式可以采用静态显示方式实现;用LED数码管设计一个099.99秒的计数器,LED的显示方式采用动态显示方式实现。 4. 实验任务分析 问题及解决方法怎么实现099依次增加?将各位十位用延迟函数分开显示。知道了P0=0xff;P2=0x00;是消影,使显示更加清楚。用switc(i&0x01)case语

    8、句来控制AT89C51的P20, P21是输出高电平还是低电平。/*变量定义*/unsigned char i,second;unsigned seg_table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void timer0_init () TH0=(65536-2000)/256; TL0=(65536-2000)%256; void main (void) second=00; switch(i&0x01) case 0: P0=0xff; P0=seg_tablesecond%10;P2=0x02; break; case 1

    9、: P0=seg_tablesecond/10;P2=0x01; break; default:break;/*中断函数*/ void timer0_int() interrupt 1 i+; if(i=250) second+; if(second=100) second=0;实验项目五 单片机键盘的基本应用 了解独立式键盘的基本工作原理与使用范围; 掌握独立式键盘的识别方法、软件消抖的原理; 掌握独立式键盘程序的基本设计方法。在MCS-51的P3.2管脚接一独立按键,再P1端口接8个LED,要求用按键来控制LED的循环点亮;将基本部分中LED的点亮方式改为闪烁。让8盏LED灯分别接在AT8

    10、9C51的P1端口。P3.2接按键。软件主要包括延时函数,移动函数,和一个主函数。移动函数用位运算,实行灯的循环移动。不知道怎么样才能让灯闪烁?在主函数里加上一个P1端口为高电平。怎样让灯依次向左移动?a=temp(8-count);P1=a|b;怎么让按键锁定?Button=0.实验总结软件消影的原理:P1=0xff.确认按键按下的步骤:(1)初次判断是否按下键盘。(2)延时函数。(3)再次判断是否按下键盘。sbit button=P32;/定义按键的输入端unsigned char count;/按键计数,每按一下,count加1unsigned char temp;unsigned ch

    11、ar a,b;void delay10ms(void)/延迟程序 unsigned char i,j; for(i=20;ii-) for(j=248;j-) ;key()/按键判断程序 if(button=0/判断是否按下键盘) delay10ms();/延迟,软件去干扰 if(button=0)/确定按键按下 count+;/按键计数加1 if(count=8)/计8次重新开始 count=0;/将count清零 while(button=0);/按键锁定,每按一下count只加1move()/led向左移动移动函数 a=temp P1=a|b;main() count=0; temp=0

    12、xfe; P1=0xff; P1=temp; while(1)/永远循环,扫描判断按键是否按下 key();/调用按键识别函数 move();/调用led移动函数实验项目六 单片机串口通讯实验 了解MCS-51单片机串口的基本工作原理与使用范围; 掌握MCS-51单片机串口通讯程序的基本设计方法。在PROTEUS软件中采用串口虚拟终端,编写一个发送程序,将自己的学号发送到虚拟终端显示;在单片机甲的口接个开关,再单片机乙的口接个,编写程序,将单片机甲的开关状态再单片机乙上显示出来。基本部分 提高部分基本实验:AT89C51的振荡频率为6MHZ,P3.0/RX0与串口检测工具的TX0相连,P3.0

    13、/TX0与串口检测工具的RX0相连。提高部分:单片机甲发送机,它的P1端口接8个开关;单片机乙接受机,它的P1端口接8个LED。单片机甲的开关闭合为低电平,不闭合为高电平。将单片机甲P3.0/TX0与单片机已P3.0/RX0相连。设置串口方式一,SCON=0x40; PCON=0x00;设置计数器方式二,TMOD=0x20;设置波特率为1200 ,TH1=0xf3;TL1=0xf3;启动定时器TR1=1。提高部分1起先输不出学号,是连串的乱码。89C51的频率没有匹配,要设定为6兆。要进行串口初始化,并且要设定好串行口的工作方式。 void main()unsigned char a=2010

    14、05014102;unsigned int i;SCON=0x40;PCON=0x00;TMOD=0x20;TH1=0xf3;TR1=1;while (1)12;i+)SBUF=ai; while(!TI) ; TI=0; 提高部分 发射 SCON=0X40; PCON=0X00; TMOD=0X20; TH1=0XF3; TL1=0XF3; TR1=1; SBUF=P1; do; while(!TI);接收 /unsigned int i; SCON=0X50; RI) ; RI=0; P1=SBUF;实验项目七 ADC0808的基本应用 了解ADC0808基本工作原理与使用方法; 掌握MC

    15、S-51单片机ADC程序的基本设计方法。利用AT89C51和ADC0808设计一个简单的数字电压表,测量范围0-4.99V,采用3位LED数码管将采样后的结果进行显示;将数字电压表的测量范围改为0-9.99V;将基本部分的单通道数字电压表设计成一个8通道的数字电压表。Adc0808的A,B,C接地选通0通道,在0通道上外接05v变化的电源,adc808的输出端口与at89c51的P1端口相连, P2端口作为控制端口,P0端口与显示译码管相连。软件组要由显示函数,中断函数,主函数构成。怎样将将二进制转换成十进制?将P0=n/5.1*10;用switch来选择显示百,十,个。 学会用adc808来

    16、进行ad转换。/*预处理部分*/*变量定义*/ sbit ST_abc0808=P36; sbit OE_abc0808=P35; sbit EOC_abc0808=P32; sbit ALE=P37; unsigned int a1,a2,a3,n,i;unsigned char code table0=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/数码管编码,小数点点亮unsigned char code table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/数码管编码,小

    17、数点不点亮/*子函数*/void time0_init() /设置定时器0为为工作方式1(00000001) TH0=(65534-2000)/256; /设置初值 TL0=(65534-2000)%256; /开启中断ET0=1; /开启定时器0中断TR0=1; /开启定时器 void display()/显示函数 a1=n/100; /百位 a2=(n%100)/10; /十位 a3=n%10; /个位switch(i%3) case 0 : P0=0Xff;P2=0X01;P0=table0a1;break; case 1 :P2=0X02;P0=table1a2; case 2 :P2

    18、=0X04;P0=table1a3; default:/*主函数*/ void main() time0_init(); ST_abc0808=0; /开始转换 ST_abc0808=1; ALE=1;EOC_abc0808) ;/等待转换结束 OE_abc0808=1; n=P1/5.1*10; /二进制转换成十进制 display(); OE_abc0808=0; /*中断函数*/ void time0_int(void) interrupt 1 /重装初值实验项目八 基于AT89C51的简单电子万年历 了解电子万年历的基本工作原理与使用方法; 掌握AT89C51设计电子万年历的基本方法。

    19、利用AT89C51和7段LED数码管设计一个简单的电子万年历,能显示时间、星期、年、月、日,并能进行设置;将电子万年历增加一个闹钟功能;当设定的闹钟时间到时,让单片机演奏一段音乐。DS1302是DALLAS公司推出的 涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。DS1302与单片机之间采用同步串行的方式进行通信仅需要用到三个口线(1)RES(复位),(2)I/O(数据线),(3)SCLK(串行时钟).构建数组uchar settime7=0x50,0x59,0x09,0x28,0x09,0x07,0x08来设置秒、分、时、日、日期、月、年;设计函数DS1302_Get1302(gettime)获得当前时间;设计函数Disp_time(gettime)显示当前时间。实验流程框图


    注意事项

    本文(实验Word文件下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开