单片机创新开发教程(基于STC8单片机)(实训篇)_第1页
单片机创新开发教程(基于STC8单片机)(实训篇)_第2页
单片机创新开发教程(基于STC8单片机)(实训篇)_第3页
单片机创新开发教程(基于STC8单片机)(实训篇)_第4页
单片机创新开发教程(基于STC8单片机)(实训篇)_第5页
已阅读5页,还剩338页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STC8H8K64U芯片的天问51图形化课程天问51单片机GPIO口设置控制单个LED灯1控制8颗LED流水灯2独立按键控制LED灯3目录CONTENTS控制单个LEDCMP灯和引脚学习电路图指令学习程序实现:点亮与闪烁01章节PARTCMP灯和引脚CMPP41电路图详细描述从电路图可以看出,想让LED灯亮,就需要将P4_1设置成高电平指令学习在GPIO类别指令中,用于设置引脚模式指令。第一个参数用于设置引脚;第二个参数用于选择模式,共四种模式,分别为双向IO口、高阻输入、推挽输出和开漏输出。在GPIO类别指令中,用于写引脚电平,第一个参数用于设置引脚;第二个用于设置电平高和低。程序实现---点亮CMP灯程序实现---让CMP的LED闪烁控制8颗LED流水灯LED灯和对应引脚学习电路图指令学习程序实现02章节PARTLED灯和对应引脚8颗LED灯LED1-LED8:P6端口,P6_0-P6_7引脚电路图详细描述P40在天问初始化的函数里已经初始化为双向IO口,外加R5下拉电阻,所以Q1默认状态为导通,我们只需要控制P6端口就可以设置流水灯亮灭。指令学习在GPIO类别指令中,用于设置端口模式指令。第一个参数用于设置端口;第二个参数用于选择模式,共四种模式,分别为双向IO口、高阻输入、推挽输出和开漏输出。在GPIO类别指令中,用于写端口的数据,第一个参数用于设置端口;第二个参数写入的是一个8位的数值,P6端口对应是8个引脚,分别为P6_0、P6_1、P6_2、P6_3、P6_4、P6_5、P6_6、P6_7、。默认是0xff,即10进制的255、2进制的11111111,即8颗LED灯都是灭的状态;如果值为0,即2进制的00000000,8颗LED都是亮的状态;如果值0x0f,为2进制的00001111,即前4颗灯亮后4颗灯灭的状态。程序实现---分别点亮和熄灭8颗流水灯点亮熄灭程序实现---8颗流水灯闪烁程序实现---4颗亮4颗灭LED1-LED4灭、LED5-LED8亮LED1-LED4亮、LED5-LED8灭独立按键控制LED灯独立按键和对应引脚学习电路图指令学习程序实现03章节PART独立按键和对应引脚4个独立按键KEY1-P3_2KEY2-P3_3KEY3-P3_4KEY4-P3_5电路图详细描述从电路图可以看出,按下独立按键为低电平,即为0;松开为高电平,即为1指令学习在GPIO类别指令中,用于读取引脚返回的值程序实现---KEY1按键控制P4_1-LED基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机定时器的使用定时器1中断系统2指令学习3目录CONTENTS程序实现4定时器01章节PART什么是定时器在工业检测、实时控制系统中,经常要用到定时或计数功能,用于产生精确的定时时间,对外部脉冲进行计数等。基于STC8H8K64U芯片的天问51单片机中有5个可编程定时器。其它型号芯片,请查看芯片手册确认可用定时器。定时长度使用定时器功能时需要设置定时长度

天问里用的是16位自动重载模式,12T时钟,24MHz系统频率

最大计数值=216=65536,最长定时时间=65536×Tcy

机器周期Tcy=12/fosc=12/(24×106)=0.5微秒

