|
发表于 2009-4-10 19:08:34
|
显示全部楼层
用3个595串联,三个IO搞定,595的驱动电流比4094的电流大,每1mS去刷新一次,1000/12=83Hz的频率应该不会闪
不知道楼主做的单片机有多少工作量,
;;==============================================;;
;; 主程序
;;==============================================;;
main_loop:
setb ie.7 ;;开启总中断,即EA
main_1ms_work: ;;1ms做一次的事情
jnb f_1ms_work,main_10ms_work ;;
acall tim_pross ;;时间处理,产生各种时间标志
acall led_scan ;;12位数码管扫描
acall toubi_test ;;投币检测
acall ir_in_test ;;红外开关检测
clr f_1ms_work ;;
main_10ms_work: ;;10ms做一次的事情
jnb f_10ms_work,main_1s_work ;;
acall key_scan_pross ;;按键扫描
acall key_code_pross ;;按键处理
acall led_updata_pross ;;显示数据更新
acall eeprom_write_pross ;;数据保存
acall lanquan_run_pross ;;蓝圈转动
acall music_pross ;;音乐处理
clr f_10ms_work
main_1s_work:
jnb f_1s_work,main_loop
acall game_pross ;;
clr f_1s_work
ajmp main_loop
以上是我搞的一个篮球机的程序,任务应该也不是很少。 |
|