动手学AVR单片机.doc

上传人:枫** 文档编号:558960362 上传时间:2023-12-25 格式:DOC 页数:5 大小:45.50KB
返回 下载 相关 举报
动手学AVR单片机.doc_第1页
第1页 / 共5页
动手学AVR单片机.doc_第2页
第2页 / 共5页
动手学AVR单片机.doc_第3页
第3页 / 共5页
动手学AVR单片机.doc_第4页
第4页 / 共5页
动手学AVR单片机.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《动手学AVR单片机.doc》由会员分享,可在线阅读,更多相关《动手学AVR单片机.doc(5页珍藏版)》请在金锄头文库上搜索。

1、动手学AVR单片机十、8位数码管显示的程序实现我们接着来完成8位数码管的显示实验。现在我们开始动手编写程序;根据前面的介绍,我们应该已经能够知道编写一个AVR单片机的C语言程序的基本步骤和方法了。下面给出这个程序的主程序文件,在这个程序中我们应该能够知道这个程序都包含了那几块,具体来说我们应该能够在这个程序中把以下几个部分找出来:预编译语句、全局变量的定义、函数的声明、主函数、函数定义。如果你还不能够准确找出这几部分,那么需要把前面的内容再详细阅读一下。主程序代码#include /io端口寄存器配置文件,必须包含#include /GCC中的延时函数头文件#include hc595.h/u

2、nsigned char Led_Disbuf10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /共阴极unsigned char Led_Disbuf10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; /共阳极unsigned char ComBuf8 = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/函数声明extern void Delayus(unsigned int lus); /us延时函数extern void Delayms(un

3、signed int lms); /ms延时函数int main(void) /GCC中main文件必须为返回整形值的函数,没有参数unsigned char i;PORTB = 0xff; /PORTB输出低电平,使LED熄灭DDRB = 0xFF; /配置端口PB全部为输出口HC595_port_init();while(1)for(i = 0; i QB-QC-.-QH; 下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。 通常都选微秒级)DS(14) PG2 串行数据输入端。*/#ifndef _HC595_H_#define _HC595_H_#include /io

4、端口寄存器配置文件,必须包含#include /GCC中的延时函数头文件#define HC595_latch (1 PG1) /上升沿数据打入8位锁存器,下降沿锁存器数据不变#define HC595_sclk (1 PG0) /上升沿数据移位,下降沿数据不变#define HC595_oe (1 PG4) /低电平,8位数据锁存器输出,高电平输出高组态#define HC595_data (1 PG2) /串行数据输入端#define SET_HC595_latch (PORTG |= (1 PG1)#define CLR_HC595_latch (PORTG &= (1 PG1)#def

5、ine SET_HC595_sclk (PORTG |= (1 PG0)#define CLR_HC595_sclk (PORTG &= (1 PG0)#define SET_HC595_data (PORTG |= (1 PG2)#define CLR_HC595_data (PORTG &= (1 PG2)#define SET_HC595_oe (PORTG |= (1 PG4)#define CLR_HC595_oe (PORTG &= (1 PG4)void HC595_port_init(void); /595端口初始化void HC595_Send_Data(unsigned c

6、har byte); /发送一个字节void HC595_Output_Data(unsigned char data); /发送字符串#endif同时我们将与74HC595相关的函数定义部分放在74HC595.c文件中,如下/*74hc595.c*/#include hc595.h/595端口初始化void HC595_port_init(void) PORTG = 0x00;DDRG |= (1 PG0) | (1 PG1) | (1 PG2) | (1 PG4);/发送一个字节void HC595_Send_Data(unsigned char byte)unsigned char i;

7、/CLR_HC595_latch;for(i = 0;i 8;i+)if(byte & 0x80)SET_HC595_data; elseCLR_HC595_data;byte =1;SET_HC595_sclk; /上升沿数据移位CLR_HC595_sclk;SET_HC595_latch; CLR_HC595_latch;/发送字符串void HC595_Output_Data(unsigned char data)CLR_HC595_latch; /下降沿锁存器数据不变HC595_Send_Data(data);SET_HC595_latch; /上升沿数据打入8位锁存器在主程序中我们使用预定义语句将.h文件包含到了主程序文件中,那么我们怎样实现将.c文件编译到整个项目程序中呢?在这里我们只要在makefile文件中将这个.c文件加进去就可以了,如下图所示,在SRC = $(TARGET).C的后面空一格,然后输入我们所定义的.c文件的名称,然后保存makef

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号