最大定时长度=65536×0.5=32768微秒中断系统02章节PART为什么使用中断51单片机主要用于实时测控,要求单片机能及时响应和处理单片机内部或外部事件。由于很多事件都是随机发生的,如果采用定时查询方式来处理这些事件请求,有可能得不到实时处理,且单片机的工作效率也会变得很低。因此,单片机要实时处理这些事件,就必须采用中断技术来实现,这就要用到一个重要的功能部件--中断系统。中断系统所谓中断,是指当CPU正在处理某件事情时,外部发生的某一事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理。于是,CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断,实现这种功能的部件称为中断系统指令学习03章节PART指令学习在定时器类别指令中,用于设置定时器及定时长度。基于STC8H8K64U芯片的天问51共有5个定时器,即0、1、2、3、4,其他芯片需要去芯片手册中查询定时器个数。第一个参数可选第几个定时器,第二个参数设置定时长度最大为32768微秒。在定时器类别指令中,用于启动指定的定时器指令学习在定时器类别指令中,用于设置指定定时器中断有效或无效,只用设置有效才能运行定时器中断中的程序。在定时器类别指令中,用于设置指定定时器中断程序,只有设置定时器中断有效才会执行里面的程序,与上面的指令配合使用。程序实现定时器0中断控制LED闪烁定时器0中断控制变量LED闪烁04章节PART程序实现---定时器0中断控制LED闪烁P41设置成30000微妙,也就是30毫秒,闪的非常快,肉眼无法看出来程序实现---定时器0中断控制变量LED闪烁程序实现---对比程序用定时器中断控制LED灯闪烁程序可以在主程序中实现其他的功能,不用再等待定时器中断控制闪烁主程序控制闪烁基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机数码管的使用数码管介绍及其原理1数码管动态扫描显示2数码管综合显示3目录CONTENTS数码管自定义显示4数码管介绍及其原理01章节PART数码管介绍数码管硬件设计与原理数码管电路图关闭流水灯与数码管初始化数码管介绍数码管内部其实也是一个个LED组成,其中一个“8”字需要A、B、C、D、E、F、G共7段LED组成,外加一个小数点D。根据公共端(1/12/5/9)是LED阳极还是阴极,数码管分为共阳和共阴两种类型数码管,天问51开发板上的数码管为两个4位共阳数码管,中间带冒号。通过程序控制让每个“8”字公共端轮流高电平导通,就能让指定的“8”

字显示数字。数码管电路图数码管的段选都对应连接到了P6端口,即P60-A、P61-B,P62-C、P63-D、P64-E、P65-F、P66-G、

P67-H,左边的冒号在P07引脚,右边的冒号在P21引脚。同时位选连接到了595芯片的COM0-COM7。数码管初始化数码管在使用前还需要初始化,根据电路原理图可得知需要初始化在P6端口,左边冒号初始化在P07,右边冒号初始化在P21。在显示器-数码管类别指令中关闭流水灯流水灯电路图从流水灯的电路图可以看出8颗流水灯也是连接在P6端口,所以需要关闭流水灯,即控制P40关闭流水灯电源,使用以下指令:在显示器-LED流水灯类别指令中数码管动态扫描显示02章节PART什么是动态扫描显示扫描回调函数使用定时器设置动态扫描什么是动态扫描显示根据前面的介绍,因为所有的“8”字A/B/C...等段码都是共用P6端口,如果所有公共端口同时打开,那么对应的所有“8”字将同时显示,在显示一个数字的时候,没有问题。但是如果要同时显示多位数,比如123,如上图,将会产生冲突。

为了解决这个问题,我们只能在同一时刻内只有一个“8”字,于是我们先把第6个“8”字公共端打开,设置P6段码显示1,然后再打开第7个“8”字公共端,设置P6段码显示2,然后再打开第8个“8”字公共端,设置P6段码显示3。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态扫描回调函数基于STC8H8K64U芯片得天问51已经将这一动态扫描过程封装成一个回调函数,直接使用即可,在显示器-数码管类别指令中!使用定时器设置动态扫描使用回调函数时需要结合定时器使用,定时器周期需要设置为1ms,太小或太大都会影响数码管的显示效果。数码管综合显示04章节PART指令学习程序实现指令学习在显示器-数码管类别指令,用于清屏整个数码管在显示器-数码管类别指令,用于清除数码管的第几位,位数清除如下图所示76543210指令学习用于让数码管显示指定整数用于让数码管显示浮点数用于让数码管显示时间用于数码管显示时间,显示的位置用于设置数码管的小数点亮与灭程序实现数码管自定义显示特定数据显示要求程序实现特定数据04章节PART指令学习特定数据显示要求数码管的驱动库,内部定义了0-F等18个常用码,和一个8字节的显示缓存。如果需要数码管显示特定数据,我们只需要更新显示缓存的显示码。内部码数值:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,-,NONE内部码序号:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17指令学习在文本与数组类别指令中,用于创建数组,需与内部码数值和序号对应使用在显示器-数码管指令中,用于显示数组程序实现---显示ABCDEF-程序实现---显示时间基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机ADC的使用什么是ADC1ADC的时钟频率和位数2指令学习3目录CONTENTS程序实现4什么是ADC01章节PARTADC是将模拟信号转换成数字信号,方便计算机去处理,主要用于测量电压。STC8H8K64U系列单片机内部集成了一个12位高速A/D转换器。ADC的时钟频率和位数02章节PARTADC的时钟频率为系统频率2分频再经过用户设置的分频系数进行再次分频(ADC的时钟频率范围为SYSclk/2/1~SYSclk/2/16)。ADC的位数,如果10位AD,采样值范围为0-1023;12位AD,采样值范围为0-4095;根据具体需求进行选择指令学习03章节PART初始化指令学习在ADC类别指令中,用于给ADC进行初始化,设置引脚、时钟分频、输出值位数。常用以下8位:0~25510位:0~102312位:0~4095读入ADC值指令在ADC类别指令中,用于读入ADC的值,根据需求选择对应引脚程序实现3个板载模拟量输出传感器程序实现04章节PART电路图板载模拟量输出传感器基于STC8H8K64U芯片的天问51板载了3个模拟量输出的传感器,分别是电位器、光敏、NTC热敏电阻电位器ADJNTC热敏电阻光敏LIGHTNTC热敏电阻P04LIGHT光敏P06ADJ电位器P05电路图电位器电位器、光敏、NTC热敏分别通过调节旋钮、光线变化、温度变化引起电阻变化,从而电压跟着变化,我们可以通过ADC采样获取电压值。光敏NTC热敏电阻程序实现---数码管显示电位器数值程序实现---数码管显示光敏数值程序实现---数码管显示NTC热敏电阻数值基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机PWM的使用脉冲宽度调制原理1STC8H的PWM模块2PWM控制马达、蜂鸣器3目录CONTENTSPWM模拟DAC输出4脉冲宽度调制原理01章节PART脉冲宽度调制原理一般数字设备(如MCU、DSP和FPGA)可产生用于控制电机速度或者LED灯发光强度的脉冲宽度调制(PWM)信号对于PWM而言,脉冲周期是恒定的。通常,将一个脉冲周期内维持高电平的时间称为占空,通过数字设备可以改变占空值。占空比表示为占空脉冲周期×100%

