欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验7CC2530串口控制器编程.docx

    • 资源ID:10091021       资源大小:234.15KB        全文页数:25页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验7CC2530串口控制器编程.docx

    1、实验7CC2530串口控制器编程实验 7 CC2530 串口控制器编程本实验完成时间:第 8 周、第 9 周一、实验目的1、CC2530串口控制器的原理;2、掌握CC2530串口控制器的编程步骤;二、实验任务从 PC 机上的串口调试助手(超级终端)输入的字符能够发送给 CC2530,CC2530 再把所接收到的字符“原路”回传给对方。直观的效果:当串口调试助手(超级终端)激活时,键盘上输入的字符能够在串口调试助手的窗口那个回显。三、实验原理1、何谓超级终端和串口调试助手超级终端:一个和 uart 串口相关联的窗口应用程序。它能够从 uart 串口上所接收到的字符显示出来, 同时当该窗口激活时能

    2、够把键盘所键入的字符从串口发送出去。 超级终端能够从串口收发字符成功的前提是串口通信双方所约定的收发格式一致。 它和一般所说的串口调试助手类似,但有区别:超级终端不会以 16 进制的形式显示所接收的字符编码;串口调试助手不会把键盘输入的字符实时从串口发送出去,需要点击手动发送。串口调试助手:桌面上有串口聊天助手,如果不能打开,可以如图 1 在 S503 的 D 盘/试验箱资料光盘 /工具软件 /串口工具和驱动 /串口聊天助手,打开后如图 2 所示。打开任意一个即可!图 1 串口聊天助手位置设置参数图 2 串口聊天助手界面图- 1 -2、实验室 GEC-CC2530 开发板的 uart串口接口(

    3、 USB转串口,红色圈圈)如图 3:图 3 单片机开发板的 USB 转串口该接口和 cc2530所连接的电路图如下:由该图不难得知:P0_3 作为串口的发送管脚;P0_2 作为串口的接收管脚;P0_5、P0_4 作为硬件流控用的, 一定要注意, 我们平时见到的串口的交叉线都只用到了收、发、地三根线,所以在串口设置是都禁止硬件流控!由此可见, GEC-CC2530 所占的资源就是 P0_3(发送管脚 )、P0_2(接收管脚 ),更进一步结合CC230 数据手册的 GPIO 设备管脚映射表分析:- 2 -可知:GEC-CC2530 串口 P0_3(发送管脚 )、P0_2(接收管脚 )uart 03

    4、、cc2530 串口 uart 编程步骤(1)总线初始化,相关 SFR 如下PERCFG P2DIR PxSEL UxCSR我们 uart0 位于P0 位置当 P0 口管脚冲突是 uart0 优先- 3 -当 P0_2 P0_3 作为了 uart0 的收发管脚2、数据链路格式化(数据位、停止位、校验位、波特率);UxUCR UxGCR UxBAUD- 4 - 5 -波特率的计算:在CC2530的时钟位高速时钟位 32M时,我们可以按照下表进行配置:3、读写串口收发寄存器UxDBUF 、RX_BYTE(UxCSR 的第 2 位) 、TX_BYTE(UxCSR 的第 1 位)RX_BYTE :接收

    5、字节状态, 0:没有收到字节; 1:准备好接收字节TX_BYTE :传送字节状态, 0:字节没有被传送; 1:字节准备被传送我们读取数据时, RX_BYTE 置1,然后读UxDBuf;我们发送数据时, TX_BYTE 置1,且将准备传送的字节写入到 UxDBUF;四、实验步骤1、领取单片机开发板,编写代码,先编译下载,如图 4下载时需要接下载器,下载好之后,断开下载器和方口线,再将方口线直接接在单片机开发板的USB转串口上如图 5,如果电源指示灯不亮,则将 RST旁边的拨码开关打到 OFF位置。- 6 -拨码开关图 4 连接下载器 图 5 和 PC 机进行串口通信如图 5 连接好之后,打开设备

    6、管理器,通过设备管理器中查看 COM口,查找自己是 COM几。一般方口线直接相连后,静待 20S就会出现设备。若直接将方口线接在单片机上, 打开设备管理器发现出现如下图 6 的?,则需要右键点击问号更新安装 USB转串口的驱动。 此驱动需要下载: ftp/ 教学软件/ 粤嵌 zigbee USB 转串口/ ,解压至当前文件夹下,右键更新驱动路径为选择刚 刚解压的文件: CH341SE。R更新安装驱动之后,出现如图 7 所示,比刚才多了一个 COM3则, 我们现在就是 COM3口。在串口助手上选择 COM3口。若不清楚自己刚才连上的是 COM几,断开方口线,再重新连接方口线。打开串口调试助手,设

    7、置好 COM口,和波特率即可;图6 没有识别出 USB转串口 图7 安装驱动后编程实现:使用cc2530的串口0来和PC机通信,通信格式为: 8位数据位、 1位停止位、没有奇偶校验位、没有流控、波特率为 115200;(1)程序实现在串口调试助手上每隔 0.5秒显示HELLO WORD !(2)程序实现在串口调试助手上把键盘输入的字符回显出来- 7 -2、建立IAR工程,完善以下代码以实现实验任务 :程序实现在串口调试助手上大约每隔 0.5秒显示HELLO WORD!可参考课本 P110,但不与课本上完全相同第一题:#include #define uint unsigned int#defi

    8、ne uchar unsigned charvoid delay(uint);char Txdata= HELLO WORD! ;void set_clock_speed()/时/ 钟初始化/下面的代码是把系统的高速时钟设置为 32M,请对为下三条句添加注释CLKCONCMD&=(16); /while(CLKCONSTA&(16); /CLKCONCMD&=0X07; /void delay(unsigned int count)/延时函数unsigned int i,j;for(i=0;icount;i+)for(j=0;j10000;j+) ;void uart0_init()/ 串口初

    9、始化:可参考课本 P110,但不与课本上完全相同 /补充代码实现初始化: USART0选择uart模式,管脚为 P0(位置1),数据格式为 8位数据位、 1位停止位、没有校验位,波特率为 115200,LSB发送模式, 1为停止,0为起始- 8 -void main()set_clock_speed();/时/ 钟初始化uart0_init();/串口初始化while(1)int j;for(j = 0; Txdataj!= 0; j+) /下面三句实现串口发送,补充下面代码U0DBUF = Txdataj; / 填充数据到串口数据寄存器/通过测试TX_BYTE 标志位是否为 1等待字节发送完

    10、毕:/ 将TX_BYTE 标志位清零/延时3、编译链接程序后下载到 cc2530板子上,验证是否完成了显示任务,修改代码中的HELLO WORD! 为HELLO WORD!r ,编译、下载,观察运行结果;再修改成 HELLO WORD!rn 观察运行结果;温馨提示:上述代码中实现串口发送的 3句代码可以换成以下方法,请测试并在课后多多思考:方法:U0DBUF = Txdataj;while(UTX0IF = 0);UTX0IF = 0;以下内容为第 9周实验内容:4、建立IAR 工程,程序实现在 串口调试助手 上把键盘输入的字符回显出来,完善以下代码以实现实验任务第二题:#include vo

    11、id set_clock_speed()/下面的代码是把系统的高速时钟设置为 32M,请大家通过查看手册尝试自己来- 9 -写,不要抄袭void uart0_init()/USART0 选择uart模式,管脚为 P0,数据格式为 8位数据位、 1位停止位、没有校验位/波特率为 19200,LSB发送模式, 1为停止, 0为起始/将串口0的位置选在 P0口:PERCFG的第0位清0/P0口的外设优先级控制设为串口 0优先:P2DIR7:6 清0/P0口的2、3管脚设为外设工作方式/USART0工作的UART 模式,接收使能/据格式为8位数据位、 1位停止位、没有校验位/波特率baud_e的选择/

    12、波特率设置void uart0_send_byte(char tmp)/将字节tmp从串口0发送出去char uart0_receive_byte(void)/从串口0接收一个字节- 10 -void main()/ 补充完整char buf;set_clock_speed();uart0_init();while(1)buf= /从串口0接收一个字符到 buf;/把接收到的字符又给串口 0发送回去5、编译链接程序后下载到 cc2530板子上,验证是否完成了任务;五、拓展实验1.在上面的例子中我们定义了 uart0_send_byte函数可以向串口发送一个字符,当然在此基础上我们可以实现如何向

    13、串口发送一个字符串的函数。我们是否可以用 c语言的标准 IO函数printf呢?printf的强大的格式控制还是能够给我带来很大的方便的。printf最终会导致 putchar的调用,所以我们只需要把 putchar的输出定向到串口就可以了。由于printf的运行消耗内存较多,我们需要工程的缺省存储模型做如下设置:在工程中添加如下代码:- 11 -#include _near_func int putchar(int c)uart0_send_byte(c);return c;然后你就可以在代码中用 printf输出了!2.上述串口通信完成的同学,可以尝试 2位同学合作, A同学使用一台电脑

    14、+单片机大板 +下载线(不连接串口线), B同学使用一台电脑 +单片机大板 +下载线(不连接串口线),将两块板子上的地线通过杜邦线相连,将 A的TXD 连接B的RXD,A同学给自己单片机写发送数据 0X55,B同学给自己单片机写接收代码,两人波特率一致,当 B 同学收到0X55时,将此数据传送给 P0口,控制P0口上的LED亮灭。六、 实验心得1.实验所出现的问题、解决方法、心得- 12 -附:S403实训室中的 GEC-CC2530开发板所的 uart串口接口(红色圈圈)如下:把桌面上的串口线和 cc2530的串口相连,在 PC机上打开程序 /附件/通信/超级终端,命名随意,设置好 COM1,和波特率即可,进行如下设置:(2)程序实现在超级终端上把键盘输入的字符回显出来的图示- 13 - 14 -


    注意事项

    本文(实验7CC2530串口控制器编程.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开