单片机串行口接俩个数码管
单片机双机串口通信
单片机双机串口通信在现代电子技术领域,单片机的应用无处不在。
而单片机之间的通信则是实现复杂系统功能的关键之一。
其中,双机串口通信是一种常见且重要的通信方式。
什么是单片机双机串口通信呢?简单来说,就是让两个单片机能够通过串口相互交换数据和信息。
想象一下,两个单片机就像是两个小伙伴,它们需要交流分享彼此的“想法”和“知识”,串口通信就是它们交流的“语言”。
串口通信,顾名思义,是通过串行的方式来传输数据。
这和我们日常生活中并行传输数据有所不同。
在并行传输中,多个数据位同时传输;而在串行传输中,数据一位一位地按顺序传送。
虽然串行传输速度相对较慢,但它所需的硬件连线简单,成本较低,对于单片机这种资源有限的设备来说,是一种非常实用的通信方式。
在进行单片机双机串口通信时,我们首先要了解串口通信的一些基本参数。
比如波特率,它决定了数据传输的速度。
就像两个人说话的快慢,如果波特率设置得不一致,那么双方就无法正常理解对方的意思,数据传输就会出错。
常见的波特率有 9600、115200 等。
还有数据位、停止位和校验位。
数据位决定了每次传输的数据长度,常见的有 8 位;停止位表示一个数据帧的结束,通常是 1 位或 2 位;校验位则用于检验数据传输的正确性,有奇校验、偶校验和无校验等方式。
为了实现双机串口通信,我们需要在两个单片机上分别进行编程。
编程的主要任务包括初始化串口、设置通信参数、发送数据和接收数据。
初始化串口时,我们要配置好相关的寄存器,使其工作在我们期望的模式下。
比如设置波特率发生器的数值,以确定合适的波特率。
发送数据相对来说比较简单。
我们将要发送的数据放入特定的寄存器中,然后启动发送操作,单片机就会自动将数据一位一位地通过串口发送出去。
接收数据则需要我们不断地检查接收标志位,以确定是否有新的数据到来。
当有新数据时,从接收寄存器中读取数据,并进行相应的处理。
在实际应用中,单片机双机串口通信有着广泛的用途。
比如在一个温度监测系统中,一个单片机负责采集温度数据,另一个单片机则负责将数据显示在屏幕上或者上传到网络。
单片机_两个数码管显示00~99
按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2
接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)//
#include<reg52.h>
sbit P0_0=P0^0; //个位数字
sbit P0_1=P0^1; //十位数字
/按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2
接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)
**************************************************************//
{
case 0xfe: num++;if(num==100) num=0; break;
case 0xfd: if(num==0) num=99;else num--;break;
default: break;
}
delay(10); //延时
P0_1=1; //关闭个位显示
}
}
void key_ccan(void)
{
unsigned char ii;
P1=0xff;
ii=P1;
void delay(int k); //Tab为数码管显示值,存入一个数组内
void key_ccan(void); //声明按键扫描函数
unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}unsigned char i,shi,ge,num,count=10; //num为被显示的数字
第06章-单片机串行通信系统-习题解答
第6章单片机串行通信系统习题解答一、填空题1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。
2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。
3.SCON中的REN=1表示允许接收。
4.PCON 中的SMOD=1表示波特率翻倍。
5.SCON中的TI=1表示串行口发送中断请求。
6.MCS-51单片机串行通信时,先发送低位,后发送高位。
7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。
8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。
9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。
10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。
二、简答题1.串行口设有几个控制寄存器?它们的作用是什么?答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。
其中PCON 中只有PCON.7的SMOD与串行口的波特率有关。
在SCON中各位的作用见下表:2.MCS-51单片机串行口有几种工作方式?各自的特点是什么?答:有4种工作方式。
各自的特点为:3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 答:串行口各种工作方式的波特率设置:工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。
工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。
当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64计算定时器的初值计算:4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少?并进行初始化编程。
单片机单片机课程设计-双机串行通信
单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
51单片机双机串行通信设计
51单片机双机串行通信设计51单片机是一款广泛应用于嵌入式系统中的微控制器,具有高性能和低功耗的特点。
在一些场景中,需要使用51单片机之间进行双机串行通信,以实现数据传输和协同工作。
本文将介绍51单片机双机串行通信的设计,包括硬件连接和软件编程。
一、硬件连接1.串行通信口选择:51单片机具有多个串行通信口,如UART、SPI 和I2C等。
在双机串行通信中,可以选择其中一个串行通信口作为数据传输的接口。
一般来说,UART是最常用的串行通信口之一,因为它的硬件接口简单且易于使用。
2.引脚连接:选定UART口作为串行通信口后,需要将两个单片机之间的TX(发送)和RX(接收)引脚相连。
具体的引脚连接方式取决于所使用的单片机和外设,但一般原则上是将两个单片机的TX和RX引脚交叉连接。
二、软件编程1.串行通信初始化:首先需要通过软件编程来初始化串行通信口。
在51单片机中,可以通过设置相应的寄存器来配置波特率和其他参数。
具体的初始化代码可以使用C语言编写,并根据所使用的开发工具进行相应的配置。
2.发送数据:发送数据时,可以通过写入相应的寄存器来传输数据。
在51单片机中,通过将数据写入UART的发送寄存器,即可将数据发送出去。
发送数据的代码通常包括以下几个步骤:(1)设置发送寄存器;(2)等待数据发送完成;(3)清除数据发送完成标志位。
3.接收数据:接收数据时,需要通过读取相应的寄存器来获取接收到的数据。
在51单片机中,可以通过读取UART的接收寄存器,即可获取到接收到的数据。
接收数据的代码通常包括以下几个步骤:(1)等待数据接收完成;(2)读取接收寄存器中的数据;(3)清除数据接收完成标志位。
4.数据处理:接收到数据后,可以进行相应的数据处理。
根据具体的应用场景,可以对接收到的数据进行解析、计算或其他操作。
数据处理的代码可以根据具体的需求进行编写。
5.中断服务程序:在双机串行通信中,使用中断可以提高通信的效率。
单片机串口连接两个74LS164驱动两个LED数码管
单片机应用设计课题:串口连接两个74LS164驱动2个LED数码管显示班级学号: 14110501xx 姓名: xx1设计要求1.1 设计内容设晶体为12MHz,将拨码开关数据串行输入到74LS164,并行输出到2个LED 数码管进行相应的数码显示。
设计包括:系统设计分析、系统原理图设计、程序流程图设计、源程序设计、系统调试与仿真及调试结果分析、对本课程学习的感想与收获、对老师的意见与建议、期望成绩等。
1.2 学习目的该作业具有较强的实用性,许多同学已经认识到自己完全有能力设计一个实用的单片机应用系统,对单片机设计由感兴趣已经变为爱好了,为后面的实际应用系统设计奠定了较好的基础。
2 系统设计分析2.1 单片机最小系统+串口+74LS164+LED数码管单片机的最小系统是单片机能够工作的最小硬件组合,对于8051系列单片机,其电路的最小系统大致相同,主要包括电源、晶体振荡电路、复位电路等。
2.1.1 串口数据通信方式包括并行通信和串行通信两种。
并行通信就是多条数据线上同时传送,其优点:速度快,只适于近距离通信。
串行通信就是数据以为以为的顺序传送,其优点:线路简单,成本低,适合远距离通信。
串行通信方式包括:异步串行通信和同步串行通信。
异步方式,数据传送不连续,时间间隔任意。
同步方式,发送与接收同步。
数据传送方式:单工、半双工、全双工、多工。
常见的串行通讯有:RS-232、RS-485、CAN总线等。
串行口控制寄存器包括:串行口控制寄存器SCON(控制工作方式)、电源控制寄存器PCON(控制波特率)。
SM0、SM1选择工作方式,SM2用于多机通信,REN允许接收控制位,TB8/RB8发送/接收数据D8位,TI/RI为发送/接收中断标志位。
2.1.2 74LS164串行口工作于方式0,发送数据时,是把串行端口设置成“串入并出的”输出口。
将它设置为“串入并出”输出口时,需外接1片“串入并出”同步移位芯片74LS164或CD4094,本次设计,用74LS164。
第2讲 单片机控制两个数码管
共阳极代码 6FH 77 H 7CH 39H 5EH 79H 71H 00H
4 5 6 7 8
99H 92H 82H F 8H 80H
66H 6DH 7 DH 07 H 7FH
思考:y、J、L、H的编码?
2
任务2-1 单片机控制两个数码管静态显示 单片机控制两个数码管静态显示00-99 任务
1、两个共阳 极数码管; 2、P2控制十 位,P1控制个 位 3、延时方式: 延迟时间1秒。
第2讲 单片机控制两个数码管 讲
本讲内容: 1、单片机控制两个数码管静态显示00-99 2、单片机控制两个数码管静态显示按钮 次数
1
十六进制数字型代码表
字型 0 1 2 3
共阳极代码 共阴极代码 C0H F 9H A4H B0H 3FH 06H 5BH 4FH
字型 9 A B C D E 1H 86H 84H FFH
3
程序框图
4
second
汇编程序设计
分析: 1, 两个数码管显示:十 位值放在(A),个位值放 在(B),方法:采用 DIV,(20H)/10,商A,余数B 2,将second从00到99循 环附值 3,每个second显示一次, 只要将前面的程序作为子 程序调用。 4,显示间隔:采用延迟 子程序(延迟时间为1秒)
EQU 20H ORG 0000H START: MOV second,#00H LOOP: ACALL SHOW ACALL DELAY1S INC second MOV R0,second CJNE R0,#64H,LOOP SJMP START SHOW: MOV A,20H MOV B,#10 DIV AB SHOW1: MOV DPTR,#TAB MOVC A,@A+DPTR ;十位 MOV P2,A MOV A,B ;个位 MOVC A,@A+DPTR MOV P1,A RET DELY1S: MOV R6,#100 D2: MOV R5,#20 D1: MOV R4,#248 DJNZ R4,$ DJNZ R5,D1 DJNZ R6,D2 RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H
单片机实验两位数码管显示报告
一、实验目的1、在之前单键实验和中断控制数码管“静态”显示实验的基础上,把单键判断、数码管显示和中断结合起来编写中断程序实现单键控制一位数码管;2、在实现控制一位数码管显示的基础上用单键控制两位数码管显示。
二、实验所需器材与软件硬件:电脑、传输线、AT89S52单片机软件:编程软件Keil uVision3;读写软件MePro V5.02三、实验程序的及其分析:1、单键控制一位数码管显示主要设计思路:在中断主程序后加入单键判断键按下情况判断语句,把数码管显示程序放在中断子程序中。
当有键按下且有中断请求时,重新给数码管显示偏移地址赋值,从而改变显示内容。
程序:ORG 0000HAJMP MAIN ;转向主程序ORG 001BH ;中断矢量地址AJMP T_INT ;转向中断服务程序MAIN: ;主程序标号MOV R3,#0 ;表偏移地址MOV DPTR,#TAB ;把表头地址赋值给寄存器DPTRMOV TMOD,#10H ;设定定时器工作于模式1MOV TH1,#0FEH ;定时器赋初值MOV TL1,#0EHSETB ET1 ;开中断SETB EASETB TR1 ;启动定时器LOOP1:JNB P1.4, LOOP4AJMP LOOP1LOOP4:ACALL DELAYJNB P1.4, LOOP_ADD 单键按下判断程序LOOP_ADD:INC R3CJNE R3,#10,LOOP8MOV R3,#0LOOP8: AJMP LOOP1T_INT: MOV TH1,#0FEHMOV TL1,#0EHMOV A,R3 中断程序内嵌的数码管显示程序MOVC A,@A+DPTRMOV P0,AMOV P2,#11111110BRETITAB:DB 0C0H,0F9H,0A4H,0B0H ,99H,92H,82H,0F8H ;表内容DB 80H,90HDELAY:MOV R5,#64HLOOP5:MOV R7,#0FFHLOOP6:NOPNOP 用于单键按下防抖动的延时程序DJNZ R7,LOOP6DJNZ R5,LOOP5RET2、单键控制两位数码管显示设计思路:用两个寄存器分别存放数码管显示的个位和十位,并且在数码管显示程序中用移位指令对数码管的位码进行移位,使每次执行中断程序时显示一位数,循环两次中断程序后“静态”显示两位数字。
单片机实验6(串行口)
串行口通信
一、实验目的: 1、单片机系统中,如果并行口不够用, 可使用未用 的串行口进行扩充,实现串行输入并行输出。 2、用单片机串行口实现与2个单片机的双机通信。 3、熟悉XLISP系列 单片机综合仿真试验仪的组成 和使用方法。 用XLISP软件和keil-uvision2集成调试软件进行 实验并能得到正确的实验结果。
2016/6/27
(二)单片机双机通信 1、硬件连接: (1) 用2台仿真仪,用3条1PIN数据线连接:甲机 RXD接乙机TXD,乙机RXD接甲机TXD,2机的地相连。 (2)甲机用一根8PIN的数据线 接8个按键。乙机 用一根8PIN的数据线接 8路指示灯。 (3)甲机选择按键状态并将P1口信息发给乙机, 乙机根据甲机发来的信息点亮相应的发光二级管。
2、参考程序 #include "reg51.h“ unsigned char dat=0xfe;//定义发送数据 void delay1(unsigned int i); main() { unsigned char i; void SCON=0x00;//串行口工作方式0 delay1(unsigned while(1) int t) { for (i=0;i<8;i++) { int i; { SBUF=dat; //传送左8位灯 for(i=0;i<t;i++) while(!TI);//查询TI {;} TI=0; //软件给TI清0 } dat<<=1; //数据左移一位 delay1(12000); } } }
二、实验内容
1、串入并出实验 用74LS164来扩充并行口,并利用74LS164串行口实现8路 跑马灯。 2、单片机与单片机之间的双机通信(P204) 用2台单片机用串行口实现双机通信。 (1)甲机P1口接8个键盘,乙机P1口接8个发光二极管。甲 机RXD接乙机TXD,乙机RXD接甲机TXD。 (2)甲机发送01H 给乙机,乙机接到回复02H。建立联系 后甲机选择按键状态并将P1口信息发给乙机,乙机根据甲机发 来的信息点亮相应的发光二级管。 (3)发送FF时表示通信结束。
单片机双机串行实验报告
单片机双机串行实验报告实验目的:通过单片机实现双机串行通信功能,掌握串行通信的原理、方法和程序设计技巧。
实验原理:双机串行通信是指通过串行口将两台单片机连接起来,实现数据的传输和互动。
常用的串行通信方式有同步串行通信和异步串行通信。
异步串行通信是指通过发送和接收数据时的起始位、停止位和校验位进行数据的传输。
而同步串行通信是指通过外部时钟信号进行数据的同步传输。
实验器材:1.两台单片机开发板(MCU7516)2.两个串口线3.两台计算机实验步骤:1.将两台单片机开发板连接起来,通过串口线连接它们的串行口。
2.在两台计算机上分别打开串口调试助手软件,将波特率设置为相同的数值(例如9600)。
3.在编程软件中,编写两个程序分别用于发送数据和接收数据。
4.在发送数据的程序中,首先要设置串口的波特率、数据位、停止位和校验位,并将数据存储在缓冲区中。
然后利用串口发送数据的指令将数据发送出去。
5.在接收数据的程序中,同样要设置串口的参数。
然后使用串口接收数据的指令将接收到的数据存储在缓冲区中,并将其打印出来。
实验结果与分析:经过实验,我们成功地实现了单片机之间的双机串行通信。
发送数据的单片机将数据发送出去后,接收数据的单片机能够正确地接收到数据,并将其打印出来。
实验中需要注意的是,串口的波特率、数据位、停止位和校验位必须设置为相同的数值。
否则,发送数据的单片机和接收数据的单片机无法正常进行通信。
同时,在实验之前,需要了解单片机开发板支持的串口通信相关的指令和函数。
实验总结:通过本次实验,我们深入了解了单片机之间的双机串行通信原理和方法。
掌握了串口的设置和使用方法,以及相关的指令和函数。
在实验中,我们学会了如何通过串行口实现数据的传输和互动,为今后的单片机应用和开发打下了基础。
同时,我们还发现,双机串行通信在实际应用中有着广泛的用途。
例如,可以通过串行通信实现两台计算机之间的数据传输,或者实现单片机与计算机之间的数据收发。
利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
****** 大学电子设计应用软件训练总结报告学生姓名:*系、专业:*班级学号:*指导教师:*训练时间:*电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
单片机串口连接两个74LS164驱动两个LED数码管学习资料
单片机串口连接两个74L S164驱动两个L E D数码管单片机应用设计课题:串口连接两个74LS164驱动2个LED数码管显示班级学号: 14110501xx 姓名: xx1设计要求1.1 设计内容设晶体为12MHz,将拨码开关数据串行输入到74LS164,并行输出到2个LED数码管进行相应的数码显示。
设计包括:系统设计分析、系统原理图设计、程序流程图设计、源程序设计、系统调试与仿真及调试结果分析、对本课程学习的感想与收获、对老师的意见与建议、期望成绩等。
1.2 学习目的该作业具有较强的实用性,许多同学已经认识到自己完全有能力设计一个实用的单片机应用系统,对单片机设计由感兴趣已经变为爱好了,为后面的实际应用系统设计奠定了较好的基础。
2 系统设计分析2.1 单片机最小系统+串口+74LS164+LED数码管单片机的最小系统是单片机能够工作的最小硬件组合,对于8051系列单片机,其电路的最小系统大致相同,主要包括电源、晶体振荡电路、复位电路等。
2.1.1 串口数据通信方式包括并行通信和串行通信两种。
并行通信就是多条数据线上同时传送,其优点:速度快,只适于近距离通信。
串行通信就是数据以为以为的顺序传送,其优点:线路简单,成本低,适合远距离通信。
串行通信方式包括:异步串行通信和同步串行通信。
异步方式,数据传送不连续,时间间隔任意。
同步方式,发送与接收同步。
数据传送方式:单工、半双工、全双工、多工。
常见的串行通讯有:RS-232、RS-485、CAN总线等。
串行口控制寄存器包括:串行口控制寄存器SCON(控制工作方式)、电源控制寄存器PCON(控制波特率)。
SM0、SM1选择工作方式,SM2用于多机通信,REN允许接收控制位,TB8/RB8发送/接收数据D8位,TI/RI为发送/接收中断标志位。
2.1.2 74LS164串行口工作于方式0,发送数据时,是把串行端口设置成“串入并出的”输出口。
将它设置为“串入并出”输出口时,需外接1片“串入并出”同步移位芯片74LS164或CD4094,本次设计,用74LS164。
利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
****** 大学电子设计应用软件训练总结报告学生姓名:*系、专业:*班级学号:*指导教师:*训练时间:*电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
两位数码管显示
目录
1.设计背影……………………………………………………… ……1 1.1 课题设计的提出………………………………………1 1.2 LED 数码管的前景……………………………………………1 1.3 研究 LED 数码管循环显示的意义…………………………………1
2.设计方案…………………………………………………………1 2.1 动态显示与静态显示……………………………………………1 2.2 硬件设计与软件设计………………………………… 2
2.2 硬件设计与软件设计
桥堆 2W10 通过整流把从变压器获得的 220V 交流电压变成直流电压并且通过 7805 的稳压作用把直流电压变成稳定的+5V 电压,发光二极管与电阻串联后和上述稳压电路 并联,一方面提示电路的正常运行,另一方面没有分得主电路的电压,保证电压的稳定; AT89C51 的 EA 口接上述电路;AT89C51 的 RES 口接上复位电路使电路具有复位功能,XTAL1 与 XTAL2 接上晶振电路,给电路提供稳定的时钟频率;P3 口通过电阻接段选显示,P2 口接位选显示;三极管基极接 P2 口作为位选,射极接 LED 数码管的共阳极,集电极接 +5V 电路中,三极管作为 LED 数码管的驱动电路,驱动 LED 数码管的显示;LED 数码管 的七段连接在 P3 口上,循环显示数字 00~99.整个电路完成了循环显示数字 00~99 电路。
利用 AT89C52 芯片控制两位数码管的显示,三极管作为驱动电路驱动数码管的显示, 桥堆 2W10 和 7805 作为整流和稳压电路提供稳定的+5V 电压,复位电路为电路提供复位 功能,晶振电路提供稳定的时钟频率,组成带有复位功能的循环显示数字 00~99 的电路。 利用 Keil 编写程序并且调试成功,在 Protus 下仿真导入程序的电路,并调试使电路能 够循环显示数字 00~99.
简述单片机控制数码管动态显示的工作原理
简述单片机控制数码管动态显示的工作原理一、概述数码管动态显示是一种常见的技术,它通过单片机控制多个数码管以实现同时显示多路数据。
这种技术广泛应用于各种电子设备中,如数字仪表、电子时钟、智能仪表等。
单片机作为一种低功耗、低成本、高集成度的芯片,成为了实现数码管动态显示的核心器件。
二、工作原理1.硬件连接数码管动态显示通常需要连接多个数码管和单片机。
每个数码管需要一个行驱动器,用于控制数码管的亮灭。
单片机通过串行接口与行驱动器相连,以控制多个数码管的显示。
同时,单片机还需要连接一个时钟电路,以实现定时刷新数码管的数据。
在实际应用中,行驱动器通常采用共阳极接法,而单片机则采用串行数据传输方式与行驱动器进行通信。
此外,为了实现数码管的动态显示,通常还需要连接多个限流电阻和限位电阻等元器件。
2.显示方式数码管动态显示主要有静态显示和动态显示两种方式。
静态显示是指每个数码管轮流显示,实现多路数据的依次显示,但由于需要为每个数码管分配单独的接口,因此适用于数据量较小的场景。
而动态显示则是通过控制数码管的行驱动器轮流导通,实现多个数码管的依次显示,从而适用于数据量较大的场景。
行驱动器通常采用轮流导通的方式控制多个数码管,以达到同时显示多路数据的目的。
3.控制方式单片机通过串行接口向行驱动器发送控制信号,包括数据信号和时钟信号。
数据信号用于传输要显示的数据,时钟信号则用于定时刷新数据。
此外,单片机还可以通过中断控制方式,根据需要实时更新显示内容。
在实际应用中,为了提高刷新速度和显示效果,通常需要优化单片机的处理速度和行驱动器的驱动能力。
此外,单片机还可以通过PWM(脉宽调制)控制行驱动器的电流大小,以实现更好的亮度调节和动态效果。
4.刷新速度数码管动态显示的刷新速度取决于单片机的处理速度和行驱动器的驱动能力。
为了获得更好的显示效果和更长的使用寿命,通常需要较高的刷新速度和适当的行驱动器驱动电流。
此外,可以通过优化软件算法和代码来实现更高的刷新速度和更好的显示效果。
基于单片机实现的两位数码管显示设计
两位数码管显示设计摘要:两位数码管的显示设计主要有硬件部分和软件部分组成,硬件部分以单片机为核心,在其周围有电源电路、时钟电路、复位电路、驱动电路和显示电路组成。
软件部分用汇编语言编程,用keil软件编译、调试。
最后用proteus软件仿真,形成以单片机为枢纽,以程序为动力,使两位数码管循环显示00-99。
关键词:AT89C52 数码管 keil proteus 汇编语言动态显示目录1.设计背景 (1)1.1设计课题及目的 (1)1.2相关技术与应用领域 (1)2.设计方案 (2)2.1静态设计 (2)2.2动态显示 (2)2.3硬件电路设计方案 (2)3. 方案实施 (3)3.1方案论证 (3)3.2设计内容 (3)3.3硬件设计 (4)3.4软件设计 (6)4. 结果与结论 (7)4.1 结果 (7)4.2 结论 (7)5. 收获与致谢 (7)5.1 收获与致谢 (7)6. 参考文献 (8)7. 附件 (9)7.1仿真原理图 (9)7.2汇编程序 (10)7.3 LED的段码 (10)7.4元件清单 (11)1.设计背景1.1设计课题及目的本课题是以单片机为核心,通过动态扫面的方式,实现两位数码管的动态显示。
单片机即单片微型计算机,是集CPU,RAM,ROM,定时,计数,和多种接口于一体的微控制器,他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上,AT89C52单片机是各单片机中比较具有代表性的一种。
这次课程设计通过对他的学习,应用,从而达到学习,设计,开发软硬件的能力.1.2相关技术与应用领域单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器的CPU、随机存储器RAM、只读存储器ROM、多种输入输出口和中断系统、定时器∕计数器等功能集成到一个硅片上构成一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到那个领域没有单片机的踪迹。
两位数码管显示设计
两位数码管显示设计摘要:两位数码管显示设计是基于AT89S52单片机的两位数码管显示系统,通过AT89S52进行控制,用C语言编写了两位数码管循环扫描动态显示的专用程序。
数码管通过共阳极的三极管进行驱动。
电源通过桥堆2W10和7805将通过变压的交流电压变为5V的直流电源。
复位用电容与按键的并联来实现。
时钟用12M的晶振来控制。
通过单片机的片选信号控制数码管的灯管,使其依次点亮,由于人眼有视觉暂留的特性和数码管的余晖效应,而扫描频率足够高,因此人眼是感觉不出数码管的变化的。
关键词:AT89S52 晶振动态扫描显示共阳极数码管复位软件7805 桥堆2W10目录1.设计背景1.1 单片机应用背景 (1)1.2共阳极数码管的显示方法 (1)1.3共阳极数码管的驱动设计 (1)2.设计方案 (1)2.1方案一:共阳极数码管静态显示 (1)2.2方案二:共阳极数码管动态显示 (2)2.3数码管静态与动态显示的优缺点比较 (3)3.方案实施 (3)3.1电源电路设计 (3)3.2复位及震荡电路 (3)3.3单片机接口 (4)3.4软件设计 (4)3.5调试仿真 (6)3.6实物制作 (6)4.结果与结论 (6)4.1结果 (6)4.2结论 (6)5.收获与致谢 (7)6.参考文献 (7)7.附件 (7)7.1元器件清单 (7)7.2硬件原理图 (8)7.3流程图 (8)7.4实物拍照 (9)1.设计背景1.1单片机发展前景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号********* 成绩
沈阳城市建设学院
课外设计作业5
设计名称单片机原理及应用
设计题目串行口链接两个数码管
专业建筑电气与智能化
班级 16-1
姓名李艳新
指导教师单超颖
2017 年 11 月 27 日
一、系统构成
单片机+共阳极LED数码管+74LS164+按键
二、系统原理
数据通信方式包括并行通信和串行通信两种。
并行通信就是多条数据线上同时传送,其优点:速度快,只适于近距离通信。
串行通信就是数据以为以为的顺序传送,其优点:线路简单,成本低,适合远距离通信。
串行通信方式包括:异步串行通信和同步串行通信。
异步方式,数据传送不连续,时间间隔任意。
同步方式,发送与接收同步。
数据传送方式:单工、半双工、全双工、多工。
常见的串行通讯有:RS-232、RS-485、CAN总线等。
串行口控制寄存器包括:串行口控制寄存器SCON(控制工作方式)、电源控制寄存器PCON(控制波特率)。
SM0、SM1选择工作方式,SM2用于多机通信,
REN允许接收控制位,TB8/RB8发送/接收数据D8位,TI/RI为发送/接收中断标志位。
2.1.2 74LS164
串行口工作于方式0,发送数据时,是把
串行端口设置成“串入并出的”输出口。
将它
设置为“串入并出”输出口时,需外接1片“串入并出”同步移位芯片74LS164或CD4094,本次设计,用74LS164。
74LS164是8位边沿触发式移位寄存器,具有DIP、SO14等多种封装形式。
其DIP封装形式如右图所示。
数据通过A或B之一串行输入,任一输入端可以用作高电平使能端控制另一输入端的数据输入,两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟CP每次由低变高(边沿触发)时,数据右移一位输入到Q0。
Q0是两个数据输入端A和B 的逻辑与。
输入的数据在Q0输出,并依次右移在其它输出端口输出。
2.1.3 LED数码管
LED数码管是单片机应用系统中常用的输出设备,其特点结构简单,价格便宜。
单片机系统常用7段LED数码管,由8个发光二极管构成。
LED数码管分为共阳极和共阴极两种。
共阳极LED数码管,就是8个LED阳极连接在一起再接高电平。
共阴极LED数码管,就是8个LED阴极连接在一起再接地。
通过相应的LED显示,呈现出对应的数字、符号。
2.2 ‘串入并出’驱动LED数码管显示
本次设计,对拨码开关进行拨动,从而将信息传递给单片机,再
由单片机通过串口工作在方式0将数据串行输出给74LS164,由74LS164并行输出给LED数码管,进行相应的显示。
实际操作中,拨码开关低四位控制一个74LS164驱动一个LED数码管,而拨码开关高四位控制另一个74LS164驱动另一个LED数码管,使两个LED数码管独立显示。
本次设计涉及到,串口工作方式。
串口工作于方式0时,其功能为8位移位寄存器,相当于I/0口的扩展,再连接74LS164芯片既可实现“串入并出”的功能。
使用查表法,将拨码开关的2进制数和LED代码建立一一对应关系,其中用到了一些编程小技巧。
设计中,又遇到另外一个问题,74LS164级联问题,我在网上搜寻了一些问题的答案,再看了书上对74LS164的介绍,于是得到了算是一些结论吧。
将74LS164最后一个输出端,连在另外一个74LS164的A、B之一的数据输入端,就构成了级联。
在程序中每一次循环向串口缓存器发送两次8位数据,即可实现两个LED数码管独立显示(0~F)。
三、原理图
四、程序设计框图
开始变量初始化、设置
SCON 工作方式0
判断P1口是否发生变
化(拨码开关变化)
将P1口的数据取反后,分别
取高四位、低四位
N
查表,查询低四位
数据对应的LED 代码
将LED 代码传给串口数据缓存
器中,发送数据
判断是否发送完
毕?
查表,查询高四位
数据对应的LED 代码
将LED 代码传给串口数据缓存
器中,发送数据判断是否发送完
毕?
结束N
Y Y
N
Y
Y
五、源程序 C 语言程序:
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
const uchar tab[]={0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0x80,0X90,0X 88,
0X83,0XC6,0XA1,0x86,0X8E};
void main(void)
{
uchar i=0;
uchar j=0;
uchar m=0;
uchar k=0;
SCON=0X00;
SBUF=0XC0;
while(TI==0);
TI=0;
while(1)
{
while(P1==i);
i=P1;
j=~i;
m=j&0xf0; //取拨码开关高四位
k=j&0x0f; //取拨码开关低四位
m=m>>4; //高四位移到低四位建立对应关系 SBUF=tab[k]; //查表赋值
while(TI==0); //判断是否发送完毕
TI=0;
SBUF=tab[m]; //查表赋值
while(TI==0); //判断是否发送完毕
TI=0;
}
}
六、调试结果
七、感想与收获
本次课外设计作业综合性比较强,需要结合很多知识来完成它、
八、意见与建议
希望老师多讲讲程序,在课设时多讲一些课外知识为我们扩展一下知识面。
九、期望成绩
本次成绩希望老师给与及格。