单片机基础笔记
低電頻亮 1111(高位) 1110(低位) 0xFE 只亮P0.0一個,低位開始算燈(右邊為第一個燈)
11腳是控制端,8421碼, 點亮,逐個點亮,給0;滅,逐個滅,給1
74HC02有四路2輸入或非門 WR與GND相連輸出低電平
C B A 低
0 0 0 Y0
0 0 1 Y1
0 1 0 Y2?
0 1 1 Y3
1 0 0 Y4 ~或非門Y4C 低?
1 0 1 Y5?
1 1 0 Y6
1 1 1 Y7
led的代碼:
#include“單片機型號.H”
#include"intrins.h "
#define uint unsigned int //0-65535
#define uchar unsigned char //0-255
void main()
{
while(1)
{
P2=((P2&0x1f)|0x80);為什么要與,因為要保證P2^7,P2^6,P2^5為0,
//Y4為0 u6鎖存器開;
P0=0x55;//2 4 6 8位的亮;
P2&=0x1f;//關閉鎖存器;
}
}
如何新建工程建立H文件
打開keil 5 先建立文件夾,后打開軟件-打開下載stc-ISP-keil仿真設置-添加型號到keil下載的地方 管理員身份運行keil
project-close project-new uvision project-在建立的文件夾打tect-選擇型號-File里新建NEW-保存xxxx.c文件-在Source group添加
.H大寫,管理員身份運行STC-ISP軟件,頭文件。單片機系列STC15Wxx/STC15Fxx,后復制STC15F2K60S2,保存文件,ctrl+v粘貼,加.H就保存好了
延時與數組
軟件延時計算器 有需要的延時,訂多少都可以
100us 1000us=1ms 1000ms=1s
for循環(次數的循環) 在循環語序i,j下, 定義z unsigned int z;
for(z=30;z>0;z--) 把循環放進for{}中 在主函數調用Delay100us()
有一種方法 帶參函數void Delay100us(unsigned int m) for(z=m;z>0;z--)
在主函數調用Delay100us(100) 10ms,改變數字
數組
0開始算
做流水燈
數碼管
先打開段選,數據,關閉鎖存器,打開位選,數據,關閉
U6 U7段選(a b c d e f g dp) U8位選(com1) U9
573鎖存器()共陽
1.打開數碼管的段選控制,必須要使Y7C為高電平1;(打開)
2.送數碼管段選數據,到P0口
3.關閉數碼管段選控制,使Y7C為0;
4.打開位選控制,使Y6C為1;
5.送位選數據到P0口
6.關閉數碼管位選,使Y6C為0
dp g f e d c b a
低電平亮0
0xc0 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8 0x80 0x90(0 1 2 3 4 5 6 7 8 9)
轉載于:https://www.cnblogs.com/296389183yy/p/8668242.html
總結
- 上一篇: 人类最后防线子弹如何制造?
- 下一篇: SpringCloud基本模块分配搭建以