当前位置:文档之家› CPLD与单片机串行通信

CPLD与单片机串行通信

CPLD与单片机串行通信
一、实验目的
1、了解单片机串口的构成及原理。

2、掌握单片机串口数据接收和发送原则。

3、掌握UART设计方法。

4、掌握用定时/ 计数器设置波特率的方法。

5、掌握EDA自顶向下的设计方法。

二、实验任务
通过VHDL语言和C51语言的编程,设计完成CPLD和AT89S51(AT89S52)的串行通信,首先让单片机处于串行发送状态,单片机每一秒向CPLD发送八位数码管阳码从0--9,CPLD进行接受并送显示,让数码管一秒显示一个数字,当显示显示到9后,单片机停止发送,CPLD自动的转向发送状态向单片机发送LCD12232F所能识别的液晶码,每0.1秒发送一次,单片机接受并送显示,每0.1秒显示一个字符,每0.2秒显示一个汉字,使液晶的第一行显示“串口通信成功”。

三、实验原理
1、简易通用异步收发机(UART)设计原理:
(1)首先是是波特率的设置,由于单片机选择1模式可以设置的最大波特率是
62.5kHz,所以CPLD的波特率也是设置此值,并采用此波特率的4倍
250kHz进行采样并判断.采样的原则,进行4次的采样,如果中间两位是一致的,就认定此值为正确的可以接收;否则丢弃,重新采样。

再采样之
前要对单片机发来的信号进行同步平滑处理,消除毛刺,使用于采样的信
号更加的稳定。

采样可以采用16倍采样,这样采样更加的精确,在此为了节省硬件资源所以采用4倍采样。

(2)无论接收还是发送对是采用的循环结构,每发送完8位数据就重新回到发送其实点,重新赋初值进行下一轮的发送,直到发送完成。

接收时,也一
样接收8位,回到起点重新接收下8位,依次循环接收。

(3)由于采用4倍速率的接受(发送)方式,因此在拨特率一致方面要特别注意,每一次状态转换也要一个时钟周期,一定要计算在内,这样才能使拨特率完全同步。

2、单片机串口设置原理:
四、实验模块电路图及引脚分配
1、CPLD模块电路图:
2、单片机模块电路图:
3、LCD12232F模块电路图:
4、数码管模块电路图:
5、引脚分配:
五、实验步骤
六、实验程序。

相关主题