- 41
- 0
- 约2.49万字
- 约 43页
- 2018-06-08 发布于河南
- 举报
单片机应用技术实训指导手册
《微机原理应用技术》实训指导手册
§1 Keil C开发环境的简单使用
1.一个C51程序实例
单片机通常用在控制领域,最简单的应用就是通过某些口线的输入去控制另外一些口线的输出。本实例就是通过一根端口线的输入去控制另外4根端口线的输出,具体功能如下:在端口线P0.0上接一个按键,单片机计算按键闭合的次数,将这个数字通过P2.3-P2.0这4根口线所驱动的发光二极管显示出来,其中P2.3是最高位,P2.0是最低位,指示灯亮表示该位为1,否则表示该位为0。显然,由于只有4个指示灯,只能表现16种状态,因此能表现的计数只能在0~15之间。例如,4只指示灯全灭表示0,即二进制的0000;4只指示灯全亮表示15,即二进制的1111,依此类推。电路图如图1.7所示。电路中有几点需要说明:
(1)使用的单片机是89S51,这是51系列单片机的一种,引脚功能和指令集等完全与8051兼容。
(2)按键的检测问题,当键没有被按下时,P0.0端口通过上拉电阻接Vcc,此时为高电平(在程序中用1表示);键按下时,P0.0通过按键接地,为低电平(在程序中用0表示),因此可以通过检测P0.0端口的电平来判断当前钮是否被按下。
图1.1 通过按键控制发光二极管的电路原理图 图1.2 通过按键控制发光二极管的程序流程图
(3)发光二极管的驱动问题,由于单片机的引脚和端口驱动能力都有限,因此外接了一个反相器以提供发光二极管所需要的电流。当某个引脚输出为高电平时,经过反相器反相变为低电平,从而电流从VCC通过发光二极管和电阻流入反相器,发光二极管发光。
在程序中,首先检测当前键是否被按下。但是仅仅检测到键被按下并不意味看就应该改变显示的数字,因为可能这次按键己经被检测到了一次,被处理过了,因此必须还要判断此次检测到按键是否是第一次检测到。
C语言程序如下:
#includereg51.h
sbit key=P0^0; //将变量key定义为P0.0,表示按键,为1表示按键没有按下
bit processed; //定义一个位变量表示对按键是否处理过
void main(void)
{
unsigned char counter; //定义一个变量counter用来计数
while(1) //无限循环,让单片机一直工作
{
if(key==1) //如果没有键接下,执行大括号里的语句
{
processed=0; //设置为“未处理”
continue;
}
if(processed==0) //如果有键按下且尚未处理,执行大括号里的语句
{
counter+=1; //计数加1
P2=counter0x0f; //在P2端口显示数据
processed = 1; //设置为“已处理”
}
}
}
2.C51程序在Keil C51下的调试步骤
学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB图以外,Keil C51 软件应该要掌握,我们要通过它来编写和调试单片机程序。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编、PLM 语言和 C 语言的程序设计,界面友好,易学易用。
要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http://www. 下载(在学院的《单片机应用技术》精品课程网站中也有下载),其步骤与一般Windows程序安装类似,这里就不再赘述了。Keil软件的详细说明见本讲义的第9章,这里仅作简要说明,以便于读者在后面的章节中实际动手调试、仿真程序。
(1)建立工作项目文件
启动Keil μVison2,如果打开后就有打开的文件,单击“Project-Close Project”菜单将其关闭。单击“File-New... ,打开一个新的文件输入窗口,在这个窗口里输入上述源程序。输入完毕之后,选择“File--Save,给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.c”为扩展名(一定要加扩展名,否则后面添加文件就找不到该文件,这是初学者很容易忘记的),这里将其命名为mytest.c。
单击“Project-New Project...,出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。单击“保存”按钮,出现第二个对话框,如图1.3所示:
图1.3 CPU选择窗口
这个对话框要求选择工程中所用的单片机型号,这里选择Atmel公司的89S51芯片。单击ATM
您可能关注的文档
- 建设工程信息管理模拟试题.doc
- 面试创新能力类真题78道详解.doc
- 会计从业考试——会计基础.ppt
- 笔试秘笈_行测部分.doc
- 邮电通信企业会计核算.doc
- 《计算机文化基础》实验指导书.doc
- 液压气压传动技术 复习资料.doc
- 四头真空检测机维护手册.pdf
- 四川少儿出版社小学生四年级信息技术下册教案.doc
- 某学校教学楼拆建工程安全文明施工监理细则.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2025年陕西省汉中市某中学小升初入学分班考试英语考试真题含答案.docx VIP
- DB31T 1236-2020 未成年人司法社会工作服务规范.docx VIP
- 宣贯培训(2026年)《DLT 2772—2024火力发电厂输煤廊道巡检装置技术规范》.pptx VIP
- 2026年北京中考白皮书.pdf VIP
- 2025届苏锡常镇高三(一模)数学试题及参考答案.pdf VIP
- 《人工智能辅助的翻译技术》课件.ppt VIP
- 沉浸式非遗体验—宋代点茶.pptx VIP
- PET Complete精品教学课件 unit 3 having fun.pptx
- 年产2万吨马铃薯全粉项目可行性研究报告.docx
- 《计算机网络基础》课件——OSI参考模型.pptx VIP
原创力文档

文档评论(0)