单片机实验分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验报告 姓名:段毅敏 学号:1345542202 班级: 13 电气 2 班 专业: 电气工程及其自动化学院: 电气与信息工程学院 江苏科技大学(张家港) 2016 年 6 月 目录 实验一 流水灯 3 实验二 串口输出 5 实验三 定时器的应用 7 实验四 中断:定时器中断、外部中断 9 实验五 扩展 RAM 应用 12 实验六 数码管的动态显示 15 实验七 PCA 应用 17 附:其他辅助程序 19 STC15 头文件 19 INTRINS.H 头文件 19 延迟函数 20 串口通讯函数 21 实验一 流水灯 一、实验目的 熟悉 keil 仿真软件的使用 了解并熟悉单片机 I/O 口和 LED 灯的电路结构,学会构建简单的流水灯电路。掌握 STC15 中单片机 I/O 口的编程方法和注意事项。 二、实验原理 STC15 单片机有所有 I/O 端口均有 4 种工作模式:准双向口、推挽输出、仅为输出(高阻状态)、开漏模式。每个 I/O 端口的驱动能力均可达到 20mA,但 40 引脚及以上单片机整个芯片最大工作电流不要超过 90mA。每个口的工作模式由PnM1 和 PnM0(n=0,1,2,3,4,5)两个寄存器的相应位来控制。 表 1 I/O 端口工作模式设置 控制信号 PnM1[7:0] PnM0[7:0] 0 0 0 1 1 0 1 1 三、实验内容  I/O 端口工作模式 准双向口(传统 8051 单片机 I/O 模式):灌电流可达 20mA,拉电流为 150~230uA 推挽输出:强上拉输出,可达 20mA,要外接限流电阻仅为输出(高阻状态) 开漏:内部上拉电阻断开,要外接上拉电阻才可以拉高。此模式可用于 5V 器件与 3V 器件电平切换 任意设计一个流水灯点亮程序;利用 keil 软件进行编程。四、主程序 #define MAIN_Fosc #includeSTC15Fxxxx.H #define uchar unsigned char uchar dat=0; uchar i; void Timer0Init(void) { AUXR = 0x7F; TMOD = 0xF0; TL0 = 0xB0; TH0 = 0x3C; TF0 = 0; } void main() { Timer0Init(); P17=1; P16=1; P46=1;P47=1; while(1) { TR0 = 1; if(TF0==1) { TF0=0; P17=!P17; DelayMS(500); P16=!P16; DelayMS(500); P47=!P47; DelayMS(500); P46=!P46; DelayMS(500); } } } 五、实验结果及分析 由于实验室的 15 单片机开发板上只有 4 个 led 灯,因此只能看到灯依次点亮,然后后亮的灯先灭,先亮的灯后灭。  4 个 led 实验二 串口输出 一、实验目的 学习掌握串行口方式工作模式下的程序初始化方法; 学习掌握串行口数据发送以及接受程序的变成方法; 学会使用 ISP 软件的串口助手。 二、实验原理 异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑1 状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送开始。 当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是 5, 6,7 或 8 位的数据。在字符数据传送过程中,数据位从最低位开始传输。数据发送完之后,可以发送奇偶校验位。奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。在奇偶位或数据位之后发送的是停止位,可以是 1 位、1.5 位或 2 位,停止位一直为逻辑1 状态。停止位是一个字符数据的结束标志。 在异步通信中,字符数据以图所示的格式一个一个地传送。在发送间隙,即空闲时,通信线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0” 开始。 三、实验内容 通串口发送数据,将数据写到 UART 数据寄存器中。四、主程序 #include iap15w4k58s4.h #include intrins.h #include delay.h #include uart.h void main() { DelayMS(100); UartInit(); DelayUS(100); while (1) { DelayMS(20

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档