单片机系统开发之利用串口驱动数码管显示_第1页
单片机系统开发之利用串口驱动数码管显示_第2页
单片机系统开发之利用串口驱动数码管显示_第3页
单片机系统开发之利用串口驱动数码管显示_第4页
单片机系统开发之利用串口驱动数码管显示_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机应用系统开发利用串口驱动数码管显示专业:信息对抗技术学号:1411050121姓名: 吴志飞1. 系统设计要求 设晶振频率为12MHZ,将拨码开关数据串行输入到74LS164,并行输出到2个LED数码管进行相应的数码显示。2.系统设计分析: 单片机的最小系统+74LS164接口芯片+两个7段共阴极LED数码管。串口工作于方式0,为移位寄存器方式,波特率为固定的fosc/12,不需要定时计数器T1做波特率发生器。拨码开关的的高低4位分别控制一个数码管,数码管要显示的数据可以用查表法。两个数码管并连接在74LS164的输出端,通过选通位来控制哪一个数码管亮。74LS164是8位边沿触发式移位

2、寄存器,串行输入,并行输出。数据通过俩个输入端A或B之一串行输入,任一输入端可以作为高电平使能端来控制另一输入端的数据输入。俩个输入端或者连接在一起,或者把不用的一端接高电平,一定不要悬空。时钟CP每次有低变高时,数据右移一位输入到Q0。Q0是两个数据输入端的逻辑与。 图1.1 74LS164接口芯片 3系统原理图设计: 系统所需原件为单片机AT89C51,瓷片电容CAP30pf,晶振CRYSTAL12MHZ,电解电容CAP-ELEC,电阻RES,拨码开关DIPSW_8,共阴极数码管7SEG-COM-CAT-GRN俩个,74LS164接口芯片一个以及开关SWITCH。原理图如1.2所示。图1.

3、2 利用串口数据驱动数码管进行相应数码显示4.系统流程图设计:开 始 串口寄存器设置初始化P0、P1口把P1口给累加器A是否拨动开关低4位YN高低4位互换DPTR指向表首地址N判断A的值查表取数发送数据YP1是否等于SBUF结 束5.系统源程序设计:汇编源程序: ORG 0030HSTART:MOV SCON,#00H /串口工作于方式0:移位寄存器方式 MOV P1,#00HREAD: MOV P0,#0FFH MOV A,P1 MOV B,P1 ANL A,#0F0H CJNE A,B,LOW4/HIG4: MOV DPTR,#TABLE SWAP AXH: MOVC A,A+DPTR M

4、OV SBUF,A CLR P0.0 LCALL DELAY MOV A,P1 CJNE A,SBUF,READ AJMP READ/LOW4: MOV A,P1 ANL A,#0FH CJNE A,B,LOOP3 MOV DPTR,#TABLE XL: MOVC A,A+DPTR MOV SBUF,A CLR P0.1 LCALL DELAY MOV A,P1 CJNE A,SBUF,READ AJMP READLOOP3:NOPTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H/延时子程序/

5、DELAY:MOV R7,#20DELAY1:MOV R6,#40DELAY2:MOV R5,#248 DJNZ R5,$ DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET ENDC语言源程序:#include<reg51.h> #define uint unsigned int #define uchar unsigned char void delay(); sbit p01=P01; sbit p00=P00; uchar code tab=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07, 0X7F,0X6F,0X77,0X7

6、C,0X39,0X5E,0X79,0X71; /共阴 uchar a; void main(void) SCON=0X00; while(1) a=P1&0X0F; /低四位 SBUF=taba; while(TI=0); TI=0; p00=1;p01=0;delay(); a=P1&0XF0 ;/高四位 a>>=4; SBUF=taba; while(TI=0); TI=0; p01=1; p00=0; delay(); void delay()/延时子程序 uint c,d; for(c=0;c<400;c+) for(d=0;d<400;d+)

7、; 6.在keil中进行调试: (1)创建“数码管”项目,选择单片机型号为AT89C51,汇编源程序,保存为“数码管.ASM”或“数码管.C”。(2)将源程序添加到项目中。(3)打开项目菜单,选择Options for targettarget 1选项,点击output一项,在Create HEX File前打上对勾。(4)编译源程序,如果有问题,则需要调试修改,若没有错误,则成功创建“数码管.HEX”文件。 图1.3 编译成功提示图7.在Proteus中进行仿真:打开Proteus软件,用左键单击单片机,在出现的对话框中,添加“数码管.HEX”文件,开始仿真,效果如下图所示。 图1.4 数码管仿真图 图1.5 数码管仿真图拨码开关的高低4位分别可以控制一个数码管,分别显示0到F,符合设计要求。8.后言:感想:经过一段时间的学习,从开始对单片机的一无所知,不感兴趣,到现在的自己编程实现实际问题。在这一过程中,随着对单片机知识的逐步深入,兴趣也越来越浓厚,自己去查资料的冲动也越来越强烈。还记得第一次张老师让我们点亮一盏灯时全班同学的一脸茫然,无从下手,但这并不能阻挡我们探索单片机,爱上单片机。现在看着自己编的程序在单片机上运行,内心的激动那是不言而喻。张老师说单片机是一门很枯燥的课程,的确如此,如

温馨提示

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

评论

0/150

提交评论