硬件要求:拨码开关S2全部置ON。
#include<p16f877A.inc> 调用头文件
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
**********************用户寄存器定义********************
count equ 20h 移位次数寄存器
del_va1 equ 0ffh 外层延时参数
del_va2 equ 0ffh 内层延时参数
org 00h 程序人口地址
addlw0ffh
**********************主程序开始***********************
main
nop ICD所需要的一条空指令
clrf PORTC 先清楚C口所有显示
banksel TRISC 选择I/O口方向寄存器所在的体
clrf TRISC 设置C口全为输出
clrf STATUS 返回体0
movlw.8
movwfcount 装载循环次数8(C口共8位)
bsf STATUS,C置进位标志位为1,因睁肆循环移位是带进位循环的
loop
rlf PORTC,1 C口左移1位
call delay
call delay
CALL delay 调用三次延时程序(保证亮度,以及流水灯闪烁速度)
bcf STATUS,C清0进位标志位(永远只有一只LED亮)
DECFSZ count,1 判断是否一轮循环结束
goto loop否,继续举并循环移位
GOTO main是,程序重头开始
***********************延时程序正早迹*************************
delay
movlwdel_va1 延时程序外层参数
movwf30h
movlwdel_va2 延时程序内层参数
movwf31h
decfsz 31h,1
goto $-1
decfsz 30h,1
goto $-4
return
********************程序结束****************************
end
一、AVR系列单片机开发板本开发板可使用于多种型号的AVR单片机,本板主配ATmega16单片机。除了丰富的硬件资源外,还配有仿真器,可以很方便的调试硬件,大大减小调试周期。所有IO口全部引出,用户可以任意扩展功能。
二、AVR_PQ1A开发桐蠢板实例程序(演示程序)
( 1 ) LED LED灯驱动程序,两种演示方式
( 2 ) SMG 数码管驱动程序,循环滚动显示数字1-6
( 3 ) 1602 1602液晶驱动程序,除正常显示ASCII码外,还教如何显示中文
( 4 ) 12864 12864液晶驱动程序,显示汉字和图形。液晶为带字库的 ST7920控制器的液晶。
( 5 ) SKEY 4个独立按键驱动程序,采用查询方式驱动
( 6 ) SKEY_INT 利用按键产生外部中断,教你中断程序的编写
( 7 ) MKEY 4x4矩阵按键驱动程序,教你如何扫描矩阵按键
( 8 ) TIMER0INT 定时器0驱动程序,教你如何使用定时器
( 9 ) AD Mega16自带的AD的驱动程局神陪序
( 10 ) DA SPI接口的8位DA驱动程序,利用Mega16的硬SPI接口
( 11 ) DS18B20 数字温度传感器驱动程序,教你如何显示小数
( 12 ) TWI( IIC ) IIC接口数字电位器驱动程序,利用Mega16的硬件IIC接口
( 13 ) BEEP 蜂鸣器唱歌程序,教你如何唱出好听的歌曲
( 14 ) PWM Mega16的定时器1驱动程序,实现PWM输出功能
( 15 ) RELAY 继电器驱动程序,利用Mega16的I/O口直接驱瞎腊动继电器
( 16 ) UART Mega16的异步串口驱动程序,教你如何实现串口通信
( 17 ) RTC 时钟芯片驱动程序,可以显示和利用按键设定时间
( 18 ) EEPROM Mega16的EEPROM驱动程序,读写内部EEPROM
( 19 ) PS2 标准PS2键盘驱动程序,教你如何读入扫描码并译成ASCII码
( 20 ) USB USBD12固件程序,教你实现枚举过程和数据传输
( 21 )uC/OS-II 移植好的 *** 作系统,执行两个任务,编译后,占用Mega16的26%资源。
首先你的Timer1是模式0(13位计数器),除非用很低频率的外部晶体,否则Timer1的定时时间根本就不是秒级。胡行雹 其次你没有贴出 timerun 标志被修改的位置。如果你怀疑Timer1没有持续工作,可以暂时去掉if(timerun==1)条件,观察数码管是否每次都显示变化的值。 顺便说一句你的Timer0中断里面的语句效率低下,这不是一个带郑健康的中断服务函数。裤帆中断服务函数是要力求简洁明快的。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)