对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。常量——与变量相对应,在程序执行的过程中,其值不能发生改变。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。......
2025-09-30
依据项目需求驱动LED亮65ms,灭65ms,只是需要在P0.1端以65ms为周期交替输出高、低电平实现。设计硬件电路晶振为12MHz,则机器周期为
机器周期=12/晶振频率=12/12MHz=1μs
采用定时器T0工作方式1,设置M1M0=01;为实现定时功能,使得C/T=0。由定时器控制寄存器TCON中的TR0=1启动定时器T0,选择工作方式1时T0为16位定时器。定时时间65ms,采用工作方式1作为T0定时初值计算公式可以得到
T0初值=216-65000μs/1μs=65536-65000=536=218H,则高八位为02H,放入TH0中,低八位为18H,放入TL0中,即TH0=02H,TL0=18H。对T0定时器控制LED闪烁书写软件一般有两种方式:①采用中断方式;②采用查询方式。采用中断方式书写程序时,T0运行工作后开始从初值加1计数,至最高位产生溢出时,申请中断,单片机响应中断执行中断服务程序。采用查询方式书写程序时,利用循环结构判断T0定时器最高位溢出标志TF0是否为1,若TF0=1则T0计数器溢出开始下一轮计数。
图10-3 中断方式T0控制LED程序流程图
用定时器T0方式1编写程序,即采用中断方式设计的程序流程图如图10-3所示。
在图10-3程序流程图的基础上书写中断实现T0控制LED闪烁程序代码如下:
结合2.3节关于单片机开发环境Keil C51的学习,建立工程time文件,并将上述代码在Keil环境下进行编译,程序成功编译结果如图10-4所示。同时在创建工程路径time文件夹下生成一个扩展名为.hex文件,供下载软件将生成的.hex文件下载到单片机中。(https://www.chuimin.cn)
图10-4 程序成功编译结果图
用定时器T0方式1编写程序,采用查询方式程序流程图如图10-5所示。
图10-5 查询方式T0控制LED程序流程图
在图10-5程序流程图的基础上书写查询实现T0控制LED闪烁程序代码如下:
结合2.3节关于单片机开发环境Keil C51的学习,建立工程time1文件,并将上述代码在Keil环境下进行编译,程序成功编译结果如图10-6所示。同时在创建工程路径time1文件夹下生成一个扩展名为.hex文件,供下载软件将生成的.hex文件下载到单片机中。
图10-6 程序成功编译结果图
相关文章
对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。常量——与变量相对应,在程序执行的过程中,其值不能发生改变。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。......
2025-09-30
本节主要介绍下载软件STC-ISP在Windows 7系统中的应用,网络下载STC-ISP安装软件,在软件包中找到可执行文件,鼠标右击在弹出选项中找到属性选项如图2-39所示。图2-39 STC-ISP属性菜单操作图2-40 STC-ISP属性对话框设置完成后运行,STC-ISP可以正常进行程序烧写工作,如图2-41所示。......
2025-09-30
②然后求循环条件表达式2的值,当满足循环条件时执行循环体语句并计算更新表达式3。④一直进行到循环条件表达式2的结果为假时,退出循环体。......
2025-09-30
③if-else-if形式:当有多个分支选择时,采用if-else-if语句,形式为if语句1;else if语句2;else if语句3;…使用switch语句时注意以下几点:①case后的各常量表达式的值是不一样的,否则会出现错误。②在case后,允许出现多条语句,可以不用{}括起来。③各case和default语句位置的先后顺序可以改变,而不会影响程序执行结果。......
2025-09-30
在输入程序时,Keil C51会自动识别关键字,并以不同的颜色提示用户注意,减少用户编写程序出现的错误,有利于提高编程效率。图2-28 对编辑的程序执行编译在对设计的程序进行调试时,单击debug菜单选中start/stop debug session,则进入到Keil C51程序调试界面如图2-30所示。图2-35 设置和删除断点操作图2-36 断点设置成功界面图2-37 断点设置成功后调试结果图以上为Keil C51完整的工程应用过......
2025-09-30
表6-2 流水灯流水样式描述表尝试从优化程序结构简化程序角度书写流水灯软件程序,从表6-2中可以看出,8只流水灯从左到右依次循环闪烁,将8只LED合成一个整体来考虑,利用循环移位指令,采用循环程序结构进行程序设计,在程序开始给P0口置数使得P0.0先为低电平,其他位为高电平,然后延时一段时间,再让这个数据向高位移动,然后再输出至P0口,从而实现“流水”效果。......
2025-09-30
所谓的函数调用就是在一个函数体中引用另外一个已经定义的函数,前者为主调函数,后者为被调用函数。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值。因此在以后各主调函数中不用对ann和circle函数说明,可直接调用。......
2025-09-30
函数名由用户自定义,后面是空括号,代表没有函数参数,即代表无参函数,注意空括号不可以省略。函数被调用时,主调函数将通过实际参数,简称实参,传递实际的值给这些形参。3)函数定义时没有写明类型标识符,则默认为整型。......
2025-09-30
相关推荐