#define uchar unsigned char
#define uint unsigned int
#include <reg52.h>
#include <stdio.h>
#include <absacc.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#define PIN XBYTE[0x8000]
#define POUT XBYTE[0x9000]
sbit PRINTSTB =P1^6
sbit DOG=P1^7
bdata char pinvalue
sbit PRINTBUSY=pinvalue^7
sbit PRINTSEL =pinvalue^6
sbit PRINTERR =pinvalue^5
sbit PRINTACK =pinvalue^4
void PrintString(uchar *String1,uchar *String2)
void initprint(void)
void print(uchar a)
void initprint(void) //打印机初始化子程序
{
pinvalue=PIN
if((PRINTSEL==1)&&(PRINTERR==1))
{
print(0x1b) print(0x40) print(0x1b) print(0x38) print(0x4)
}
}
void print(uchar a) //打印字符a
{
pinvalue=PIN
if((PRINTSEL==0)||(PRINTERR==0)) return
for() {
DOG=~DOG
pinvalue=PIN
if(PRINTBUSY==0) break
}
DOG=~DOG
POUT=a
PRINTSTB=1 PRINTSTB=1 PRINTSTB=1 PRINTSTB=1
PRINTSTB=0 PRINTSTB=0 PRINTSTB=0 PRINTSTB=0
PRINTSTB=1
}
void PrintString(uchar *String) //打印字符串后回车
{
uchar CH
for () {
DOG=~DOG
CH=*String
if (CH==0) { print(0x0d)break}
print(CH)
String++
}
initprint()
}
希望对你有点帮助!
使用<>的都是C编译器内部自带的H文件!而自定义的H文件上用""
你是刚学单片机编程的新手吧?
reg52.h引用的外部资源文件,这个文件包括了硬件信息和外部模块提供的可使用的函数和变量的说明。可以用文本方式打开reg52.h,仔细研究下,会有一些写程序的体会。
absacc.h :利用它可十分方便地实现对任何内存空间的直接 *** 作
//1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 // for循环,第一层控制行,第二层控制列。 #include<stdio.h>void main(){ int i,j,k for(i=0i<4i++)//for循环,第一层控制行 { for(j=0j<=2-ij++)//第二层控制列。printf(" ") for(j=0j<=2*ij++)printf("*") printf("\n") }//前四行一个规律,先输入空格,后输入*;有规律的; for(i=2i>=0i--)//for循环,第一层控制行 { for(j=0j<=2-ij++)//第二层控制列。输出空格;printf(" ") for(j=2*ij>=0j--)//输出*;printf("*") printf("\n")} getch()//可省略的函数,感觉用途就是可以在显示的时可以不用看到press any key to continue // 不过是个有用的函数以后学习逐个输出时有用 } 自己编的希望对你有用,不会的话在和我说欢迎分享,转载请注明来源:内存溢出
评论列表(0条)