8255如何显示10_Proteus8.9 WINAVR编译器仿真ATmega16系列a10_8255接口扩展

*本文及代码参阅彭伟《单片机C语言程序设计实训100例》

一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)

8575440acd2289641aa68ef9ca4d6d92.png

图1

二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示)

e531fa169806fe47c5f3698fe3ac6de4.png

图2

408c20bf6e88672f25fa8e86fdadcfe9.png

图3

461be6d6a28996edbd3961dacba7fe0a.png

图4

三,点击Source Code标签。(如下图5所示)

bb975be8428e8bd836fba36e1b6237c5.png

图5

四,编辑main.c 代码如Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a10_8255接口扩展 (如下图6所示)

922f32842fae7260019806e5fa729676.png

图6

五,Main.c 代码:

//-----------------------------------------------------------------

// 名称: 用8255实现接口扩展

//-----------------------------------------------------------------

// 说明: 8255的PA、PB端口分别连接8位数码管的段码和位码,

// PC端口连接三只按键,正常运行时数码管显示一组时间值,

// PC端口的三只按键可对时间值的各部分分别进行调整.

//

//-----------------------------------------------------------------

#include "myfunc01.h"

//0-9的共阳数码管段码表,最后的0xBF表示"-"

extern INT8U SEG_CODE[];

//待显示信息缓冲12-30-50

extern INT8U Disp_Buffer[];

//上次按键状态

extern INT8U Pre_Key_State;

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

int main()

{

INT8U i;

MCUCR |= 0X80;

*COM= 0B10001001;

while(1) {

for(i= 0; i< 8; i++) {

*PB= _BV(i);

*PA= (INT8U) SEG_CODE[Disp_Buffer[i]];

_delay_ms(2);

Key_Process();

}

}

}

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

//PA,PB,PC端口及命令端口地址定义

#define PA (INT8U*) 0xFF00

#define PB (INT8U*) 0xFF01

#define PC (INT8U*) 0xFF02

#define COM (INT8U*) 0xFF03

void Key_Process();

#endif

六,点击构建工程按钮,编译工程。(如下图7所示)

0de2b92d22794545895f656c8428b691.png

图7

七,点击窗口左下方仿真按钮,可见虚拟数字屏显示。 (如下图8,9,10所示)

580c19aca3fae52f22f91f366356bc02.png

图8

f512a41c067888d3f990d6dae335a5b4.png

图9

26c32f0b5830601a411c5187acbdf379.png

图10

八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示)

ccbd36650f99cba13c6f9c6d3647fb52.png

图11

附件下载:https://download.csdn.net/download/kaillen/12544928

附件Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a10_8255接口扩展在已安装Proteus8.9的计算机文件夹中打开即可

需要进一步了解,请加入QQ群:976235464

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值