单片机
「已注销」
这个作者很懒,什么都没留下…
展开
-
单片机多线程任务编程
在主函数中实现需求:同时实现任务1:打印Hello任务2:打印Hi while(1) { //Task1 if(Task1_Sign==0) { if(Tick-count1>=2) { Task1_Sign=1; } } else if(Task1_Sign==1) { printf("Hello\n"); Task1_Sign=0; count1=Tick; } //Task2 if(Task2_Sign.原创 2021-12-10 10:42:02 · 1413 阅读 · 0 评论 -
C51单片机定时器数码管秒时钟显示——编程题
如题:以下数码管引脚为P0口。代码如下:#include<reg52.h>unsigned char Led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x6f};void delay_1s(){ int i; for(i=0;i<20;i++) { TH1=0X3C; TL1=0XB0; TR1=1; while(TF1!=1); TF1=0; }}void main(void){ int i;原创 2021-06-26 22:49:49 · 1086 阅读 · 1 评论 -
C51单片机中断——编程题
如题:**代码如下:**#include<reg52.h>void delay(){ int i,j; for(i=0;i<200;i++) for(j=0;j<200;j++); }void delay_1s(){ int i=0; for(i=0;i<20;i++) { TH0=0X3C; TL0=0XB0; TR0=1; while(TF0!=1); TF0=0; }}//闪烁led 外部中断void flas原创 2021-06-26 22:36:57 · 955 阅读 · 0 评论 -
C51单片机——温度传感器
实现效果如图:main.c#include<string.h>#include"typedef.h"#include"lcd1602.h"#include"ds18b20.h"uchar str1[]={"Test by Ds18b20."};uchar str2[11]={"Temp: "};void main(){ uchar i; lcd1602_init(); while(1) { DS18B20_Read_Temperature();原创 2021-06-16 11:20:15 · 6137 阅读 · 8 评论 -
C51单片机——(A/D转换)使用ADC0809将模拟信号转换为数字信号
实现效果如图:当电压为1V时,转换的数字信号为0011 0011代码如下:#include<reg52.h>sbit ADDA=P3^0;sbit ADDB=P3^1;sbit ADDC=P3^2;sbit START=P3^3;sbit EOC=P3^4;sbit OE=P3^5;void Delay(unsigned char i){ while(i--);}void Adc0809Convert(){ unsigned char temp; AD原创 2021-05-27 18:43:12 · 13896 阅读 · 1 评论 -
C51单片机——定时器延时实现呼吸灯
#include<reg52.h>unsigned char Cycle=200; //呼吸灯周期:T=200*100us=20msvoid Delay_100us(){ TH0=(65536-100)/256; TL0=(65536-100)%256; TR0=1;//启动定时器,开始计时 while(TF0!=1);//判断定时器是否溢出 TF0=0;//溢出时清0,进行下次计时}void Delay(unsigned char t){ unsigned char原创 2021-05-18 21:58:50 · 2518 阅读 · 1 评论 -
C51单片机(c语言)——定时器1s控制LED灯
#include<reg52.h>void Delay_1s(){ char i=0; for(i=0;i<20;i++) { TH1=0x3C;//2的6次方=655136 TL1=0xB0;//655136-50000=155146==>0x3CB0 TR1=1;//启动定时器,开始计时 while(TF1!=1);//判断定时器是否溢出 TF1=0;//溢出时清0,进行下次计时 }}void main(){ int LED; TMO原创 2021-05-18 21:24:19 · 3345 阅读 · 2 评论 -
51单片机(c语言)——定时器控制LED灯闪烁
实现效果如图:周期:2s;LED引脚为P2口。#include<reg52.h>void Delay_1s(void){ unsigned char i; for(i=0;i<20;i++) { //2的6次方=655136 TH1=0x3C;//655136-50000=155146==>0x3CB0 TL1=0xB0; TR1=1;//启动定时器,开始计时 while(!TF1);//判断定时器是否溢出 TF1原创 2021-04-06 21:32:45 · 7315 阅读 · 2 评论 -
51单片机——实现呼吸灯&程序代码
实现效果如图:注:该51单片机led灯引脚为P2^ 0 - P2^7,实际代码按照引脚图实现。代码如下:#include<reg52.h>typedef unsigned int uint;typedef unsigned char uchar;//--------------Delay--------------------void Delay(uint t){ while(--t);}//---------------main-------------------原创 2021-03-23 21:36:52 · 15410 阅读 · 8 评论