占空比=

PWM信号的直流平均值与占空是成正比的。一个占空比为50%的PWM信号,其直流值为PWM信号幅度最大值的1/2。因此,通过改变PWM的占空比,就可以改变PWM信号中所含直流信号分量的大小。通过模拟有源/无源低通滤波器,就可以从PWM信号中提取出直流分量。如果将这个直流分量进行功率放大,并施加在直流电机的两端,就可以改变直流电机的转速。因此,PWM是连接数字世界与模拟世界的桥梁,其作用就类似于数模转换器DAC。周期T占空STC8H的PWM模块02章节PART介绍指令学习介绍STC8H系列的单片机内部集成了两组高级PWM定时器,两组PWM的周期可不同,可分别单独设置。第一组可配置成4对互补/对称/死区控制的PWM,第二组可配置成4路PWM输出或捕捉外部信号。两组PWM定时器内部的计数器时钟频率的分频系数为1~65535之间的任意数值。第一组PWM定时器有4个通道(PWM1P/PWM1N、PWM2P/PWM2N、PWM3P/PWM3N、PWM4P/PWM4N),每个通道都可独立实现PWM输出(可设置带死区的互补对称PWM输出)、捕获和比较功能;第二组PWM定时器有4个通道(PWM5、PWM6、PWM7、PWM8),每个通道也可独立实现PWM输出、捕获和比较功能。两组PWM定时器唯一的区别是第一组可输出带死区的互补对称PWM,而第二组只能输出单端的PWM,其他功能完全相同。使用注意事项:P和N是用在电机控制上的互补对称输出,即当你单独使能了PWMxP后,不能再独立使能PWMxN,除非是互补对称输出才可以。所以我们一般应用的时候,分配引脚要注意区分开来。指令学习在系统设置类别指令中,用于初始化设置PWM最大占空比值,设置范围是64HZ~3000000HZ,如果没有设置,系统默认是1000HZ在PWM模块类别指令中,用于初始化设置引脚PWM频率和占空比。这里需要注意占空比,系统配置里有一个PWM最大占空比的模块,我们设置的占空比为和这个最大占空比的比值。在PWM模块类别指令中,用于调整设置引脚PWM的占空比。在PWM模块类别指令中,用于调整设置引脚PWM的频率

和占空比。PWM控制马达、蜂鸣器03章节PART马达和蜂鸣器引脚电路图程序实现马达和蜂鸣器引脚基于STC8H8K64U芯片的天问51板载了2个PWM控制的传感器,分别是马达、蜂鸣器马达蜂鸣器蜂鸣器BUZZERP00---PWM5马达MOTORP27---PWM4电路图马达通过PWM控制可以让蜂鸣器产生特定频率的声音,设置马达不同的转动速度蜂鸣器程序实现---PWM控制马达程序实现---PWM控制蜂鸣器PWM模拟DAC输出DAC与电路图04章节PART程序实现DACDAC是将数字量转换成模拟量DACDACP01---PWM5P02-ADC电路图

