本帖最后由 zhliwlj 于 2012-10-21 18:22 编辑
刚接触
单片机,第一次搞编程,在练习用8255扩展IO,源码如下,很简单,但在
proteus下死活不见效果,PO和P2口没任何反应,delay函数也不起作用,不知道是proteus,keil还是源码的问题,试过各种方法都不行
,被折磨好几天了
,请各位
论坛高手指点迷津
#include<reg51.h>
#include<absacc.h>
#define PA8255 XBYTE[0xfff8]
#define PB8255 XBYTE[0xfff9]
#define PC8255 XBYTE[0xfffa]
#define COM8255 XBYTE[0xfffb]
void delay(unsigned int i);
void init(void)
{
COM8255=0x80;
}
main()
{
init();
while(1)
{
COM8255=0x07;
delay(2);
COM8255=0x06;
delay(2);
}
}
void delay(unsigned int i)
{
unsigned int j=0;
for(;i>0;i--);
{
for(j=0;j<333;j++)
{
;
}
}
}
void delay(unsigned int i)
{
unsigned int j=0;
for(;i>0;i--); \这条错了,;i〉0前面少了什么。
{ \这个括号有必要吗
for(j=0;j<333;j++)
{
; \ 这里面什么内容嘛
}
你确定你的程序能生成,HEX文件?
看你的延时程序都写得一踏糊涂,基本工没学好
void delay(unsigned int i)
{
unsigned int j=0;
for(;i>0;i--); \这条错了,;i〉0前面少了什么。--------这个可以真的省略的
{ \这个括号有必要吗---------------------这个没影响,主要为了规范
for(j=0;j<333;j++)
{
; \ 这里面什么内容嘛-------------------空操作
}
delay函数没问题的,我的疑问在于怎样访问外部IO或RAM,
#define PA8255 XBYTE[0xfff8]
PA8255=0x07;这样访问不行吗?
8255单片机扩展系统设计.zip 下载积分: 积分 -1 分
234.25 KB, 下载次数: 6, 下载积分: 积分 -1 分
一周热门 更多>