这是之前的视频——51单片机快速入门(中的TXT文件,这里发一下,方便大家来找。
视频中开发板的程序资料:
STC官网:
MDK5(51版)#/DOWNLOAD
51单片机概述:
创建工程的过程
MDK5(51版)
烧录程序的过程
ch340g usb转串口
stc-isp软件 pz-isp软件
单片机的手册
51单片机程序的编写方法
汇编语言(了解即可)
org 0000h
MOV a,#2fh
sjmp $
仿真寄存器的值
C语言
引用头文件(注意格式规范)
#include
某些增强型单片机需要自己寻找头文件,keil中没有提供
学会查看头文件的内容
定义引脚
sbit P10=P1^0;
直接对IO口进行操作
P1=0xff;
粗略的延迟函数
基于12M晶振
us延迟
void delay_us(int n_us)
{
int j,k;
for(j=0;j for(k=0;k<1;k++); } ms延迟 void delay_ms(unsigned int a) { int q; while(a&#8211;){ for(q=400;q>0;q&#8211;); } } led灯的驱动 根据电路判断写1还是写0 仿真方法 PORT2.7 流水灯 P2=0xfe; 循环中写 P2=P2<<1; 开关检测 先写1,后读取 注意分析电路 数码管的驱动原理 字形码 共阴 共阳 0 3F C0 1 06 F9 2 5B A4 3 4F B0 4 66 99 5 6D 92 6 7D 82 7 07 F8 8 7F 80 9 6F 90 A 77 88 B 7C 83 C 39 C6 D 5E A1 E 79 86 F 71 8E H 76 89 P 73 8C 显示一个数字 P1=0xf1; P0=0x3f; 扫描显示 写入ROM unsigned char code DIG_PLACE[4]={0xf1,0xf2,0xf4,0xf8}; unsigned char code DIG_CODE[17] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; P1=DIG_PLACE[0]; P0=DIG_CODE[4]; delay_us(1); P1=DIG_PLACE[1]; P0=DIG_CODE[3]; delay_us(1); P1=DIG_PLACE[2]; P0=DIG_CODE[2]; delay_us(1); P1=DIG_PLACE[3]; P0=DIG_CODE[1]; delay_us(1); 还有一些专用的数据管驱动芯片 LCD显示屏(学会调用厂家封装的库) 用到的文件移植到自己程序里 中断与定时器 概念 51的定时器 配置 num=65536-nus/1; TMOD=0x01; TH0=num/256; TL0=num%256; th0=TH0; tl0=TL0; EA=1; ET0=1; //PT0=1; TR0=1; 中断服务函数 TIMER0()interrupt 1 { TH0=th0; TL0=tl0; } 外部中断 P3.2 INT0 P3.3 INT1 配置 EA=1; EX0=1; //PX0=1; IT0=1; 中断服务函数 INT0_()interrupt 0 { //IE0=0; }