RC充放电电路如果直接PWM输出接ADC,采样的是脉冲信号,所以要在PWM后端加入RC充放电电路,模拟DAC。程序实现本案例演示P01通过PWM和RC滤波电路生成电压变化,再通过P02的ADC采样显示PWM设置频率和RC震荡频率有关基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机外部中断外部中断介绍1如何触发中断2指令学习3目录CONTENTS按键中断控制LED4外部中断介绍01章节PART介绍基于STC8H8K64U芯片的天问51开发板上有5个外部中断:

INT0到INT4。其他芯片需要查阅芯片手册INT0为P32连接到了独立按键KEY1,INT1为P33连接到了独立按键KEY2,INT2为P36连接到了红外接收引脚,INT3为P37连接到了加速度传感器的中断引脚,INT4为P30连接到了USB接口的D-。红外接收---INT2USB接口---INT4KEY1---INT0KEY2---INT2加速度传感器---INT3本课以两个独立按键来讲解外部中断的使用如何触发中断02章节PART如何触发中断触发外部中断的方式有三种:上升沿、下降沿、电平变化。电平从高到低为下降沿、从低到高为上升沿、高到低和低到高都属于电平变化基于STC8H8K64U的天问51只支持下降沿和电平变化2种触发方式。高低高下降沿上升沿电平变化指令学习03章节PART指令学习用于设置指定外部中断中的程序,当外部中断触发,将会运行这里面的程序在外部中断设置类别指令中,用于设置指定外部中断触发及触发条件的设置。第一个参数选择外部中断,可选0~4;第二个参数是触发条件,可选电平变化时或下降沿。这里需要注意0和1号外部中断可选2种触发方式,2~4号外部中断只可以选择下降沿这一种触发方式按键中断控制LEDKEY1按键中断控制P41的LED灯04章节PARTKEY1和KEY2按键中断控制P60的LED亮与灭KEY1按键中断控制P41的LED灯程序对比外部中断控制主程序控制外部中断控制可以实时显示,在主程序中还可以实现其他程序。KEY1和KEY2按键中断控制P60的LED亮与灭基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机串口的使用串口介绍及相关知识1指令学习2串口发送与接收3目录CONTENTS串口打印4串口介绍与相关知识01章节PART什么是串口了解基于STC8H8K64U的天问51串口了解波特率了解ASCII对照表什么是串口8051单片机内部有一个功能强大的全双工异步通信串行口。所谓全双工就是双机之间串行通信时接收和发送数据可同时进行。所谓异步通信,就是接收和发送双方不使用共同的同步时钟来控制收、发双方的同步,而是依靠各自的时钟来控制数据的传送。异步通信传送的串行数据是一帧一帧进行的,一帧信息一般包括以下内容:一个起始位,一般为0,表示一帧信息的开始;若干数据位,一般为8~9位;一个停止位,一般为1,表示一帧信息的结束;数据与数据之间用空闲位“1”来填充。在串行通信中,为保证收发双方数据的正确传送,发送和接收的速率(即波特率)必须一致。基于STC8H8K64U的天问51串口STC8H系列单片机具有4个全双工异步串行通信接口。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。STC8系列单片机的串口1有4种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。串口2/串口3/串口4都只有两种工作方式,这两种方式的波特率都是可变的。用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收/发送进行程序处理,使用十分灵活。串口1、串口2、串口3、串口4的通讯口均可以通过功能管脚的切换功能切换到多组端口,从而可以将一个通讯口分时复用为多个通讯口。基于STC8H8K64U的天问51串口USB口---串口1P30\P31串口3---P50/P51串口4---P52/P53串口1---用于下载程序,连接电脑打印信息和调试串口3---是扩展串口,根据需要进行外部连接,如蓝牙串口4---用于外接ESP8266Wi-Fi模块串口2---没有单独引出来使用本课主要以串口1的使用展开学习波特率波特率指数据传输的速度,越大传输越快波特率尽可能选用常用的1200、2400、4800、9600、19200、38400、57600、115200,天问51学习时常用9600、57600、115200这3中常用波特率波特率和外部晶振有关,特殊波特率如果不能被整除,会导致波特率不准。图形化模块下拉框没有需要的波特率,可以自己添加数字模块后修改。ASCII码对照表Dec---十进制数Hex---十六进制数Char---字符在发送数据时需要发送字符,所以需要了解ASCII码对照表如发送0x31,即对应文本是10x32,对应文本是2指令学习02章节PART指令串口监视器指令学习在串口模块类别指令中,用于串口引脚和波特率设置。用于让指定串口发送字符用于串口发送字符串用于串口发送指定长度的数组数据,使用时注意在初始化中创建一个数组指令学习用于读串口接收/发送中断请求标志位,判断串口是否有数据用于清除串口接收/发送中断请求标志位。用于设置串口中断,同时打开总中断。用于获取串口接收缓存数据。用于串口接收中断函数。指令学习用于串口格式化打印输出如果要输出多个参数,可以点击蓝色齿轮,然后把左边的项目拖到列表里,就能多一个输入框,自己再拖入一个数字模块。串口监视器点击菜单栏中的串口监视器,可以打开串口监视器打开和关闭串口串口接收数据显示串口发送数据串口发送与接收03章节PART发送程序实现接收数据实现程序实现---串口发送字符、字符串、数组程序实现---串口接收数据串口接收数据有查询接收和中断接收2种方式查询接收中断接收串口打印printf基本用法04章节PART程序实现printf基本用法printf("HelloWorld!\n");//\n表示换行printf("%d\n",i);/*%d是输出控制符,d表示十进制,后面的i是输出参数*/.如果是%x就是以十六进制的形式输出,要是%o就是以八进制的形式输出printf("i=%d,j=%d\n",i,j);i=10,j=3,输出多个数据。程序实现---打印八进制数、十进制数、十六进制数程序实现---打印ADC温度值基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机点阵的使用点阵介绍及其原理1点阵动态扫描显示2点阵综合显示3目录CONTENTS点阵自定义显示4点阵介绍及其原理01章节PART点阵介绍点阵硬件设计与原理点阵电路图关闭流水灯与点阵初始化点阵介绍8*8LED点阵模块,内部包含64个LED,根据行是LED阳极还是阴极,分共阳和共阴两种点阵。根据点阵显示的颜色,可以单色、双色。单色点阵常见的有红色、绿色两种。根据圆点的直径大小分1.9mm/3.0mm/3.75mm/5.0mm。天问51开发板上的点阵为1.9mm红色共阳点阵。点阵电路图天问51上的点阵和数码管一样,阳极都连接到了595的输出端。阴极连接到了P6口。点阵初始化点阵在使用前还需要初始化,根据电路原理图可得知需要初始化在P6端口,在显示器-点阵类别指令中关闭流水灯流水灯电路图从流水灯的电路图可以看出8颗流水灯也是连接在P6端口,所以需要关闭流水灯,即控制P40关闭流水灯电源,使用以下指令:在显示器-LED流水灯类别指令中点阵动态扫描显示02章节PART扫描回调函数使用定时器设置动态扫描动态扫描回调函数如果要显示复杂图案如下这样一个爱心图案,那就需要扫描来实现,和数码管的扫描一样的原理,让每一列轮流显示。基于STC8H8K64U芯片得天问51已经将这一动态扫描过程封装成一个回调函数,直接使用即可,在显示器-点阵类别指令中!使用定时器设置动态扫描使用回调函数时需要结合定时器使用,定时器周期需要设置为1ms,太小或太大都会影响点阵的显示效果。点阵综合显示03章节PART指令学习程序实现指令学习在显示器-点阵类别指令,用于点阵在指定位置显示点用于清除点阵指定位置的点123104567234567第7行,第0列指令学习用于让点阵显示指定整数用于让点阵显示浮点数用于让点阵显示字符串用于让点阵显示内置图案用于让点阵清屏程序实现---让指定点闪烁程序实现---点阵显示数字、字符串、浮点数中断模式显示,时间需要根据显示的数据大小调节程序实现---点阵显示跳动的爱心点阵自定义显示点阵显示自定义图案点阵显示自定义缓存04章节PART指令学习指令学习用于让点阵显示自定义图案点阵显示自定义图案指令学习在文本与数组类别指令中,用于创建数组,与点阵显示缓存时,需要建8个16进制数的数组,调用时会转换成2进制在显示器-点阵指令中,用于显示自定义的缓存数组自定义数组e311111111100110010000000000000000000000001000000111000011111001111---灭0---亮c181030381c1e316进制:e3------二进制:11100011程序实现---显示爱心基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机RGB彩灯的使用RGB彩灯介绍1指令学习2程序实现3目录CONTENTSRGB彩灯介绍RGB彩灯和引脚学习电路图01章节PARTRGB彩灯和引脚6颗彩灯P45引脚

