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

下载本文档

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

文档简介

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

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

3、所示。图1.2利用串口数据驱动数码管进行相应数码显示4 .系统流程图设计串口寄存器设置初始化P0、P1 口把P1 口给累加器A5.系统源程序设计:汇编源程序:ORG 0030HSTART:MOV SCON,#00H邮口工作于方式 0:移位寄存器方式MOV P1,#00HREAD: MOV P0,#0FFHMOV A,P1MOV B,P1ANL A,#0F0HCJNE A,B,LOW4/HIG4: MOV DPTR,#TABLESWAP AXH: MOVC A,A+DPTRMOV SBUF,ACLR P0.0LCALL DELAYMOV A,P1CJNE A,SBUF,READAJMP READ

4、/LOW4: MOV A,P1ANL A,#0FHCJNE A,B,LOOP3MOV DPTR,#TABLEXL: MOVC A,A+DPTRMOV SBUF,ACLR P0.1LCALL DELAYMOV A,P1CJNE A,SBUF,READAJMP READLOOP3:NOPTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H/延时子程序DELAY:MOV R7,#20DELAY1:MOV R6,#40DELAY2:MOV R5,#248DJNZ R5,$DJNZ R6,DELAY2DJNZ

5、 R7,DELAY1RETENDC语言源程序:#include#define uint unsigned int#define uchar unsigned charvoid delay();sbit p01=P0A1;sbit p00=P0A0;uchar codetab=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0 X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71;/共阴uchar a;void main(void)SCON=0X00;whilea=P1&0X0F;/ 低四位SBUF=taba;while(TI=0);TI=

6、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;c400;c+)for(d=0;d400;d+);)6.在keil中进行调试:(1)创建“数码管”项目,选择单片机型号为 AT89C51汇编源程序,保存为“数码管.ASM或“数码管.C”。(2)将源程序添加到项目中。(3)打开项目菜单,选择 Options for targettarget 1 选项,点击output 一项,在Create HEX

7、 File 前打上对勾。(4)编译源程序,如果有问题,则需要调试修改,若没有错误,则成功创建“数码管.HEX文件。Suild target Target 1 , compiling 数码管 linking.,Program Size : data=10.0 xdata-0 code=HB creating hex file from 数码管 数码管-0 Error (s) f 0 Warning ts) *图1.3编译成功提示图7 .在Proteus中进行仿真:打开Proteus软件,用左键单击单片机,在出现的对话框中, 添加“数码管.HEX文件,开始仿真,效果如下图所示。图1.4 数码管仿真图nwo rd 1WTI r 0口 德如门-u图1.5数码管仿真图拨码开关的高低4位分别可以控制一个数码管,分别显示0到F, 符合设计要求。8 .后言:感想:经过一段时间的学习,从开始对单片机的一无所知, 不感兴趣,到现在的自己编程实现实际问题。在这一过程中,随 着对单片机知识的逐步深入,兴趣也越来越浓厚,自己去查资料 的冲动也越来越强烈。还记得第一次张老师让我们点亮一盏灯时 全班同学的一脸茫然,无从下手,但这并不能阻挡我们探索单片 机,爱上单片机。现在看着自己编的程序在单片机上运行,内心 的激动那是不言而喻。张老师说单片机是一门很枯燥的课程,的 确如此,如果不是

温馨提示

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

评论

0/150

提交评论