- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实训报告4
单片机实训报告
任务1
在8个数码管上显示12.00.00
程序:
#include void delay()//延时函数 { TH1=(65536-1000)/256; TL1=(65536-1000)%256; TR1=1; while(!TF1); TF1=0; }
void main() { unsigned char led[]={0xf9,0xa4,0x7f,0xc0,0xc0,0x7f,0xc0,0xc0}; unsigned char i,w; TMOD=0x10;//置T1方式1 while(1) { w=0x01; for(i=0;i
遇到问题:
设定定时器初值较大,在实验板数码管上显示闪烁状态。 解决方案:
减小定时器的初值设定。
任务2
编程实现以下功能:
在开发板上:按下K4键,P0口LED全亮,表示流水灯开始; 在开发板上:按下K3键,P0口LED全灭,表示流水灯结束; 在开发板上:每按下K2键1次,P0口LED左移1位; 每按下K1键1次,P0口LED右移1位
程序:
#include
#include//包含头文件 sbit k1=P3^2; sbit k2=P3^3;
sbit k3=P3^4; sbit k4=P3^5;
unsigned char led=0xfe;//led初始状态 void delay(unsigned char w)//延时函数 { unsigned char j,k; for(j=0;j
void main() {
while(1) { if(k4==0)P0=0x00;//当k4=0时,灯全亮 else if(k3==0)P0=0xff;//当k3=0时,灯全灭 else if(k2==0)//当k2=0时,灯左移一位亮 { led=_cror_(led,1); P0=led; } else if(k1==0)//当k1=0时,灯右移一位亮 { led=_crol_(led,1); P0=led; } delay(200); } }
遇到问题:
开始编写程序时,用switch语句在遇到左移、右移时编写右难度,不知从哪下手。 解决方案:
通过查看笔记,用if—else if语句并通过#include中的_cror_(led,1)、_crol_(led,1)实现左移、右移,从而大大降低编写难度。
任务3
按键开关次数显示灯,LED点亮表示0,熄灭表示1。P0口的8只LED以二进制数显示按键K2被按下去的次数。
程序:
#include sbit k2=P3^3;
void delay(unsigned char i) {
unsigned char j,k; for(j=0;j
for(k=0;k
void main() { unsigned char an=0; while(1){ P0=an;//将an的值赋予P0----P0=0x00 if(k2==0)//判断k2是否按下 { delay(10); if(k2==0) { while(!k2);//当k2状态改变时执行++an ++an; if(an==255)//当an=255时,an清零 an=0; } } } }
遇到问题:
程序中无while(!k2);//当k2状态改变时执行++an语句时,当按下k2时显示状态混乱。 解决方案:
通过逻辑分析与参考书本解决。即添加while(!k2);//当k2状态改变时执行++an语句。
任务4
一键多功能。通电8只LED不亮,按下K1,D00,D03,D04,D07亮;再按一次,D00,D01,D02,D03亮;再按一次,D04,D05,D06,D07亮;再按一次,8只LED全亮;再按一次,全灭。一次循环。
程序:
#include sbit k1=P3^2; unsigned char set;
void scan_k1()//定义函数,实现按键次数累加 { unsigned int i; if(k1==0) { if(k1==0) set++; if(set=5) set=0; F0:while(k1==0)goto F0; for(i=0;i
}
void main() { while(1) { if(k1==0) scan_k1(); switch(set)//判断按下k1的次数
您可能关注的文档
- 初中数学学具制作图片..doc
- 初中数学北师大版1.doc
- 初中数学教师招聘试卷-手抄报黑板报版面设计图科技幻想画.doc
- 初中数学百练百胜答案.doc
- 初中数学书人教版图片..doc
- 初中收获作文600字.doc
- 初中数学竞赛试题1.doc
- 初中数学北师大版.doc
- 初中收获作文600字_收获作文600字初中.doc
- 初中数学竞赛题1.doc
- 人教统编版语文六年级下册 习作:写作品梗概 名师教学PPT课件.ppt
- 人教部编版小学语文四年级下册 白桦 名师教学课件PPT(5).ppt
- 人教版物理八年级上册 第节 汽化和液化 名师教学PPT课件.ppt
- 人教部编版版小学语文五年级下册 习作:中国的世界文化遗产 名师优质教学课件.ppt
- 人教部编版七年级初一历史上册 汉武帝巩固大一统名师教学PPT课件.ppt
- 人教统编版语文二年级下册 语文园地六 名师教学PPT课件.ppt
- 人教版部编版小学语文二年级下册 彩色的梦(3) 名师教学课件PPT.ppt
- 人教部编版七年级初一生物上册 食物链和食物网 名师教学PPT课件.ppt
- 5.2 诚实守信 课件-2025-2026学年道德与法治八年级上册 统编版.pptx
- 11.1 党和人民信赖的英雄军队 课件-2025-2026学年道德与法治八年级上册 统编版.pptx
原创力文档


文档评论(0)