WS2812只需一根信号线就能控制灯带上所有LED。多个灯带间可以通过串联轻松延长。在30hz的刷新频率下,一根信号线能够控制至多500个led。-内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。-内置上电复位和掉电复位电路。-每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。-串行级联接口,能通过一根信号线完成数据的接收与解码。-任意两点传传输距离在不超过5米时无需增加任何电路。-当刷新速率30帧/秒时,低速模式级联数不小于512点,高速模式不小于1024点。-数据发送速度可达800Kbps。-光的颜色高度一致,性价比高。电路图详细描述从电路图可以看出,6颗彩灯串联接在P45引脚上指令学习02章节PART指令学习在显示-RGB类别指令中,用于初始化RGB引脚及个数设置第几个灯(0~5)显示指定RGB颜色值,R、G、B的取值范围是0~255设置第几个灯显示下拉框内常用颜色和亮度程序实现点亮第一个RGB灯点亮6个RGB灯随机显示颜色单色呼吸灯03章节PART程序实现---点亮第一个RGB灯程序实现---点亮点亮6个RGB灯程序实现---随机显示颜色程序实现---单色呼吸灯基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机OLED显示模块的使用OLED显示模块介绍1指令学习2程序实现3目录CONTENTSOLED显示模块的介绍OLED显示模块学习电路图01章节PARTOLED显示模块的介绍OLED显示屏OLED,即有机发光二极管(OrganicLight-EmittingDiode),又称为有机电激光显示(OrganicElectroluminesenceDisplay,OELD)。OLED同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性。OLED模块根据显示尺寸常用的有0.96、1.3、1.54、1.8寸。根据驱动芯片,常用的有SSD1306、SH1106、ST7735。根据显示颜色有分单色、双色、全彩。单色常用黑底蓝色和黑底白色。天问开发板上的OLED为0.91寸,分辨率为128*32,驱动芯片为SSD1306,通过I2C接口控制。电路图详细描述从电路图可以看出,OLED显示模块接在IIC引脚上指令学习02章节PART指令学习在显示-OLED类别指令中,用于初始化OLED用于关闭OLED显示用于让OLED在指定坐标显示点用于打开OLED显示用于更新OLED显示用于清除OLED上指定坐标的点(X=0,Y=0)(X=128,Y=0)(X=0,Y=32)XY指令学习用于在OLED屏上指定坐标显示字符用于在OLED屏上指定坐标显示字符串用于在OLED屏上指定坐标显示数字用于在OLED屏上指定坐标显示小数用于在OLED屏上指定坐标显示汉字,汉字是在天问51库中自动取模可以设置显示字体的大小指令学习用于在OLED屏上指定位置画线,两点确定一条线用于在OLED屏上指定位置绘制实心或空心矩形,第一个坐标决定矩形起点位置,第二个坐标可以决定矩形的长和宽用于在OLED屏上指定位置画空心或者实心的圆,坐标代表圆心位置用于在OLED屏上指定位置绘制空心或实心三角形用于在OLED屏上显示图片程序实现OLED屏显示数字、字母、汉字、小数OLED屏显示图形OLED屏显示图片03章节PART程序实现---OLED屏显示数字、字母、汉字、小数程序实现---OLED屏显示图形程序实现---OLED屏显示图片图片数据需要用取模软件生成基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机LCD1602显示模块的使用LCD1602显示模块介绍1指令学习2程序实现3目录CONTENTSLCD1602显示模块介绍LCD1602显示模块学习电路图01章节PARTLCD1602显示模块的介绍外接LCD16021602A字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5×7点阵+游标的显示模式。提供显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个5×8点阵的图形字符的字模数据。提供了丰富的指令设置:清显示;游标回原点;显示开/关;游标开/关;显示字符闪烁;游标移位;显示移位等。电路图详细描述从左图可以看出,数据端口在P6端口,RS在P13引脚RW在P10引脚,E在P11引脚。VO接到电位器上,可以调节对比度因为数据在P6端口,所以使用时需要关闭流水灯电源LCDRS-P13R/W-P10E-P11D0-D7:P60-P67指令学习02章节PART指令学习在显示-LCD1602类别指令中,用于初始化LCD1602的控制引脚让LCD1602显示字符让LCD1602显示字符串让LCD1602显示数字让LCD1602显示小数程序实现03章节PART程序实现需要通过LCD1602左下方电位器调节对比度基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机LCD12864显示模块的使用LCD12864显示模块介绍1指令学习2程序实现3目录CONTENTSLCD12864显示模块介绍LCD12864显示模块学习电路图01章节PARTLCD12864显示模块的介绍外接LCD12864LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。电路图详细描述从左图可以看出,数据端口在P6端口,RS在P13引脚RW在P10引脚,E在P11引脚,RST在P54引脚,VO接入电位器因为数据在P6端口,所以使用时需要关闭流水灯电源LCDRS-P13R/W-P10E-P11D0-D7:P60-P67指令学习02章节PART指令学习在显示-LCD12864类别指令中,用于初始化LCD12864的控制引脚让LCD12864清屏让LCD12864显示内置字库字符让LCD12864显示内置字库字符串让LCD12864显示内置字库数字让LCD12864显示内置字库小数指令学习让LCD12864清屏让LCD12864在指定坐标显示点让LCD12864更新显示让LCD12864在指定坐标清除点在显示-LCD12864-更多类别指令中,用于初始化LCD12864的控制引脚让LCD12864在指定坐标显示字符、字符串、数字小数和汉字指令学习让LCD12864在指定位置画线、绘制空心或实心矩形、圆、三角形程序实现03章节PART程序实现程序实现程序实现基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机TFT彩屏的使用TFT彩屏介绍1指令学习2程序实现3目录CONTENTS彩屏触摸功能4TFT彩屏介绍TFT彩屏学习电路图01章节PARTTFT彩屏介绍外接TFT彩屏TFT(ThinFilmTransistor)是薄膜晶体管的缩写,液晶显示器上的每一液晶像素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度高亮度高对比度显示屏幕信息。天问51开发板上采用的TFT彩屏为2.4寸、320*240像素、带触摸功能。驱动彩屏对CPU的性能要求很高,在8位CPU上,我们只作为学习彩屏相关知识使用电路图详细描述从左图可以看出,数据端口在P6端口,RSt在P15引脚CS在P13引脚,RS在P03引脚,WR在P11引脚,RD在P10引脚因为数据在P6端口,所以使用时需要关闭流水灯电源注意事项:为了兼容彩屏的信号电平,我们需要把电源切换跳线帽切换到3V上TFP26-SSP23-MOSIP24-MISOP25-SCLK指令学习02章节PART指令学习在显示-TFT类别指令中,用于初始化TFT的控制引脚TFT清屏并设置背景颜色TFT彩屏指定位置显示数字、小数、字符串和汉字,可设置字体颜色、背景颜色、字体大小指令学习TFT彩屏设置画笔颜色TFT彩屏画点TFT彩屏读点TFT彩屏指定位置画线、绘制空心或实心的矩形、圆和三角形、填充指定坐标程序实现03章节PART程序实现彩屏触摸功能04章节PART指令学习程序实现指令学习彩屏刷新读取数据彩屏触摸初始化校准彩屏触摸读取XorY的坐标彩屏触摸读取压力值。程序实现基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机DS18B20模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置引脚定义电路原理图01章节PART硬件概述18B20采用单总线协议与上位机进行通信,只需要一根信号线和一根地线。它的温度测量范围为-55℃~+125℃。在-10℃~+70℃范围内的测试精度可以达到±0.4℃。此外它还可以工作在寄生模式下,直接通过信号线对芯片供电,从而不需要额外的供电电源。引脚位置18B20A2端口P4_7引脚引脚定义电路原理图详细描述从电路图可以看出,18B20模块接的是芯片的P4_7引脚,其中管脚1接地,管脚3接电源。指令学习02章节PART指令学习

