久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32+UCOSII+DHT11+DS1302源碼
[打印本頁]
作者:
lemon_c
時間:
2018-5-8 13:51
標題:
STM32+UCOSII+DHT11+DS1302源碼
μC/OS-II由Micrium公司提供,是一個可移植、可固化的、可裁剪的、占先式多任務實時內核,它適用于多種微處理器,微控制器和數字處理芯片。
0.jpg
(32.51 KB, 下載次數: 22)
下載附件
2018-5-8 17:33 上傳
單片機源程序如下:
#include "includes.h"
#include "stdio.h"
#include "led.h"
#include "pwm.h"
#include "adc.h"
#include "ds1302.h"
#include "lcd.h"
#include "lunar.h"
#include "dht11.h"
#include "delay.h"
/////////////////////////UCOSII任務堆棧設置///////////////////////////////////
//START 任務
//設置任務優先級
#define START_TASK_PRIO 15 //開始任務的優先級設置為最低
//設置任務堆棧大小
#define START_STK_SIZE 64
//創建任務堆棧空間
OS_STK START_TASK_STK[START_STK_SIZE];
//任務函數接口
void start_task(void *pdata);
#define LED_TASK_PRIO 10
OS_STK LED_TASK_STK[64];
void led_task(void * pdata);
OS_STK ALARM_TASK_STK[64];
void alarm_task(void * pdata);
OS_STK TIME_TASK_STK[64];
void time_task(void * pdata);
OS_STK TEMP_TASK_STK[64];
void temp_task(void * pdata);
OS_STK ADC_TASK_STK[64];
void adc_task(void * pdata);
OS_EVENT *sem_led;
OS_EVENT *sem_key;
u16 light,sign;
u8 temp=0,humi=0;
int main(void)
{
delay_init();
led_init();
adc_init();
pwm_init();
LCD_Init();
dht11_init();
ds1302_init();
OSInit();
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//創建起始任務
OSStart();
}
//開始任務
void start_task(void *pdata)
{
OS_CPU_SR cpu_sr=0;
pdata = pdata;
// sem_led=OSSemCreate(0);
// sem_key=OSMboxCreate(0);
OSStatInit(); //初始化統計任務.這里會延時1秒鐘左右
OS_ENTER_CRITICAL(); //進入臨界區(無法被中斷打斷)
OSTaskCreate(time_task,(void *)0,(OS_STK*)&TIME_TASK_STK[63],5);
OSTaskCreate(adc_task,(void *)0,(OS_STK*)&ADC_TASK_STK[63],6);
OSTaskCreate(temp_task,(void *)0,(OS_STK*)&TEMP_TASK_STK[63],7);
OSTaskCreate(alarm_task,(void *)0,(OS_STK*)&ALARM_TASK_STK[63],9);
OSTaskCreate(led_task,(void *)0,(OS_STK*)&LED_TASK_STK[63],LED_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //掛起起始任務.
OSTaskSuspend(LED_TASK_PRIO);
OS_EXIT_CRITICAL(); //退出臨界區(可以被中斷打斷)
}
//LED2任務
void time_task(void *pdata)
{
pdata=pdata;
while(1)
{
POINT_COLOR=BLACK;
display();
display_lunar();
delay_ms(100);
};
}
void adc_task(void *pdata)
{
while(1)
{
POINT_COLOR=BLACK;
LCD_ShowChinese(20,172,0,24,0);
LCD_ShowChinese(44,172,1,24,0);
light=Get_AD_Light(ADC_Channel_6,10);
LCD_ShowNum(68,172,light,3,24);
delay_ms(100);
}
}
void temp_task(void * pdata )
{
while(1)
{
POINT_COLOR=BLACK;
dht11_read_data(&temp,&humi);
LCD_ShowChinese(20,196,23,24,0);
LCD_ShowChinese(44,196,25,24,0);
LCD_ShowNum(68,196,temp,2,24);
LCD_ShowChar(96,196,'C',24,0);
LCD_ShowChinese(120,196,24,24,0);
LCD_ShowChinese(144,196,25,24,0);
LCD_ShowNum(172,196,humi,2,24);
delay_ms(100);
}
}
void alarm_task(void * pdata)
{
while(1)
{
if(((time_buf[3]<=7)&&(time_buf[3]>=0))||((time_buf[3]<24)&&(time_buf[3]>=20)))
{
sign = 1;
}
else
sign = 0;
if((sign==1)||(Sensor==1))
{
TIM_SetCompare2(TIM3, (100-light)*20);
if(Sensor==1)
{
LCD_Fill(20,220,20,172,BACK_COLOR);
// POINT_COLOR=RED;
LCD_ShowChinese(20,220,5,24,0);
LCD_ShowChinese(44,220,6,24,0);
}
}
else if((Sensor==0)||(sign==0))
{
TIM_SetCompare2(TIM3, 0);
if(Sensor==0)
{
LCD_Fill(20,220,20,172,BACK_COLOR);
// POINT_COLOR=GREEN;
LCD_ShowChinese(20,220,4,24,0);
LCD_ShowChinese(44,220,6,24,0);
}
}
if((time_buf[2]==0)&&(time_buf[1]==0))
OSTaskResume(LED_TASK_PRIO);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
ucosii源碼.rar
(567.22 KB, 下載次數: 109)
2018-5-8 17:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美日韩免费一区二区三区
|
九九视频在线
|
国产精选av
|
精品在线播放
|
91精品国产日韩91久久久久久
|
亚洲欧美综合网
|
欧美成人三级
|
久久久黄色
|
黄色一级视频免费看
|
日本视频免费观看
|
欧美久久一区二区
|
亚洲精品免费在线
|
成人精品三级av在线看
|
中文字幕视频在线
|
亚洲一区二区三区在线视频
|
欧美日韩第一区
|
av手机天堂网
|
国产精品剧情
|
久久精品久久久久
|
国产精品99久久久久久久久
|
日本中文字幕在线视频
|
少妇一级淫片免费看
|
中文日韩欧美
|
国产日韩一区
|
欧美日韩亚洲一区二区三区
|
国产精品视频免费
|
久久久久九九九
|
亚洲综合一区二区三区
|
欧美爱爱视频
|
午夜精品久久久久久久99
|
欧美另类激情
|
免费av网址在线观看
|
国产成人福利
|
亚洲久久久
|
在线播放毛片
|
www.日本黄色
|
国产激情在线视频
|
中文字幕一区二区三区在线观看
|
一区二区三区四区在线视频
|
人人干人人爽
|
嫩草在线观看
|