N- K! c2 d, j+ |8 q. @$ S 单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 |8 i* F% a& y0 g) L6 t& c
6 j) k4 @0 K* N2 k8 ~$ G 单片机最小系统 最小系统:最少组件组成单片机可以工作的系统。 2 i3 y- e4 Z' [" D" X, ? 0 b5 [/ |! u( U& g' U; B: f/ e) Y! u 三要素
硬件基础知识0 ]* i+ T1 r2 z- L1 e0 x1 Z
( S4 \/ j1 _# {7 Z* m1 o LED发光二极管 —— 电流驱动 通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。9 K( X t) Q) e1 ] d VCC 电压是 5V,发光二极管自身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。# T8 s: M0 Q0 M4 o; l ( T; t6 Z; p u R = U/I —— 1~20mA —— R:150~3K C语言基础/ s$ s7 P d7 D7 r& r 基本运算符+ - * / % ++ -- = == != += -= 《《 》》 && “| ! & | ~ ^7 _& @6 I3 p4 o3 M7 S; g 循环(c语言以表示一条语句) for/while/do.。.while0 n! b" P$ Z/ P& T 8 w3 _" ]3 N+ i; [ for(表达式1;表达式2;表达式3){语句;//可以为空}while(表达式)//表达式为真,执行语句{语句;//可以为空}do{语句;//可以为空}while(表达式); 函数 (模块化的思想) 类型 函数名(参数类型 参数){函数体;}& q# N: B8 T* v6 j9 } ' A8 B3 q3 f6 S. f ~ 数组( d0 B- A& J) [* `: G% E 具有相同数据类型 d! J% v# [1 C7 D 具有相同的类型在存储器中连续存储 ) f, {0 Y3 ^* F1 @3 L m9 [ 51单片机常用延时办法 循环、定时器: y& n- B% ?) W8 e% V' w C0 p (P0 = ~(1 《《 i++);)1 v5 h% C, f0 |% f9 q b 流水灯给IO口一个低电平即可点亮LED灯。(注:单片机对外设的操作其实就是对IO口电平的控制); X6 ^4 l# [7 Q5 U& b/ F' { #include//包含特殊功能寄存器定义的头文件typedefunsignedintuint;typedefunsignedcharuchar;intmain(void) {uinti=0;//定义循环变量i,用于软件延时 ucharj=0;//定义计数变量j,用于移位控制 while(1)//主循环,程序无限循环执行该循环体语句 {P0=~(1《for(i=0;i《20000;++i);//软件延时 if(j》=8)//移位计数超过7后,再重新从0开始 {j=0;}}return0;} |
关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )
GMT+8, 2025-8-12 01:17 , Processed in 0.140625 second(s), 28 queries , Gzip On.
地址:深圳市南山区科技生态园2栋A座805 电话:19926409050