在传感器类别指令中,用于初始化18B20的控制引脚,

DS18B20接在P4_7引脚

在传感器类别指令中,用于设置18B20模块读取的温度程序编写03章节PART程序实现---设置18B20读取温度,并用数码管显示基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机NTC模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置引脚定义电路原理图01章节PART温度和电阻值对照表硬件概述热敏电阻器是敏感元件的一类,按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC)。热敏电阻器的典型特点是对温度敏感,不同的温度下表现出不同的电阻值。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低,它们同属于半导体器件。引脚位置NTCP04_ADC引脚定义温度和电阻值对照表电路原理图详细描述从电路图可以看出,NTC模块接的是P04引脚。我们可以根据ADC采样的值计算出NTC的电阻值,从而根据前面的温度阻值表得到温度值。指令学习02章节PART指令学习

在传感器类别指令中,用于初始化NTC的控制引脚,

NTC模块接在ADC_P04引脚

在传感器类别指令中,用于设置NTC模块读取的温度程序编写03章节PART程序实现---设置NTC读取温度,并用数码管显示基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机DHT11模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置引脚定义电路原理图01章节PART硬件概述DHT11数字温湿度传感器,是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。硬件概述每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。引脚位置DHT11P4_6引脚定义电路原理图详细描述从电路图可以看出,DHT11模块接的是P4_6引脚,其中管脚1接电源,管脚4接地。指令学习02章节PART指令学习

