单片机系统开发之利用串口驱动数码管显示Word文档下载推荐.docx
- 文档编号:14434903
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:17.20KB
单片机系统开发之利用串口驱动数码管显示Word文档下载推荐.docx
《单片机系统开发之利用串口驱动数码管显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机系统开发之利用串口驱动数码管显示Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
单片机的最小系统+74LS164接口芯片+两个7段共阴极LED
数码管。
串口工作于方式0,为移位寄存器方式,波特率为固定的fosc/12,不需要定时计数器T1做波特率发生器。
拨码开关的的高低4位分别控制一个数码管,数码管要显示
的数据可以用查表法。
两个数码管并连接在74LS164的输出端,通过选通位来控制
哪一个数码管亮。
74LS164是8位边沿触发式移位寄存器,串行输入,并行输出。
数据通过俩个输入端A或B之一串行输入,任一输入端可以作为高电平使能端来控制另一输入端的数据输入。
俩个输入端或者连接在一起,或者把不用的一端接高电平,一定不要悬空。
时
钟CP每次有低变高时,数据右移一位输入到Q0。
Q0是两个数据输入端的逻辑与。
3.系统原理图设计:
图1.174LS164接口芯片
系统所需原件为单片机AT89C51,瓷片电容CAP30pf,晶振CRYSTAL12MHZ,电解电容CAP-ELEC,电阻RES,拨码开关DIPSW_8,共阴极数码管7SEG-COM-CAT-GRN俩个,74LS164接口芯片一个以及开关SWITCH。
原理图如1.2所示。
图1.2利用串口数据驱动数码管进行相应数码显示
4.系统流程图设计:
开始
串口寄存器设置
初始化P0、P1口
把P1口给累加器A
是否拨动开关低4位
N
Y
高低4位互换
DPTR指向表首地址
判断A的值
查表取数
发送数据
P1是否等于SBUF
结束
5.系统源程序设计:
汇编源程序:
ORG0030H
START:
MOVSCON,#00H//串口工作于方式0:
移位寄存器方式
MOVP1,#00H
READ:
MOVP0,#0FFH
MOVA,P1
MOVB,P1
ANLA,#0F0H
CJNEA,B,LOW4
/////////////////////////
HIG4:
MOVDPTR,#TABLE
SWAPA
XH:
MOVCA,@A+DPTR
MOVSBUF,A
CLRP0.0
LCALLDELAY
CJNEA,SBUF,READ
AJMPREAD
///////////////////////////
LOW4:
MOVA,P1
ANLA,#0FH
CJNEA,B,LOOP3
MOVDPTR,#TABLE
XL:
CLRP0.1
LOOP3:
NOP
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71H
////////延时子程序//////////////
DELAY:
MOVR7,#20
DELAY1:
MOVR6,#40
DELAY2:
MOVR5,#248
DJNZR5,$
DJNZR6,DELAY2
DJNZR7,DELAY1
RET
END
C语言源程序:
#include<
reg51.h>
#defineuintunsignedint
#defineucharunsignedchar
voiddelay();
sbitp01=P0^1;
sbitp00=P0^0;
ucharcode
tab[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X
07,
0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71};
//共阴
uchara;
voidmain(void)
{
SCON=0X00;
while
(1)
a=P1&
0X0F;
//低四位
SBUF=tab[a];
while(TI==0);
TI=0;
p00=1;
p01=0;
delay();
0XF0;
//高四位
a>
>
=4;
p01=1;
p00=0;
}
voiddelay()//延时子程序
uintc,d;
for(c=0;
c<
400;
c++)
for(d=0;
d<
d++)
{;
6.在keil中进行调试:
(1)创建“数码管”项目,选择单片机型号为AT89C51,汇编源程序,保存为“数码管.ASM”或“数码管.C”。
(2)将源程序添加到项目中。
(3)打开项目菜单,选择Optionsfortarget’target1选项,’点击output一项,在CreateHEXFile前打上对勾。
(4)编译源程序,如果有问题,则需要调试修改,若没有错误,则成功创建“数码管.HEX”文件。
图1.3编译成功提示图
7.在Proteus中进行仿真:
打开Proteus软件,用左键单击单片机,在出现的对话框中,
添加“数码管.HEX”文件,开始仿真,效果如下图所示。
图1.4数码管仿真图图1.5数码管仿真图
拨码开关的高低4位分别可以控制一个数码管,分别显示0到F,符合设计要求。
8.后言:
感想:
经过一段时间的学习,从开始对单片机的一无所知,不感兴趣,到现在的自己编程实现实际问题。
在这一过程中,随
着对单片机知识的逐步深入,兴趣也越来越浓厚,自己去查资料的冲动也越来越强烈。
还记得第一次张老师让我们点亮一盏灯时全班同学的一脸茫然,无从下手,但这并不能阻挡我们探索单片机,爱上单片机。
现在看着自己编的程序在单片机上运行,内心的激动那是不言而喻。
张老师说单片机是一门很枯燥的课程,的
确如此,如果不是有兴趣作为支撑,很容易半途而废,一无所获。
但是一旦入了门,什么时候想要学了,或者有时间学了,都可以
很轻松的捡起来。
单片机的知识浩瀚如海,而我们就像一个呱呱
坠地的婴儿,只要怀着一颗好奇、探索的心不断汲取,不断充实
自己,将来一定会让自己强壮无比。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 系统 开发 利用 串口 驱动 数码管 显示