单片机的学习与应用..docVIP

  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文档。上传文档
查看更多
单片机的学习与应用.

单片机的学习与应用 学院:信息工程学院 专业:电子信息科学与技术 班级:07级2班 学号:20078002059 姓名:李水秀 单片机的学习与应用 确定任务 开发单片机的最小系统 明确任务 具有8个二极管实现各种流水灯; 蜂鸣器与数码管的测试; 利用单片机控制直流电机的正反转; 功能实现 流水灯实验 主要运用程序控制流水灯的交替工作;利用P0及P2.0口八个端口控制流水灯的操作; 直流电机的正反转实验 在该过程中,电动机安装在小车上,其最终目的是实现小车的运转。电动机的正反转可以实现小车的前进后退以及加速减速问题。电动机的正反转完全由单片机控制,包括直流电机的前进后退,左转右转以及直流电动机的速度控制问题。其中选择P0.0,P0.1两端口控制一个电动机,完成小车的前进后退问题,P0.2,P0.3两端口控制另一个电动机,P3.6端口输出脉冲波,利用其占空比实现对小车的速度控制。 解决步骤 单片机最小系统的焊接与调试 单片机最小系统的组成:单片机外接电源,晶振电路,复位电路, 输入电路及显示电路即可构成单片机的最小系统。 (1)#includereg51.h??? //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint);??? //声明延时函数 void main(void) { uint i; uchar temp; while(1) ?? { temp=0x01; for(i=0;i8;i++)?? //8个流水灯逐个闪动 ?? { ?? P=~temp; ?? delay(100);??? //调用延时函数 ?? temp=1; ?? } temp=0x80; for(i=0;i8;i++)?? //8个流水灯反向逐个闪动 ?? { ?? P=~temp; ?? delay(100);??? //调用延时函数 ?? temp=1; ?? } ??? temp=0xFE; for(i=0;i8;i++)?? //8个流水灯依次全部点亮 ?? { ?? P=temp; ?? delay(100);??? //调用延时函数 ?? temp=1; ?? } temp=0x7F; for(i=0;i8;i++)?? //8个流水灯依次反向全部点亮 { ?? P=temp; ?? delay(100);??? //调用延时函数 ?? temp=1; ?? } } } void delay(uint t)??? //定义延时函数 { register uint bt; for(;t;t--) for(bt=0;bt255;bt++); } 该系统包含两个共阳8段数码管显示器,使用动态扫描方式驱动。共阳极作为位选有PNP三极管驱动连接在P1.0和P1.1口,八位段选在通过330Ω限流后连接在单片机的P0口上。由于数码管是共阳的,所以当驱动信号为0时对应的数码管才点亮。 图5 串口电平转换电路 #includereg51.h code unsigned char LED_DATA[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xaf,0xbf}; void display(int m); int main() { int m; for(m=0;m99;m++) { display(m); } } void display(int m)//延时程序 { int i,j,n; i=m/10; j=m%10; for(n=0;n1000;n++) { P1_0=1; P1_1=0; P0=LED_DATA[j]; P1_0=0; P1_1=1; P0=LED_DATA[i]; } } 4.直流电机的正反转 电动机的正反转问题,用到了由芯片L298N组成的电机驱动电路,L298n电路可以驱动两个直流电机 L298芯片的内部构造电路图如上 其引脚图如下: #includereg51.h #define uchar unsigned char unchar N=0; uchar X=20; //占空比初始值为20% int a,b; sbit PWM=P3^6; //PWM输出脚 sbit P3_0=P3^0;//正传 sbit P3_1=P3^1;//反转 sbi

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档