C语言学习第一天

今天开始学习C语言的编程,今天做的方式是用STC8单片机点亮红绿灯,方式为下

 LED为3.3V的发光二极管单片机引脚输出低电平时点亮LED;

#include "stc8g.h"
#include "intrins.h"

/* 发光二极管定义 */
sbit LED_R = P0^5; // 红色LED
sbit LED_Y = P0^6; // 黄色LED
sbit LED_G = P0^7; // 绿色LED

/* 固定延时1毫秒 @35MHz*/
void Delay1ms() //@35MHz
{
unsigned char i, j;//用STC下载器软件计算出来

_nop_();
_nop_();
i = 46;
j = 113;
do
{
while (--j);
} while (--i);
}

/* n毫秒延时函数 参数给几 就延时几毫秒 */
void delay_ms(unsigned int ms)
{
while(ms--)
{
Delay1ms();
}
}

/* 主函数 */
void main()
{
P0M0 = 0x00; //设置P0.0~P0.7为双向口模式
P0M1 = 0x00;

while(1)
{
LED_G = 0; // 点亮绿灯
delay_ms(5000); // 等待5秒

LED_G = 1; // 绿灯闪烁第1次
delay_ms(300);
LED_G = 0;
delay_ms(300);

LED_G = 1; // 绿灯闪烁第2次
delay_ms(300);
LED_G = 0;
delay_ms(300);

LED_G = 1; // 绿灯闪烁第3次
delay_ms(300);
LED_G = 0;
delay_ms(300);

LED_G = 1; // 绿灯闪烁第4次
delay_ms(300);
LED_G = 0;
delay_ms(300);

LED_G = 1; // 绿灯闪烁第5次
delay_ms(300);
LED_G = 0;
delay_ms(300);

LED_G = 1; // 熄灭绿灯
LED_Y = 0; // 黄灯亮
delay_ms(2000);// 延时2秒
LED_Y = 1; // 黄灯灭

LED_R = 0; // 红灯亮
delay_ms(5000);// 延时5秒
LED_R = 1; // 红灯灭
}
}

posted @   叶依惜  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示