AVR单片机8位数码管显示的程序实现 转载:http://www.sohu.com/a/117255149_119709   2016-10-26 16:30 我们接着来完成 数码管的显示实验.现在我们开始动手编写程序: 根据前面的介绍,我们应该已经能够知道编写一个 的C语言程序的基本步骤和方法了. 下面给出这个程序的主程序文件,在这个程序中我们应该能够知道这个程序都包含了那几块,具体来说我们应该能够在这个程序中把以下几个部分找出来:预编译语句. 的定义.函数的声明.主函数.函数定义.如果你还不…
数码管基本属性:1.采用2片595驱动数码管,需要单片机3路IO口,根据数码管动态扫描原理进行显示:2.宽工作电压3.3V到5V:3.PCB板尺寸:71mm*22mm4.数码管型号:0.36 4位共阳 商家给的基本资料:最新八位串行595数码管资料.rar 8位数码管的连接原理图 #include <AT89X51.H> #include <intrins.h> // 函数原形定义 #define uchar unsigned char #define uint unsigned…
本文隶属于AVR单片机教程系列.   在系列教程的最后一篇中,我将向你推荐3个可以深造的方向:RTOS.C++.事件驱动.掌握这些技术可以帮助你更快.更好地开发更大的项目. 本文涉及到许多概念性的内容,如果你有不同意见,欢迎讨论. 关于高层 这一篇教程叫作"走向高层".什么是高层? 我认为,如果寥寥几行代码就能实现一个复杂功能,或者一行代码可以对应到几百句汇编,那么你就站在高层.高层与底层是相对的概念,没有绝对的界限. 站得高,看得远,这同样适用于编程,我们要走向高层.高层是对底层的封…
先解答之前一个思考题:如果不把引脚配置为输出而写高电平,连接LED会怎样? 实验结果是,LED会亮,但相比于输出高电平的情况,亮度很低.这是为什么呢? 通过上一篇教程我们知道,引脚输入输出模式是由寄存器DDRx中DDxn位控制的,可以推断出 pin_mode 函数会改变一个引脚对应的DDxn值,输入为0,输出为1,而其复位后的值为0,即输入,因此如果不把引脚配置为输出,它的模式就是输入.类似地 pin_write 函数会改变PORTxn,其值为函数的第二个参数. 所以不配置输出而写高电平的结果就…
1.   单片机驱动蜂鸣器的实验: a)         说明:Lab51单片机实验板的蜂鸣器连接到单片机的P1.5 b)        基本要求:控制蜂鸣器每2秒响0.5秒. #include <reg51.h> #define unit unsigned int void delay(unit x){ unit i=x; unit j; ;--i){ ;--j); } } void main() { ){ P1=0x00; delay);   //0.5秒 P1=0xff; delay);…
市面上最常用的数码管为七段/八段显示,八段数码管比七段数码管多一个发光二极管单元(比七段数码管多一个点),又按能显示多少个"8"可分为1位.2位.4位等等.数码管又分为共阳极驱动/共阴极驱动,共阳极驱动是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的驱动方式,共阳数码管在应用时应将公共极COM接到+5V:共阴极驱动则是将所有发光二极管的阴极接到一起形成公共阴极(COM)的驱动方式,且共阴数码管在应用时应将公共极(COM)接到地线GND上.        VINKA/永嘉微电-…
本教程使用EasyElectronics开发板: EasyElectronics是一款基于AVR单片机的开发板.AVR单片机是基于改进的哈佛架构.8~32位的一系列RISC微控制器,最初由Atmel公司于1996年推出,特点在于高性能与低功耗之间的平衡.AVR单片机有众多型号,现在常用的有ATtiny.ATmega与ATxmega系列.AVR单片机上一般都带有定时/计数器.SPI.I²C.USART.模拟比较器.模数转换器等外围设备. EasyElectronics拥有丰富的板载资源: 核心部分…
更新:EasyElectronics Library v1.1手册 索引: bit.h delay.h pin.h tone.h pwm.h uart.h adc.h led.h rgbw.h segment.h buzzer.h button.h switch.h rotary.h pot.h ldr.h dac.h exout.h exin.h lcd.h 进度: 全部代码已完成: 手册已完成:bit.h delay.h pin.h led.h rgbw.h button.h 1. 概述 1…
本文隶属于AVR单片机教程系列.   中断,是单片机的精华. 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断.触发中断的事件成为中断源,处理事件的函数称为中断服务程序(ISR). 中断在单片机开发中有着举足轻重的地位--没有中断,很多功能就无法实现.比如,在程序干别的事时接受UART总线上的输入,而uart_scan_char等函数只会接收调用该函数后的输入,先前的则会被忽略.利用中断,我们可以在每次接受到一个字节输入时把数据存放到缓冲区中,程序可以从缓…
本文隶属于AVR单片机教程系列.   PWM 两位数码管的驱动方式是动态扫描,每一位都只有50%的时间是亮的,我们称这个数值为其占空比.让引脚输出高电平点亮LED,占空比就是100%. 在驱动数码管时,我们迫不得已使占空比为50%,因为不能让两位真正同时地显示不同的数字.但是,我们也可以有意地让LED的占空比不到100%,以降低其亮度. 占空比是可以用程序来调节的.下面的程序允许用户用按键调整蓝色LED的占空比,并通过数码管来显示. #include <ee1/ee.h> #define DU…