//AVR单片机课程设计程序
//名称:电压表
//硬件:AVR-ATMEGA16 实验板 8MHz 晶振
//编写人:李春起
//修改日志:
#include
#include
//-------------位拉高宏--------------------------------------------
#define ADC0_H PORTA|=BIT(PA0)
#define ADC1_H PORTA|=BIT(PA1)
#define LEDLK_H PORTA|=BIT(PA2) //流水灯选通
#define SEGLK_H PORTA|=BIT(PA3) //数码管段码选通
#define BITLK_H PORTA|=BIT(PA4) //数码管位选通
//#define 18B20_H PORTA|=BIT(PA5)
#define BEEP_H PORTA|=BIT(PA6) //蜂鸣器
#define CUSB_H PORTA|=BIT(PA7)
//-------------位拉低宏--------------------------------------------
#define ADC0_L PORTA&=~BIT(PA0)
#define ADC1_L PORTA&=~BIT(PA1)
#define LEDLK_L PORTA&=~BIT(PA2)
#define SEGLK_L PORTA&=~BIT(PA3)
#define BITLK_L PORTA&=~BIT(PA4)
//#define 18B20_L PORTA&=~BIT(PA5)
#define BEEP_L PORTA&=~BIT(PA6)
#define CUSB_L PORTA&=~BIT(PA7)
//----------单独按键宏定义--------------------------------
#define S1 (PIND&0X01)==0
#define S2 (PIND&0X02)==0
#define S3 (PIND&0X04)==0
#define S4 (PIND&0X08)==0
#define NOP() asm("nop")
#define uchar unsigned char
#define uint unsigned int
//============全局变量======================================
uint adc0,flag,voldata;//AD转换结果
//===================数据表==============================================
__flash uchar SEG[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xff};
//===============mS延时子程序============================================
void delayms(uint m)
{
uint i,j;
for(i=0;i
关键字:AVR单片机 流水灯 数码管
引用地址:
AVR单片机课程设计程序
推荐阅读最新更新时间:2024-03-16 13:10
AVR单片机通讯用发送标识UDRE和TXC的区别
AVR单片机通讯用发送标识UDRE和TXC的区别: AVR的说明书上说: “TXC标志位可以用来检验一个数据帧的发送是否已经完成,RXC标志位可以用来检验接收缓冲器中是否还有数据未读出。在每次发送数据之前(在写发送数据寄存器UDR前)TXC标志位必须清零。” “数据寄存器空UDRE标志位表示发送缓冲器是否可以接受一个新的数据。该位在发送缓冲器空时被置"1”;当发送缓冲器包含需要发送的数据时清零。” “当整个数据帧移出发送移位寄存器,同时发送缓冲器中又没有新的数据时,发送结束标志TXC置位。TXC在传送结束中断执行时自动清零,也可在该位写"1”来清零。” 看完上述的说明之后,我一直疑惑在发送数据时,是不是要同时进行两种操作
[单片机]
AVR单片机的nRF24L01发送接收设计
#include “iom16v.h” #include “macros.h” #include “12864.h” //spi标志 #define DDR_SPI DDRB #define DD_MOSI 5 #define DD_MISO 6 #define DD_SCK 7 #define DD_SS 4 #define CE PB3 #define IRQ PB2 //#define NRF24L01_MISOPB6//输入0 #defineHign_24L01_MISOPORTB|=(1 《《 PB6) #defineLow_24L01_MISOPORTB &= ~(1 《《 PB6) #defineRead_24
[单片机]
基于AVR单片机采暖炉的抗干扰设计
简介:在设计开发AVR单片机在工业控制系统中的应用中,抗干扰是一个不能绕过去的现实课题。要解决该课题,熟悉常用的抗干扰措施是一个重要前提;但由于干扰因素多,控制对象及所要求的控制功能不尽相同,所以抗干扰措施并没有固定模式;只能在实践中通过不断摸索来筛选更合理更有效的方案。本文所述的抗干扰措施是一点实践经验的总结,供参考。 本文作者创新点:1.在DS18B20数据线上接阻容电路;2.在电源的输入端并联压敏电阻以吸收尖峰电压;3. 加大液晶显示器开孔尺寸以减少它本身产生静电干扰。 1. 引言: AVR单片机在工业控制领域应用时不同于民用、商用领域中的应用。工业控制所处的环境相对比较恶劣,干扰源多。其常见干扰源来自现场工业电
[单片机]
51单片机流水灯电路以及C代码
流水灯是51单片机的入门级实验,以下是其电路图以及C代码 流水灯proteus电路图 此图发光二极管采用 共阳极式连接 流水灯C代码 #include reg51.h #define TIME 1 //宏定义秒数,方便更改间隔时间 void delaySec(unsigned char n); void Movinglight(); unsigned char code MovinglightArray = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char i,n = 1; int main() { Movinglight(); return 0;
[单片机]
基于AVR单片机的发电机负荷缸多路遥控开关量数字遥控并编解码的实现
负荷缸是船舶电力核心发电机性能的负荷试验必备的重要工装设备,通过负荷试验,可以检验发电机长期工作的性能稳定的情况(静态特性)和对突加突卸负荷的应变能力(动态特性) AVR单片机具有高性能低价格的优点,在本文中利用AVR单片机对发电机负荷缸的多路远程遥控开关量进行采集监控并进行数字信号编解码,用2芯的电缆取代原来40芯的粗电缆传输控制信号,有效地解决了工作中遇到的问题。 1 问题的提出 我们通过把由发电机供电的通电极板放到负荷缸水电阻中,用充气升降极板和补给水调节水电阻大小的方法控制试验发电机所带负荷的大小,对发电机的性能进行试验。体积庞大的负荷缸一般放置在码头,在船舶发电机的负荷试验中需要在船舶配电板处控制负荷缸的各个部件,
[单片机]
利用AVR单片机设计的DS18B20测温程序
/******************************** DS18B20测温程序 文件名:main.c 编译:WinAVR-20070122 硬件环境:CA-M8X 打开的开关如下 S6(1,2,5,6,7) - 外部4MHz晶振和595接口 J8(EN-SEG) - 数码管显示允许 S7(4) - 连接PC1 与DS18B20数据口 (在CA-M8X 上DS18B20为非总线供电) *******************************/ #include avr/io.h #include util/delay.h #includ
[单片机]
基于FPGA和AVR单片机的自动调谐系的设计
1 前言 发射机是无线通信的重要设备之一,广泛应用于广播电视、移动通信、海洋运输及国防等领域。自动控制技术在无线通信发射领域正发挥着越来越重要的作用,发射设备的数字化逐渐趋于成熟。但是,大功率短波发射机比起中波、调频、电视发射机来说,具有变换工作频率频繁,倒频时间短;不能实现整机固态化,可靠性降低,故障率较高;工作频段范围宽,很难保证在全频段内任意频率稳定工作等特点;加之目前尚无接口标准对大功率短波发射台微机实时控制进行规范,给大功率短波发射台自动化带来困难。短波发射机的自动调谐技术正是在这种环境下产生的。 本设计的自动调谐系统是基于FPGA和AVR单片机的,其调谐对象是功率为150kW,发射频率范围为3.9 26.1MHz的
[单片机]
基于AVR单片机ATMEGA8535的中频电源测试系统
1引言 AVR单片机相对传统的 51系列单片机,具有更高的集成度和更强的功能,与 C语言有很好的兼容性,RISC指令架构使其运行速度可达 1MIPS/MHZ。随着其越来越广泛的应用,必将取代 51系列成为单片机的主流。其主要功能包括看门狗、FLASH程序存储器、 E2PROM、 A/D转换器、定时器、计数器、USART接口等多种功能,这使得本测试系统的硬件实现变得简单,可靠。 2硬件结构设计与实现 本文所提及的中频电源测试系统所测试的对象为三相四线制的中频电源,额定输出电压为 115V,频率为 400Hz,昀大功率 14KW。需要精确测量和监控的电力参数主要有电压 (V)、电流(A)、频率(Hz)、有功功率
[单片机]