|
*本文及代碼參閱彭偉《單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例》
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png (699.68 KB, 下載次數(shù): 38)
下載附件
2020-7-3 05:40 上傳
圖1
二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (236.05 KB, 下載次數(shù): 47)
下載附件
2020-7-3 05:40 上傳
圖2
3.png (255.26 KB, 下載次數(shù): 33)
下載附件
2020-7-3 05:40 上傳
圖3
4.png (288.6 KB, 下載次數(shù): 36)
下載附件
2020-7-3 05:40 上傳
圖4
三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)
5.png (135.76 KB, 下載次數(shù): 36)
下載附件
2020-7-3 05:40 上傳
圖5
四,編輯main.c 代碼如Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a13_點(diǎn)陣屏顯示數(shù)字 (如下圖6所示)
6.png (184.06 KB, 下載次數(shù): 41)
下載附件
2020-7-3 05:40 上傳
圖6
五,Main.c 代碼:
//-----------------------------------------------------------------
// 名稱: 8×8LED點(diǎn)陣屏顯示數(shù)字
//-----------------------------------------------------------------
// 說明: 8×8LED點(diǎn)陣屏循環(huán)顯示數(shù)字0-9,刷新過程由定時(shí)器中斷完成
//
//-----------------------------------------------------------------
#include "myfunc01.h"
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main()
{
DDRA= 0xFF; PORTA= 0xFF;
DDRC= 0xFF; PORTC= 0xFF;
TCCR0= 0x03;
TCNT0= 256 - F_CPU / 64.0 * 0.004;
TIMSK= 0x01;
sei();
while(1);
}
Myfunc01.h
//******************************************************************************************
#ifndef _MYFUNC01_H_
#define _MYFUNC01_H_
//#define F_CPU 2000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
//數(shù)字0~9的8x8點(diǎn)陣編碼
static INT8U Table_OF_Digits[] =
{
0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,//0
0x00,0x08,0x38,0x08,0x08,0x08,0x3E,0x00,//1
0x00,0x3C,0x42,0x04,0x08,0x32,0x7E,0x00,//2
0x00,0x3C,0x42,0x1C,0x02,0x42,0x3C,0x00,//3
0x00,0x0C,0x14,0x24,0x44,0x3C,0x0C,0x00,//4
0x00,0x7E,0x40,0x7C,0x02,0x42,0x3C,0x00,//5
0x00,0x3C,0x40,0x7C,0x42,0x42,0x3C,0x00,//6
0x00,0x7E,0x44,0x08,0x10,0x10,0x10,0x00,//7
0x00,0x3C,0x42,0x24,0x5C,0x42,0x3C,0x00,//8
0x00,0x38,0x46,0x42,0x3E,0x06,0x3C,0x00 //9
};
//------------------------------------------------------------------
// T0定時(shí)器中斷控制LED點(diǎn)陣屏刷新顯示
//------------------------------------------------------------------
ISR (TIMER0_OVF_vect);
#endif
六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)
7.png (211.24 KB, 下載次數(shù): 38)
下載附件
2020-7-3 05:40 上傳
圖7
七,點(diǎn)擊窗口左下方仿真按鈕,可見虛擬數(shù)字屏顯示。 (如下圖8,9,10所示)
8.png (304.49 KB, 下載次數(shù): 39)
下載附件
2020-7-3 05:40 上傳
圖8
9.png (212.41 KB, 下載次數(shù): 50)
下載附件
2020-7-3 05:40 上傳
圖9
10.png (289.07 KB, 下載次數(shù): 37)
下載附件
2020-7-3 05:40 上傳
圖10
八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
11.png (214.54 KB, 下載次數(shù): 32)
下載附件
2020-7-3 05:40 上傳
圖11
附件Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a13_點(diǎn)陣屏顯示數(shù)字在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開即可
需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464
|
評(píng)分
-
查看全部評(píng)分
|