




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一51核发光二极管及数码管实验一实验题目51核发光二极管及数码管实验二实验环境win7MedwinV3.0中文版三实验要求本实验分为两部分,首先进行51核的介绍,包含通常使用的51单片机及FPG冲51核的原理,通过对比,了解两者的异同。在了解了51原理后结合51核在FPG/fr进行原理实现,冉基于FPG/fr使用工具进行51核的编程。在开发板中进行发光二极管实验,数码管实验。编写程序使led灯(LED0,LED6,LED)7每隔一段时间闪烁一次。提示:编写延时程序delay().(用for循环实现。led灯的闪烁即是不停的亮和灭,即令通用IO口每隔一段时间的输出取反。例如:LED_1=LE
2、D,1控制2个数码管显示数字。提示:数码管是由P1口控制的。四实验设计1 .外部发光二极管管脚:74HC245E片提高驱动,输出高电平发光二极管亮,输出低电平发光二极管灭,引脚锁定:PIN100LED-D1PIN99LED-D2PIN94LED-D3PIN92LED-D42 .数码管部分:开发板上没有固定的数码管,均需要外接。而且都是FPG/#码。在本实验中,对需要显示的数字经过DECL7s奠块进行编码后输出到数码管上。如想输出数字,只需输入00001111中的任意数字,如D=0101,则显示为5,D=110Q则显示为C,FPGAB出高时点亮。3 .程序架构是:#include<reg5
3、1.h>sbitLED_1=P3A6;sbitLED_2=P3A7;voiddelay_ms(intdel)/延时1msinti,j;for(i=0;i<del;i+)for(j=0;j<1000;j+);voidLED_LM()/LED灯闪烁voidshumaguan()数码管显示对P1赋值voidmain()while(1)程序如图所示:1未命名1123456#include<stdio.h>#include<reg51.h?|sbit sbit sbit voidLED_0=P3A0;LeO=IP3a6;LED 2=P3A?:Jdelay_ms(int
4、 del) /时89101112 void13 B (1415161718192。2122 B (2324252627int ij;for(i«0j i4加 JjiH*)for(j=0d<100ej j+);LED_LK()叮 lEDl'JWLED 0="LED 0: delay_ms(500);LED_1="LED_1;delBy_(nis(500)jLED_2=-LED_2;void shumaguan() jf数码管显示礴*氟值P1=0X14;void miainf)280 (29303132LEDLEDJ-1;LED5=1;while(l)五
5、实验仿真与测试六实验结果分析先在程序中设置延时,使得延时1ms,再设置LED灯闪烁的程序,最后设置数码管显示数值一一14,将板子的USB接口与电脑的US琏接,得出实验结果。七实验小结通过这次实验,我了解了51核的原理,能够用51单片机对数码管核LED灯进行操作,也学会了如何使用开发板。但是只能进行简单的操作,所以之后需要加紧练习,争取熟练掌握51核的应用。实验二键盘扫描一实验名称键盘扫描二实验环境win7MedwinV3.0中文版三实验要求本实验主要进行对4*4键盘原理分析,实现对键盘扫描码的判断。要求使用查询方式进行键盘扫描码判断(数码管输出)。四实验设计实验设计的源程序如下图所示:X+DI
6、。十口dL11HavtX-J-Aa,:;:-;ZL0;1321054326:d.o52:二::L<=00003333=;3卫0FFFPF/ppmJ-CRE=_二一=:,32La3£lXk=Q一二二二二工£g:w:rlxIHrl1(otrm"RRRR匚ccu.dlG0LL-i£CJU七ttttt七tdt-lni-Xiiiiii1iibbbbbbbb0TTB-456TO9012345B789ol£345BTO_u012345BT89_ul2345GTe901s34B6T«i11llTi12NN222£2zz33333333
7、3344/144<4qln5553ln5E=:0n00Ou0o00ouDo0Do00o0no0oo0ou0o00o00o0Do0D00n0oouoouoon哈工:狂医UH,】二口口二国LnsiuhsScan_key()(皿Mignedchari=0;皿Mi8=dcharSciitksy=OxOO;for(i=O;i<4;i+)(S*t_Col(03i01«i);del4y_ms(1):Sc&nkey=GtRow();MWitch(CScankey)ftflxOf)Iug电0x01:returni*4+0;hr也ak:ufUxQZ:returni*4+l;bre4k
8、;caseDxO4:returni*4+Z;break;ua”0x08:return1*4+3;br也sk:default;break;)retwrit0k££evoidDigjShow(unsignedchardig)Fl"di£:;1'-jovoidmijnOunsignedchsrScankey=0X00;while(1)(Scankey-Sc&n_kty();Dig_ShowScankey);delay_ims(400);五实验仿真与测试六实验结果分析如图所示源程序,先设置键盘的行引脚和列引脚,之后设置延时,初始化时把初始值都变成
9、1,按下哪个键,哪个位置变成0,。设置列扫描值,第一列是0111,值为1;第二列是1011,值为2;第三列是1101,值为4;第四列是1110,值为8。输入值输出值0123COL10ROW10111COL21ROW21011COL31ROW31101COL41ROW41110输入值输出值89ABCOL11ROW10111COL21ROW21011COL30ROW31101COL41ROW41110然后输出键盘扫描值。结果如图所示,按下第一列第四行,数码管显示3;按下第四行第四列,数码管显示F。七实验小结通过这次实验,我了解了键盘扫描的原理,并学会如何用开发板输出源程序的结果。但是对键盘扫描的源
10、程序理解还不能熟练编写,需要再多加练习。实验三一实验题目中断系统和定时/计数器二实验环境win7MedwinV3.0中文版三实验要求使用定时器中断控制发光二极管每隔一段时间闪烁一次,并设置中断使数码管计数从0到59。四实验设计80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套:1. 可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测至IJP3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。2. 可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU佥测至IJP3.3引脚上出现有效的中断信号
11、时,中断标志IE1(TCON.3)置1,向CPU申请中断。3. TF0(TCON.5,片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TFO,并向CPU申请中断。(本次实验用到该中断)4. TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。5. RI(SCON.0或TI(SCON.1,用行口中断请求标志。当用行口接收完一帧申行数据时置位RI或当用行口发送完一帧申行数据时置位TI,向CPU申请中断。80C51单片机的中断优先级有三条原则:1.CPU同时接收到几个中断时,首先响应优先级别最高的中断请求
12、。2.正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。3.正在进行的低优先级中断服务,能被高优先级中断请求所中断。为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。实验所需程序如下:#include"KEG5LH"sbitLED_l=F3"6;sbitLED_2=P3rt7;unzigndehorcount;vciddelimitstintdel)E(inii.j;for(1=0;ik
13、del;l+)forG=0;】口口口;1+);-)voidT0_tim4rtvaid)iiiterrupt1日("TF口标志位前Tm=oxoo;TLO=OXOO;count+;Fl-count;-voidmain()目THOD=OXD1;EA=1:ETO=1;=OXOO;TLO=OXOO;TED=1;while(1)自动清3所以不用管T口方式1开点中断行并定时器口的中断对定时器口设置初始巾即设置定时时间i£(COUIkp.=10)count=O;LED;"LED,LED£=予2;rL五实验仿真与测试六实验结果分析在程序中设置初始化程序:1.对TMODfi
14、值,以确定T0和T1的工作方式。2.计算初值,并将其写入THOTL0或TH1、TL1。3.中断方式时,则对IE赋值,开放中断。EA=1;ET0=14.使TR0或TR1置位,启动定时/计数器定时或计数。输入中断向量是10,则数码管输出0到9然后循环,LED灯随程序设计所示,一直闪烁。七实验小结这次实验我学习了中断系统,并且学会如何去设计一个计数器,但是在实验过程设计中,LED灯的闪烁频率与数码管计数的频率不相同,所以无法两个同时实现,我要在今后的学习中思考这个问题。实验四一实验题目FPG四用口设计二实验环境win7MedwinV3.0中文版三实验要求编写程序控制用口接收主机发送的数据,例如,在数
15、码管上显示出自己的学号。四实验设计使用方式一:一帧10位:8位数据位,1个起始位(0),1个停止位(1)。RXD接收数据端。TXD发送数据端。波特率:用T1作为波特率发生器,B=(2SMOD/32><T1溢出率。发送:写入SBUF同时启动发送,一帧发送结束,TI=1o接收:REN=1允许接收。接收完一帧,若RI=0且停止位为1(或SM2=0)将接收数据装入SBUF停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。当REN=1CPUFF始采样RXD5I脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新采样负跳变
16、。数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。程序如下:1 3 4 beT Mio 123 4-.JB7 0an 12_H T9_u ulp K-TS 9oi2n-4F DT_M yo1 nuonuonuoillilllillp-z2pz2p2PH-3H-3SH-33 3 44 4 4444d-445Rbbit UEIi_l=F3:F ;-=ihi t T.KTi_?=FS-T: 3lD 1 gtl£: d cJTtfti' buX tef .i d. a.工1(士 3n:mt i, j :Enx11 = 1 ; X a i+J Itor Qj-1 1白UU:二十十1THi=o«aeTR1=1: 1U£B=1 . smo=o; F:M1 =1 :HA=1 .ES=1 ;ri=uxi4:d. scr CJQRT=O ; kk-u:-butfer-SBUF二 (10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆智能工程职业学院《细胞生物学与细胞工程实验》2024-2025学年第一学期期末试卷
- 郑州卫生健康职业学院《信息技术项目管理》2024-2025学年第一学期期末试卷
- 2025三道公务员试题及答案解析
- 焦作新材料职业学院《软件工程B》2024-2025学年第一学期期末试卷
- 滨州学院《历史学学科教学论》2024-2025学年第一学期期末试卷
- 2025民生公务员面试题及答案
- 技术经济学概论课后习题及答案第三版
- 2025量化金融期末试题及答案
- 2025年经济学入门考试试题及答案
- 2025年大经济学试题及答案
- 企业完善信用管理制度
- 公司业务招待费管理制度
- 健康传播培训课件
- 测量班部门管理制度
- 吉林:用水定额(DB22-T 389-2019)
- CJ/T 327-2010球墨铸铁复合树脂检查井盖
- 产品售后服务方案模板
- 防雷防静电培训考试试题及答案
- 社保返还协议书
- 2025年湖南省国际工程咨询集团有限公司招聘笔试参考题库附带答案详解
- 变电站施工考试试题及答案
评论
0/150
提交评论