⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 avr常用功能程序中包含了pwm、adc、中断、定时、i2c等各程序可供开发者直接使用
💻 LST
📖 第 1 页 / 共 5 页
字号:
 146:./ds1302.h    **** 		
 147:./ds1302.h    **** 		data>>=1; 
 665               	.LM72:
 666 0304 8A81      		ldd r24,Y+2
 667 0306 8695      		lsr r24
 668 0308 8A83      		std Y+2,r24
 670               	.LM73:
 671 030a 8B81      		ldd r24,Y+3
 672 030c 8150      		subi r24,lo8(-(-1))
 673 030e 8B83      		std Y+3,r24
 674 0310 D6CF      		rjmp .L32
 675               	.L33:
 148:./ds1302.h    **** 	} 
 149:./ds1302.h    **** 	clr_ds1302_rst(); 
 677               	.LM74:
 678 0312 8091 3500 		lds r24,53
 679 0316 877F      		andi r24,lo8(-9)
 680 0318 8093 3500 		sts 53,r24
 150:./ds1302.h    ****    return(data);
 682               	.LM75:
 683 031c 8A81      		ldd r24,Y+2
 684 031e 9927      		clr r25
 685               	/* epilogue: frame size=3 */
 686 0320 2396      		adiw r28,3
 687 0322 0FB6      		in __tmp_reg__,__SREG__
 688 0324 F894      		cli
 689 0326 DEBF      		out __SP_H__,r29
 690 0328 0FBE      		out __SREG__,__tmp_reg__
 691 032a CDBF      		out __SP_L__,r28
 692 032c DF91      		pop r29
 693 032e CF91      		pop r28
 694 0330 0895      		ret
 695               	/* epilogue end (size=9) */
 696               	/* function ds1302_read size 150 (131) */
 702               	.Lscope6:
 704               	.global	check_ds1302
 706               	check_ds1302:
 151:./ds1302.h    **** } 
 152:./ds1302.h    **** /******************************************************************/
 153:./ds1302.h    **** uchar check_ds1302(void) 
 154:./ds1302.h    **** { 
 708               	.LM76:
 709               	/* prologue: frame size=2 */
 710 0332 CF93      		push r28
 711 0334 DF93      		push r29
 712 0336 CDB7      		in r28,__SP_L__
 713 0338 DEB7      		in r29,__SP_H__
 714 033a 2297      		sbiw r28,2
 715 033c 0FB6      		in __tmp_reg__,__SREG__
 716 033e F894      		cli
 717 0340 DEBF      		out __SP_H__,r29
 718 0342 0FBE      		out __SREG__,__tmp_reg__
 719 0344 CDBF      		out __SP_L__,r28
 720               	/* prologue end (size=10) */
 155:./ds1302.h    **** 	ds1302_write(ds1302_control_reg,0x80); 
 722               	.LM77:
 723 0346 60E8      		ldi r22,lo8(-128)
 724 0348 8EE8      		ldi r24,lo8(-114)
 725 034a CEDE      		rcall ds1302_write
 156:./ds1302.h    **** 	if(ds1302_read(ds1302_control_reg)==0x80) return 1; 
 727               	.LM78:
 728 034c 8EE8      		ldi r24,lo8(-114)
 729 034e 5BDF      		rcall ds1302_read
 730 0350 8038      		cpi r24,lo8(-128)
 731 0352 29F4      		brne .L38
 733               	.LM79:
 734 0354 81E0      		ldi r24,lo8(1)
 735 0356 90E0      		ldi r25,hi8(1)
 736 0358 8983      		std Y+1,r24
 737 035a 9A83      		std Y+2,r25
 738 035c 02C0      		rjmp .L37
 739               	.L38:
 157:./ds1302.h    **** 		else return 0; 
 741               	.LM80:
 742 035e 1982      		std Y+1,__zero_reg__
 743 0360 1A82      		std Y+2,__zero_reg__
 744               	.L37:
 158:./ds1302.h    **** } 
 746               	.LM81:
 747 0362 8981      		ldd r24,Y+1
 748 0364 9A81      		ldd r25,Y+2
 749               	/* epilogue: frame size=2 */
 750 0366 2296      		adiw r28,2
 751 0368 0FB6      		in __tmp_reg__,__SREG__
 752 036a F894      		cli
 753 036c DEBF      		out __SP_H__,r29
 754 036e 0FBE      		out __SREG__,__tmp_reg__
 755 0370 CDBF      		out __SP_L__,r28
 756 0372 DF91      		pop r29
 757 0374 CF91      		pop r28
 758 0376 0895      		ret
 759               	/* epilogue end (size=9) */
 760               	/* function check_ds1302 size 35 (16) */
 762               	.Lscope7:
 764               	.global	ds1302_read_time
 766               	ds1302_read_time:
 159:./ds1302.h    **** void ds1302_read_time(void) 
 160:./ds1302.h    **** { 
 768               	.LM82:
 769               	/* prologue: frame size=0 */
 770 0378 CF93      		push r28
 771 037a DF93      		push r29
 772 037c CDB7      		in r28,__SP_L__
 773 037e DEB7      		in r29,__SP_H__
 774               	/* prologue end (size=4) */
 161:./ds1302.h    **** 	year=ds1302_read(ds1302_year_reg);  	//年 
 776               	.LM83:
 777 0380 8CE8      		ldi r24,lo8(-116)
 778 0382 41DF      		rcall ds1302_read
 779 0384 8093 0000 		sts year,r24
 162:./ds1302.h    **** 	month=ds1302_read(ds1302_month_reg);	//月 
 781               	.LM84:
 782 0388 88E8      		ldi r24,lo8(-120)
 783 038a 3DDF      		rcall ds1302_read
 784 038c 8093 0000 		sts month,r24
 163:./ds1302.h    **** 	day=ds1302_read(ds1302_date_reg);  		//日 
 786               	.LM85:
 787 0390 86E8      		ldi r24,lo8(-122)
 788 0392 39DF      		rcall ds1302_read
 789 0394 8093 0000 		sts day,r24
 164:./ds1302.h    **** 	week=ds1302_read(ds1302_day_reg);  		//周 
 791               	.LM86:
 792 0398 8AE8      		ldi r24,lo8(-118)
 793 039a 35DF      		rcall ds1302_read
 794 039c 8093 0000 		sts week,r24
 165:./ds1302.h    **** 	hour=ds1302_read(ds1302_hr_reg);   		//时 
 796               	.LM87:
 797 03a0 84E8      		ldi r24,lo8(-124)
 798 03a2 31DF      		rcall ds1302_read
 799 03a4 8093 0000 		sts hour,r24
 166:./ds1302.h    **** 	minute=ds1302_read(ds1302_min_reg);		//分 
 801               	.LM88:
 802 03a8 82E8      		ldi r24,lo8(-126)
 803 03aa 2DDF      		rcall ds1302_read
 804 03ac 8093 0000 		sts minute,r24
 167:./ds1302.h    **** 	second=ds1302_read(ds1302_sec_reg);		//秒 
 806               	.LM89:
 807 03b0 80E8      		ldi r24,lo8(-128)
 808 03b2 29DF      		rcall ds1302_read
 809 03b4 8093 0000 		sts second,r24
 810               	/* epilogue: frame size=0 */
 811 03b8 DF91      		pop r29
 812 03ba CF91      		pop r28
 813 03bc 0895      		ret
 814               	/* epilogue end (size=3) */
 815               	/* function ds1302_read_time size 35 (28) */
 817               	.Lscope8:
 819               	.global	ds1302_write_time
 821               	ds1302_write_time:
 168:./ds1302.h    **** } 
 169:./ds1302.h    **** /******************************************************************/
 170:./ds1302.h    **** void ds1302_write_time(void) 
 171:./ds1302.h    **** { 
 823               	.LM90:
 824               	/* prologue: frame size=0 */
 825 03be CF93      		push r28
 826 03c0 DF93      		push r29
 827 03c2 CDB7      		in r28,__SP_L__
 828 03c4 DEB7      		in r29,__SP_H__
 829               	/* prologue end (size=4) */
 172:./ds1302.h    **** 	ds1302_write(ds1302_control_reg,0x00);   //关闭写保护   
 831               	.LM91:
 832 03c6 60E0      		ldi r22,lo8(0)
 833 03c8 8EE8      		ldi r24,lo8(-114)
 834 03ca 8EDE      		rcall ds1302_write
 173:./ds1302.h    **** 	ds1302_write(ds1302_sec_reg,0x80);    	 //暂停    
 836               	.LM92:
 837 03cc 60E8      		ldi r22,lo8(-128)
 838 03ce 80E8      		ldi r24,lo8(-128)
 839 03d0 8BDE      		rcall ds1302_write
 174:./ds1302.h    **** 	delay_nms(10); 
 841               	.LM93:
 842 03d2 8AE0      		ldi r24,lo8(10)
 843 03d4 90E0      		ldi r25,hi8(10)
 844 03d6 5EDE      		rcall delay_nms
 175:./ds1302.h    **** 	//ds1302_write(ds1302_charger_reg,0xa9);   //涓流充电 
 176:./ds1302.h    **** 	ds1302_write(ds1302_year_reg,year);    	 //年 
 846               	.LM94:
 847 03d8 6091 0000 		lds r22,year
 848 03dc 8CE8      		ldi r24,lo8(-116)
 849 03de 84DE      		rcall ds1302_write
 177:./ds1302.h    **** 	ds1302_write(ds1302_month_reg,month);  	 //月 
 851               	.LM95:
 852 03e0 6091 0000 		lds r22,month
 853 03e4 88E8      		ldi r24,lo8(-120)
 854 03e6 80DE      		rcall ds1302_write
 178:./ds1302.h    **** 	ds1302_write(ds1302_date_reg,day);    	 //日 
 856               	.LM96:
 857 03e8 6091 0000 		lds r22,day
 858 03ec 86E8      		ldi r24,lo8(-122)
 859 03ee 7CDE      		rcall ds1302_write
 179:./ds1302.h    **** 	ds1302_write(ds1302_day_reg,week);    	 //周 
 861               	.LM97:
 862 03f0 6091 0000 		lds r22,week
 863 03f4 8AE8      		ldi r24,lo8(-118)
 864 03f6 78DE      		rcall ds1302_write
 180:./ds1302.h    **** 	ds1302_write(ds1302_hr_reg,hour);     	 //时 
 866               	.LM98:
 867 03f8 6091 0000 		lds r22,hour
 868 03fc 84E8      		ldi r24,lo8(-124)
 869 03fe 74DE      		rcall ds1302_write
 181:./ds1302.h    **** 	ds1302_write(ds1302_min_reg,minute);  	 //分 
 871               	.LM99:
 872 0400 6091 0000 		lds r22,minute
 873 0404 82E8      		ldi r24,lo8(-126)
 874 0406 70DE      		rcall ds1302_write
 182:./ds1302.h    **** 	ds1302_write(ds1302_sec_reg,second);  	 //秒   
 876               	.LM100:
 877 0408 6091 0000 		lds r22,second
 878 040c 80E8      		ldi r24,lo8(-128)
 879 040e 6CDE      		rcall ds1302_write
 183:./ds1302.h    **** 	ds1302_write(ds1302_control_reg,0x80);   //打开写保护 
 881               	.LM101:
 882 0410 60E8      		ldi r22,lo8(-128)
 883 0412 8EE8      		ldi r24,lo8(-114)
 884 0414 69DE      		rcall ds1302_write
 885               	/* epilogue: frame size=0 */
 886 0416 DF91      		pop r29
 887 0418 CF91      		pop r28
 888 041a 0895      		ret
 889               	/* epilogue end (size=3) */
 890               	/* function ds1302_write_time size 47 (40) */
 892               	.Lscope9:
 907               	.global	led
 908               		.data
 911               	led:
 912 0006 C0        		.byte	-64
 913 0007 F9        		.byte	-7
 914 0008 A4        		.byte	-92
 915 0009 B0        		.byte	-80
 916 000a 99        		.byte	-103
 917 000b 92        		.byte	-110
 918 000c 82        		.byte	-126
 919 000d F8        		.byte	-8
 920 000e 80        		.byte	-128
 921 000f 90        		.byte	-112
 922 0010 FF        		.byte	-1
 923               	.global	jtd_row
 924               	.global	jtd_row
 925               		.section .bss
 928               	jtd_row:
 929 0000 00        		.skip 1,0
 930               	.global	work_m
 931               	.global	work_m
 934               	work_m:
 935 0001 00        		.skip 1,0
 936               	.global	led_wx
 937               		.data
 940               	led_wx:
 941 0011 FE        		.byte	-2
 942               		.text
 945               	.global	delay
 947               	delay:
 949               	.Ltext2:
   1:main.c        **** /******************************************************************************
   2:main.c        **** *******************************************************************************
   3:main.c        **** **                                                                           **
   4:main.c        **** *																			  *
   5:main.c        ****     作品名称:交通灯               
   6:main.c        **** 
   7:main.c        ****     功    能:交通灯的红绿灯点亮,夜晚的黄闪,红绿灯时间间隔可调,夜晚黄闪时间
   8:main.c        **** 	
   9:main.c        **** 	          可设定。
  10:main.c        **** 
  11:main.c        ****     说    明:采用Atmal公司的 ATmega8 AVR单片机,通过SPI口扫描显示红绿黄灯,时
  12:main.c        **** 	
  13:main.c        **** 	          间显示用UART口扫描显示,
  14:main.c        **** 	
  15:main.c        ****               软件中对硬件控制部分的说明,软件流程说明
  16:main.c        **** 
  17:main.c        ****               对本程序中的重要定义进行说明
  18:main.c        **** 
  19:main.c        ****     硬件接口:注明硬件电路中外围电路与可编程器件的连接接口和其它主要硬件连接
  20:main.c        **** 
  21:main.c        ****     设计单位:郑州铁路职业技术学院 实践教学中心 无线电协会 
  22:main.c        **** 	                                            
  23:main.c        ****     程序设计:庞志军,信息系,网络03A1,#29(另有设计人另起一行注明)
  24:main.c        **** 
  25:main.c        ****               ::::::::::::::::
  26:main.c        **** 
  27:main.c        ****     设计时间:2006.03.05----完成时间,完善时间
  28:main.c        **** 
  29:main.c        ****     完    善:完善人姓名专业班级,起-----止时间(另有完善人另起一行注明)
  30:main.c        **** 
  31:main.c        ****               :::::::::::::::::
  32:main.c        **** 
  33:main.c        ****     版 本 号: 
  34:main.c        **** *																              *
  35:main.c        **** **                                                                           **
  36:main.c        **** *******************************************************************************
  37:main.c        **** ******************************************************************************/
  38:main.c        **** 
  39:main.c        **** //头文件
  40:main.c        **** #include <avr/io.h>
  41:main.c        **** #include <avr/eeprom.h>
  42:main.c        **** 
  43:main.c        **** #include <avr/interrupt.h>
  44:main.c        **** #include <avr/signal.h>
  45:main.c        **** 
  46:main.c        **** #include <ds1302.h>
  47:main.c        **** #include <avr/pgmspace.h>
  48:main.c        **** #include <avr/delay.h>
  49:main.c        **** 
  50:main.c        **** //宏定义
  51:main.c        **** #define uchar unsigned char
  52:main.c        **** #define uint unsigned int
  53:main.c        **** #define  red_time_rom      0x00//红灯时间存储地址
  54:main.c        **** #define  green_time_rom    0x01//绿灯时间存储地址
  55:main.c        **** #define  yellow_start_h_rom    0x02//黄闪起始时间(时)存储地址
  56:main.c        **** #define  yellow_start_m_rom    0x03//黄闪起始时间(分)存储地址
  57:main.c        **** #define  yellow_stop_h_rom     0x04//黄闪终止时间(时)存储地址
  58:main.c        **** #define  yellow_stop_m_rom     0x05//黄闪终止时间(分)存储地址
  59:main.c        **** #define  key1 PD4
  60:main.c        **** #define  key2 PD5
  61:main.c        **** #define  key3 PD6
  62:main.c        **** #define  key4 PD7
  63:main.c        **** #define jtd_red()    jtd_data=0xfffe
  64:main.c        **** #define jtd_yellow() jtd_data=0xffef
  65:main.c        **** #define jtd_green    jtd_data=0xfeff
  66:main.c        **** #define 	set_data()      PORTB|=1<<PB1
  67:main.c        **** #define 	clr_data()    	PORTB&=~(1<<PB1)
  68:main.c        **** #define		set_clk()		PORTB|=1<<PB0
  69:main.c        **** #define 	clr_clk()    	PORTB&=~(1<<PB0) 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -