📄 www.ourhc.cn.lst
字号:
C51 COMPILER V8.05a WWW_OURHC_CN 04/08/2013 13:56:53 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE WWW_OURHC_CN
OBJECT MODULE PLACED IN www.ourhc.cn.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE www.ourhc.cn.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 汇诚科技
3 实现功能:STC12C5A60S2单片机开发板之整板测试
4 使用芯片:STC12CA60S2
5 晶振:11.0592MHZ
6 编译环境:Keil
7 硬件环境:STC12C5A60S2双485单片机开发板
8 作者:yang
9 QQ:790244909
10 网站:www.ourhc.cn
11 物联网测试网站:
12 日期:2013-04-02
13 淘宝店:
14 华龙电子直销:http://hlelectrony.taobao.com
15 电子开发直销:http://shop63233873.taobao.com
16 汇诚科技网路购物:http://shop36330473.taobao.com
17 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
18 功能 :串口一发送tab数据,串口二接收,接收后数据显示在P0口的led灯上
19 串口二发送tab数据,串口一接收,接收后数据显示在p0口的led灯上
20 按key1,P0口显示0xAA
21 按key2,P0口显示0x55
22 按key3,P0口显示0xf0
23 按key4,P0口显示0x0f
24 其他 :采用查询方式发送稳定,但是接收数据极不稳定由于
25 官方资料使用的是中断方式,所以建议使用中断方式收发数据。
26 注意 :下载完程序后请复位系统后运行!(切记!!)
27 *********************************************************************/
28 #include "STC12C5A60S2.h" //库文件
29 #define uchar unsigned char//宏定义无符号字符型
30 #define uint unsigned int //宏定义无符号整型
31 /********************************************************************
32 初始定义
33 *********************************************************************/
34 uchar dat1=0,dat2=0;
35 uchar tab[8]={0xfe,0xfd,0xfB,0xf7,0xef,0xdf,0xBf,0x7f};
36 sbit key1=P2^0;
37 sbit key2=P2^1;
38 sbit key3=P2^2;
39 sbit key4=P2^3;
40 /********************************************************************
41 串口初始化
42 *********************************************************************/
43 void init ()
44 {
45 1 TMOD = 0x20; //定时器1产生波特率
46 1 SCON = 0x50; //方式1,8位数据,波特率可变
47 1 TH1= TL1 = 0xfd; //波特率 9600
48 1 S2CON= 0x50; //方式1,八位数据,可变波特率
49 1 BRT= 0XFD; //设置波特率9600
50 1 TR1= 1; //启动定时器产生波特率
51 1 AUXR= 0x10; //启动波特率发生器
52 1 IP= 0x00; //优先级默认
53 1 EA = 1; //开总中断
54 1 ES= 1; //开串口1中断
55 1 IE2=0x01; //开串口2中断
C51 COMPILER V8.05a WWW_OURHC_CN 04/08/2013 13:56:53 PAGE 2
56 1 }
57 /********************************************************************
58 串口一 发送一个字符
59 *********************************************************************/
60 void uart1_txd(uchar x)
61 {
62 1 SBUF = x;
63 1 }
64 /********************************************************************
65 串口二 发送一个字符
66 *********************************************************************/
67 void uart2_txd(uchar x)
68 {
69 1 S2BUF = x;
70 1 }
71 /********************************************************************
72 延时函数
73 *********************************************************************/
74 void delay ( uint t )
75 {
76 1 uint i,j;
77 1 for( i=0; i<t; i++)
78 1 for( j=0; j<250; j++);
79 1 }
80 /********************************************************************
81 主函数
82 *********************************************************************/
83 void main()
84 {
85 1 uchar i;
86 1 init();
87 1
88 1 for(i=0;i<8;i++)
89 1 {
90 2 uart1_txd(tab[i]);//串口一发送数据
91 2 delay(500);
92 2 P0=dat2; //串口二接收数据在led灯显示
93 2 delay(500);
94 2
95 2 uart2_txd(tab[7-i]); //串口二发送数据
96 2 delay(500);
97 2 P0=dat1; //串口一接收数据在led灯显示
98 2 delay(500);
99 2 }
100 1 while(1)
101 1 {
102 2 if(key1==0){delay(20);while(!key1){P0=0xAA;} }
103 2 if(key2==0){delay(20);while(!key2){P0=0x55;} }
104 2 if(key3==0){delay(20);while(!key3){P0=0xf0;} }
105 2 if(key4==0){delay(20);while(!key4){P0=0x0f;} }
106 2
107 2 }
108 1 }
109 /********************************************************************
110 串口二 发送接收中断函数
111 *********************************************************************/
112 void uart2_isr() interrupt 8
113 {
114 1 if( S2CON & 0x01 )
115 1 {
116 2 S2CON &= ~0x01;
117 2 dat2= S2BUF;
C51 COMPILER V8.05a WWW_OURHC_CN 04/08/2013 13:56:53 PAGE 3
118 2 }
119 1 if( S2CON & 0x02 )
120 1 {
121 2 S2CON &= ~0x02;
122 2 }
123 1 }
124 /********************************************************************
125 串口一 发送接收中断函数
126 *********************************************************************/
127 void uart_isr() interrupt 4
128 {
129 1 if( RI )
130 1 RI = 0;
131 1 dat1 = SBUF;
132 1 if( TI )
133 1 TI = 0;
134 1 }
135 /********************************************************************
136 结束
137 *********************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 224 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -