《2022年单片机系统开发之利用串口驱动数码管显示 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机系统开发之利用串口驱动数码管显示 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用系统开发利用串口驱动数码管显示专业:信息对抗技术学号: 1411050121姓名:吴志飞名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 1. 系统设计要求设晶振频率为12MHZ,将拨码开关数据串行输入到74LS164,并行输出到 2 个 LED数码管进行相应的数码显示。2.系统设计分析:单片机的最小系统 +74LS164 接口芯片 +两个 7 段共阴极 LED数码管。串口工作于方式0,为移位寄存器方式,波特率为固定的
2、fosc/12,不需要定时计数器T1做波特率发生器。拨码开关的的高低4 位分别控制一个数码管,数码管要显示的数据可以用查表法。两个数码管并连接在74LS164的输出端,通过选通位来控制哪一个数码管亮。74LS164是 8位边沿触发式移位寄存器, 串行输入,并行输出。数据通过俩个输入端A 或 B之一串行输入,任一输入端可以作为高电平使能端来控制另一输入端的数据输入。俩个输入端或者连接在一起,或者把不用的一端接高电平,一定不要悬空。时钟CP每次有低变高时, 数据右移一位输入到Q0。Q0是两个数据输入端的逻辑与。3系统原理图设计:系 统 所 需 原 件 为 单 片 机AT89C51 , 瓷 片 电
3、容CAP30pf, 晶 振CRYSTAL12MHZ,电解电容 CAP-ELEC,电阻 RES ,拨码开关 DIPSW_8 ,图 1.1 74LS164接口芯片名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 共阴极数码管 7SEG-COM-CAT-GRN俩个, 74LS164接口芯片一个以及开关 SWITCH 。原理图如 1.2 所示。图 1.2 利用串口数据驱动数码管进行相应数码显示4.系统流程图设计:串口寄存器设置初始化 P
4、0、P1 口是否拨动开关低 4 位开始把 P1 口给累加器A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 5.系统源程序设计:汇编源程序:ORG 0030H DPTR指向表首地址判断 A 的值查表取数发送数据P1是否等于 SBUF 结束高低 4 位互换N Y N Y 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
5、 4 页,共 11 页 - - - - - - - - - START:MOV SCON,#00H /串口工作于方式0:移位寄存器方式MOV P1,#00H READ: MOV P0,#0FFH MOV A,P1 MOV B,P1 ANL A,#0F0H CJNE A,B,LOW4 / HIG4: MOV DPTR,#TABLE SWAP A XH: MOVC A,A+DPTR MOV 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,LOOP
6、3 MOV DPTR,#TABLE XL: MOVC A,A+DPTR MOV SBUF,A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - CLR P0.1 LCALL DELAY MOV A,P1 CJNE A,SBUF,READ AJMP READ LOOP3:NOP TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H /
7、延时子程序 / DELAY:MOV R7,#20 DELAY1:MOV R6,#40 DELAY2:MOV R5,#248 DJNZ R5,$ DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END C语言源程序:#include #define uint unsigned int 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - #define uchar unsigned char void delay(
8、); sbit p01=P01; sbit p00=P00; uchar code tab=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07, 0X7F,0X6F,0X77,0X7C,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(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
9、 - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - a=P1&0XF0 ; / 高四位a=4; SBUF=taba; while(TI=0); TI=0; p01=1; p00=0; delay(); void delay() / 延时子程序 uintc,d; for(c=0;c400;c+) for(d=0;d400;d+) ; 6.在 keil 中进行调试:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11
10、页 - - - - - - - - - (1)创建“数码管”项目,选择单片机型号为AT89C51 ,汇编源程序,保存为“数码管 .ASM”或“数码管 .C” 。(2)将源程序添加到项目中。(3)打开项目菜单,选择Options for targettarget 1选项,点击 output 一项,在 Create HEX File 前打上对勾。(4)编译源程序,如果有问题,则需要调试修改,若没有错误,则成功创建“数码管 .HEX ”文件。图 1.3 编译成功提示图7.在 Proteus中进行仿真:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
11、 - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 打开 Proteus软件,用左键单击单片机,在出现的对话框中,添加“数码管 .HEX ”文件,开始仿真,效果如下图所示。图 1.4 数码管仿真图图 1.5 数码管仿真图拨码开关的高低 4位分别可以控制一个数码管, 分别显示 0到F,符合设计要求。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 8.后言:感想:
12、经过一段时间的学习,从开始对单片机的一无所知,不感兴趣,到现在的自己编程实现实际问题。在这一过程中,随着对单片机知识的逐步深入,兴趣也越来越浓厚,自己去查资料的冲动也越来越强烈。还记得第一次张老师让我们点亮一盏灯时全班同学的一脸茫然,无从下手,但这并不能阻挡我们探索单片机,爱上单片机。现在看着自己编的程序在单片机上运行,内心的激动那是不言而喻。张老师说单片机是一门很枯燥的课程,的确如此,如果不是有兴趣作为支撑, 很容易半途而废, 一无所获。但是一旦入了门,什么时候想要学了,或者有时间学了,都可以很轻松的捡起来。单片机的知识浩瀚如海,而我们就像一个呱呱坠地的婴儿,只要怀着一颗好奇、探索的心不断汲取,不断充实自己,将来一定会让自己强壮无比。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -