电子系统实践报告.docx_第1页
电子系统实践报告.docx_第2页
电子系统实践报告.docx_第3页
电子系统实践报告.docx_第4页
电子系统实践报告.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、福州衣修物信偿浣电子系统设计与实践课内实验报告姓名:曾聪杰学号:111300203同组姓名:黄佳骏系 别:物理与信息工程学院专 业:微电子年 级:2班指导老师:李凡阳实验时间: 2016年6月28日_nop_();for (i=0xf f; i>0; i-)/延时(_nop_(); /PO=OXFF;Pl=0xF7;/小数点、第二位P0=tablelAD_DATA%10;for (i=0xff;i>0;i-)/延时(_nop_();for (i=0xf f; i>0; i-)/延时_nop_O ; / P0=0XFF;四、Protel原理图及其仿真调节滑动变阻器,示数从0-5

2、12发生变化mlRV14A专U2<«800 AB CTOLK , aooF3.VT»pofltAraFO.WAH rojtmioROWAH POSTALPO-fiTAKznr*s2-VA9 ,二Q 2JTA11 2.WAQ zsmoNgWRX«HDF3*nF37/WFRP1RFRPgtTEXTC1U1C2XTA12If>1IkST577MHF1nF «TEX7RE”VOLK Rif*Nn*5A"MjriStC 2S SEbPOIVACCFO.VA01PO2fA02 FoarAtaRO.4/A0*PO£Aft5 POj&am

3、p;AM PO.7/AOTIE8pzxyxs P2.1 俺 pzjyAO PZAII z.waq P2£/AO F2J&AU PZ.TASRP1P3aax。 pa.inx® P3nnD paaniTTP3.WTDF3*nP3.7/1O5:TE>avVAD1 ZAK2 3fA(aWA04 SiMA &A06 ?ACT283 2.1施2fAO A11 .WAGJ&AU .你修DfRXP n>t> 2/nrro nrrr3.m asm 所啊POIYACO5.10'IU26>TTffl«T®a>VTf

4、771-1五、PCB原理图及版图OOo OO OonD o0OOOO0OOOO0OOOOQOOOmnmnnnnnmnrww00000000000ooooooooooooooooooono o FOOOOOQOCOOOO3S nV Nu- r o o Q o 000000000七、实验总结1、本次采用TLC549的AD转换芯片,实验前必需对其工作原理进行分析和理解,掌握其工 作时序。TLC549在每一个时钟下降沿时开始将数据从高位到低位一位一位移出,因此在AD 转换的子程序里我们定义两个16位的数据变量,其中一个用来存放从TLC549移出的数据, 另外一个变量与第一个相或,并且每次向左移一位,得

5、到数据再保留9位,最后通过return 函数返回到主函数。2、该实验采用软件延时的方式对四个数码管进行动态扫描,使用三极管的导通进行位选。 也可采用定时器中断的方式进行扫描显示,可以使显示效果更稳定。实验三单片机双向通信一、实验内容实现单片机与单片机之间相互通信:甲机向乙机发送控制两个 LED灯亮灭的命令字符,甲机同时接收乙机发送的尸9的数字,并显 示在数码管上。二、实验原理两个单片机都使用串口方式1进行通信,晶振频率为11.0592MHz,选 用定时器T1作为波特率发生器,T1工作于方式2,通信的波特率为 9600,并且必须保证两单片机通信波特率完全一致,否则接受不到正 确的数。选用11.0

6、592MHZ晶振的目的就是为了使计算得到的初值为 整数,选用定时器T1工作于方式2作为波特率发生器,只需要在初 始化编程的时候,将计算得到的初值写入TH1和TL1,当T1溢出时 会自动重新装入初值,从而产生精确的波特率。在发送数据时,向 SBUF中写入一个数据后,使用"while(TI=O); ”等待是否发送完毕, 因为当发送完毕后,TI被硬件置1,然后才退出"while (TI=O);” 接下来在将TI手动清零,同理,在接受数据时,在中断服务程序中 也需要将接受中断标志位RI置零。三、C程序代码单片机1#include<reg51.h>#define ucha

7、r unsigned char#define uint unsigned intsbit LED1=P1AO;sbit Kl=Pl/'7;操作代码uchar Operation_No=0; /数码管代码uchar code DSY CODE = 0x3f,0x06,Ox5b,0x4fr 0x66,Ox6d,0x7d,0x07,0x7f,0x6f;延时void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i<120;i+);/向串口发送字符void Putc to SerialPort(uchar c)SBUF=c;把C变量数据付植给专用寄

8、存器SBUFwhile (TI=0);等待发送完毕TI=0;TI标志位置零/主程序void main()LED1=LED2=1;P0=0x00;SCON=0x50;TMOD=0x20;PCON=0x00;串口模式1,允许接收T1工作模式2波特率不倍增THl=0xfd;TLl=0xfd;TI=RI=0;设定波特率为4.8kbps发送与接收标志位置零TR1=1;IE=0x90;启动定时器允许串口中断while (DelayMS(100);if (Kl=0)/按下K1时选择操作代码Q, 1, 2, 3while(Kl=0);Operation_No=(Operation_No+l)%4;switch

9、 (Operation_No)/根据操作代码发送A/B/C或停止发送(case 0: Putc_to_SerialPort('X');LED1=LED2=1;break; case 1: Putc_to_SerialPort('A');LED1=LED1;LED2=1;break;case 2: Putc_to_SerialPort('B');LED2=-LED2;LED1=1;break;case 3: Putc_to_SerialPort('C');LED1=LED1;LED2=LED1;break;/甲机串口接收中断函数vo

10、id Serial_INT() interrupt 4if (RD如果RI标志位为1,则开始接受数据RI=0;RI标志位置零if(SBUF>=0&&SBUF<=9) PO=DSY_CODESBUF;把SBUF寄存器的接受值付给一维数组元素值,一维数组元素值付给P。口 编码else P0=0x00;否则 P0 口置零)单片机2#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P1AO;sbit LED2=P1A3;sbit K2=P1A7;uchar

11、 NumX=-l;/延时void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i<120;i+);Ivoid main()LED1=LED2=1;SCON=0x50;覃叫竟近图曲国I洱0刊 '血aspo基3037/Xeejq/T=ia3T/o=3a3rI:.3.mse。算1031/eajq/X=2aaq/0=Ta3,I:.V.aseo/XF3JqT=Za37=ia379SEO羽农回大削落场志空够回虫风技玷拒割讲(jnas)中即 o=ih 助咚附Q37 I的麦玷斯 (IH) JT 力 4dnjj©4UT () INI_ieTJ&#

12、169;s pg0=11-(O=ID liqM xuinN=jngsH%XuinN+=XuinN? (0=乙M) 3冲i(O=ZM)3T-(001)SHAuiea(T)9TTM«*06X0=31T=TH10=II=IH OOxO=NOOd pjxo=m /pjxO=lHl 03xo=aowiU1n.ll:a.nrDKe斜罗kP2.HA9»zIzzP3UF2HpoarFT pm,。 pa*, PgJKNR* pa.nro"=F5G7r甲机按键按下时,控制双方LED的亮灭gx盘 gsaMN:、;popo斜 Epo黑P2OA3P2.HMP23A«0FI/NA&

13、gt;2 P2JIA>9P2«A'<P2.HA«aF3XIRMDP9JIOJDFa3f4fOPiarFTP3/M,0 pg*, paatp" ra-nfip"IINZt,4州吧州平州伸I ,N-JLU1”心X<AL2Ea.M:JM:.n FDH黑源,P2Q2P2.HM P23A*0PC/TP2SA>i心P2/MA*2CAP2JIA*9P2BA>«P2.g,p«.«P9.«irMDP«2pan,。P'JP23RriP«*Rl/HfO,,P9WP'

14、;flF3JB«RP«Jra.nro",,CX 八HlU2 yr*"CX,>二,,5,*WAMX<AL2RVnsnAco FD.'IW» FO3WJC pugg R.MM POLADS POaACU pd.hwPW4P2AABP2.HA9 P22A*0 P2入”P*AP2/MA«2P2JIA*9P2«A»<ra.nAiaP9O2QP«.«P3.*irXDP« Jrajar<ro"P« JpaarFTP«*n/wroP

15、1; Jwanpaarjp*,pa.n®乙机按键次数显示在甲机的数码管:±2i实验一秒表一、实验内容用两个数码管实现秒表功能,并用外部按键实现计时开始,再次 按键暂停,第三次按键清零。二、实验原理两位数码管实现10s的秒表,数码管为共阴极,采用静态显示; 第一位显示秒,计数从0、9,接P0 口;第二位显示十分之一秒,接 P2 口;按键K1接端口 P3.7;计时通过定时器T0实现,其工作于工 作方式1,采用中断方式。三、C程序代码#include<reg51.h>#define uchar unsigned char#define uint unsigned in

16、tsbit K1=P3A7;uchar i,Second_Counts,Key_Flag Idx;bit KeyState;uchar DSY CODE=0x3f,0x06,0x5b,0x4f,0x66,Ox6d,0x7d,0x07,0x7f,0x6f;/延时void DelayMS(uint r s)(uchar t;while(ms-) for(t=0;t<120;t+);/处理按键事件void Key Event_Handle()if(Key=0)4ZD4zaD7MCXrvn_»rtxr>WAU"心P5CMP>A P'JP'3P>

17、;2P«AP'> P« .r五、PCB原理图及版图Mgsg 撑:s滞11.»IN,/M±a.nMRKRUroPIspzMUgssgsa.H:;a.«lP7flMP3.UW P2JA«0 F2JA'* P2/MA«2 P2aA«9 P2AA> P3.HA'»一溪B1. IIF E TJF 五 H敷铜后八、实验总结1、首先应先理解单片机串行通信的原理。单片机串行接口有两个控制寄存器:SCON和PCON。 串行口工作在方式。时,可通过外接移位寄存器实现串并行转换。在这种方式下

18、,数据为8 位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率 的1/12o由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数 据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置 1,必须由软件清零。这就是主程序工作的过程。2、响应中断后,没有退出中断前,如果继续有数据传送过来,那么后传送过来的数据将丢 失。3、PCB器件排布应将排针和数码管等大器件放置外围,而晶振各种小芯片应放到单片机芯 片旁。Key_Flag_Idx=(Key_Flag_Idx+l)%3;switch(Key Flag Id

19、x)(case 1: EA=1;ETO=1;TRO=1/break;case 2: EA=O;ETO=O;TRO=O;break;case 0 : P0=0x3f; P2=0x3f; i =0; Second_Counts=:0;)/主程序void main()JP0=0x3f;/显示00P2=0x3f;i=0;Second_Counrs=0;Key Flac_Idx=0;/按键次数(取值0, 1, 2,3)Key_St:ate=l;/按键状态TMOD=0x01;/定时器。方式1TH0=(65536-50000)/256;/定时器0: 50msTL0=(65536-50000) %256;wh

20、ile(1)Iif(Key State!1)DelayMS(10);Key_State=K1;Key_Event_Handle();)/TO中断函数void DSY_Refresh() interrupt 1TH0= (65536-50000)/256;/恢复定时器 0 初值TL0=(65536-50000)%256;if (+i=2)/50ms*2=0. Is 转换状态i=0;Secona_Counts+;PO=DSY_CODESecond_Counts/10;P2=DSY_CODESecond_Counts%10;if (Second_Counts=100) Second_Counts=0

21、; /i 100 (10s) JfiSiTr: 00 四、Protel原理图及其仿真第一次按键:启动计数顼: I I£. R1 .1-TET»n»a<AO<»f i/adiK夕* K»e/Aoe P0.7ZAD7S3 n gP2 2/AJOP2 3.W1 “WAJ2” WAH ” VA16P3CVRXOP3.1GD 2»fWP3WTTP)<TO开惟,零 第二次按键:暂停Wft'W P3 I/AD1 M2/AD2 roswADs W4»AD4P- 5” MWADC P次7”岫P2 gP2.2/A10

22、« 1MH F2*W P2M13 P24/A14 P27/A16F3WRKOF3 1/DCO P3 2?W ” WITP3VTDF3 VTI 哄何!RP1 RESPAK.?$EG71第三次按键:清零混卓sir/*C7rj mxop”g g» ” i* Pi 3>M0 ra w n a>a>2 f2 WAJ3 R2 H P2 7/AJ5” mwttr> atto五、PCB原理图及版图原理图:VCfi JV*N.»*<14M,Mmr*iMMOfi,*m:z>fTv?«tAiiFAlCVA1 191 1K'lnwni

23、IJ FFH Hnx*ca !0!,', , , 敷铜前J c Lcc敷铜后:on。e O-J-To ooIAQJlooolooloOQOObolo。0000000000000000000= = 至一 IMO六、实验总结1、秒表的实现与单片机的中断系统息息相关,掌握单片机的硬件结构及其各种中断机制是 我们编程的第一步2、编程需要分模块,即各种子程序如延时子程序,对应的中断路口程序等等,并做好相应 的标记,以防调用错误3、编程思路按照模板并在所需功能加上相应的逻辑,可以更高效。4、本实验采用两个数码管接到两个I/O 口,占用单片机资源大,因此可以采用动态扫描的 方式,只需一个I/O 口以

24、及相应的段选和位选口即可。5、在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。6、本次实验的按键控制功能用一个简单的逻辑就能实现消抖。7、PCB器件的排放需要按照一定的摆放规则,使制版更容易,更可观。实验二AD转换显示一、实验内容用单片机实现四个数码管显示TLC549所采样到的电压值。二、实验原理TLC549是一种高性能的8位A/D转换器,它以8位开关电容逐次 逼近的方法实现A/D转换,采用三线串行接口方式与单片机连接,端 口 SCLK、SDO、CS与单片机的I/O 口连接来控制A/D转换。本实验通 过用该芯片采集电压模拟量,然后将采集到的模拟量转换为数字量后 送至数码管显示大小。三、C程序代码#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit; /小数点位sbit 旻不=22八7;/液晶使能端口uchar temp,ad;uchar code tablel(12=0x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论