在传感器类别指令中,用于初始化DHT11的控制引脚,

DHT11模块接在P4_6引脚

在传感器类别指令中,用于设置DHT11模块读取的温度

在传感器类别指令中,用于设置DHT11模块读取的湿度程序编写03章节PART程序实现---OLED每隔2s轮流显示温度和湿度DHT11每次读需要间隔2秒,不然数据会出错基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机矩阵键盘模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述电路原理图01章节PART硬件概述前面我们已经学习过怎么使用4个独立按键,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。矩阵按键电路原理图详细描述矩阵键盘是通过扫描方式读取,先行扫描,再列扫描。指令学习02章节PART指令学习在传感器类别指令中,用于初始化矩阵键盘的控制引脚,矩阵键盘接在P7引脚。在传感器类别指令中,用于获取矩阵键盘对应的按键值。在传感器类别指令中,基于STC8H8K64U芯片的天问51已经将这一动态扫描过程封装成一个回调函数,直接使用即可。程序编写03章节PART程序实现---获取矩阵键盘的按键值,并在数码管上显示基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机QMA7981加速度模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置电路原理图01章节PART硬件概述QMA7981是一个单芯片三轴加速度传感器,14-BitADC采样精度,内置常用运动算法,提供标准I2C/SPI接口,支持低功耗模式,广泛应用与手机、运动手表等设备。引脚位置QMA7981I2C电路原理图指令学习02章节PART指令学习在传感器类别指令中,用于初始化QMA7981的控制引脚在传感器类别指令中,用于实时刷新传感器的数据在传感器类别指令中,用于读取QMA7981某一个方向的加速度值。第一个参数用于设置读取是X轴、Y轴还是Z轴;在传感器类别指令中,用于获取加速度传感器的计步数程序编写03章节PART程序实现---设置QMA7981读取X/Y/Z的加速度值,并用数码管显示程序实现---设置QMA7981读取计步步数,并用数码管显示基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机RTC实时时钟硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置电路原理图01章节PART硬件概述BM8563是一款低功耗CMOS实时时钟/日历芯片,它提供一个可编程的时钟输出,一个中断输出和一个掉电检测器,所有的地址和数据都通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动递增。引脚位置RTCI2C电路原理图指令学习02章节PART指令学习在传感器类别指令中,用于初始化RTC的控制引脚在传感器类别指令中,用于读取RTC时钟模块的数据在传感器类别指令中,用于读取RTC时钟模块的时间。第一个参数用于设置读取是年/月/日/周/时/分/秒指令学习在传感器类别指令中,用于初始化RTC的控制引脚在传感器类别指令中,用于读取RTC时钟模块的数据在传感器类别指令中,用于读取RTC时钟模块的时间。第一个参数用于设置读取是年/月/日/周/时/分/秒指令学习在传感器类别指令中,用于设置

