下载此文档

单片机100例.pptx


文档分类:论文 | 页数:约49页 举报非法文档有奖
1/49
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/49 下载此文档
文档列表 文档介绍
《单片机C语言程序设计实训 100 例—基于 8051仿真》案例
第01篇、基础程序设计
01、闪烁的 LED :说明:LED 按设定的时间间隔闪烁
#include<> //(80C51寄存器)
#define uchar unsigned char //(宏定义)
#define uint unsigned int //(宏定义)
sbit LED=P1^0;// ()
注释:i<120
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
while(1)
{
LED=~LED;
DelayMS(150);
}
}
uint:最大值为65535;
Uchar:最大值为255;
《单片机C语言程序设计实训 100 例—基于 8051仿真》案例
第01篇、基础程序设计
01、闪烁的 LED :说明:LED 按设定的时间间隔闪烁
R2的值不能太大。
《单片机C语言程序设计实训 100 例—基于 8051仿真》案例
第01篇、基础程序设计
思考题:
int main ( int argc, char *argv[] );   int main ()  ;
void main() ;
试说明以上函数的区别。
02、从左到右的流水灯
:内部函数描述:

指令函数名: _crol_,_irol_,_lrol_
它返回包含于字符串内的数字,字符串中是一个适当类型的数值。
02、从左到右的流水灯
举例:

_crol_, _cror_:
如二进制数为01010101 那么_crol_(1) 左移1位后将高位补低位。
结果10101010。
02、从左到右的流水灯
说明:接在 P0 口的 8 个 LED :从左到右循环依次点亮,产生走马灯效果。
#include<>
#include<> ;//内部函数描述
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
P0=0xfe;
while(1)
{
P0=_crol_(P0,1); //P0 的值向左循环移动
DelayMS(150);
}
}
02、从左到右的流水灯
LED是共阳极接线。
02、从左到右的流水灯
03、8 只 LED 左右来回点亮
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
名称:8 只 LED 左右来回点亮。
说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果。
//主程序
void main()
{
uchar i;
P2=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P2=_crol_(P2,1); //P2 的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1); //P2 的值向右循环移动
DelayMS(150);
}

单片机100例 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数49
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小995 KB
  • 时间2018-06-19