RTC的时间,可以更改年/月/日/时/分/秒的参数在传感器类别指令中,用于设置RTC时钟模块的时间。指令默认时间是“周”,数值为“1”,可以选择时间为年/月/日/周/时/分/秒,并设置具体数值程序编写03章节PART程序实现---RTC读取时间,并使用数码管显示出来,可以自行设置时间基于STC8H8K64U芯片的天问51图形化课程时间:X年XX月—感谢您的聆听—天问51单片机基于STC8H8K64U芯片的天问51图形化课程天问51单片机FLASH模块硬件概述1指令学习2程序编写3目录CONTENTS硬件概述硬件概述引脚位置电路原理图01章节PART引脚定义硬件概述W25Q32JV有16384个可编程页,每个页有256个字节。最多256字节可以一次被编程。页可以按16组(4KB扇区擦除)、128组擦除(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)。W25Q32JV已经分别有1024个可擦扇区和64个可擦块。小的4KB部门允许更大的需要数据和参数存储的应用程序的灵活性。硬件概述W25Q32JV支持标准串行外设接口(SPI)和高性能双/四输出,以及双/四I/OSPI:串行时钟,芯片选择,串行数据I/O0(DI),I/O1(DO),I/O2,和I/O3。SPI时钟频率高达133MHz,支持允许等效时266MHz(133MHzx2)用于双I/O和532MHz(133MHzx4)用于四次I/O时,使用快速读双/四次I/O指令。这些传输速率可以超过标准的异步8位和16位并行Flash记忆。此外,该设备支持JEDEC标准制造商和设备ID和SFDP寄存器,一个64位唯一序列号和三个256字节安全寄存器。引脚位置FLASHP2_2引脚定义电路原理图指令学习02章节PART指令学习在存储-FLASH类别指令中,用于初始化FLASH引脚,默认引脚是P2_2在存储-FLASH类别指令中,芯片型号,配合芯片读取ID指令一起使用在存储-FLASH类别指令中,使用这条指令可以读取FLASH芯片的ID指令学习在存储-FLASH类别指令中,用于把buf的数据写入到Flash中。在存储-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论